Versuche mit ESP-xx

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

Vorheriges Thema - Nächstes Thema

fermoll

Wie im Strang http://forum.fhem.de/index.php/topic,45310.0.html angekündigt , möchte ich hier meine Erfahrungen mit dem ESP-8266 in seinen verschiedenen Erscheinungsformen schildern und mit AVR-Net-IO und Arduino vergleichen (s.Bild).
Zum Ausprobieren stehen mir folgende Boards zur Verfügung:
1  Locutus BreakoutBoard :
1.1  Benötigt einen FTDI -Adapter zum Flashen und Programmieren. Treiber muss installiert werden bei Windows
1.2  Verbaut ist der ESP-03 mit 512k Flash und 21k Heap
2  LoLin Breakoutboard V.3
2.1  FTDI und Spannungsversorgung ist vorhanden . Treiber für CH340 muss installiert werden.
2.2  ESP-12e mit 4 mB Flash u.31kB Heap
3  Doit V3 (Smartarduino)
3.1  FTDI und Spannungsversorgung ist vorhanden . Treiber für CP2102 muss installiert werden.
3.2  ESP-12e mit 4 mB Flash u.wahrscheinlich ~31kB Heap. Im Moment wird auf der Webseite schon der Nachfolger ESP-12f angeboten.
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

  1  Flashen

In Anbetracht der rasanten Entwicklung des ESP8266 im letzten Jahr hinkt die Versorgung mit Software etwas nach. Da ich mich mit meinen Ausführungen überwiegend mit dem NodeMCU beschäftigen  möchte, da mit der Firmware z.B. auch dasLocutus Board versorgt werden kann,  werde ich mich darauf konzentrieren.

1.1  Verwendung fertiger bin-Files

https://github.com/nodemcu/nodemcu-firmware/releases

Für den LoLin, die anderen kommen noch, habe ich die neueste Version verwendet. Für Locutus Boards die Version 0.9.5_20150318 , da diese um 30kB kleiner war. Wenn man auf Fließkommazahlen verzichten kann, kann man die Integer-Version verwenden, was auch nochmal Flash Speicher, aber auch Heap spart.

1.2  Man kann, wenn man kann, die Firmware aber auch selbst erstellen. Es gibt aber auch eine Seite, die das erledigt. Beides  habe ich aber noch nicht ausprobiert.
http://nodemcu-build.com/index.php

2  Programmieren

2.1  Wenn man die Firmware aufspielt, wird der Chip mit einem LUA-Interpreter, Micro Python-Interpreter oder der Möglichkeit ausgestattet, über AT-Befehle mit dem Netz in Verbindung zu treten.

2.2  Für Arduino Freunde ist sicher die Möglichkeit interessant, die Arduino IDE verwenden zu können.

2.3  Um die Programmiermöglichkeiten zu verstehen ist Kolbans- Buch vom ESP m.E. unverzichtbar. Es ist noch? Freeware und wird regelmäßig an die Entwicklung angepasst.
http://neilkolban.com/tech/esp8266/
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

#2
http://nodemcu-build.com

Hier kannst du dir eine custom firmware builden lassen. Die benötigten Module kannst du per checkbox aktivieren. Die Firmware kommt dann als Download Link per Mail.

Grüße


Edit:
Ich hätte vielleicht deinen kompletten Beitrag lesen sollten :)

fermoll

ZitatIch hätte vielleicht deinen kompletten Beitrag lesen sollten
Jau!
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

#4
Nach der Installation der Firmware muss entschieden werden, wie die Verbindung zwischen PC und dem Chip erfolgen soll.
Es stehen für die LUA-Version zwei Möglichkeiten zur Auswahl:
1. LUA-Loader
1.1  Download:   https://github.com/GeoNomad/LuaLoader
1.2  s. Bild
2. Esplorer
2.1  Download:   http://esp8266.ru/esplorer/#download
2.2  s. Bild
3. Decoda - LUA_IDE und Debugger (keine Verbindung zur NodeMCU)
Die Verwendung ist sicher bei der Entwicklung sinnvoll.
3.1  Download:  https://github.com/unknownworlds/decoda
3.2  Bild

