Hallo an alle,
mein ESP 8266 soll die Daten per Wlan an den Pi senden. Dieser verfügt über ein PostgreSql Datenbank. Die übermittelten Werte sollen in die Datenbank gespeichert werden,
hierzu sammelt ein MCP3008 kräftig Daten.
Leider bekomme ich die TCP Verbindung nicht hin! Ich erhalte stets "connection failed"
IP des Host ist richtig. Laut einer Doku soll der Port 5555 genutzt werden. Ist der beim pi zu?
C
[code]
#include <MCP3008.h>
//#include <SPI.h>
/*
#define CS_PIN D8
#define CLOCK_PIN D5
#define MOSI_PIN D7
#define MISO_PIN D6
*/
#include <ESP8266WiFi.h>
//#include <WiFi.h>
IPAddress PGIP(192,168,178,29); // your PostgreSQL server IP
const char* ssid = "FRITZ!Box 7490"; // your network SSID (name)
const char* pass = "strenggeheim"; // your network password
const char* host = "192.168.178.29";
const char user[] = "postgres"; // your database user
const char password[] = "postgres"; // your database password
const char dbname[] = "test"; // your database name
//define pin connections
//MCP3008 adc(D5, D7, D6, D8);
//MCP3008 adc(GPF14, GPF13, GPF12, GPF15);
MCP3008 adc(14, 13, 12, 15);
//MCP3008 adc(CLOCK_PIN, MOSI_PIN, MISO_PIN, CS_PIN);
void setup()
{
//open serial port
Serial.begin(115200);
WiFi.begin(ssid, pass);
Serial.print("Connecting");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
}
void loop()
{
Serial.println("---------------------------------------");
Serial.println("Value1:" + String(adc.readADC(0)));
Serial.println("Value2:" + String(adc.readADC(1)));
Serial.println("Value3:" + String(adc.readADC(2)));
Serial.println("Value4:" + String(adc.readADC(3)));
Serial.println("Value5:" + String(adc.readADC(4)));
Serial.println("Value6:" + String(adc.readADC(5)));
Serial.println("Value7:" + String(adc.readADC(6)));
Serial.println("Value8:" + String(adc.readADC(7)));
delay(1000);
// WiFiClient class für den Aufbau einer TCP Verbindung
Serial.print("Connection to ");
Serial.println(host);
WiFiClient client;
const int httpPort = 5555;
if(!client.connect(host, httpPort)){
Serial.println("Connection failed");
return;
}
//Senden der Daten an Server (Pi)
client.print(String("GET htp://192.68.178.29/postgre-php?")+
("&temperature=") + String(adc.readADC(0)) +
("&humidity=") + String(adc.readADC(0)) +
" HTTP/1.1\r\n" +
"Host: " + host + "\r\n" +
"Connection: close\r\n\r\n");
unsigned long timeout = millis();
while (client.available() == 0) {
if (millis() - timeout >1000 ){
Serial.println(">>> Client Timeout !");
client.stop();
return;
}
}
while(client.available()){
String line = client.readStringUntil('\r');
Serial.print(line);
}
Serial.println();
Serial.println("closing connection");
}
[/code]
Display More