ESP32 & WLAN & BME280 & MySql
|
20.02.2020, 22:01
Beitrag #57
|
|||
|
|||
RE: ESP32 & WLAN & BME280 & MySql
(20.02.2020 20:40)db91595 schrieb: Danke für die Anregungen! Ja den Link gab es damals auch schon. Aber freut mich, wenn es dir hilft. Ich weiß auf jeden Fall, wo ich die Sachen später mal nachlesen kann, wenn ich meinen Kram wieder vergessen habe, hehe. Insofern hat das auch Eigennutz ![]() |
|||
21.02.2020, 09:05
Beitrag #58
|
|||
|
|||
RE: ESP32 & WLAN & BME280 & MySql
Hallo,
nur eine etwas verwirrte Frage: Ihr redet immernoch über einen Sensor, der alle paar Minuten Daten an eine Stelle senden soll? Das machen hier seit 10 Jahren jeweils ein Tiny45, ein Sensor FOST02 und eine Li-Batterie auf 433MHz. Seit wohl 2-3 Jahren ESP8266 per WLAN mit BME280 und teilweise Akku. LAN fand ich hier nie notwendig und Kabel legen ist langweilig. Für einen Sensor reicht ein ATMega328 und ENC28J60, der Speicherverbrauch wegen des TCP-Stacks ist mir egal, wenn es in den Mega328 passt. Habe ich für einen Bekannten so gemacht, weil er ein LANkabel da liegen hatte. Ein Pollin NetIO lief hier wohl 2-3 Jahre als Bridge für die 433MHz Sensoren 24/7 stabil. Mich verwirrte da machmal der Aufwand, der da von Anderen drumrum getriben wird. Als Spielwiese ja, ist es ja bei mir auch nur, als Miniseie für meinen Eigenbedarf wird es immer eine minimalistische Lösung, die stabil läuft. Ein ESP8266 mit Sensoren und Akku läuft auf dem Balkon seit über einem Jahr 100% stabil, ein Alluwechsel alle 3 Wochen stört mich in diesem Fall dort nicht, bin oft genug auf dem Balkon. Eun Neustart alle paar Tage würde dafpür sorgenb, daß das Teil wohl vom Balkon fliegt. ![]() Seit jetzt über 3 Monaten läuft daneben ein ESP32 mit Sensoren und 18650 LiPoFE4 Akku, damit ist Akkuwechsel nur noch alle 2 Monate nötig. Auch der hat sich bis jetzt als 100% stabil erwiesen. Gruß aus Berlin Michael |
|||
21.02.2020, 11:22
Beitrag #59
|
|||
|
|||
RE: ESP32 & WLAN & BME280 & MySql
(21.02.2020 09:05)amithlon schrieb: Hallo, Hi Michael, der Kern dieses Thread ist mein ESP32 in meinem WLAN mit BME280 & MySql. Der ESP32 SOLL in meinem Projekt über WLAN die Daten des BME280 in die MySql-Datenbank eintragen. Wenn das funktioniert ist mein Problem gelöst. Es funktioniert jetzt schon zu 99%. Wo der Kern des Problems liegt kann ich i.M. noch nicht sehen. (WiFi.h ?) Mich interessiert i.M. in erster Linie ob ich das so zum funktionieren bekomme. Das es dafür "andere/bessere" Aufbauten gibt - ist unbestritten! - - - Jetzt an die "Wissenden/Erfahrenen" Heute Nacht ist er wieder ausgestiegen. Code: 23:48:46.034 -> wifi_retry46: 0 Das ist im Sketch bei Code: if (tm.tm_sec==46) Wer kann mir dazu Hilfe leisten? Stundenlang tickert er munter vor sich hin. Auf einmal (zu irgend einem Zeitpunkt) steigt er aus. 23:48:46 tickert er, 23:49:46 steigt er aus. Mein Wissen ist beschränkt. Ich weiß nur, das LAN/WLAN seeeehr komplex ist. LG Dietmar ESP32 Anfänger mit Migrations-Hintergrund (komme von RasPi & Python) ![]() Gruß aus Franken Dietmar |
|||
21.02.2020, 11:32
Beitrag #60
|
|||
|
|||
RE: ESP32 & WLAN & BME280 & MySql
(21.02.2020 11:22)db91595 schrieb: Es funktioniert jetzt schon zu 99%. Wo der Kern des Problems liegt kann ich i.M. noch nicht sehen. (WiFi.h ?) Was mir das gerade noch einfällt, wo du die Wifi.h nennst: Es gibt auch eine zweite Implementierung mit WifiMulti.h. Ich weiß ehrlich gesagt nicht so genau, in welchen Punkten sich beide unterscheiden. Mit Wifi.h habe ich beim ESP32 auf jeden Fall das Problem, dass sich er sich nur jedes zweite Mal mit dem WLAN verbindet. Zu diesem Bug gibts lange Threads, ich adressiere das inzwischen mit folgendem Hack, dann gehts: https://github.com/biologist79/Tonuino-E....cpp#L2452 (Das ist der noch nicht ganz fertige Code aus meinem aktuellen Tonuino-Projekt.) Von WifiMulti habe ich da lediglich wieder Abstand genommen, weil es von PubSubClient nicht unterstützt wird. Auf jeden Fall besteht dieser genannte Bug bei WifiMulti nicht. |
|||
21.02.2020, 12:09
Beitrag #61
|
|||
|
|||
RE: ESP32 & WLAN & BME280 & MySql
(21.02.2020 11:32)biologist schrieb: ... Mein Lieber, das muss ich mir in aller Ruhe rein ziehen! DANKE!!! Bei Erkenntnissen und so / mein Sketch anpassen ... kommt Info hier. LG Dietmar ESP32 Anfänger mit Migrations-Hintergrund (komme von RasPi & Python) ![]() Gruß aus Franken Dietmar |
|||
21.02.2020, 12:17
Beitrag #62
|
|||
|
|||
RE: ESP32 & WLAN & BME280 & MySql
Gerne. Also geht einfach nur drum, das begin ein zweites Mal zu setzen, wenn man merkt, dass man keinen Connect bekommt. Mehr ist es nicht.
Viel Spaß :-) |
|||
21.02.2020, 12:45
Beitrag #63
|
|||
|
|||
RE: ESP32 & WLAN & BME280 & MySql
Code: /* Cyclic posting via MQTT that ESP is still alive */ Das ist eine "elegante" Lösung (besser als PC & SerialMonitor). Hast du einen Tip(Link) mit MQTT simpel für Anfänger? LG Dietmar ESP32 Anfänger mit Migrations-Hintergrund (komme von RasPi & Python) ![]() Gruß aus Franken Dietmar |
|||
21.02.2020, 13:21
(Dieser Beitrag wurde zuletzt bearbeitet: 21.02.2020 13:26 von biologist.)
Beitrag #64
|
|||
|
|||
RE: ESP32 & WLAN & BME280 & MySql
Schau dir das zB mal an: https://github.com/knolleary/pubsubclien..._basic.ino
Das musst nur auf WLAN adaptieren, aber ich denke das wird dir nicht schwerfallen. In meinem Code findet man das auch, jedoch hole ich die Wlan-Credentials aus dem Flash-Speicher (NVS). Über den Callback (https://github.com/knolleary/pubsubclien...c.ino#L25) werden Verbindungen behandelt, die von außen kommen. Diese muss man vorher in reconnect() abonnieren. Brauchst du für deinen Ansatz ggf gar nicht; kommt drauf an, was du vor hast. Wenn du den Callback benutzen solltest, dann achte drauf, dass du die übergebene Payload sofort kopierst (https://github.com/biologist79/Tonuino-E...cpp#L630), da der Pointer ziemlich schnell "verwaist". Meines Erachtens wäre es "nett" gewesen, wenn der Author das auch in seinem Example drin hätte, statt einfach nur zeichenweise den Inhalt anzuzuzeigen. Wennst str(n)dup() verwendest wird Speicher vom Heap allokiert - free() nicht vergessen, wenn es nicht mehr gebraucht wird. :-) Über den Reconnect (https://github.com/knolleary/pubsubclien...c.ino#L38) werden die Topics abonniert (Subscribe nennt man das) und, je nach Anwendungsfall, auch Publishs abgesetzt. Die Publishs kannst du grundsätzlich überall machen. Um jedoch nicht in irgendwelche Timeouts durch fehlendes WLAN oder sonstige Probleme zu laufen, habe ich mir eine kleine Wrapper-Funktion geschrieben, die auch immer prüft, ob überhaupt WLAN-Konnektivität besteht: https://github.com/biologist79/Tonuino-E...n.cpp#L522 Ansonsten ist mein Code zwar ziemlich umfangreich, aber grundsätzlich findest du auch dort die Reconnect/Callback-Struktur wieder. |
|||
|
|
Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste