Versuche mit ESP-xx

Begonnen von fermoll, 25 Dezember 2015, 11:54:38

Vorheriges Thema - Nächstes Thema

fermoll

Bei meiner Suche nach einer Möglichkeit, meine Tests weiterzuführen, ohne den Zugriff auf ein Netzwerk zu haben, bin ich auf folgende interessante Spielerei mit der NodeMCU gestoßen:http://www.rudiswiki.de/wiki9/WiFiCar-NodeMCU, die genau die Möglichkeit aufzeigt, nach der ich gesucht habe. Die NodeMCU dient als Accesspoint (Hotspot), das Smartphone als Station. Es gibt noch eine dritte Möglichkeit, die MCU ins Netz zu bekommen, wobei die MCU Station und AP zur selben Zeit ist. https://smartarduino.gitbooks.io/development-of-nodemcu/content/subsection_42_wifi_mode.html. Das werde ich nun ausprobieren.
FHEM auf Synology Ds 1621+ in Docker, . 2x Max!Cube, Debmatic auf RPI 3  mit HM-MOD-RPI-PCB , CUNO mit 35cm Antene, 2x HM-LC-Bl1PBU-FM, HC-LC-Bl1-FM
22 HT u. HT+, Fensterkontakte, S300TH, EM 100-GZ(S).
Diverse Wemos mit ESPEasy. 2. RPI3+, 1 RPI 4 8GB

fermoll

#16
Es hat geklappt.
Mit dem Code aus dem Smartarduino-Gitbook und dem Code von Locutus (der WiFi-Mode wure ersetzt) kann ich Luftfeuchtigkeit und Temperatur in unserem Hotelzimmer auf meinem Smartphone ablesen. Mir ist nur aufgefallen, dass die beiden Files den Heap mit ca. 10kB belasten. Da ist sicher noch einiges an Arbeit zu leisten, was lokale Variablen und Speicherverwaltung anbelangt.
Der nächste Schritt ist jetzt, drei DS18S20 und 1 DS18B20 dazu abzulesen.

PS:
Ich habe noch einen Artikel gefunden, der interessant zu sein scheint. Hier wird die Kommunikation zwischen zwei ESP's  und die Aufnahme der Messergebnisse in eine Exel Datei beschrieben.
Auch der Umgang mit dem ADC Pin scheint dargestellt zu sein.
Ich habe den Link vergessen:http://randomnerdtutorials.com/esp8266-wireless-weather-station-with-data-logging-to-excel/
FHEM auf Synology Ds 1621+ in Docker, . 2x Max!Cube, Debmatic auf RPI 3  mit HM-MOD-RPI-PCB , CUNO mit 35cm Antene, 2x HM-LC-Bl1PBU-FM, HC-LC-Bl1-FM
22 HT u. HT+, Fensterkontakte, S300TH, EM 100-GZ(S).
Diverse Wemos mit ESPEasy. 2. RPI3+, 1 RPI 4 8GB

fermoll

Hier sind die LUA-Skripte, mit denen die MCU die Daten des DHT22 weitergibt.
Es bestehen allerdings  mehrere Probleme, die ich noch lösen möchte.

1. Ich habe den Eindruck, dass  die DHT Werte auf meinem Smartphone nicht regelmäßig erneuert werden, wie man das im Esplorer sehen kann. Dazu muss ich mir noch was überlegen.

2. DHCP für den AP muss noch initialisiert werden. Anleitung gibt es in der API:wifi.ap sub-module und wifi.ap.dhcp sub-module in:file:///D:/_ESP8266/NodeMCU/Programmierung/nodemcu_api_en%20%C2%B7%20nodemcu_nodemcu-firmware%20Wiki%20%C2%B7%20GitHub.htm#rtcfifo-module

3. Die Grafiken, die Locutus dem Original verpasst hat, kann das Modul auch nicht verwenden. Wie geht das, ohne den Flashspeicher zu sehr zu belasten?
FHEM auf Synology Ds 1621+ in Docker, . 2x Max!Cube, Debmatic auf RPI 3  mit HM-MOD-RPI-PCB , CUNO mit 35cm Antene, 2x HM-LC-Bl1PBU-FM, HC-LC-Bl1-FM
22 HT u. HT+, Fensterkontakte, S300TH, EM 100-GZ(S).
Diverse Wemos mit ESPEasy. 2. RPI3+, 1 RPI 4 8GB

carlos

