Dies ist eine kostenlose Homepage erstellt mit hPage.com.
Der ESP8266

 
Ist ein sehr günstiger und leistungsfähiger Mikrochip mit Wlan on Board. Womit sich schnell mal ein Webserver oder andere kleine Projekte realisieren lassen. Man kann zum Beispiel Temperatur und Luftfeuchte erfassen und an seinen Webserver schicken. Oder den Stromzähler auslesen und den Verbrauch an den Webserver schicken. uvm. 
Ich habe mit einer CNY70 IR-Lichtschranke meinen Stromzähler erfasst und schicke jede erkannte Umdrehung der Zählerscheibe an meinem Webserver. Bei mir ein Raspberry Pi 2. Die Daten werden dannn über PHP in eine Datenbank geschrieben. Und können über RRDTOOL grafisch dargestellt werden.
Den ESP8266 hab ich in LUA programmiert. NODEMCU & LUA ist für mich persönlich eine verständliche und einfache programmierung. Wo man schnell zum Ziel kommt.
Über den ESPlorer ist dazu noch eine schöne Umgebung für den ESP8266. Um in LUA zu programmieren.Man kann in dem ESPlorer verschiedene Befehle testen und seine LUA Scripte hochladen und auch wieder herunterladen von dem Chip.
 
Highlights meiner Software:
  • Fernwartung des Chips, nicht von mir - https://www.instructables.com/id/ESP8266-WiFi-File-Management
  • Stromzähler wird geloggt 
  • Eventuelle neustarts des Chips werden geloggt
  • ADC wird automatisch angepasst, alle 5 Stunden
  • Chip startet automatisch neu und macht einfach weiter, ohne Verlust von Daten
 
 
 
FLASHEN des ESP8266:
Man muss sich erst mal den MCU Flasher von https://github.com/nodemcu/nodemcu-flasher herunterladen. Und die passende Firmware kan man sich über https://nodemcu.readthedocs.io/en/master/build/ (Cloud Build Service) erstellen lassen. Nach dem man die benötigte Software heruntergeladen hat, kann es los gehen.
Da es manchmal Probleme beim Flashen der Software gibt. Empfiehlt es sich den Chip vorher ganz zu löschen. Dazu die folgende Parameter eingeben, Häckchen setzen, Adresse eingeben, dass sollte dann so aussehen im MCU Flasher:
 
 
 
 
Und dann auf Flash klicken, um den ganzen Chip erst mal zu löschen !
Danach alle Parameter löschen und die bin-Datei auswählen und an Adresse 0x0000 setzen. Die benötigte bin-Datei ist mit im Software Paket ! Das sollte dann so aussehen:
 
 
Die Software:
Strom_V14.zip   muss noch heruntergeladen und entpackt werden.
Die Software besteht aus 2 Teilen. Die Dateien servernode.lua, wifi_tools.lua, init.lua stellen ein Tool bereit womit man in der Lage ist über einen externen Webserver den Chip aus der Ferne zu warten.

Somit hab ich bei mir auf dem Laptop den virtuellen Webserver Vertigo installiert. Und kann jederzeit vom Laptop aus die Software hochladen, verwalten und den Chip resetten. Genauere Infos dazu finden Sie hierhttps://www.instructables.com/id/ESP8266-WiFi-File-Management/

Der 2. Teil der Software ist dann mein eigentliches Programm um den DHT22 auszulesen, Stromzähler zu erfassen, usw.  
Danach lädt man sich noch den ESPlorer herunter und führt ihn aus. Java wird benötigt !
Mit dem Esplorer werden dann alle Datein aus dem Software Paket in den ESP8266 übertragen, bis auf die sernode.lua und init.lua. Und erst wenn alles andere auf dem ESP8266 ist. Überträgt man die servernode.lua und zum Schluß die init.lua. Danach einmal den Reset Knopf am ESP8266 betätigen und schon sollte es laufen.
 
Wichtige Info zur Software:
In der Datei adc_min_max.lua stehen die beiden ADC Werte drin, wonach die Software den Sensor auswertet und entscheidet Roter Strich erkannt oder nicht. Das muss ggf. angepasst werden. Aber nur zu Anfang 1 mal. Danach wird es von der Software selbständig alle 5 Stunden aktualisiert und wieder in die Datei geschrieben.
Die Datei restart.log enthält nur eine Zahl und wird von der Software selber erstellt. Sie ist nur zum Debuggen gedacht, falls der Chip sich mehrfach neu starten sollte.
Und die Datei strom.log enthält den aktuellen Zählerstand ihres Stromzählers. muss ggf. angepasst werden.
 
Theoretische Grundlagen zum Stromzähler:
Mein Stromzähler macht 75 Umdrehungen für 1kW/h. Wenn ich Spitzenströme von 5kW/h habe dann macht die Zählerscheibe 375 U/Stunde. Das sind dann 6,25 U/Minute und 0,141 U/Sekunde. Bei 360° , was die Zählerscheibe nun mal hat. Sind das 30° was die Scheibe in einer Sekunde zurück legt. Da der ESP8266 alle 20ms die Scheibe abtastet und nach 5 Messungen einen Mittelwert bildet. Bekommen wir alle 100ms einen ADC Wert. Das entspräche bei unserem Beispiel 30°/10 = 3° auf der Zählerscheibe. Und so wird der Roten Strich sauber erkannt. 
 
 
 
So sieht es dann auf meinem Webserver aus:
 


Dies ist eine kostenlose Homepage erstellt mit hPage.com.