beelogger

beelogger-Testprogramm – WLAN (ESP8266)

ESP8266 / WLAN Test-Programmcode

Nach erfolgter Konfiguration des ESP8266 Modul, insbesondere das Umstellen der Baudrate, kann das Testprogramm verwendet werden.

Mit dem Test-Programmcode stellt der beelogger über das WLan-Modul eine Verbindung ins Internet her und überträgt Test-Messwerte an den Webserver. Nach mehreren Übertragungen der Messwerte ist der Test beendet und das Modul schaltet sich ab. Sollte es zu einem Übertragungsfehler kommen, wird der Test beendet und das Modul ebenfalls abgeschaltet.

Die Voraussetzung hierfür ist ein über das Internet erreichbarer Webserver mit installierten Webserver-Skripten für den jeweiligen beelogger-Typ.

Der Vorgang sollte über den Monitor der Arduino-IDE mitverfolgt werden. Zu Anfang des Sketch werden die Firmwareinformationen, verfügbare WLan sowie der Pegel des gewählten Access-Point angezeigt.

Die Kommunikation der beelogger mit dem ESP8266-Modul erfolgt über eine serielle Schnittstelle mittels AT-Befehlen. Da die vom ATmega zur Verfügung gestellte serielle Schnittstelle über D0 und D1 bereits für die Ausgabe des seriellen Monitors benötigt wird, ist eine zusätzliche virtuelle serielle Schnittstelle über die Standard-Library ‘SoftwareSerial’ notwendig. Diese wird über die Lib ‘ESP_beelogger’ über die Pins D8 (RX) und D9 (TX) betrieben.

Die Konfiguration des Programmcodes ist sehr einfach und in wenigen Schritten erledigt:

Zunächst müssen die Daten für das eigene WLAN angegeben werden (bitte in der Routerkonfiguration darauf achten, dass neue Geräte zugelassen sind),
und das Verzeichnis der Webserverskripte sowie Passwort eintragen. DUO,Triple,Quad wird vom Sketch nicht unterstützt.

// Name des WLAN-Zugangspunkts
const char Access_Point[] PROGMEM = "WLAN-AccessPoint";

// Passwort des Zugangspunktes
const char AP_Passwort[] PROGMEM = "WLAN-dasPasswort";

// Domainname zum Webserver mit beelogger-Skript, Bsp:"meineDomain.de";
const char serverName[] PROGMEM = "community.beelogger.de";

// GET mit Verzeichnis Webserver-Skript und das PHP Skript für den jeweiligen beelogger
// Bsp: "GET /USER_X/beelogger1/beelogger_log.php?"
const char pfad[] PROGMEM = "GET /USER_X/beeloggerY/beelogger_log.php?";  //USER_X = meinOrdner/Account;  beeloggerY - Y = 1....n

// Passwort vom Webserver-Skript
const char Passwort[] PROGMEM = "php_passwort";

 

Außerdem kann die Baudrate der seriellen Schnittstelle definiert werden und sollte natürlich mit der Baudrate im seriellen Monitorfenster der Arduino-Shell übereinstimmen.

 //------------------------------------- 
#define Seriell_Baudrate 9600

Eine einfache Konfiguration der Daten wird durch die Nutzung unseres communityServers ermöglicht. Nach dem Anlegen eines kostenlosen Accounts können die notwendigen Konfigurationen in den Test-Programmcode übernommen werden.

Nach erfolgreichem Aufladen des Sketches erhält man beispielhaft folgende Ausgabe im seriellen Monitor:

ESP 8266 Test Sketch 11.01.2023... 
Abfrage ESP8266 ... 
i.O.

ESP Firmware:
AT version:1.3.0.0(Jul 14 2016 18:54:01)
SDK version:2.0.0(5a875ba)
v1.0.0.3
Mar 13 2018 09:35:47
OK


WLAN Information:

+CWLAP:("DIRECT-F4-HP OfficeJet 4650",-57)
+CWLAP:("beelogger",-69)
+CWLAP:("WLAN-510191",-91)
+CWLAP:("cisco",-91)
+CWLAP:("HP-Print-A6-Officejet Pro 8610",-93)
+CWLAP:("Unitymedia WifiSpot",-93)

OK


Verbinde zum WLAN: beelogger ... 
WLAN Verbindung OK


Verbinde mit Server ... 
community.beelogger.de  ... connect: OK

Uebertrage Daten zum Webserver ...
GET /*Test*/beelogger1/beelogger_log.php?

5Bok *
Intervallvorgabe vom Server:  5 Minuten 
Vorgabe Sendezyklus vom Server:   zwei  Stunde(n)


Übertragung erfolgreich

.
ESP ... o.k.
..
.
Uebertrage Daten zum Webserver ...
GET /*Test*/beelogger1/beelogger_log.php?

5Bok *
Intervallvorgabe vom Server:  5 Minuten 
Vorgabe Sendezyklus vom Server:   zwei  Stunde(n)


Übertragung erfolgreich

beelogger Signalstaerke: -38 dBm

wiederhole Senden in 4 Minuten ...
Test beendet.

Hinweise:
Sollte der ESP8266 vom Sketch erkannt werden, jedoch keine Verbindung zum WLAN-Netz oder Server möglich sein, so kann ein zusätzlicher Kondensator 10uF direkt am Steckplatz des ESP8266-Modul helfen.
Der ESP8266 benötigt für eine stabile Verbindung Pegel von -80dBm und größer. Pegel von -70 bis -50 sind für gute Verbindungen normalerweise ausreichend.
Der verfügbare Pegel am vorgesehenen Aufstellort des beelogger kann auch über eine Smartphone-App (z.B. Fritz!App WLAN, Wifi Analyser) gemessen werden.

ESP8266-Test-Sketche downloaden.

Der Programmcode für den Messbetrieb mit dem Arduino Datenlogger mit Stockwaage für Imker ist unter Programmcode zu finden.