Hallo,
Mit einer custom firmware die die dht lib mit drin hat von hier http://nodemcu-build.com/index.phpgeht das für den nodemcu auch ohne das dht.lua.


   dht = require("dht")
    status,temp,humi,temp_decimial,humi_decimial = dht.read(config.GPIO2)

        if( status == dht.OK ) then
            print("Temperature: "..temp.." deg C")
            print("Humidity: "..humi.."%")
        elseif( status == dht.ERROR_CHECKSUM ) then         
            print( "DHT Checksum error" )
            temp=-1 --TEST
        elseif( status == dht.ERROR_TIMEOUT ) then
            print( "DHT Time out" )
            temp=-2 --TEST
            humi=-3 --TEST
        end
    -- Release module
    dht=nil
    package.loaded["dht"]=nil


Ich experimentier gerade auch damit rum.
Gruß
Carlos
FHEM svn auf Intel NUC mit proxmox,1 UDOO, 3 Raspberry Pi, signalduino, nanoCUL, div. Homematic Komponenten, toom Baumarkt Funksteckdosen, einige sonoffs, hue, shelly

fermoll

#19
Aus der Kur nach Hause zurückgekehrt, habe ich drei NodeMCU's vorgefunden. Lieferant:http://www.smartarduino.com/the-newest-v3-nodemcu-based-on-esp-12f-from-esp8266_p94866.html
Mittlerweile liefern sie die nächste Generation (ESP-12F) aus. Auch bei der Programmierung hat sich mittlerweile viel getan. Umso mehr wundere ich mich, dass nicht viel mehr über ESP im Forum zu lesen ist. Vor allem irritiert mich, dass die 1-Wire und PWM Fähigkeit der NodeMCU nicht getestet werden Vor allem aber wird die Möglichkeit, die MCU als Access-Point oder sogar als AP-Station zu verwenden, überhaupt nicht beachtet. In meinen Augen ergeben sich da im Bereich Hausautomation ungeahnte Möglichkeiten. Ich kann eigentlich nicht mehr nachvollziehen, warum an einem GPIO des ESP unbedingt 20 DS18B20 laufen müssen.
Vor allem habe ich massive Probleme, wenn ich lese, dass sich jemand um die Hardware kümmert, aber die Entwicklung der Software nicht ernst nimmt.
Es bleibt unbenommen, dass sich die Hardware im letzten Jahr explosionsartig entwickelt hat und mittlerweile die Software atombombenartig folgt.
Im Moment ist es mir aus gesundheitlichen Gründen kaum möglich, zu experimentieren. Es bleibt nur lesen.