Für die Programmierung ist die NodeMCU-Api von großer Bedeutung, die man hier findet:
https://github.com/nodemcu/nodemcu-firmware/wiki/nodemcu_api_en
Die sollte man regelmäßig ansehen, da sie wohl immer aktualisiert wird.
Momentan version 1.4.0 2015-12-12, also vom 12. Dezember.
Mit dem Lualoader kann man ohne Programmieren eine Verbindung mit dem WLAN herstellen und testen.
PS:
Wie aus dem Bild 4 hervorgeht, stehen zur Programmierung 33 kB Heap und 3038kB Flash zur Verfügung.
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

#5
Was soll mit dem ESP gesteuert werden?

1. Wintergarten

1.1   Temperatur , Luftfeuchtigkeit messen

1.2  Keimkästen
(Es werden zwei benötigt, die über einer Heizung angeordnet sind  und mit Heizdrähten bei Bedarf zusätzlich beheizt werden sollen. Bei Bedarf soll auch eine zusätzliche Beleuchtung eingesetzt werden, um z.B. einen Langtag zu simulieren)

1.2.1  Temperatur in den Heizkästen prüfen
1.2.2  Heizung steuern
1.2.3  Helligkeit prüfen
1.2.4  Belichtung steuern

2. Zisterne

2.1  Wasserstand bestimmen
2.2  Wassermenge berechnen
2.3  Trinkwassereinspeisung bei leerem Tank steuern

Als erstes werde ich mich mit der Temparaturmessung mit 1-Wire beschäftigen. Es geht vor allem auch darum, wie verschiedene Sensoren am Bus abgefragt werdeb können. Das müsste meiner Recherche nach mit einem GPIO zu machen sein.
Ich werde also als erstes einen DHT22 und einen DS18S20 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

Mittlerweile habe ich herausgefunden, dass es zwei Probleme gibt:

1. Die DHT- und die anderen 1-wire Sensoren verwenden unterschiedliche Protokolle. Deshalb sind für die parallele Verwendung auf der NodeMCU zwei GPIO's nötig, die unterschiedlich zu programmieren sind.

2.  Ich bin mir nicht sicher, ob die von mir geflashte Firmware vom 4.7.2015 die DHT Sensoren anspricht. Deshalb habe ich eine neue float.bin erstellen lassen, in der DHT enthalten ist.
http://nodemcu-build.com/index.php
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

hexenmeister

Zitat von: fermoll am 30 Dezember 2015, 16:25:41
1. Die DHT- und die anderen 1-wire Sensoren verwenden unterschiedliche Protokolle.
DHT ist kein 1wire-Device. Auch wenn intern ein DS18b20 stecken soll. Es verwendet lediglich auch nur eine Datenleitung. ;)

fermoll

Deshalb ist wohl ein extra GPIO für jeden DHT notwendig, da anders als bei 1-wire die Chips keine eigene Kennung haben.

Ich habe bisher mehrere Probleme festgestellt:

1.  Ich probiere die LoLin MCU an einem Acer Aspire Swiitch 10 aus, mit Windows 8.1. Dabei fubnktioniert Esplorer, aber Lualoader nicht. Letzterer lässt sich nicht auf den COM3 einstellen, auf dem der ch340 Treiber läuft. Es hat mal kurze Zeit funktioniert, als ich den FTDI Treiber entfernt hatte. Aber nach einem Windows Update geht das nicht mehr. Am Vista- Rechner funktioniert der LuaLoader ohne Probleme. Das muss wohl an Windows 8.1 liegen.

2. Ich habe den Sketch von Locutus zusammen mit dem von ihm veröffentlichen bin-File verwendet. mit einer neuen Ausgabe ist mir das bisher nicht gelungen. Da werde ich weiter testen.
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

Pf@nne

Moin,

wenn du "erstmal" nur starten willst dann nimm doch mal den Sketch aus dem ersten Beitrag.
http://forum.fhem.de/index.php/topic,46486.0.htm
Damit läuft der DS18B20 erstmal.

Der DHT22 wäre dann nur eine weitere Library und ein paar zusätzliche Zeilen.


