So, ich habe einige erfolge zu vermelden, es geht aber immer noch nicht.^^
ich habe mir auf dem Rechner Virtual Box installiert und darauf ein Linux System laufen. Dort habe ich eine MySQL Datenbank eingerichtet.
Auf diese kann ich über den Wirt PC zugreifen. Daher gehe ich davon aus das die Datenbank korrekt eingerichtet ist und der Fremdzugriff über das Netzwerk funktioniert.
Allerdings ist es mir nicht möglich, mich mit dem ESP in der Datenbank anzumelden.
Die Anmeldedaten funktionieren die habe ich mit dem Windows PC probiert, da ging es.
Das ist der Code den ich benutze, den habe ich zu weiten teilen hier aus dem Forum.
#include <ESP8266WiFi.h>
#include <Hash.h>
#include <MySQL.h>
// weil ich faul bin
#define sp Serial.print
#define spn Serial.println
// WLAN
// das bitte ändern
// <= 31 Zeichen
char *ssid = "Mathrims_Netzwerk";
// >= 8 oder <= 63 Zeichen oder NULL
char *password = "Mathrims_Passwort";
// DB
char *server_addr = "192.168.178.65";
static char user[] = "house3"; // SQL-Nutzer
static char dbpassword[] = "house3"; // SQL Kennwort
//static char db[] = "amselNeu";
const char ins1[] = "insert into ardu1 (tmst, intval, strval, floatval) values(now(),";
Connector my_conn;
void setup() {
WiFi.hostname(user);
boolean erg;
Serial.begin(74880);
spn("\nStart");
WiFi.begin(ssid,password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
sp(".");
}
if(WiFi.status()==WL_CONNECTED){sp("Connectet to: ");spn(ssid);}
spn("Connecting to database . . .");
if (my_conn.mysql_connect(server_addr, 3306, user, dbpassword)) {
spn("Connection ok.");
delay(500);
}
else
sp("Connection failed. ");spn(my_conn.mysql_connect(server_addr, 3306, user, dbpassword));
//bis hier hin komme ich der rest ist erstmal egal.
erg = my_conn.cmd_query("use ardutest");
spn("use ardutest");
erg = my_conn.cmd_query("insert into ardu1 (tmst, intval, strval, floatval) values( now(),11,'Text54',5.44)");
spn("insert");
my_conn.disconnect();
}
void loop() {
}
und das ist das Ergebnis
10:28:43.595 ->
10:28:43.595 -> ets Jan 8 2013,rst cause:2, boot mode:(3,6)
10:28:43.595 ->
10:28:43.595 -> load 0x4010f000, len 3424, room 16
10:28:43.595 -> tail 0
10:28:43.595 -> chksum 0x2e
10:28:43.595 -> load 0x3fff20b8, len 40, room 8
10:28:43.595 -> tail 0
10:28:43.595 -> chksum 0x2b
10:28:43.595 -> csum 0x2b
10:28:43.595 -> v000451e0
10:28:43.627 -> ~ld
10:28:43.691 -> rf cal sector: 1020
10:28:43.691 -> freq trace enable 0
10:28:43.691 -> rf[112] : 0�
//Hier gehts los
10:28:43.691 -> Start
10:28:44.304 -> ..............Connectet to: Fluffelwuff //netzwerkname
10:28:51.526 -> Connecting to database . . .
10:28:52.591 -> Connection failed. 0
Ich weis nicht was ich da falsch mache.
gibt es in der Lib einen Befehl wo man etwas über die gründe des Connectfail erfährt?
ich hatte das hier probiert
spn(my_conn.mysql_connect(server_addr, 3306, user, dbpassword));
aber da kommt als return nur 0