PS: Ich habe ein Build (http://nodemcu-build.com/index.php mit node,file,gpio,wifi,net,pwm,i2c,tmr,adc,uart,ow.bit,dht erstellt und geflasht.
Es steht ein Heap von 41488 byte zur Verfügung und ein flash 3441461 byte. MQTT habe ich vergessen. Mit der Möglichkeit von dieser Seite kann man MCUs nach seinen Bedürfnisssen erstellen.

PPS: Was mir beim Nachlesen der Beiträge noch auffällt: Gegenüber meinen ersten Versuchen am Anfang des Strangs hat sich der vorhandene Heap fast vedoppelt, obwohl meiner Meinung nach viel mehr Schnittstellen eingebaut sind. Hat wohl damit zu tun, dass die Entwickler des LUA-Interpreters mittlerweile sorgfältiger mit dem RAM umgehen.
FHEM auf Synology Ds 1621+ in Docker, . 2x Max!Cube, Debmatic auf RPI 3  mit HM-MOD-RPI-PCB , CUNO mit 35cm Antene, 2x HM-LC-Bl1PBU-FM, HC-LC-Bl1-FM
22 HT u. HT+, Fensterkontakte, S300TH, EM 100-GZ(S).
Diverse Wemos mit ESPEasy. 2. RPI3+, 1 RPI 4 8GB

fermoll

Die nächste Überlegung für mein Projekt ist die Steuerung der Heizungskabel, die ich für die Pflanzkästen vorgesehen habe. Ich denke an zwei 15W Kabel http://www.hornbach.de/shop/Terrariensubstratheizer-Exo-Terra-15-W/8817692/artikel.html, die ich auf ein Gitter aufbringen möchte. Die Schalen sollen dann über der Wintergartenheizung angebracht werden. Die Steuerung erscheint mir nicht trivial, da neben den Kabeln auch die Heizung und die Sonneneinstrahlung eine Rolle spielen werden. Deshalb ist neben den DS18x20 in den Schalen auch die Raumtemperatur (DHT22) und evtl. die Sonneneinstrahlung bei der Programmierung zu berücksichtigen. Zum anderen ist zu fragen, welche Rolle FHEM bei der Sache spielen soll. Ich denke da an die Übergabe der Atomzeit und die Protokollierung der Daten aus dem Wintergarten. Deshalb ist die Überlegung der Timerprogrammierung und die Einbindung der Daten in  MQTT --> FHEM  evident.

Es gibt noch viel zu überlegen und auszuprobieren. Nicht zuletzt ist die Entwicklung des NodeMCU Systems und des ESP8266 zu berücksichtigen.
Da ich mich vorwiegend mit LUA beschäftige, kann ich zur Entwicklung der Arduino IDE nichts aussagen.
Die neueste Version der ESP8266_NONOS_SDK ist vom 16.01.16. Da sowohl die LUA als auch die Arduino Variante incl. ESPEasy wohl darauf aufbauen, muss gefragt werden, welche Version der SDK zugrunde liegt. So habe ich z.B. gelesen, dass die ESP's mit 512k Flash mit der neuesten Version nicht mehr funktionieren. Man sollte also beim Programmieren darauf schauen, nur die wirklich benötigten Komponenten einzubauen.
Das scheint beim LUA-Build http://nodemcu-build.com/index.php wohl recht einfach zu sein


FHEM auf Synology Ds 1621+ in Docker, . 2x Max!Cube, Debmatic auf RPI 3  mit HM-MOD-RPI-PCB , CUNO mit 35cm Antene, 2x HM-LC-Bl1PBU-FM, HC-LC-Bl1-FM
22 HT u. HT+, Fensterkontakte, S300TH, EM 100-GZ(S).
Diverse Wemos mit ESPEasy. 2. RPI3+, 1 RPI 4 8GB

fhainz

Hallo!

Hast du am NodeMCU schon mal den Analogen Eingang ausprobiert? Ich bekomme den mit der firmware von nodemcu-build.com nicht zum laufen. Ein print(adc.read(0)) liefert immer nur 65535. Die 0-1V hab ich beachtet.

Hast du eine Idee?

Grüße

fermoll

Habe ich noch nicht ausprobiert. Komme im Moment nicht in meine Bastelstube - 2. Stock.
FHEM auf Synology Ds 1621+ in Docker, . 2x Max!Cube, Debmatic auf RPI 3  mit HM-MOD-RPI-PCB , CUNO mit 35cm Antene, 2x HM-LC-Bl1PBU-FM, HC-LC-Bl1-FM
22 HT u. HT+, Fensterkontakte, S300TH, EM 100-GZ(S).
Diverse Wemos mit ESPEasy. 2. RPI3+, 1 RPI 4 8GB

fermoll

#23
Bei Espressif tut sich was. Bin ich durch Zufall drauf gestossen:
https://harizanov.com/2015/12/esp32/

2. Link: http://esp32.com/

Bin mal gespannt, was sich daraus entwickelt.
FHEM auf Synology Ds 1621+ in Docker, . 2x Max!Cube, Debmatic auf RPI 3  mit HM-MOD-RPI-PCB , CUNO mit 35cm Antene, 2x HM-LC-Bl1PBU-FM, HC-LC-Bl1-FM
22 HT u. HT+, Fensterkontakte, S300TH, EM 100-GZ(S).
Diverse Wemos mit ESPEasy. 2. RPI3+, 1 RPI 4 8GB

fermoll

Hier noch einmal drei wichtige Links zu NodeMCU und LUA:

1. Firmware Build: http://nodemcu-build.com/index.php

2.NodeMCU Dokumentation -NEU-: http://nodemcu.readthedocs.org/en/dev/
Die Module sind recht gut dokumentiert.

3. Weitere Dokumentaion: http://www.nodemcu.com/docs/index/
FHEM auf Synology Ds 1621+ in Docker, . 2x Max!Cube, Debmatic auf RPI 3  mit HM-MOD-RPI-PCB , CUNO mit 35cm Antene, 2x HM-LC-Bl1PBU-FM, HC-LC-Bl1-FM
22 HT u. HT+, Fensterkontakte, S300TH, EM 100-GZ(S).
Diverse Wemos mit ESPEasy. 2. RPI3+, 1 RPI 4 8GB

fermoll

Zitat von: fhainz am 24 Januar 2016, 15:54:08
Hallo!

Hast du am NodeMCU schon mal den Analogen Eingang ausprobiert? Ich bekomme den mit der firmware von nodemcu-build.com nicht zum laufen. Ein print(adc.read(0)) liefert immer nur 65535. Die 0-1V hab ich beachtet.

Hast du eine Idee?

Grüße

Ich habe was zu ADC gefunden. Vielleicht hilft das.
http://randomnerdtutorials.com/esp8266-wireless-weather-station-with-data-logging-to-excel/
FHEM auf Synology Ds 1621+ in Docker, . 2x Max!Cube, Debmatic auf RPI 3  mit HM-MOD-RPI-PCB , CUNO mit 35cm Antene, 2x HM-LC-Bl1PBU-FM, HC-LC-Bl1-FM
22 HT u. HT+, Fensterkontakte, S300TH, EM 100-GZ(S).
Diverse Wemos mit ESPEasy. 2. RPI3+, 1 RPI 4 8GB

fhainz

Danke, das hatte auch schon gefunden.
Mittlerweile denke ich aber das es liegt daran. https://github.com/nodemcu/nodemcu-firmware/issues/826

So sollte es funktionieren.
// Byte 107 of esp_init_data_default, only one of these 3 can be picked
//#define ESP_INIT_DATA_ENABLE_READVDD33
#define ESP_INIT_DATA_ENABLE_READADC
//#define ESP_INIT_DATA_FIXED_VDD33_VALUE 33


Hab mich letztes Wochenende mit dem Firmware kompilieren unter OS X herumgeschlagen. Zwischenzeitlich hab ich einmal eine lauffähige .bin herausbekommen, mit der aber ADC auch nicht funktioniert hatte. Hab dann noch eine weile rumprobiert bis am ende nichts mehr gegangen ist :D Anschließend hab ich es dann erstmal aufgegeben und will mich, wenn es sich ausgeht, dieses Wochenende nochmals drum kümmern.

fermoll

FHEM auf Synology Ds 1621+ in Docker, . 2x Max!Cube, Debmatic auf RPI 3  mit HM-MOD-RPI-PCB , CUNO mit 35cm Antene, 2x HM-LC-Bl1PBU-FM, HC-LC-Bl1-FM
22 HT u. HT+, Fensterkontakte, S300TH, EM 100-GZ(S).
Diverse Wemos mit ESPEasy. 2. RPI3+, 1 RPI 4 8GB

fermoll

Da sowohl FHEM (s.Comm.Ref.) als auch die NodeMCU MQTT unterstützen, habe ich mich entschlossen, auf meinem Raspi 2 Mosquitto zu installieren. Da ich keine großer Freund der Kommandozeile a la Putty bin und immer mal wieder in den Raspi hineinschauen wollte, ohne einen extra Monitor auf meinen Schreibtisch zu stellen, habe ich unter Windows den RemoteDesktop installiert: http://www.gieseke-buch.de/raspberrypi/vom-windows-pc-per-remotedesktop-den-raspberry-pi-desktop-steuern
Die Installation von Mosquitto habe ich dann hier gefunden:http://www.kriwanek.de/homeautomation/mosquitto-mqtt/527-mqtt-broker-mosquitto-installieren.html

Nächster Schritt: Installieren der Firmware http://nodemcu-build.com/index.php mit MQTT.
Beschreibung hier:http://nodemcu.readthedocs.org/en/dev/en/modules/mqtt/

Die beiden letzten Links sollte man regelmäßig im Auge behalten, um Neuerungen mitzubekommen.
Die Kriwanek Seite finde ich auch sehr interessant, nicht nur wegen der Katzen.
FHEM auf Synology Ds 1621+ in Docker, . 2x Max!Cube, Debmatic auf RPI 3  mit HM-MOD-RPI-PCB , CUNO mit 35cm Antene, 2x HM-LC-Bl1PBU-FM, HC-LC-Bl1-FM
22 HT u. HT+, Fensterkontakte, S300TH, EM 100-GZ(S).
Diverse Wemos mit ESPEasy. 2. RPI3+, 1 RPI 4 8GB

fhainz

MQTT kann ich sehr empfehlen. Läuft sehr stabil bei mir.
Code-Snippet: http://forum.fhem.de/index.php/topic,48403.msg400646.html#msg400646