Guten Rutsch....
FHEM auf: DS415+ (Master), Raspberry Pi 2

fermoll

#10
Hallo Pf@nne

Ich verfolge eine ähnliche Strategie wie du im Link.
Ich verwende NodeMCU's- insgesamt werden es vier sein, im Moment nur der LoLin- mit dem LUA-Interpreter. Das hat mehrere Gründe:

1. Es handelt sich um ein abgeschlossenes System. Ich brauche keinen extra FTDI. Mit dem LuaLoader kann ich auch schon Sachen ausprobieren, ohne Hardware zu installieren. Die Skripte lassen sich recht einfach austauschen.

2. Zum Testen kann ich flashs erstellen lassen, bei denen Debug eingeschaltet ist:
http://nodemcu-build.com/index.php

3. Beim Herumspielen mit Locutus DHT-Beispiel ist mir aufgefallen, dass 6k Heap verbraucht. 24k waren am Anfang vorhanden.
    Da ich Anfang der achtziger Jahre auf einem Apple II mit Pascal angefangen habe, tendiere ich zu strukturierter Programmierung, vor allem auch mit lokalen und globalen Variablen. Was mir in den letzten Tagen auch aufgefallen ist, ist die Erkenntnis dass je nach Flash unterschiedliche Heap-Größen zur Verfügung stehen. Das bedeutet für mich, dass bei der Programmierung die Speicherverwaltung eine wichtige Arbeit darstellt.
Ich werde mich also in den nächsten Wochen wieder intensiv mit Programmierung auseinendersetzen, mit LUA und C (++) und anderen.

4. Eine andere Baustelle ist die Anbindung der NodeMCU an das Netzwerk. Über dieses Problem steht sehr viel in Neill Kobans Buch.
http://neilkolban.com/tech/esp8266/

Ich werde also viel zu lesen haben.

Der Vorteil dieses Systems auch aus pädagogischen Gründen ist, dass man konkrete Aufgaben ohne großen apparativen Aufwand abarbeiten kann. Das wäre sicher was für den Informatik Unterricht
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 ist noch ein Link zur LUA-Dokumentation auf Deutsch: http://lua.coders-online.net/Content/Show/1 und das Lua 5.0 Reference Manual: www.lua.org/ftp/refman-5.0.pdf
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

Pf@nne

Moin fermoll,

frohes neues.....

ich würde gerne bei der Entwicklung mit Arduino und C++ bleiben.
Mit Lua würde ich nur wieder eine neue Baustelle aufmachen.....

Aber es schadet ja überhaupt nichts wenn der ESP826 in verschiedene Richtungen "auseinandergenommen" wird.

Momentan nutze ich einen selbstgeschriebenen Sketch, würde mittelfristig aber auch gerne ESPEasy nutzen.
FHEM auf: DS415+ (Master), Raspberry Pi 2

fermoll

Ich habe im letzten Beitrag schon angedeutet, dass ich das Ganze auch unter pädagogischen Gesichtspunkten sehe. Ich habe zwei Enkelkinder, die schon oder sicher bald Informatik in der Schule haben (werden). Da bietet es sich an, an einem konkreten Projekt Erfahrung zu sammeln. Zum anderen soll LUA Pascal ähnlich sein. Das war die Sprache, die  bei meiner Ausbildung zur Lehrbefähigung Informatik in den achtziger Jahren verwendet wurde. Zum anderen ist LUA auch den C - Sprachen sehr ähnlich.
Vor allem aber ist die direkte Anwendung des Interpreters zum Ausprobieren interessant, vor allem im Zusammenhang mit dem Debugger, der in der Firmware eingeschaltet werden kann. Im Umgang damit muss ich aber noch Erfahrung sammeln.

Nebenbei bemerkt habe ich den LoLin jetzt auch auf meinem Aspire Switch 10 mit Win 8.1 zum Laufen gebracht. Es musste im Gerätemanager der COM-Port auf den des LuaLoader umgestellt werden. LoLin läuft jetzt mit LuaLoader und Esplorer.
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

Leider bin ich im Moment mit meinen Recherchen etwas eingeschränkt, da ich eine Kur mache und keinen Zugang zu einem Netzwerk außer Internet habe. Auch steht die Gesundheit etwas im Vordergrund. Im Moment kämpfe ich mich durch Neill Kolbans Buch. Das ist vor allen Dingen  für C(++) oder Arduino Programmierer eine unerschöpfliche Quelle. Er scheint auch viel Ahnung von WiFi zu haben.
Vor allem hat mich jedoch beeindruckt, was er zu RAM-Speicher - Heap beim ESP schreibt. Es scheint wohl besonders wichtig zu sein,  beim Programmieren auf die richtige Verwaltung Wert zu legen. Das erinnert mich an meine ersten Schritte auf dem Apple II in den achtziger Jahren.
Dann habe ich noch eine interessante Seite gefunden - bei der Fa. habe ich drei NodeMCU geordert.
https://smartarduino.gitbooks.io/development-of-nodemcu/content/section_3_program_debug.html
Den Decoda habe ich installiert und oh Wunder, wenn ich ein Lua File im Lualoader aufrufe, wird das in dem Programm geladen. Wie man damit umgeht, muss ich allerdings noch herausfinden . Wie und warum die Zusammenarbeit zwischen den Programmen erfolgt, weiß ich allerdings nicht
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

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, 3 Raspberry Pi, signalduino, nanoCUL,  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

fermoll

#30
Ich habe noch eine übersichtliche Beschreibung des Protokolls gefunden:https://www.predic8.de/mqtt.htm

Noch einefür Java:https://jaxenter.de/iot-allrounder-27208
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

Reinhart

Zitat von: fermoll am 02 Februar 2016, 17:50:13
Die Kriwanek Seite finde ich auch sehr interessant, nicht nur wegen der Katzen.

Ich habe schon mehrere Schaltungen von seiner Seite nachgebaut (Roomsensor, EnergyCounter, Multiswitch) aber mit eigenen Modifikationen und funktionieren alle prima. Das Schöne an seinen Schaltungen, es ist alles sauber entprellt.
Software hat er noch nicht veröffentlicht, läuft aber alles prima unter ESPEasy! Geht sowohl mit Adafruit Huzzah als auch mit Nodemcu 2, die jedoch viel größer sind weil RS232 an Board ist.

Ich arbeite auch je nach Verwendungszweck mit MQTT (alles was Meßwerte betrifft) oder direkt per HTTPMOD (alles was Befehle betrifft).

LG
Reinhart
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

Pf@nne

Zitat von: Reinhart am 02 Februar 2016, 18:37:45
Ich arbeite auch je nach Verwendungszweck mit MQTT (alles was Meßwerte betrifft) oder direkt per HTTPMOD (alles was Befehle betrifft).

Kannst du kurz erläutern, warum du HTTPMOD zum Steuern für geeigneter hältst?
Ich hätte jetzt auch zum Steuern MQTT genutzt.

Gruß
Pf@nne
FHEM auf: DS415+ (Master), Raspberry Pi 2

Reinhart

HTTPMOD bietet mir den Vorteil, dass ich kein FHEM dazwischen brauche. Ich kann das direkt von jedem Browser weg und muss keine Fhem Instanz bzw. einen Raspberry oder sonst was laufen haben.

Mit dem Broker alleine wird es schon schwieriger, Fhem ist auch nicht notwendig aber ein Raspberry schon.
Ansonsten bin ich mit dem Broker sehr zufrieden, weil der Mosquitto sehr stabil läuft, das ständige pollen ist halt ein eigenes Thema. HTTPMOD hat den großen Nachtteil, das man den 8266 nicht schlafen schicken darf, also nix mit Batteriebetrieb!

LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

Pf@nne

OK, danke.....

da ich ausschließlich über FHEM messen und steuern möchte würde ich dann bei MQTT bleiben.
Ich fand MQTT bisher extrem vielseitig und universell, echt klasse!

Gruß
FHEM auf: DS415+ (Master), Raspberry Pi 2

fermoll

#35
Ich habe eine interessante Seite gefunden:  http://www.wemos.cc/wiki/doku.php?id=en:d1_mini , D1 Mini. Interessant von den Ausmaßen und der Verwendung von shields, z.B. DHT 22.
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