Hallo zusammen,
WLAN-Module für Arduino und Mikrokontroller waren bisher jenseits der 30 Euro-Grenze angesiedelt. Das ESP8266 WLAN-Funkmodul ist schon ab 3 Euro erhältlich. Die UART-Schnittstelle und die Steuerung mit AT-Befehlen ermöglichen eine einfache Integration in Mikrocontrollerprojekte.
Ein Nachteil von WLAN-Modulen ist der hohe Stromverbrauch. Batteriebetriebene Sensoren wären praktisch sinn- und nutzlos. Ganz anders der ESP8266: der Stromverbrauch ist von 0,5 mA (Shutdown Mode) bis 215 mA (802.11b, CCK 1Mbps, POUT=+19.5dBm Mode) konfigurierbar. In Verbindung mit dem AVR Sleep Mode würde ein Lithium Akku oder aber zwei 1,5V Batterien nicht so schnell an Leistung verlieren.
Worauf ich hinaus will? Ich möchte einen WLAN-Sensor für FHEM entwickeln. Dabei übernehme ich gerne die Hardwareentwicklung.
Folgende Hardwarekonfiguration für den/die Prototypen schwebt mir vor:
ESP8266 WLAN-Funkmodul
ATmega328P mit Arduino Pro or Pro Mini (3.3V, 8MHz) Bootloader
Debug-Schnittstelle (Arduino SoftwareSerial Library)
Schnittstelle für USB zu TTL-Wandler
JST-Connector für Li-Po / Li-Ion Akku
Damit kein Chaos bei der Wahl der Sensoren entsteht, schlage ich I2C-Bus Breakout Boards von Adafruit und SparkFun vor (diverse kostengünstige China Klone sind bei eBay erhältlich).
Sensoren:
BMP085 / BMP180 (http://forum.fhem.de/index.php/topic,28905.msg342391.html#msg342391) (barometrischer Luftdrucksensor)
BH1750 (http://forum.fhem.de/index.php/topic,28905.msg297133.html#msg297133) (Umgebungslichtsensor)
DS18B20 (http://forum.fhem.de/index.php/topic,28905.msg297646.html#msg297646) (Temperatursensor)
DHT22 (http://forum.fhem.de/index.php/topic,28905.msg264343.html#msg264343) (Temperatur- und Feuchtesensor)
HTU21D (http://forum.fhem.de/index.php/topic,28905.msg342391.html#msg342391) (Temperatur- und Feuchtesensor)
HC-SR04 / DYP-ME007Y (http://forum.fhem.de/index.php/topic,28905.msg298043.html#msg298043) (Ultraschall Sensormodul)
CCS811 (https://forum.fhem.de/index.php/topic,28905.msg856906.html#msg856906) (Luftqualitätssensor)
Weitere (nicht zwingend erforderliche) Module:
SSD1306 OLED Display (https://forum.fhem.de/index.php/topic,52403.msg448712.html#msg448712) (I2C)
WS2812 (http://forum.fhem.de/index.php/topic,28905.msg342391.html#msg342391) (NeoPixel) RGB LED
Relais (http://forum.fhem.de/index.php/topic,28905.msg265627.html#msg265627)
Es klingt nach sehr viel Arbeit. Deshalb benötige ich auch kräftige Unterstützung bei der Softwareentwicklung. Der Developer übernimmt bitte die Programmierung mit der Arduino IDE. Ich kann nicht beurteilen, ob ein neues FHEM perl Modul benötigt wird. Eventuell genügt die Abfrage/Übergabe der Sensordaten an FHEM per GET.
Den/die ersten Prototypen könnte ich im ersten Quartal 2015 zur Verfügung stellen. Ist jemand interessiert?
Was halten die Experten von einem WLAN-Sensor mit dem ESP8266 Chip? Vorschläge für andere oder weitere Hardwarekomponenten?
Hier noch ein paar Weblinks:
http://www.mikrocontroller.net/articles/ESP8266
https://github.com/nodemcu/nodemcu-flasher
UPDATE 22.02.2015
Die Alpha-Version des Breakout Boards (http://forum.fhem.de/index.php/topic,28905.msg265197.html#msg265197) ist verfügbar.
UPDATE 20.09.2015
Ich habe die Weiterentwicklung der Hardware aus Kostengründen eingestellt.
Äquivalente Produkte anderer Hersteller: Adafruit Feather HUZZAH (https://www.adafruit.com/products/2821) oder ESP8266 Thing - Dev Board (https://www.sparkfun.com/products/13711)
UPDATE 28.02.2016
LW12 RGB-Controller für 12V RGB LED Strip (http://forum.fhem.de/index.php/topic,28905.msg417438.html#msg417438)
UPDATE 26.06.2016
IR-WLAN-Gateway (https://forum.fhem.de/index.php/topic,28905.msg466351.html#msg466351)
UPDATE 19.03.2017
LW12 RGB-Controller Ver. 1.1 (https://forum.fhem.de/index.php/topic,28905.msg607929.html#msg607929)
UPDATE 04.11.2017
LD382 RGB-Controller Ver. 2.0 (https://forum.fhem.de/index.php/topic,28905.msg709729.html#msg709729)
Hallo,
ich habe hier ein ESP8266-Modul und ein paar Arduino Nano und Pro und FTDI-Adapterkabel herumliegen. Ich wollte damit ein wenig herumspielen, wenn ich Zeit habe. Einen konkreten Einsatzzweck habe ich noch nicht gefunden. Soweit ich das überblicke, ist hardwareseitig nicht viel mehr zu tun, als die Teile mit Dupont-Kabeln zusammenzustecken.
Ich hebe dennoch nicht die Hand, die Software zu entwickeln, weil ich nicht zuverlässig die dafür erforderliche Freizeit aufbringen kann.
Ich bin außerdem skeptisch bei proprietären Lösungen, auch wenn diese OpenSource-Hardware und -Software sind.
Ich persönlich würde auf 6LoWPAN mit Contiki als Unterbau setzen. Dazu braucht es einen ATmega1284P mit AT86RF212.
Schau Dir doch mal Blatt 6 von https://github.com/mysmartgrid/hexabus/blob/master/schematics/HexaBus_Plug.pdf?raw=true (https://github.com/mysmartgrid/hexabus/blob/master/schematics/HexaBus_Plug.pdf?raw=true) an. Die Firmware existiert und ich habe eine Entwicklungsumgebung dafür, deren Aufbau ich auch dokumentiert habe. Und ich arbeite an einem FHEM-Modul dafür.
Viele Grüße
Boris
Ich habe die Diskussion bei mikrocontroller.net auch verfolgt und mir Gedanken gemacht ob und wie man das einsetzen könnte.
Gerade für Sensoren habe ich aber keinen wirklichen Grund gefunden, die per WLAN anzubinden. WLAN bietet zwar eine viel höhere Bandbreite als andere Funkprotokolle, aber die wird für Sensoren ja i. A. gar nicht benötigt.
Dazu kommt der wahrscheinlich immer noch höhere Stromverbrauch und dass die Firmware von dem ESP8266 wohl noch nicht so ganz ausgereift ist.
Im übrigen hat der Mikrocontroller von dem Teil wahrscheinlich erheblich mehr Rechenleistung als der ihn steuernde ATmega :-)
Theoretisch könnte man wohl eine einfache Sensorapplikation ganz auf dem ESP8266 laufen lassen, ohne einen weiteren Controller.
Daher sehe ich eher andere (Spezial-)anwendungsfälle.
- Audioübertragung, z. B. für Sprachausgabe, Musikstreaming oder gar Spracheingabe
- Statusdisplays oder komplexere Eingaben
Da stellt sich dann aber schon wieder die Frage, ob man mit einem billigen Tablet von der Stange nicht besser bedient ist.
Produktbeschreibung
Das Breakout Board basiert auf einer programmierbaren MCU mit integriertem WLAN-Modul, einigen GPIOs und UART-Schnittstelle.
Hardwarevoraussetzung
Zur Kommunikation mit dem Breakout Board wird ein USB zu TTL-Wandler mit 3,3V-Logik (FTDI FT232RL).
http://www.exp-tech.de/catalogsearch/result/?q=ft232rl+breakout
Dabei ist zu beachten, dass die Eingänge des ESP8266 nicht 5V-tolerant sind.
Bei Verwendung von USB-Wandlern mit 5V-Logik wird zusätzlich ein 5V zu 3,3V-Pegelkonverter (Levelshifter) benötigt.
Anschluss
Es ergibt sich das folgende Anschlussschema (siehe FTDI.jpg):
ESP8266 < - > FTDI
------------------------
TX < - > RX
RX < - > TX
VCC < - > 3.3V
GND < - > GND
Hardwareseitig ist CH_PD mit VCC verbunden. GPIO15 ist mit GND verbunden.
AT-Kommandos
Die softwareseitige Verbindung zum ESP8266 stellt man mit z.B. mit CoolTerm her (siehe CoolTerm.jpg).
http://freeware.the-meiers.org/
1. CoolTerm starten
2. Auf Connection klicken und Options... wählen
3. Port und Baudrate (je nach Firmware Version 115200 oder 9600) wählen, auf OK klicken
4. Auf den Connect Button klicken
Es können nun AT-Kommandos abgesetzt werden (siehe ESP8266 AT Instrction Set.pdf).
NodeMCU
NodeMCU ist eine alternative Firmware für den ESP8266EX SoC.
https://github.com/nodemcu/nodemcu-firmware
1. Einstieg in den Flash-Mode
Dazu wird GPIO0 auf GND gelegt und das Board mit Spannung versorgt. Das Funkmodul befindet sich nun in dem "boot mode".
2. NodeMCU Firmware installieren
Zum Updaten wird der NodeMCU Flasher benötigt (siehe NodeMCU_Firmware.jpg):
https://github.com/nodemcu/nodemcu-flasher
3. COM Port auswählen und auf Flash(F) klicken.
Nach dem der Chip erfolgreich geflasht wurde, wird die Verbindung zur Spannungsversorgung getrennt. Unmittelbar danach wird die Verbindung zwischen GPIO0 und GND getrennt.
ESPlorer
Mit der Lua-IDE ESPlorer lassen sich Skripte unter NodeMCU aufspielen. Auch AT-Kommandos werden unterstützt.
http://esp8266.ru/esplorer/
Arduino
Arduino-kompatible IDE mit ESP8266 Unterstützung
https://github.com/esp8266/Arduino
Als ich mit FHEM angefangen habe hat es mich geärgert das keine Sensoren auf so einer einfachen WLAN Basis gab (oder ich habe sie einfach nie gefunden) Die bekannten 433 oder 868 MHz Lösungen deckten mit einem USB Empfänger im Keller direkt am FHEM Server nie das ganze Haus ab, dazu war im ersten Stock dann doch ein "Hilfs" Fhem auf Raspi Basis notwendig.
Ich habe mir letzte Woche zwei dieser Module bestellt und konnte am Samstag und Sonntag etwas damit spielen.
Erster Eindruck :
Ich bin begeistert, obwohl ich nur die einfache Ausführung ohne externe Antenne habe "sieht" das Modul alle meine APs plus drei aus den Nachbarhäusern ( mein Laptop sieht mit einer besseren Antenne noch zwei weitere ) , das bedeutet für mich : Selbstbau Sensoren auf dieser Basis würden auf meinem ganzen Grundstück und im Haus vom Keller bis zum Dach funktionieren.
Die Firmware der Module scheint z.Z. noch ein paar Macken zu haben, unter anderem finden sich im Netz widersprüchliche Infos sowohl was den Anschluss betrifft als auch die Syntax der AT Befehle - was ich leider gar nicht gefunden habe war ein AT Befehl der nach einem erfolgreichen TCP Verbindungsaufbau die serielle Schnittstelle transparent ( d.h. 1:1) durchreicht, so wie es jedes normales Telefonmodem tut.
Wäre dies möglich, sehe ich bei mir denn ersten Einsatzfall als WLAN-CUL / WLAN-JeeLink / WLAN-Firmata oder WLAN-Fhemduino :)
D.h. der "Hifls" FHEM Server würde sterben und sein Platz würden WLAN-433/868 MHz Brücken einnehmen die die Kommunikation mit den gekauften Temp/Feuchte abwickeln. Ich denke bei den aktuellen Marktpreisen von 6-11 Euro für einfache Temp/Feuchte Sensoren lohnt sich ein Selbstbau für direktes WLAN nicht - das mag für die anderen Arten von vorgeschlagenen Sensoren schon wieder ganz anders aussehen, da ich dafür z.Z aber keinen direkten Bedarf habe fehlt mir auch das dazugehörige Wissen.
Fazit :
IMHO lohnt es sich an den Thema ESP8266 dran zu bleiben, auch wenn die weitere Entwicklung hier im Forum vllt. nicht direkt in die von locutus vorgeschlagene Richtung gehen sollte, so bleibt doch genug Potenzial für andere Lösungen im Zusammenspiel mit FHEM
Hallo beisammen, für selbstentwickelte Sensoren scheinen derzeit ja
- Panstamp
- MySensors
- ESP8266]
am interessantesten zu sein. Die Eleganz beim ESP8266 kommt besonders in der Kombination der Standalone-Nutzung ohne extra Arduino mit einem MQTT Sketch heraus nach meiner Meinung: https://github.com/tuanpmt/esp_mqtt & https://scargill.wordpress.com/category/esp8266/
Der Vorteil von Wifi ist natürlich dass man keinen eigenen Receiver braucht und man sich über die Abdeckung relativ wenig Sorgen machen muss. Nachteil ist sicher, dass gerade bei Batterie-Devices ein Aktor nicht sinnvoll realisierbar sein wird (nachdem man das Wifi-Modul zum Stromsparen abdrehen muss die meiste Zeit)
Andere interessante Links:
http://harizanov.com/2014/12/wifi-iot-3-channel-relay-board-with-mqtt-and-http-api-using-esp8266/
http://dangerousprototypes.com/2015/01/07/a-world-of-mqtt-on-esp8266/
http://nathan.chantrell.net/20141230/wifi-mqtt-display-with-the-esp8266/
https://scargill.wordpress.com/2014/11/17/a-temperature-monitor-for-the-esp8266/
Das klingt doch Super.
Mit dem ESP8266 könnte man doch günstig und einfach "funk" Temperatur und Feuchte Sensoren bauen. :)
Oder gibt das bessere alternativen?
Gruß
Mysensors ist nochmal ein Eckerl günstiger (wenn man den ESP8266 zusammen mit einem Arduino verwendet)
Zitat von: REM!X am 21 Januar 2015, 15:56:32
Mit dem ESP8266 könnte man doch günstig und einfach "funk" Temperatur und Feuchte Sensoren bauen. :)
lies mal im Anfängerforum http://forum.fhem.de/index.php/topic,32467.0.html
Der Autor (TorstenC) hat die ESPs anscheinend voll im Griff da er dort plant WLAN Schalter zu bauen, vllt sollte ihn mal jemand nach hier unten locken :)
Auf den zusätzlichen Arduino kann man wohl auch verzichten und den gesamten C Code direkt ins Modul packen
Äh, im Griff? Ich schließe mich dem Kommentar von hexenmeister an und halte den Beitrag für einen verfrühten Aprilscherz.
Kurzes Update zum Stand der Hardwareentwicklung:
Für den/die Prototypen habe ich ein einfaches Breakout Board in CadSoft Eagle erstellt. Die Schaltung ist auf ein Minimum an Bauteilen reduziert.
Den Grundbaustein bildet das ESP-03 Funkmodul. Die Spannungsversorgung erfolgt wahlweise über CN1 (z.B. Powerbank mit Mini-USB Stecker) oder CN2 (Lithium Akku mit JST-Stecker). IC1 stabilisiert die Spannung auf 3,3 Volt. JP1 und JP2 sind standardisierte 2,54 mm Pin Header. U2 kann mit einem DS18B20 1-Wire Temperatursensor bestückt werden.
Das Board kann sowohl als Standalone Gerät betrieben oder auch als Zusatzplatine für Mikrocontroller (Arduino) verwendet werden.
Für die Standalone-Lösung scheint mir NodeMcu (https://github.com/nodemcu/nodemcu-firmware) sehr geeignet. Die Entwicklung und MQTT-Implementierung macht offenbar gute Fortschritte.
Hallo,
wie sollte denn die optimale Anbindung ESP8266<-> Fhem aussehen?
Gibt es da Überlegungen? Welches Modul ist da als Muster zu empfehlen?
Jeden ESP wie ein Netzwerk CUL/CUNO ansprechen? -> Diese Module ändern?
Oder alle ESPs über ein CUL/CUNO und Schaltadresse = IP:PORT:IP:PORT?
Für jedes ESP Projekt ein FHEM Modul mit eigener Kommunikation schreiben? Würde das nicht das System blockieren? Beispiele für non Blocking UDP Kommunikation, gibts da welche?
Ist Zustand auf meinen ESP Projekten TCP-> HTTPDämon UDP->UDPCommando Dämon.
Macht da ein TCPCommando Dämon mehr Sinn?
Würde gerne FHEM mit unterstützen - obwohl ich denke das bei einigen Ideen FHEM die Puste ausgeht.
Schon vor einigen Monaten haben wir ein WIFI/1-Wire Interface beschrieben und gebaut, das Teil ist bei mir seit Monaten im Produktivbetrieb und versorgt einen ganzen 1-Wire-Bus mit ca. 10 Sensoren und mehreren Aktoren
Thread dazu siehe hier http://forum.fhem.de/index.php/topic,18996.285.html
Ansteuerung erfolgt über socat, beschrieben ist das hier http://www.fhemwiki.de/wiki/1W-IF-ETH
Und der Schaltplan ist hier angehängt.
LG
pah
Also ich werde meine ESP Projekte jetzt an FHEM anbinden. (ist natürlich ein Versuch)
Ich werde es über das HTTP Protokoll versuchen.
Gibt es dafür schon ein IODev?
Sollte dann folgende Kommandos verarbeiten:
Senderichtung: (mal durchgespielt)
Daten von Modul für Schalter/Dimmer "Switch.pm" an IODev "http.pm" ,sendet über HTTP an Gerät - HTTP Response Code als Bestätigung
Musterdaten:
192.168.000.054:80/EG.Heizungsraum.Heizkreis.1.set Postdata:value=50
oder
www.heizungsraum.de/EG.Heizungsraum.Heizkreis.1.set Postdata:value=50
oder
192.168.000.054:80/Switch.1.set Postdata:value=50
oder
www.heizungsraum.de/Switch.1.set Postdata:value=50
(wobei "Switch.1" nicht änderbar in der ESP Firmware codiert ist und ".1" die laufende Nummer ist (also Switch.1-8 bei 8er Relais-Karte)
und "EG.Heizungsraum.Heizkreis.1" der vom Nutzer und FHEM alternativ benannte "Switch.1" ist (=Name in FHEM). Alle Links würden aber das gleiche bewirken.
Empfangsrichtung:
Daten von Gerät über HTTP an IODev(HTTP-Daemon an Port xx) : (Response Code als Bestätigung)
Über regex "/Switch.X.par" an Modul "Switch.pm" zum verarbeiten der empfangenen Daten zurückschicken.
Gibt es schon so ein IODevice in FHEM das ähnliches leistet?
Ist bei der Kommunikation über HTTP irgendwas zu beachten was man vorher berücksichtigen sollte ?
Bitte ansehen ECMD /ECMDDevice.
LG
pah
Zitat von: Prof. Dr. Peter Henning am 26 Januar 2015, 10:51:13
Schon vor einigen Monaten haben wir ein WIFI/1-Wire Interface beschrieben und gebaut ...
Hallo pah,
ich brauche mehr Details! In der Wiki (http://www.fhemwiki.de/wiki/1W-IF-WIFI) wird die Konfiguration des USR-WIFI232-A nicht erwähnt. Welche AT-Kommandos sind notwendig?
Diese Informationen wären sehr hilfreich für die Umsetzung des ESP8266-Projektes.
Die Konfiguration für das von mir verwendete Modul habe ich im http://www.fhemwiki.de/wiki/1W-IF-WIFI#WLAN-Modul ergänzt.
Mit dem ESP8266 stehe ich noch auf Kriegsfuß - habe das derzeit an einem Raspberry Pi. An dessen seriellem Port meldet es sich kurz - aber nicht so, dass irgend ein sinnvoller String erkennbar ist. Hat irgendjemand das Ding an einem RPi zum Laufen bekommen ?
LG
pah
Zitat von: Prof. Dr. Peter Henning am 15 Februar 2015, 06:15:37
Mit dem ESP8266 stehe ich noch auf Kriegsfuß - habe das derzeit an einem Raspberry Pi. An dessen seriellem Port meldet es sich kurz - aber nicht so, dass irgend ein sinnvoller String erkennbar ist.
Ist vermutlich das unveränderbare Boot Rom. Sendet auf einer sehr ungewöhnlichen Baud rate. Um den Chip richtig zu starten muss das Boot Medium gewählt werde (über richtige Beschaltung von 3 Pins). Gibt da ein Wiki zum ESP im Web.
Meine Projekte laufen ganz gut.
Aktuelle Probleme:
-Generell Cloud update, update ohne 50% des Flash Speichers zu verlieren (dann wirds eng)
-FHEM integration
Den ADC werde ich nächste Woche mal testen. Die Werte schwanken aber ziemlich (beim Auslesen ohne angeschlossene Hardware).
Interessant am ADC wären sicherlich ein CO2 Sensor für Räumsensoren und ein Feuchtigkeitssensor für Rasen Bewässerung.
Hinsichtlich FHEM integration habe ich mehrere Ansätze probiert und noch keine Lösung.
Ich habe versucht FHEMWEB so zu verändern (zu kürzen) das nur die Get und Post Daten extrahiert werden, sowie die Anfragende Adresse.
Und es weiterhin so zu verändern das Get und Post Daten an eine Zieladresse geschickt werden können.
Ich wollte das geänderte Modul dann auf einem anderen Port laufen lassen. Sozusagen als HTTPDaemon und IODevice für ESP Kommunikation. War mir dann aber doch zu hoch mit meinen begrenzten Perl Kenntnissen.
Auf ESP Seite war das einfacher und funktioniert wie geplant:
http://192.168.0.63/Switch.2.set, mit oder ohne Hostname.fritz.box , mit Name Switch.1 oder alternativ Umbenannt, mit dem richtigen Post/Get Argument schaltet er SSR Relais 2 an oder aus.
Äh - wie ?
Ich habe zwar schon eine ganze Reihe von Seiten zu dem Thema gelesen, aber alle stimmen darin überein, dass das ESP8266 mit 115200, 57600 oder 9600 Baud kommuniziert.
Und von "boot medium" höre ich zum ersten Mal etwas. Bei mir sind die Pins Vcc, RESET und CH_PD auf 3,3 V gesetzt. Das ESP8266 meldet sich im im Minicom mit 9600 Baud mit "ready" - aber das wars dann. Kein AT-Kommando wird erkannt. Die einzige Möglichkeit, die ich noch nicht gestestet hab, ist ein Hardware-Fehler in diesem Raspberry (das ist mein Experimentier-Raspberry...).
Also: Für einen Link bezgl. des Themas "boot medium" wäre ich dankbar.
LG
pah
https://github.com/esp8266/esp8266-wiki/wiki
unter boot process...
Sorry, aber das hat mit dem Problem nicht die Bohne zu tun ::)
pah
Hallo,
hat jemand jetzt eigentlich schon mal die nodemcu Firmware für den ESP probiert?
Ich finde die nämlich auch sehr interessant und wollte die auch mal am WE probieren, da meine beiden ESP jetzt endlich angekommen sind.
Vielleicht gibt es ja schon irgendwelche Erfahrungen
Grüße
Hallo Samsi,
für das Funkmodul fällt mir zur Zeit keine bessere Alternative ein. Man sehe sich nur die Vielfalt der Sensoren (https://github.com/nodemcu/nodemcu-firmware/tree/master/lua_modules) an.
Interessant ist auch der Deep Sleep Modus (https://github.com/nodemcu/nodemcu-firmware/wiki/nodemcu_api_en#nodedsleep) mit einem Stromverbrauch, der im µA Bereich liegt. Es hat aber den Nachteil, dass kein Interrupt ausgelöst werden kann.
Ich habe hier seit einigen Tagen den DHT22 Temperatur- und Feuchtesensor mit NodeMcu im Testaufbau am Laufen. Der WiFi-Hygrometer funktioniert schon recht stabil.
Lass dich nicht von dem Bild täuschen, es handelt sich hierbei um einen eigenständigen HTTP Server - nix mit FHEM.
Hi locutus,
schön, vielleicht kannst Du mir dann etwas licht ins dunkle bringen. Wenn ich die Firmware geflasht habe, wie bekomme ich die LUA Skripte da drauf.
Verstehe ich das richtig, das ich die einfach per Serielle Konsole an den ESP schicke und wenn ich das Skript dann dauerhaft speichern will das ich dann solche Verrenkungen machen muss:
file.open("init.lua","w")
file.writeline([[print("Hello, do this at the beginning.")]])
file.close()
Oder gibt es da auch eine einfachere Möglichkeit?
Und kann ich die Skripte auch per WLAN ändern, sobald ich den mit meinem Router verbunden habe?
Grüße
Ich persönlich bevorzuge LUA Uploader. Sieh dir mal die Videoanleitung an:
https://www.youtube.com/watch?v=ty-sUlYM9M4
So wird das ESP8266 Funkmodul mit dem USB-to-Serial Adapter verbunden:
https://importhack.wordpress.com/2014/11/22/how-to-use-ep8266-esp-01-as-a-sensor-web-client/
Hi,
irgendwie bekomme ich den ESP nicht zum laufen bzw. neu geflasht.
Wenn ich ihn Anschließe (natürlich mit Level Converter) blinkt nur die send LED von meinem PL203HX, bei Receive kommt nix.
Ich habe CH_PD auf high, da verbraucht er auch ca. 80ma (anzeige vom Labornetzgerät, nicht unbedingt sehr genau) bei 3.3v ohne geht der Verbrauch runter. Also schient er ja prinzipiell noch OK zu sein.
GPIO0 Habe ich beim Programmieren auf GND (ohne zieht er auch etwas weniger, ca. 50ma)
Habe auch versucht einfach nur den ESP zu starten mit CH_PD high und GPIO0 disconnected aber da bekomme ich auch nichts über die Serielle.
Vielleicht hat jemand noch eine Idee?
Grüße
Zitat von: Prof. Dr. Peter Henning am 15 Februar 2015, 14:24:02
Sorry, aber das hat mit dem Problem nicht die Bohne zu tun ::)
pah
Hi,
Versuche mal nach den AT Befehlen ein Strg+m und Strg+j. Ein normales Enter funktionierte bei mir auch Anfangs nicht.
Grüße Stephan
Gesendet von meinem Galaxy Tab 4 LTE mit Tapatalk
Hallo Samsi,
möglicherweise sind RX und TX vertauscht. GPIO0 wird nur im Flashmodus auf Masse gelegt. In CoolTerm einfach unterschiedliche Baudraten ausprobieren.
Vom Levelshifter halte ich nicht viel. Besser ist ein USB-to-Serial Adapter mit 3.3V Logik.
Der NodeMCU Flasher für Windows erledigt die Firmware Installation mit nur einem Klick.
https://github.com/nodemcu/nodemcu-flasher
@CaptainHook: OK, werde ich morgen ausprobieren, bin heute unterwegs. Wer denkt auch an Windows ... (Edit: Das war es in der Tat ...)
@locutus: Das ist falsch. Levelshifter wie etwa dieser hier http://www.fhemwiki.de/wiki/1-Wire_Pegelwandler sind für den ESP8266 hervorragend geeignet. Übrigens sind entsprechende Schaltungen auch in jedem USB-Client "mit 3,3 V-Logik" enthalten.
LG
pah
Selbstverständlich funktioniert der Levelshifter. Hier entsteht aber dadurch eine zusätzliche Fehlerquelle (falsche Verkabelung). Deshalb sollten Anfänger lieber direkt mit einem konfigurierbaren USB-Adapter arbeiten.
So, wollte nur mal Rückmeldung geben, woran es lag:
Verkabelung und Levelshifter waren in Ordnung. Da ich aber den ESP-03 habe muss auch GPIO 15 auf GND sonst geht da gar nichts.
Da sich die meisten Anleitungen auf andere ESP beziehen, die GPIO 15 nicht nach Außen führen, ist mir das nie aufgefallen.
Grüße
Hallo Mitstreiter,
die Alpha-Version des Breakout Boards ist nun fertig. Die Schaltung wurde bereits hier (http://forum.fhem.de/index.php/topic,28905.msg251332.html#msg251332) beschrieben.
Die Platine ist Breadboard-freundlich. In dieser Version habe ich bewusst auf Ladeelektronik verzichtet – ein Lithium Akku kann nicht geladen werden – ich suche noch nach geeigneten Laderegler (TP4057, MAX1555 ...).
Wegen Stromersparnis sind auch keine RX-, TX- und Power-Staus-Leuchtdioden eingebaut.
Ich suche noch zwei freiwillige Kontrahenten. Ihr bekommt das kleine Platinchen kostenfrei zur Verfügung gestellt. Bitte bei Interesse hier posten.
Für alle anderen Interessenten gilt: einfach mal die verfügbare Stückzahl und den Preis hier (http://forum.fhem.de/index.php/topic,28905.msg217218.html#msg217218) abrufen.
Das Experimentieren geht in die nächste Runde.
Hallo
da wäre ich durchaus interessiert. bin zwar Anfänger , habe mich bisher aber immer erfolgreich durchgebissen
Ich würde es mir auch gerne angucken.
Hallo,
nach dem WiFi-Hygrometer (http://forum.fhem.de/index.php/topic,28905.msg264343.html#msg264343) möchte ich nun ein WiFi-Relais mit NodeMcu vorstellen.
Der Code erzeugt einen TCP-Server der auf Port 80 hört und ein am GPIO2 angeschlossenes Relais schaltet.
Je nach Typ muss das Relais zusätzlich mit externer Spannung (5V, 12V oder 24V) versorgt werden.
Vorsicht beim Umgang mit Netzspannung!!!
Relais per URL in FHEM schalten:
define relayswitch dummy
attr relayswitch eventMap on:on off:off
attr relayswitch room ESP8266
define relayswitchon notify relayswitch:on { GetHttpFile('192.168.xxx.xxx:80', '/?pin=ON');; }
attr relayswitchon room ESP8266
define relayswitchoff notify relayswitch:off { GetHttpFile('192.168.xxx.xxx:80', '/?pin=OFF');; }
attr relayswitchoff room ESP8266
Bekannter Bug - Webpage wird beim Aufruf der IP-Adresse über Safari Browser (iOS7) nicht dargestellt.
Hallo locutus,
besten Dank für das Platinchen. war super schnell da
hab nun ein wenig gelesen.
PAH hat ja ein WikiEintrag geschrieben bzgl der Einbindung.
http://www.fhemwiki.de/wiki/1W-IF-WIFI#WLAN-Modul
So habe nun die Platine gestartet,
ich finde Sie auch in der Wlan Anzeige meines PCs
Doch wie nun auf die Platine zugreifen, mit dem Wiki komme ich da leider noch nicht weiter.
ich hab die Adresse der Platine und auch die MAC
192.168.xxx.x
Das ist noch nicht der Bereich meiner Fritte.
Soweit ich gelesen habe muss man auf die Platine zugreifen und dort dann eine Adresse vergeben die meine Fritte kennt.
Einen passenden Temp Sensor hab ich hier noch rumliegen, bei U2 würde ich eine Stiftleiste einlöten, Steckkabel hab ich hier, so könnte man den Tempsenor provisorisch einbinden.
Ebenso ha ich hier eine Relais Karte, könnte man die so wie in Post 33 zu sehen ist anschließen ?
Hi, wie siehts denn mit Akkulaufzeit und dem DHT Sensor aus? Kann da schon jemand was zu sagen?
Für mich würde sich das unter Umständen lohnen da ich hier mehrere AccessPoints habe und mein RFXTRX viele Pakete meiner Sensoren nicht mitbekommt. Mit dem ESP könnte ich an die "entlegensten" Stellen ohne Paketdrop befürchten zu müssen.
Da de ESP8266 bis zu 200 mA zieht, sehe ich bezgl. Akku schwarz
LG
pah
Das sehe ich ganz anders: 78 µA im Sleep Mode ... allerdings mit einem kleinen Nachteil verbunden:
http://tim.jagenberg.info/2015/01/18/low-power-esp8266/
Hallo zusammen, könnte man einfache Taster an die gpio Eingänge hängen damit den ESP aus dem sleep wecken und das ganze als Fernbedienung nutzen um z.b. Licht ein zu schalten. Mein Ziel wäre es Netzwerke zu reduzieren und alles über LAN WLAN anzubinden und nicht über 433mhz intertechno 868mhz fs20 etc..
@ locutus
Bzgl. der LiIo Ladeschaltung:
Ich verwende meist den MAX1811 als Laderegler, weil er recht einfach beschaltet ist.
Hier findest du ein Beispiel aus eines meiner Projekte.
Zitat von: matthias soll am 26 Februar 2015, 10:34:58
Hallo zusammen, könnte man einfache Taster an die gpio Eingänge hängen damit den ESP aus dem sleep wecken und das ganze als Fernbedienung nutzen um z.b. Licht ein zu schalten. Mein Ziel wäre es Netzwerke zu reduzieren und alles über LAN WLAN anzubinden und nicht über 433mhz intertechno 868mhz fs20 etc..
Das sollte möglich sein:
https://github.com/nodemcu/nodemcu-firmware/wiki/nodemcu_api_en#gpiotrig
Allerdings wie sich nicht, wie lange er brauch um dann wieder im netz zu sein. Wenn ich es richtig verstanden habe, gibt esnen sleep modus bei dem braucht er ca. 1ma und bleibt mit dem Netzwerk verbunden.
https://www.google.de/?gws_rd=ssl#q=esp8266+datasheet
Dort steht:
"in sleep mode and less than 1.0mW (DTIM=3) or less than 0.5mW (DTIM=10) to stay connected to the access point."
und:
Power save mode DTIM 1
1.2 mA
Power save mode DTIM 3
0.86 mA
Klingt nicht schlecht.
fhem seitig müsste ein port offen sein um die Daten von dem ESP in echtzeit zu empfangen oder ist das nicht nötig?
Hat so etwas ähnliches schon jemand umgesetzt, also mit dem ESP aktiv etwas zu fhem gesendet oder werden immer nur von fhem Werte auf den ESP abgefragt?
Das kann man machen wie man möchte.
Entweder man macht z.B. einen HTTP Request auf FHEM oder man mach z.B. mit dem ECMD Device von FHEM aus eine Verbindung auf und sendet empfängt über eine ständige Verbindung.
Erstens kann dabei von "Echtzeit" nicht die Rede sein - dafür sind weder TCP noch UDP geeignet.
Zweitens gibt es in Fhem auch keine "offenen Ports".
LG
pah
Aber mein firmata arduino kommuniziert doch auch über einen offenen Port mit fhem.
Und bei meinen FS20 tastern dauert es auch manchmal 2-3 Sekunden bis etwas passiert.
Gruß
Matthias
Zitat von: Prof. Dr. Peter Henning am 26 Februar 2015, 20:23:29
Erstens kann dabei von "Echtzeit" nicht die Rede sein - dafür sind weder TCP noch UDP geeignet.
pah
Für meine Anforderung ist das Echtzeit genug. Ich brauche mein Licht etc. nicht im Mikrosekundenbereich geschaltet zu haben. Und ich habe in FHEM mehrere ports offen z.B. port 8083
@Samsi genau das denke ich auch.
HTTP Request klingt für mich am besten, wie kann ich in fhem HTTP Requests empfangen bzw. verarbeiten?
Hast du das schonmal umgesetzt?
Gruß
Matthias
Hi,
ja, hab ich schon mal testweise gemacht, allerdings mit einem Arduino. Ist aber mit dem ESP nicht anders. Man erstellt einfach ein dummy device in FHEM und schickt einen HTTP Get Request:
client.print("GET /fhem?cmd=set%20ArduinoIR%20");
client.print(code,HEX);
client.println(" HTTP/1.0");
client.println("Host: 192.168.0.6");
client.println("Connection: close");
client.println();
client.stop();
Wenn Du den Passwortschutz (web basic auth) aktiviert hast, musst du natürlich noch das Passwort übergeben:
client.println("Authorization Basic ZdbfgthjToyMjU1");
http://de.wikipedia.org/wiki/HTTP-Authentifizierung
Ich öffne lieber einen port auf dem ESP und erstelle ein ECMD device das sich dann zum ESP verbindet. Hat den Vorteil, das Du eine dauerhafte Verbindung hast und so auch jederzeit vom ESP etwas anfordern kannst oder am ESP angeschlossene Relais etc. steuern kannst.
Hier ist ein Bsp. für nodemcu:
https://github.com/nodemcu/nodemcu-firmware/blob/master/lua_examples/telnet2.lua
Hi,
ich hatte gedacht dass der request von dem esp ausgeht (ausgehen soll) damit der danach wieder in den sleep modus gehen kann, um vielleicht einen batteriebetrieb zu ermöglichen.
Oder dauert das dann zu lange bis er wieder eine Verbindung hat?
@Samsi: Wer im Bereich Automatisierung von "Echtzeit" spricht, sollte das auch meinen - und das ist hier nicht der Fall. Also wäre es zur Vermeidung von Begriffsverwirrung sinnvoll, den Begriff "Echtzeit" hier zu vermeiden. Auch betreffend die "offenen Ports" sollte man bitte etwas präziser argumentieren. Die gibt es nämlich eben nicht in Fhem, sondern nur in den einzelnen Devices - und genau das ist das Problem bei der Anbindung zeitkritischer Vorgänge.
LG
pah
Hallo, tut mir leid den Begriff Echtzeit habe ich ins Spiel gebracht. Was bedeutet den Zeit kritisch? Sekunden Minuten Stunden? Wie gesagt die Reaktionszeit bei fs20 Tastern ist auch sehr unterschiedlich.
Gruß
Matthias
Die "Reaktionszeit" ergibt sich erstens dadurch, dass die Funksignale erstens vom CUL aufgefangen werden müssen - und dabei mit anderen Signalen konkurrieren. Eventuell wird also erst das dritte Aussenden detektiert.
Zweitens muss die zentrale Schleife von Fhem, die sequenziell alle anstehenden Aufgaben abarbeitet, an dem Device des CUL "vorbeischauen". Daran kann sie durch andere wichtige Aufgaben beliebig lange gehindert werden.
LG
pah
@Prof. Dr. Peter Henning
danke, dass Sie jetzt etwas "präziser"argumentieren, woran Sie sich gestört haben. Denn mit der Kurzform:
ZitatErstens kann dabei von "Echtzeit" nicht die Rede sein - dafür sind weder TCP noch UDP geeignet.
Zweitens gibt es in Fhem auch keine "offenen Ports".
war sicher niemandem geholfen. Man kann auch argumentieren das weder FHEM noch die Devices und Module keine offenen Ports haben. Diese mögen die Ports zwar geöffnet haben, der offene Port wird aber von außen betrachtet dem Prozess 'perl' zugeordnet.
Und über die Definition von Echtzeit kann sich ja jeder selbst informieren: http://de.wikipedia.org/wiki/Echtzeit
Viele Grüße
BTT?!
Nun, wer Definitionen in der Wikipedia nachsieht, wird sicher keine sachdienlichen Hinweise mehr benötigen...
LG
pah
Ich wollte hier niemanden verärgern und auch keinen Streit provozieren.
BTT
Ich würde mir nur gerne Batteriebetriebene lichtschalter auf Basis des esp8266 bauen.
Es sollte doch relativ einfach möglich sein mit dem esp bei einen tastendruck am GPIO ein z.B.: wget -q 'http://192.168.1.1/?f7=0'
zu senden oder? Oder irgendetwas mit dem fhem etwas anfangen kann?
Wie könnte man fhem seitig soetwas umsetzen?
Gruß
Matthias
Mein Tipp: Finger weg.
Viel zu aufwändig, fehleranfällig wg. WLAN; unbekannte Latenzzeit,
Für batteriebetriebene Lichtschalter empfehle ich FS20, HomeMatic (beide direkt mit dem Schaltaktor zu paaren) oder PanStamps (wenn es denn unbedingt über Fhem laufen soll).
LG
pah
OK danke für den Tip.
Momentan nutze ich auch die 6 Kanal FS20 schaltsender aber komplett indirekt mit einem firmata als schaltserver
(arduino Mega mit knapp 70 ausgängen).
Ich hätte nur gerne alles über lan bzw. wlan realisiert aber wenn das dafür total ungeeignet ist lasse ich alles wie es ist.
Danke
Gruß
Matthias
Zitat von: matthias soll am 27 Februar 2015, 18:37:10
Ich hätte nur gerne alles über lan bzw. wlan realisiert aber wenn das dafür total ungeeignet ist lasse ich alles wie es ist.
Lass dir doch keinen Blödsinn erzählen. ESP und aufwendig? Soll ich mal lachen.. Da kann man direkt 8er Relais-Boards oder SSR Boards anschließen. Fehleranfällig? Wird man zumindest merken wenn der Response-Code ausbleibt. Auch wenn die SDK auf dem ESP noch sehr buggy ist, der Watchdog tut seinen Dienst perfekt. Die schlechte Reaktionszeit liegt nur am Perl-FHEM. Batteriebetrieb? Die technischen Daten sind bekannt. Ist mit zu vielen Einschränkungen verbunden ...
Die nächste Generation ESP wird kommen.
Muss jeder selbst wissen ob er sich mit dem Thema IoT beschäftigt. Die Programme die jetzt erstellt werden (Nutzung SDK in C), werden auch auf der nächsten Generation laufen.
Gibt es Alternativen mit Wireless Lan die so einfach aufgebaut sind? (SoC+Flash512KB) für 2,50 Euro ?
Also ich bin mit dem ESP bisher auch zufrieden. Muss man halt mal sehen wie Stabil der Läuft.
Momentan bastel ich gerade ein RGB WLAN Modul für RGB Stripes für ca. 6€ inklusive Gehäuse (so ähnlich wie den LD 382/Magic Ufo). Ich habe den Prototypen schon fertig und kann ihn auch schon per Telnet über WLAN steuern.
Ich werde den Protoypen in den nächsten Tagen in einem eigenen Beitrag vorstellen. Später will ich da dann noch ein PIR Sensor mit dran machen (das ist das was mir beim LD382 noch fehlt )
Der LD382 Funktioniert bei mir auch super zuverlässig über WLAN. Wenn die ESP Firmware nicht noch gravierende Fehler hat, sehe ich keinen Grund warum der ESP nicht auch gehen sollte. Aber das werde ich erst im Langzeittest sehen.
@SpenZerX: Starke Worte für jemanden, der noch nicht einmal korrekte Rechtschreibung beherrscht. Da würde ich doch gerne mal den batteriebetriebenen Funktaster mit dem ESP8266 sehen.
pah
Wenn du über einen PIR nachdenkst, solltest du auch ggf einen Umgebungslichtsensor nutzen. Schau dir mal den TEMT6200FX01 von Vishay an.
Hallo Samsi,
ich habe auch gerade als Bastelprojekt die LED-Stripes entdeckt und auch das Magic-UFO gekauft, welches prima mit Fhem (und auch sonst) funktioniert, siehe Blog-Beitrag:
http://blog.moneybag.de/fhem-erfahrungsbericht-wlan-led-stripe-controller-fuer-rgb-rgbw-led-stripes/
Benötigt man mit Deiner Hardware nicht mehr das Ufo? Lediglich Spannungsquelle, Stripes und die ESP 8266-Hardware?
LG
/robin
@oli82:
Ich werde einfach den fertigen HR-SC501 nehmen, der kostet nur 1€
@fh168:
Ja ohne das UFO hier schon mal die Bastelanleitung für den WIFI Controller im selbstbau: http://forum.fhem.de/index.php/topic,34464.0.html (http://forum.fhem.de/index.php/topic,34464.0.html)
Meinst du den HC-SR501?
Hat der nen LDR verbaut? Mir ging es um die Umgebungslichtmessung und der TEMT6200FX01 detektiert ziemlich genau das Spektrum des Auges und ist im 0805 Gehäuse
Ja, den HC-SR501, sorry für den Vertipper. Ne das ist ein Infrarot Bewegungsmelder.
In Verbindung mit nem LDR oder eben dem TEMT könnte man nur bei Dämmerung oder Dunkelheit schalten. Somit hätte man nen vollwertigen Bewegunsgmelder mit Wlan ;)
Der HC-SR 501 hat eine Vorbereitung für einen LDR:
http://www.mikrocontroller.net/topic/312883
http://www.baboon.co.in/hc-sr501-pyroelectric-infrared-pir-motion-sensor-detector-module-for-arduino-avr/
Da gibt es auch schon 2 Lötpunkte dafür auf dem Board. Dann schaltet der 501 nur bei Dunkelheit, so weit ich das verstanden hat. Für mich war das aber egal, weil ich steuere das durch FHEM, wann er dann schalten soll.
Ich möchte darum bitten, beim Thema ESP8266 zu bleiben. Zum anderen wäre es sicher sinnvoll, einige von den vielen Selbstentwicklungen mal vorzustellen, sonst entsteht vielleicht der Eindruck, dass viel heiße Luft im Raum ist.
PS:
Nach meinen Erfahrungen gestern mit Max!Cube und 10 Thermostaten und Max! Temperaturscanner habe ich reichlich Erfahrung mit der 1% Regel machen können. Der Cube war völlig von der Rolle. Im Moment läuft er ohne FHEM mit Max!Buddy ohne Probleme. Wenn man viele Messungen per Funk machen will, ist die ESP-Lösung sicher überlegenswert. Die Aussagen zu der Unsicherheit des WLAN gegenüber dem CUL-Funk hätte ich als Nichtelektroniker bitte etwas näher erläutert.
Zitat von: Franz Tenbrock am 25 Februar 2015, 19:45:28
PAH hat ja ein WikiEintrag geschrieben bzgl der Einbindung.
http://www.fhemwiki.de/wiki/1W-IF-WIFI#WLAN-Modul
Der Artikel bezieht sich auf ein völlig anderes WLAN-Funkmodul. Das ESP8266 wurde nur in Erwägung gezogen.
ZitatSo habe nun die Platine gestartet,
ich finde Sie auch in der Wlan Anzeige meines PCs
Doch wie nun auf die Platine zugreifen, mit dem Wiki komme ich da leider noch nicht weiter.
ich hab die Adresse der Platine und auch die MAC
192.168.xxx.x
Das ist noch nicht der Bereich meiner Fritte.
Soweit ich gelesen habe muss man auf die Platine zugreifen und dort dann eine Adresse vergeben die meine Fritte kennt.
Das halte ich für sehr ungewöhnlich. Es müssen doch AT-Kommandos abgesetzt werden.
Das Funkmodul ist "jungfräulich" – ausgestattet mit der originalen Firmware des Herstellers. Wie du es einbindest, bleibt dir überlassen. Einige ziehen Arduino, andere NodeMcu oder auch das SDK vor.
ZitatEinen passenden Temp Sensor hab ich hier noch rumliegen, bei U2 würde ich eine Stiftleiste einlöten, Steckkabel hab ich hier, so könnte man den Tempsenor provisorisch einbinden.
Ebenso ha ich hier eine Relais Karte, könnte man die so wie in Post 33 zu sehen ist anschließen ?
Ja, bitte beachte die Pinbelegung. Die Betriebsspannung von +3.3V und GND ist für ein gewöhnliches Relais nicht ausreichend.
Es besteht sicher noch ein großer allgemeiner Aufklärungsbedarf. Einsteiger sollten sich von der Flut an Informationen nicht übermannen lassen und strukturiert vorgehen. Einige allgemeine Informationen zu ESP8266 findet ihr hier: http://playground.boxtec.ch/doku.php/wireless/esp8266
Hallo
bin zwar im Schnee :-)
aber kannst du kurz erklären wie man deine Platine ins Nezt bekommt und anspricht.
Die Platine ist klein, sauber hergestellt und wartet auf den Einsatz.
In der Windows wlan -erkennung taucht sie auf aber dann komme ich nicht weiter.
So wie ich es verstehe, brauchst du für die Kommunikation mit der Platine über AT-Kommandos einen solchen Adapter:
https://www.sparkfun.com/products/retired/8772
Mit den entsprechenden Befehlen kannst du den Chip dann mit deinem heimischen WLAN verbinden.
Zitat von: SpenZerX am 31 Januar 2015, 10:18:20
Also ich werde meine ESP Projekte jetzt an FHEM anbinden. (ist natürlich ein Versuch)
Ich werde es über das HTTP Protokoll versuchen.
Also ich habe die Sache jetzt über das MQTT-Protokoll versucht und bin erst einmal begeistert.
Die aktuelle NODEMCU-Firmware aufgespielt, da LUA schon nativ das MQTT-Protokoll unterstüzt.
Dann noch den schlanken mosquito-Broker auf demn raspi installiert.
Und Norbert (ntruchsess) hat schon die ganze Arbeit im fhem erledigt. -> prima läuft.
Ich habe noch keinen echten Sensor am laufen, sondern publishe nur zwei Zähler.
Leider scheint lua unter NODEMCU noch etwas buggy.
MQTT scheint mir zur Zeit das Optimum zur Kopplung von Arduinos und/oder ESP6288 zu sein.
Mensch, ist das spannend...;-)
LG
Thomas
Hallo PapaLoewe,
kannst du mir bitte mal ein einfaches Beispiel geben
a) Script auf der Fhem - Seite
b) Lua (version?) und Lua Script
Danke
Ich möchte ein ESP-Sensor ohne Arduino aufsetzen, scheitere aber gerade noch an dem Interface fhem <-> ESP
Das Gateway von MQTT von ntruchsess habe ich schon Monate laufen, ohne Probleme.
Robin
Ja, ich kann gerne noch Alles ausführlich posten.
Zur Zeit läuft noch ein Langzeittest über mind. 48h. Inwieweit das stabil ist, werde ich dann berichten.
Vorweg muss ich noch sagen, dass ich kein Programmierer bin, sondern nur gut googeln und adaptieren kann.
Vielleicht kann mir ja dann noch der Ein, oder Andere bei der Erweiterung des LUA-Scriptes helfen.
Das eigentliche Auslesen eines Sensors und/oder das Auslesen eines 1-wire Busses wäre dann noch hilfreich.
Ein anderes Zeil für mich wäre, noch den Batteriebetrieb über einen längeren Zeitraum (> 1 Jahr) mi 2 x AA zu gewährleisten.
Das Stichwort dafür wäre "deepsleep" und der entsprechende Hardware-Hack.
Hat schon jemand Erfahrung dabei gesammelt?
Wie gesagt, meine Infos kommen dann noch die Tage....
Nur soweit für dich (fh168):
ESP connectet zum MQTT-Broker (Mosquitto), welcher auf meinem Raspi läuft (bei mir auf dem Fhem-Server).
ESP (MQTT-Client) "published" Topics (Daten) zum Broker. Fhem MQTT-Modul "subscribed" diese Topics und stellt diese als Readings unter einen fhem-Device dar. Der andere Weg zurück ist natürlich auch möglich. Dazu bin noch nicht gekommen, an den ESP über fhem Daten zu senden (z.B einen Schaltbefehl zu senden).
Der Raspi verkraftet das sehr gut und hat nur zwischen 3 und 15 % CPU-Load.
Gruß
Thomas
ok, dann teste erst mal.
Ich weiß jetzt irgendwie nicht wofür du den mosquitto benötigst. Ich dachte man meldet sich irgendwie am ntruchtsess gateway an und schubst die WLAN Sensor-Daten hin.
robin
Norbert (ntruchtsess) hat die Verbindung zwischen fhem und einem MQTT-Broker (z.B. mosquitto) geschaffen.
Das fhem MQTT-Modul stellt diese Verbindung her.
Ein sog. MQTT-Broker ist irgendwo im Netz zwingend erforderlich!
Führ dir erstmal die Basics von MQTT zu Gemüte, dann reden wir weiter.
LG
Thomas
Zitat von: fh168 am 06 März 2015, 23:06:13
Ich weiß jetzt irgendwie nicht wofür du den mosquitto benötigst. Ich dachte man meldet sich irgendwie am ntruchtsess gateway an und schubst die WLAN Sensor-Daten hin.
Ich denke, deine Verwirrung resultiert daraus, dass Du mit Nerberts MQTT-Modul den MySensors-MQTT-Gateway verwendest. Richtig? Der letzte stellt eben einen (unvollständigen) MQTT-Brocker zur Verfügung.
@Hexenmeister,
genau den nehme ich seit gefühlt 100 Jahren, störungsfrei per LAN.
ich warte jetzt erst mal ab, was sich so ergibt.
LG
/robin
MQTT ist schon cool. ;) Aber der Sketch von MySensors ist in diesem Sinne leider unvollständig.
Jetzt hab ich das Platinchen von Locutus und darum geht es hier ja und komm nicht weiter
Ich sehe es in meinem wlan, aber ich kann nicht darauf zugreifen.
Spezialtrick hat glaube ich noch das gleiche Problem.
Geht das überhaupt mit einem Windows PC oder nur mit meinem cubie.
Bevor ich also bei dem super Wetter heute vor dem PC sitze frage ich lieber mal ob einer einen Tip hat
Thanks ;)
Die IP ist 192.168.4.100
nur darunter kann ich die Platine nicht ansprechen..
Hab nun schon einiges zum dem wlan Modul gelesen komme so aber noch nicht weiter weil ich in diesem Bereich noch nichts gemacht habe.
@ Franz Tenbrock & Spezialtrick
zu Eurer Information – hier entsteht ein Tutorial: http://forum.fhem.de/index.php/topic,28905.msg217306.html#msg217306
@locutus , da du im anderen Thread nach meinem init.lua unter der Verwendung des tcp2uart gefragt hast :
Mein init.lu hält sich an deine Beispiele , d.h SSID, PW und mode setzen.
Da ich mit der LUA Syntax noch etwas auf Kriegsfuß stehe habe ich mich an das Beispiel des LED Projekts gehalten : http://forum.fhem.de/index.php/topic,34464.0.html (mit dem tmr0 für die WLAN Verbindung) und wie dort das run() von Hand zu starten ist auch das tcp2uart.lua von Hand aufgerufen um sicherzustellen das ich nach einem Rest immer meinen garantierten seriellen Zugang zum ESP8266 habe. Sobald die serielle Schnittstelle dann transparent über WLAN lief habe ich RXT & TXT auf den Arduino umgesteckt (mit FHEMduino bzw. JeeLink Sketch). Um diese Umsteck Prozedur nicht bei jedem Reset machen zu müssen habe ich im nächsten Schritt einfach die beiden betroffenen FHEM Module eiinfach erweitert das die zuerst das dofile("tcp2uart.lua") zum Arduino schicken - ist nicht elegant, aber zum Testen lieber ersteinmal so als eventuell ständig wegen meiner Fehler den ESP8266 neu zu flashen zu müssen.
Hallo Wzut,
ich bin jetzt auf die ESP8266-transparent-bridge (https://github.com/beckdac/ESP8266-transparent-bridge) ausgewichen, aber danke für den Input.
Ich hielte es für sinnvoll, dieses "Tutorial" ins Wiki zu stellen. Erstens können dann auch Andere beitragen, und zweitens ist es dort besser aufgehoben. Schreibrechte gibt es auf Anfrage beim Admin.
LG
pah
Die Erforschung der Hardware beansprucht sehr viel Zeit und ich bin nicht der geborene Schriftsteller, aber vielleicht mag jemand anderes dieses Tutorial auf das ESP-01 Funkmodul adaptieren.
ich hab mir jetzt erst mal den serial usb Wandler bestellt, dauert also wieder ein paar Tage.
Die Platine ist ja da, gebe Bescheid wann der Wandler da ist.
Brauche dann einige Tips wie man das in Betrieb nimmt, werde dann alles Schritte mit Snapshots protokollieren und in einem Word Dokument zusammenfassen.
Wenn ich es dann hinbekomme sollten alle andere das auch schaffen.
Zitat von: locutus am 10 März 2015, 12:55:31
ich bin jetzt auf die ESP8266-transparent-bridge (https://github.com/beckdac/ESP8266-transparent-bridge) ausgewichen
und wie sind die "Langzeit" Erfahrungen damit ?
Eine stabile WLAN-UART Bridge gekoppelt mit einem AVR wäre für meine offenen Projekte immer noch die erste Wahl,
da ich mit der Verlagerung des Codes direkt auf das ESP Modul persönlich nicht glücklich werde.
Keine Langzeiterfahrungen, gerade mal 48 Stunden.
http://forum.fhem.de/index.php/topic,18996.msg273097.html#msg273097
Als nächstes wollte ich mein CSM-Board mit der TCP-to-UART Brücke ausstatten.
http://forum.fhem.de/index.php/topic,24651.msg177502.html#msg177502
@locutus , danke nochmal für den Tipp mit der ESP8266-transparent-bridge.
Ich habe letztes WE einen FHEMduino damit verheiratet und bis jetzt läuft das Ding ohne erkennbare Aussetzer durch !
Hallo,
Gibts Neuigkeiten ? :) Mich interessiert auch besonders die Möglichkeit billige akkubetriebene Sensoren damit zu bauen. Hab durch den Thread auch zum ersten mal von MQTT erfahren, sehr cool.
Hier ist noch ein schöner Beitrag zum Stromverbrauch http://vt100.at/blog/?p=22 Bei 4 Sensorwerten pro Stunde 1 Jahr Laufzeit bei nem 2,5Ah Akku find ich ganz nett. Das verspricht eigentlich auch das man nen Tür oder Fensterkontakt wenn das Fenster 4x am Tag aufgeht sogar mit ner Knopfzelle ausreichend lange betrieben können müsste.
Ansätze in die Richtung gabs im Thread hier ja schon, hat sich damit jemand weiter beschäftigt ? Oder sind die Negativstimmen dazu zu impressiv gewesen ?
Meinst du so etwas:
http://forum.fhem.de/index.php/topic,35572.0.html (http://forum.fhem.de/index.php/topic,35572.0.html)
Ist noch nicht perfekt, aber ein vielversprechender Anfang.
Jab, hab ich auch schon gelesen.
Hallo locutus,
könntest Du bitte bei Gelegenheit in Deinem Post
http://forum.fhem.de/index.php/topic,28905.msg265197.html#msg265197 noch den Schaltplan für das Break-Out Board posten?
Als Lademodul für den Akku könnte ich mir so etwas
http://www.pollin.de/shop/dt/Mjc1ODQ2OTk-/Bausaetze_Module/Module/Lademodul_fuer_Lithium_Akkus_DAYPOWER_M_LL_TP4056.html vorstellen, muss ich mir aber noch genauer anschauen.
Danke schonmal im voraus.
Gruß PeMue
so hab endlich etwas Zeit gefunden mit mich mit Locutus Breakboar zu beschäftigen, leider hänge ich wieder, machen es einfach zum 1. Mal und da fehlt noch einiges an Grundwissen.
Hab mal alle zusammengefasst was ich gemacht habe.
Vorgegangen bin ich nach Post 3. hier im Thread.
Ich habe sowohl mit als auch ohne GND an 15 probiert. ebenso habe ich mal beide Bords mit dem usb Port des PCs verbunden und mal nur den Serial Adapter.
Ein Bild vom Aufbau ist im PDF zu sehen.
Ich komme also bis coolterm, kann es starten, habe sowohl 9600 Baud als auch 115200 probiert.
Kann dann aber keine AT Kommandos absetzen.
Der Aufbau sollte doch so stimmen?!
Evtl ist RX und TX vertauscht. Beim booten sollte der ESP dir auch was schicken, wrnn alles stimmt. So läsdt sich ausschleißen, dass was mit \ r und \n nicht stimmt.
Gruß
Kuzl
ESP8266 < - > FTDI
------------------------
TX < - > RX
RX < - > TX
VCC < - > 3.3V
GND < - > GND
das schreibt Locutus
also muss es verdreht sein
grrrr
genau lesen
Hab heute nachmittag erst mal meine Türkontakte getunt ( Bastelthread ) wenigstens das geht 8)
AT
bringt wie es soll
ok
werde morgen dann mal weitermachen.. und PDF korrigieren
so noch ein paar Kommandos getestet und es geht
werde morgen früh dann das hier mit meinen Parametern machen
AT+CWSAP=<ssid>,<pass>[,<chan>,<enc>]
so weiter gehts:
AT
OK
AT+CWMODE?+CWMODE:2
OK
AT+CWMODE=?+CWMODE:(1-3)
OK
AT+GMR0018000902-AI03
OK
das gibt er erst einmal aus...
um mit ihm über mein Netz kommunizieren zu können muss er doch wohl wohl erst einmal ins richtige Netz?
Hab eine Fritte mit den typischen Einstellungen
192.168.178.77
77 könnte ich zB als feste IP vorgeben
irgendwie komme ich trotz lesen lesen und video sehen nicht weiter
zumindest kann ich über usb mit dem Board bei 9600 kommunizieren
Zitat von: Prof. Dr. Peter Henning am 28 Februar 2015, 05:32:57
@SpenZerX: Starke Worte für jemanden, der noch nicht einmal korrekte Rechtschreibung beherrscht. Da würde ich doch gerne mal den batteriebetriebenen Funktaster mit dem ESP8266 sehen.
pah
Hier ist er:
https://www.amazon.com/oc/dash-button
Ich weiß nicht wirklich was ein Dashbutton mit einem Wifi-Funktaster zu tun hat.
Das Problem bei einem Wifi-Funktaster ist die Latenz bis Beispielsweise das Licht angeht. Wir Menschen erwarten, dass das Licht binnen ca. einer halben Sekunde reagiert (spätestens). Ein Funktaster mit Wifi im Batteriebetrieb wird das derzeit einfach nicht schaffen. (zumindest mit TCP/IP) Der ESP8266 braucht aus dem Deep Sleep bis er mit Wifi assoziert ist und etwas absetzen kann ein paar Sekunden und das ist wohl pahs Punkt: Im Batteriebetrieb ist ein Wandtaster mit ESP der in gewohnter Zeit ein Feedback bietet nicht zu machen. Ohne Sleep über MQTT wäre das kein Problem.
Funktsensoren oder zB eine Thermostat-Steuerung wären dagegen kein Problem, nur ein Taster mit der typischen Anwendung Lichtsteuerung spielt sich nicht.
Für diese Anwendungen (oder zB ein RFID-Leser der nur mal die KarteID übermittelt) ist bei Selbstbau weiterhin mysensors oder panstamp die Hardware der Wahl (im Batteriebetrieb)
für einen Regensensor zB würde es sich aber eignen?!
Einen Tip wie ich weiterkomme, siehe einige Posts weiter oben. Bin da hängen geblieben, habe in der Zwischenzeit mit mysensors rumgespielt, Reichweite reicht aber nicht :-(
Da ich das Breakoutboard von Locutus habe würde ich damit gerne weitermachen.
PDF werde ich dann weiter anpassen damit andere dann eine Schritt für Schritt Anleitung haben
Kann zu dem Board von Locutus schon jemand angaben zur Batterielaufzeit geben? Da ist ja ein Linearregler drauf. Würd mich mal intressieren :)
so mit dieser Anleitung die ich gefunden habe kann ich nun in meinem Netz mit dem ESP kommunizieren.
Tja wenn man die richtigen Seiten findet...
Die Frage ist nun ob ich einen geeigneten Sketch finde um das Teil mit einem US Sensor wie diesem zu verbinden.
werde nun wohl man erst wieder was finden dann lesen müssen
@drdownload: Genau das ist der Punkt.
LG
pah
Leider komme ich immer noch nicht so recht weiter..
Habe dieses Video gefunden, damit ging es schon mal etwas weiter
https://www.youtube.com/watch?v=Gh_pgqjfeQc
Habe alles geladen und dann konnte ich auch mit dme Flashen unter win8.1 64 bit anfangen, leider stoppt das Ding immer so bei 30%
Hab mal einen Snap mit allen Einstellungen und den Meldungen angehängt.
Hab sowohl mit dem Link von Lokutus probiert als auch mit dem Link aus dem Video für die nodemcu_latest.bin etc
Jetzt geht scheinbar nicht mal das mehr.. ok geht doch noch bleibt aber immer wieder an der gleihen Stelle hängen
GND auf Pin0 und Pin15 oder nur Pin0 auch das probiert >:(
Mitt coolterm hatte ich gestern das Teil zumindest so eingestellt das es in mein Netz passt.
Heute wollte ich mit dem flashen weitermachen......
im Netzwerk sehe ich es auhc nicht mehr, muss da irgendwo auch das Netzwerk eingestellt werden, in irgendeiner ini??
wenn ich nun diese bin nehme
esp_init_data_default.bin
läuft alles probemlos durch, siehe hier:
Note:Auto MAP serial port.Port-->COM3
Note:Serial port connected.
Note:Begin find ESP8266.
Note:ESP8266 ACK success.
Note:ESP8266 ACK success.
Note:Set base address success.
Note:Program flash success.
Note:Serial port disconnected.
keiner eine Idee??
Nimm am besten die arduino IDE für den ESP8266 ist weitaus einfacher. Sind auch beispiele dabei und gibts hier im forum auch einen thread darüber
hast du Link?
Arduinos hab ich ja noch :-)
http://forum.fhem.de/index.php/topic,35572.15.html
auch da müsste ich ja die
nodemcu_latest.bin
flashen
und eben dabei gehts ja nicht weiter egal was ich mache.
Wenn ich nun nach der Anleitung hier unter Linux das machen will
fehlen mir wieder mal grundlegende Linux Kenntnisse. Wird zwar besser aber...
http://www.whatimade.today/flashing-the-nodemcu-firmware-on-the-esp8266-linux-guide/
das hier hat mit dem cubie geklappt
The other method is using git:
git clone https://github.com/themadinventor/esptool.git
die Firmware hab ich ja bereits auf meinem windows Rechner.
Wenn ich die nun mit fielzilla rüberschiebe, wie ist das dann wieder mit den Rechten :-(
arbeite noch unter root auf dem cubie...
die esptools befinden sich auf dem cubie im root Verzeichniss
grrrr.
So nun bis 22:30 erst mal Fortbildung in meinem regulären Job
Wenn es klappt bekommt ihr ne Anleitung für Dummys,
Nein musst du nicht. Nur den esp in den flashmodus bringen am pc anschließen und den sketch draufspielen lassen da musst du dir keine gedanken machen
ich hab meinen glaube ich zerstört...
bevor ich jetzt Stunden rumkasper ...
hab mir einen neuen bestellt, prinzipiell weiß ich ja nun wie es geht....
thanks bisher
Hallo Franz,
versuche doch einfach, die Original Firmware aufzuspielen und per AT Kommandos zu testen, siehe hier https://developer.mbed.org/users/sschocke/code/WiFiLamp/wiki/Updating-ESP8266-Firmware.
(selber habe ich es aber noch nicht getestet).
Gruß PeMue
alles schon probiert, daher denke ich das er hinüber ist,
warum??
Konnte es dann doch nicht lassen
zwar nicht so komfortabel wie das andere Program
aber es geht dann trotzdem
aber immer wieder steigt er an der selben Stelle aus
genau hier,
user1.bin-------------------->0x01000
Sent length: 33792 B / Total length: 222376 B
alles andere läuft problemlos durch
da scheint wohl ein Speicherbereich defekt zu sein...
ich kanns kaum glauben,
nicht mal 24 Stunden mach der Bestellung war das Teil schon da
Muss doch mal gesagt werden wenn es so gut klappt
http://www.ebay.de/itm/281691153005?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT
auf das das mit dem flashen nun klappt
und wieder bleibt der Mist an exakt der gleichen Stelle hängen,
neuen ESP 1 exact so verkabelt wie im Video
dann alles neu geladen
und wieder bleibt es an der gleichen Stelle hängen.
ist ev der Serial USB Adapter nicht ok???
Kann ich dafür einfach einen FTDI Adunio nehmen??
GND TX RX VCC alles klar gibts ja auch am Ardunio
und der Rest??
hab keine andere Idee woran es liegen könnte,,,,
ZitatKann ich dafür einfach einen FTDI Adunio nehmen??
Ich erledige das Flashen des ESP8266 mit einem Arduino Nano, geht problemlos. Beim
Nano muss der Prozessor mittels Reset auf Masse gelegt und damit stillgelegt werden. RX und TX müssen zwischen Nano und ESP gekreuzt werden.
VG
Sven
erst mal thanks
aber
Nano muss der Prozessor mittels Reset auf Masse
??
so hatte ich verdrahtet, hab das jetzt so auf den nano übernommen.
Er wird vom Flasher gefunden und er fängt auch an den esp zu suchen..
findet ihn noch nicht
Note:Auto MAP serial port.Port-->COM5
Note:Serial port connected.
Note:Begin find ESP8266.
so einfahc RX TX gewechselt und siehe
da
mit dem Ardunio ist er nun geflasht
Lag also nicht an mir sondern an einem usb serial Adapter mit Macke......
Thanks,
werde jetzt versuchen das Breakboard von Locutus mit dem ESP7 zu flashen.
Hallo Franz,
das Einzige, was mir einfallen würde ist, dass die Versorgungsspannung vom USB/seriell Wandler nicht stabil genug ist und der ESP8266 sich resettet. Dafür würde auch sprechen, dass der Reset immer an einer ähnlichen Stelle kommt, auch mit einem zweiten Modul. Wenn Du zwischen Versorgungsspannung (VCC) und Masse (GND) mal einen 10/22 oder 33 µF Kondensator klemmst, könnte es unter Umständen klappen (Tantal oder Elektrolytkondensator entsprechend polen!).
Gruß PeMue
PS: Für einen Doc machst Du echt coole Sachen, Hut ab!
na das Locutus board ist nun auch geflasht
hätte ich das gewusst, hätte ich den usb serial gar nciht bestellen müssen....
hab diese Version geflasht
nodemcu_integer_0.9.6-dev_20150406
Das Video was ich gefunden hatte, ist top, da wird jeder Handschlag gut erklärt..
nur wen die Hardeware spinnt....
wird ein greenhorn ins Boxhorn gejagt...
tja , hab mich shcon durch so manches Projekt gequält, aber bisher hab ich es dann doch immer hinbekommen, werde das mal mit den Fehlerquellen zusammenschreiben und das mit dem Kondensator aufnehmen.. Daran kann sihc dan ein anderer versuchen..ev mach ich das auhc ncoh..
Ziel ist ja ein Ultraschallsensor mit esp in meiner Zisterne da mysensor ja nciht geht...
da ich ja nun auch das hier flashen kann, steht so manch anderem ja nichts im Wege ( hoffentlich)
bie maxidoc.de haben die Kollegen leider nicht mitgemacht, da hab ich Rö Bilder digital hin und hergeschoben und das schon vor 10 Jahren, das Ganze vor 7 Jahren auf der Medica auf einer mp3 Uhr und das wichtigste dabei, es war offline und nicht online....Dann hab ich noch ein Blutzuckermessgerät mit usb Speicher, den hab ich analysiert und gehackt und dann haben wir vor 6 Jahren auf ein BZ Gerät eine komplette digitale Krankenakte draufgepackt, und es funktioniert. BZ messen , im Gerät speichern dann in die digitale Krankenakte schieben und von dort dann eine verschlüsselte email verschicken.. Hab ich zwar nicht programmiert aber die Ideen dafür waren von mit, gibts bis heute weltweit nicht !
So dann gehts demnächst weiter
Thanks - immer wieder schön hier
Zitat von: Franz Tenbrock am 21 Mai 2015, 21:01:12
na das Locutus board ist nun auch geflasht
hätte ich das gewusst, hätte ich den usb serial gar nciht bestellen müssen ...
äh, stop! Der USB Stecker von locutus' Board ist nur zur Stromversorgung, da ist kein USB<->seriell Wandler drauf. Ich habe es selber noch nicht geflasht, aber Du brauchst m.E. auch bei diesem Board einen ...
Gruß PeMue
@PeMue:
Ich denke Franz hätte den nicht bestellen müssen weil er einen schon vorhandenen Arduino nano verwenden hätte können und nicht weil man keinen braucht :D
ok, verstanden. Aber dann hätte er auch den Arduino nano für den "normalen" ESP8266 nehmen können *kopfkratz*
Im Prinzip wird ja dann nur der USB<->seriell Teil des Arduino nano verwendet, da der Prozesser im Reset ist ... Und beim Arduino nano sollte die Versorgungsspannung ganz gut geblockt sein.
Wie ist es da mit dem Pegel? Hat der Arduino nano nicht 5 V Pegel? Muss ich mal schauen ...
Gruß PeMue
also nach Bierchen nun zurück
der nano hat duchaus 3,3 Volt Ausgang den hab ich dann auch genommen .... 8) 8)
das Board von Lokutus hat eine ESP8266 E7 oder so drauf, also mehrere GPiOs
er hat einen Anschluß für einen Lipo Accu und ein USB Anschluß für die Stromversorgung.
Den ESP 8266 hat er weil er wlan hat , den hat der Ardunio nicht....
es scheint wohl mgl zu sein Ardunio Sketche direkt in den ESP zu flashen ohen das man dann noch den Ardunio bräuchte. man kann sich also den Ardunio sparen nicht aber den ESP, zum flashen braucht man dann aber wiederum eine usb serial ftdi oder eben einen Ardunio, und von denne hatte ich eigentlich 4 Stück zuhause liegen, nur es stand halt nirgends, und so fit bin ich da noch nicht, das ich das gewusst hätte.
Ist aber nun ja noch mal gut gegangen... woran es gelegne hat ?. aber das mit dem Kondensator wwerde ich nun noch mal probieren und dann berichten
Was auffällig war das der ESP immer an der gleichen Stelle ausgestiegen ist.
Ich hab mich daran gewöhnt bei allen Projekten irgenwie seltsame Fehler zu erwischen.. Beim cubitruck war es die sd karte hier nun der nicht kompatible USB Seriell Wandler.... wenn man das noch nicht gemacht hat denkt man der Fehler sitzt an der Tastatur.....
Hallo Franz,
Zitat von: Franz Tenbrock am 21 Mai 2015, 23:06:22
der nano hat duchaus 3,3 Volt Ausgang den hab ich dann auch genommen .... 8) 8)
das gilt für die Spannungsversorgung, ja. Aber gemäß Arduino nano Schaltplan (siehe http://www.arduino.cc/de/uploads/Main/ArduinoNano30Schematic.pdf) sind die Logik-Pegel trotzdem 5 V (VCCIO ist 5 V beim FTDI Chip), und ich weiß nicht, ob die Eingänge des ESP8266 5 V tolerant sind.
Gruß PeMue
zumindest hat ja alles so geklappt,
ev nur mal Glück gehabt....
So da das flashen nun rucki zucki geht :-)
hab ich mir mal den Relais Code und den DHT code aus diesem Thread von Locutus geholt ( Post 21 und 33 )
Das flashen klappte über den Ardunio ohne Probleme.
Doch dann beim Relais wieder was was nicht geht, währen es beim DHT so aussieht als wäre alles ok
Das hier kommt beim Relais wenn ich den ESPlorer nehme:
PORT OPEN 9600
Communication with MCU...
Got answer! AutoDetect firmware...
Can't autodetect firmware, because proper answer not received.
=1 at 4067F000
ERROR in flash_reá¹OL
�406A3000
ERROR in flash_read: r=1 at 406A4000
ERROR in flash_read: r=1 at 406A5000
ERROR in flash_read: r=1 at 406A6000
ERROR in flash_read: r=1 at 406A7000
ERROR in flash_read: r=1 at 406A8000
ERROR in flash_read: r=1 at 406A9000
das beim DHT:
PORT OPEN 9600
Communication with MCU...
Got answer! AutoDetect firmware...
NodeMCU firmware detected.
=node.heap()
24536
>
Hab noch ein 1Wire Temp Senosr hier 18B20 oder so.
Da könnte ich einen Ganzen Test machen.
Soweit ich verstanden habe muss man in der init.lua
wifi.setmode(wifi.STATION)
wifi.sta.config("yourSSID","yourPASSWORD")
Station ist zB Fritz7390 für yourSSID eingeben
und xy12345 als Passwort für yourPASSWORD
muss da auch was eingegeben werden?
(wifi.STATION)
eingeben damit der ESP das Netzwerk findet und dort Zugang bekommt.
So langsam dämmert es...
@Franz
Ich habe auch die letzten Abende verbracht, den ESP8266 ans rennen zu bringen.
Nach Stunden lesen zum Thema, probieren und korrigieren, konnte ich zuerst erfolgreich einen DS18B20, danach einen BH1750 flashen und in FHEM integrieren.
Wenn du an den Lua-Dateien interessiert bist, lass ich sie dir gerne zukommen.
Viele Grüsse Dani
auf jeden Fall
her damit....
Hallo Franz
Anbei die gewünschten Dateien.
Ich habe dafür einen ESP8266-01 (http://shop.boxtec.ch/esp8266-wifi-transceiver-modul-esp01-p-42143.html) genommen und wie folgt vorgegangen:
- Flashen des ESP8266 mit NodeMCU, integer-Datei
- Von den drei Dateien die Init Datei ändern mit deinen Netzwerkdaten (SSID, Passwort)
- Von den drei Dateien die fhem_bh1750 oder fhem_ds18b20 ändern mit FHEM Daten (IP FHEM Server, Webport und Dummy-Namen) und GPIO-Anschlüsse
- Mit ESPlorer, Verbindung hergestellt und danach die drei Dateien geöffnet (siehe Printscreen)
- Jede Datei separt auf den ESP geladen, durch selektieren der entsprechenden Datei und danch im ESPlorer unten links auf "Save to ESP" geklickt. Ich würde die Init Datei zuletzt hochladen, das hat den Vorteil, dass der ESP noch nicht beginnt mit der Ausführung des Script
- ESP sollte nun funktionieren
- In Fhem einen Dummy anlegen. Meiner heisst esp8266temp
Viel Erfolg!
Hallo , Thanks...
welche NodeMCU. da scheint es ja die untershiedlichsten zu geben. frage lieber bevor wieder was falsch läuft
Hallo,
verfolge diesen Thread schon eine Weile mit. Hat schon jemand ein Tutorial/Howto zu den Erkenntnissen begonnen?
Viele Grüße
Boris
Ja
protokolliere jeden Schritt mit Word
leider hatte ich ja mal wieder Probleme mit nicht voll kompatiblen Bauteilen, und wenn man so was noch nie gemacht hat erkennt man das natürlich nicht sofort.
Sobald ich den Temp Sensor voll am Laufen habe werde ich Fotos der Bauteile und eben ein Word Dokument bereitstellen.
Ich denke damit kann dann jeder Anfänger so was nachbauen..
NodeMCU, integer-Datei
wird dann wohl die hier sein..
https://github.com/nodemcu/nodemcu-firmware/releases
nodemcu_integer_0.9.6-dev_20150406.bin
die werde ich dann mal nehmen.. ;D
supi
alles soweit geklappt, lua aufgespielt und er zeigt dort auch die richtige Temperatur
nun muss ich nur noch rausfinden wie ich das in FHEM angezeigt bekomme.
"In Fhem einen Dummy anlegen. Meiner heisst esp8266temp" ist für mich als Dummy zu wenig Input, aber auch das wird noch.
Ich musste nur noch mal im fhem...lua die ip nachträglich ändern. Hatte da einfach eine eingetragen, dem Teil wurde aber scheinbar durch die Fritz eine andere zugewiesen
Wer sagts denn
geht doch..
Anleitung bis hierher hänge ich gleich an, bitte dann mal überfliegen und sagen ob es ok ist
@eppi
Kannst du mir die Definition des Dummys geben
habe mit define esp8266temp dummy
probiert
aber das ist nochnicht ok.
Muss nun erst mal im Garten für Ordnung sorgen und mein Hirn mal was entspannen
Zitat von: Franz Tenbrock am 23 Mai 2015, 08:47:09
protokolliere jeden Schritt mit Word
Top, ganz herzlichen Dank!
Viele Grüße
Boris
@ eppi
ich hab gesehen du bekommst noch http:1/1 302 found zurück
bei dem setreading als weblink solltest du zum schluß noch &XHR=1 anhängen
dann bekommst du 200 found zurück und wirst nicht umgeleitet(302) auf die standard fhemseite mit dem ganzen overhead
Hallo zusammen
Zitat von: fhem-hm-knecht am 23 Mai 2015, 14:16:56
@ eppi
ich hab gesehen du bekommst noch http:1/1 302 found zurück
bei dem setreading als weblink solltest du zum schluß noch &XHR=1 anhängen
dann bekommst du 200 found zurück und wirst nicht umgeleitet(302) auf die standard fhemseite mit dem ganzen overhead
Danke fhem-hm-knecht für den wertvollen Tipp! Ich habe es ergänzt und jetzt kommt 200 found zurück!
Zitat von: Franz Tenbrock am 23 Mai 2015, 09:34:12
@eppi
Kannst du mir die Definition des Dummys geben
habe mit define esp8266temp dummy probiert
Ganz simple Franz:
define esp8266temp dummy
attr esp8266temp stateFormat {sprintf("%.1f",ReadingsVal("esp8266temp","state",0))."°C"}
Sonst ist nichts in FHEM zu konfigurieren!
@All:
Ich habe die bestehenden fhem_ds18b20.lua und fhem_bh1750.lua in den ZIP Files ersetzt durch die korrigierten (http:1/1 200 found) // siehe Beitrag 128.
Viele Grüsse Dani
irgendwie ist wohl doch noch ein Hänger drin?
Also ich habe eine Fritte die per DHCP die IPs verteilt
in der Fritte hat der ESP die IP .53
mein aktuelle FHEM Server ist ein cubi der die IP 192.168.178.46 hat
Habe gerade FHEM auf der Fritte gestartet, dort dann das define .. dummy etc erledigt
aber auch da keine aktuelle Temperatur.
das hier bekomme ich bei run im ESPlorer
> dofile('fhem_ds18b20.lua')
Temp:29 C
ds hier bei init
> dofile('init.lua')
> IP unavaiable, Waiting...
IP unavaiable, Waiting...
IP unavaiable, Waiting...
ESP8266 mode is: 1
The module MAC address is: 1A-FE-34-FD-F6-15
Config done, IP is 192.168.178.53
Temp:28 C
dofile('ds18b20.lua')
not enough memory
in der Fritzbox habe ich
PC-192-168-178-53 192.168.178.53 18:FE:34:FD:F6:15 10 Mbit/s 2,4 GHz, WPA2
mit 4 grünen Balken, ist also aktiv im Netz
wenn ich aber nun in der Taskleiste die Wlan Netzwerke aufrufe
ist nur meine Fritzbox zu sehen
esp8266temp
Internals
CFGFN
NAME
esp8266temp
NR
999
STATE
0.0°C
TYPE
dummy
esp8266temp
Attributes
room
Mysensors
deleteattr
stateFormat
{sprintf("%.1f",ReadingsVal("esp8266temp","state",0))."°C"}
deleteattr
leider zeigt er noch nicht die Temperatur an
@Franz
Kannst du bitte auch mit Code #Tags arbeiten, ist einfacher zu lesen....!
Hast du die drei Files übertragen zum ESP8266, sowie ich es beschrieben habe?
Bei mir gibt der ESPlorer folgendes aus:
PORT OPEN 9600
Communication with MCU...
Got answer! AutoDetect firmware...
NodeMCU firmware detected.
=node.heap()
17048
lux: 130.83 lx
HTTP/1.1 200 OK
Content-Length: 0
Content-Type: text/plain; charset=UTF-8
Formatiere sonst den des ESP8266 nochmals. Dazu musst du rechts oben auf "Format" drücken, allenfalls mehrmals, danach jeweils den "Reset" Knopf drücken unten rechts.
Damit löscht du die Files auf dem ESP. Danach nochmals die 3 Files auf den ESP saven...
es geht nun !!!
Readings
state
T: 29
2015-05-23 20:51:32
das stateformat stimmt noch nicht, hatte deine def genommen, aber auch das wird noch
es war das GND Kabel abgerutsscht, ist halt noch nicht fest verdrahtet
nun steht die Temperatur in FHEM zur Verfügung....
Ergänze morgen die Doku, formatiere das geschrieben, damit andere sich hoffentlich nicht so quälen müssen...
Am Ende des Dokus ev ein
Shit happens, was kann alles schief gehen
THX 8) ;D :) ;)
https://github.com/souliss/souliss/wiki/Gateway
Ist das ev was?
Die machen ja scheinbar so was wie mysensors, aber haben den ESP8266 schon eingebunden???
Mysensors ist ja schon super, da man dort die unterschiedlichsten Sensoren einfachst einbinden kann, Sketche werden ausgetauscht etc. also selbst für Dummys einfachst nachzubilden. Ich glaube ich könnte den code nun so abändern, dass ich den Temp Sensor auf einen anderen GPIO leite, aber mehr ???
Interessant wären Sketche für Bewegungssensor (HC-SR501 PIR Motion Sensor Module), 4 fach Relais, Ultraschallsensor (DYP-ME007Y Ultrasonic Sensor Module für Zisterne, Anwesenheitserkennung Auto etc )
Ich würde dann für die einzelenen Projekte die Doku schreiben und ev. auch einen Wiki Eintrag. Sow as macht ja auch Arbeit, und das bekomme ich dann wohl hin, nur für die Sketche reicht es beim besten Willen nicht.
Hallo Franz,
läuft der DS1820 bei Dir? Ist bei Dir die fhem Oberfläche mit Passwort abgesichert?
Ich habe die Frage mal hier
http://blog.moneybag.de/fhem-temperaturmessung-mit-dem-esp-8266-und-ds18b20-ohne-arduino-datenuebertragung-per-wlan/
gestellt, sie konnte aber nicht beantwortet werden. Ich versuche mal, den Code zu verstehen (vor allem, wie die Daten an fhem übergeben werden).
Gruß PeMue
Hallo PeMue,
ich habe das so gelöst wie in
http://forum.fhem.de/index.php/topic,36662.msg289602.html#msg289602
beschrieben
Ich hoffe das hilft Dir weiter
Klausi
Hallo Klaus,
genau das hat mir gefehlt, danke. Jetzt muss ich nur noch herausbekommen, wie man im lua-Quellcode das WLAN Passwort verschlüsselt ablegt ...
Danke + Gruß PeMue
Morgen,
hatte das Passwort aus FHEM rausgenommen, also die passwortgeschützte Anmeldung an FHEM
Hab mir gedacht das das bestimmt Probleme machen könnte
Es ging ja erst mal darum das ich das Ding überhaupt ans laufen bekomme.
Das WLAN selbst ist aber mit Passwort geschützt, im code habe ich da das Passwort angepasst.
Jetzt werde ich heute erst mal sehen wie die Reichweite ist.
Dann muss ich noch einen Stromanschluß ohne Arduino mittels STep down realisieren, ev was nachlesen wie es mit Batterie funktionieren könnte.
etc..
Dann hab ich mir noch Sonos gegönnt die auch noch in FHEM integriert werden sollen 8)
@Franz:
Du hast laut deiner Doku einen Arduino Nano für das Flashen und bespielen der Files genommen.
Was hast du für einen Sketch für den Arduino genommen, damit du ihn als FTDI-Serial-Device einsetzen konntest?
Gruss Dani
Zitat von: Franz Tenbrock am 25 Mai 2015, 09:13:18
Dann muss ich noch einen Stromanschluß ohne Arduino mittels Step down realisieren, ev. was nachlesen wie es mit Batterie funktionieren könnte.
Hallo Franz,
nimm doch einfach den (step-up) Teil aus Dirks Universalsensor, Schaltplan siehe
https://github.com/kc-GitHub/Wettersensor/raw/master/Schematic/Schematic-RF.pdf
links oben: MAX1724, L1, C6 und C7. Dann sollte man ggf. noch eine ADC Überwachung der Batterie realisieren. So wie es aussieht, scheint der "deep-sleep mode" per lua noch nicht funktionieren.
Gruß PeMue
Hallo ich habe einen FTDI Ardunio, damit funktioniert scheinbar alles ohne Anpassung, das mit dem FTDI muss dann noch in die Anleitung.
Bin fast fertig, da fehlt noch die Passwort Anmeldung an FHEM
Hier meine Frage
http://forum.fhem.de/index.php?topic=36662.new#new
wenn ich das bei mir klappt lade ich die komplette Anleitung hoch.
Hab die 2 mal kontrolliert, alles alles Schritt für Schritt noch einmal neu gemacht.
Den stromanschluß werde ich erst einmal mittels step down , die habe ich , die step up eben nicht, machen, Hab haufenweise alte Handy Ladegeräte mit 5 V, die sollten ja gehen. Im Moment bin ich ja noch am experimentieren damit ich das alles überhaupt hinbekomme.
Halt Anfänger, aber macht Spass und nach vielen Stolpersteinen klappt es ja auch. in der Anleitung erwähne ich auch die Klippen, ich hoffe das macht es anderen auch leichter.
Die Links zu den Diskussionen stelle ich ja auch zur Verfügung, will mich ja nicht mit fremden Federn schmücken
Hallo Franz
Zitat von: Franz Tenbrock am 25 Mai 2015, 11:50:00
Hallo ich habe einen FTDI Ardunio, damit funktioniert scheinbar alles ohne Anpassung, das mit dem FTDI muss dann noch in die Anleitung.
Das verstehe ich nicht. Was ist ein FTDI Arduino? Hast du Infos?
Bezüglich Basic Auth ist das ganz einfach:
Du hast ja ein FHEMWEB angelegt, auf das du zugreifst (Standard Port 8083). Für den gesichten Zugang hast ein Usernamen und Passwort generiert. Dies ist im Attribut basicAuth abgelegt.
Beispiel:
attr WEBphone basicAuth YFDwaTprwr9zdGVyOHlvdSQ=
Dann YFDwaTprwr9zdGVyOHlvdSQ= in den String einfügen wie von Samsi beschrieben.
Gruss Dani
Zitat von: Franz Tenbrock am 25 Mai 2015, 11:50:00
Hallo ich habe einen FTDI Ardunio, damit funktioniert scheinbar alles ohne Anpassung, das mit dem FTDI muss dann noch in die Anleitung.
Der Nano hat ja quasi einen eingebauten USB-Serial-Adapter mit FTDI. Wenn man den Atmel-µC per Reset lahm legt, kann man den Adapter einzeln nutzen.
Zitat
Den stromanschluß werde ich erst einmal mittels step down , die habe ich , die step up eben nicht, machen, Hab haufenweise alte Handy Ladegeräte mit 5 V, die sollten ja gehen.
Würde ich wohl auch so machen. Ein StepDown ist sogar übetrieben (aber auch nicht unbedings schädlich), ein AMS1117 oder so etwas in der Art reicht ja auch aus.
Thanks an alle die mir mal wieder geholfen haben
nun hab ich einen ESP Temp Sensor der sich mit Passwort an FHEM anmeldet..
im Anhang die Anleitung incl. basicAuth
das mit dem basicAuth hab ich dann auch hinbekommen s.u.
hatte ich so gemacht wie Rudolf König es für Anfänger empfohlen hatte, also in der FHEM.cfg unverschlüsselt
nun kann ich auch das
basicAuth { "$user:$password" eq "user:1234" }
attr WEB basicAuth { "$user:$password" eq "user:1234" }
so ist das bei mir in der fhem.cfg
sieht etwas anders aus, daher komm ich nicht weiter....
mit diesem Artikel dann doch
http://forum.fhem.de/index.php/topic,12343.msg74828.html#msg74828
mit diesem Link gehts dann einfach
https://www.base64encode.org
->
RuIhhhm3GHFMg==
hab das mal etwas geändert :-)
das dann in die fhem....lua
so war das ja beschrieben
conn:send("GET /fhem?cmd=setreading%20esp8266temp%20state%20T:%20" ..t.. "\r\n"
.. "HTTP/1.1\r\n"
.. "Host: www.local.lan\r\n"
.. "Authorization: Basic d2lraTpwZWRpYQ==\r\n"
.. "Connection: keep-alive\r\n"
.. "Accept: */*\r\n\r\n")
das rot markierte ersetzte ich nun durch meinen String
also
conn:send("GET /fhem?cmd=setreading%20esp8266temp%20state%20T:%20" ..t.. "\r\n"
.. "HTTP/1.1\r\n"
.. "Host: www.local.lan\r\n"
.. "Authorization: Basic RuIhhhm3GHFMg==\r\n"
.. "Connection: keep-alive\r\n"
.. "Accept: */*\r\n\r\n")
das sollte ja gehen, hab die fhem.cfg al so angepasst und Anmeldung klappt, also sollte das auch mit dem ESP gehen
also LUAs aufspielen :-)
Ich würde es so machen:
Diese URL aufrufen: http://base64-encoding.online-domain-tools.com/
Ins Textfelden seine Daten eingeben:
Benutzername:Passwort
Danach das Ergebnis ins Attribut eintragen, wie ich es geschrieben habe.
Hallo Franz,
siehe auch im Wiki
http://www.fhemwiki.de/wiki/FritzBox_Webzugriff_absichern
Gruß PeMue
Danke für die Antworten, aber als ihr wohl geschrieben habt, hab ich es auch selbst rausgefunden und es klappt :-)
manchmal muss man nur was lesen in den richtigen Links. dazu mehr in der Anleitung die ich jetzt fertigstelle
Sollte in 30 min fertig sein
Ich denke damit kann das dann jeder
Anleitung im Post von 12:55
so und das Board von Locutus hab ich in keinen 5 Minuten fertig gehabt, wenn man weiß wie es geht kein Hexenwerk.
Leider ist der Empfang des ESP7 scheinbar etwas schlechter... werde ds weiter testen
so das hier im Netz gefunden,
da hat jemand zumindest den HC-SR04 angebunden.
http://www.dieletztedomain.de/esp8266-und-hc-sr04/
Leider verstehe ich den Code noch nicht.
trigger = 1
echo = 4
sind das die GPIOs die ich ev auch anders nehmen kann?
Hallo zusammen,
der ESP8266 ist echt ein cooles Ding. Aber ich habe noch ein paar Themen, die ich für mich lösen will (aber vielleicht hat der eine oder ander schon eine Antwort dazu):
- Was ist der Unterschied zwischen der Expressif (Hersteller) und der Electrodragon AT-Firmware?
- Ich habe beim ESP-03 die Firmware [Vendor:www.ai-thinker.com Version:0.9.2.4], habe die auch gefunden. Kann ich diese auch mit dem NODEMCU Flasher hochladen? Die Flasher-Version, die dabei war, ist dummerweise chinesisch, also für mich nicht wirklich brauchbar.
- Wie kann ich per AT Kommandos die eigentliche Funktion (umsetzen von seriellen Kommandos auf Ethernet/WLAN) herstellen? Meine Idee: per AT-Kommandos das WLAN-Netz auswählen, die Baudrate einstellen und das Teil macht beim nächsten Start die Umsetzung automatisch (Idee: Einsatz als Optolink Adapter).
Und eine Frage für das lua-Skript:
- Meine Weboberfläche ist mit
attr telnetPort password { use FritzBoxUtils;;FB_checkPw("localhost","$password") }
abgesichert, vermutlich muss ich dann den User (vermutlich root) und das Passwort encrypten und übergeben ...
Danke + Gruß
PeMue
Zitat von: Franz Tenbrock am 25 Mai 2015, 17:25:35
Leider verstehe ich den Code noch nicht.
trigger = 1
echo = 4
sind das die GPIOs die ich ev auch anders nehmen kann?
trigger = 1 = GPIO5
echo = 4 = GPIO2
https://github.com/nodemcu/nodemcu-firmware#gpio-new-table--build-20141219-and-later
Zitat von: PeMue am 25 Mai 2015, 18:28:49
Ich habe beim ESP-03 die Firmware [Vendor:www.ai-thinker.com Version:0.9.2.4], habe die auch gefunden. Kann ich diese auch mit dem NODEMCU Flasher hochladen? Die Flasher-Version, die dabei war, ist dummerweise chinesisch, also für mich nicht wirklich brauchbar.
Ja, vorher bitte Offset einstellen.
https://github.com/nodemcu/nodemcu-flasher
Hallo locutus,
Zitat von: locutus am 25 Mai 2015, 22:41:11
https://github.com/nodemcu/nodemcu-firmware#gpio-new-table--build-20141219-and-later
Ja, vorher bitte Offset einstellen.
ich denke, der Offset ist dann 0x0000 (https://lh5.googleusercontent.com/4m54QDtwPPjBRgGyS17jyyy5gpLNllW8jO_th7bwA9gVBw1a4mN8FK8tFGj5WNUlsMSVfA=w1248-h756), oder?
Danke + Gruß
PeMue
Zitat von: PeMue am 25 Mai 2015, 18:28:49
- Wie kann ich per AT Kommandos die eigentliche Funktion (umsetzen von seriellen Kommandos auf Ethernet/WLAN) herstellen?
Blättere mal zurück bis Antwort #83 am 10 März 2015 von locutus.
Die Transparent Bridge hat es mir angetan :)
Hallo, es wäre schön wenn man das immer mal wieder zusammenfassen würde ....
Wiki wäre auch nicht schlecht....(hab da ne Schreibberechtigung, würde auch was schreiben, aber nur wenn andere das kontrollieren und dann auch sagen richtig - falsch)
arbeite mich gerade in LUA ein, wie ist das aufgebaut... versuche es aus Anfänger Sicht zu verstehen, und beabsichtige auch da meine Erkenntnisse schriftlich zusammenzufassen...
wenn man das flashen 2-3 mal gemacht hat , ist das dann auch ein Kinderspiel, wenn nun der Barcode nicht kommt weiß ich das ich wahrscheinlich nur RX und TX wechseln muss....
Als nächsten Zwischenschritt möchte ich halt einen HC SR04 oder wie das Ding heißt bauen und die Daten an FHEM übermitteln, ab hier neu
so ich habe nun was im Internet gesucht und ein wenig gefunden:
http://www.dieletztedomain.de/esp8266-und-hc-sr04
Das Beispiel beruht auf einem ESP8633 201
Ebenso dies hier:
https://github.com/sza2/node_hcsr04
Mit Beispiel 2 bin ich nicht weitergekommen, immer Fehler in Zeile 52 obwohl ich alles richtig übernommen habe.
Bei Link 1 musste ich die Pinbelegung ändern da ich den ESP8633 E03 von Locutus benutzt habe.
Ich habe den nodemcu_float_0.9.6-dev_20150406.bin genommen.
Hier der Lua Code der von mir eingesetzt wurde:
--init.lua
trigger = 3
echo = 4
gpio.mode(trigger,gpio.OUTPUT)
gpio.mode(echo,gpio.INPUT)
wifi.setmode(wifi.STATION)
wifi.sta.config("Fritz","1234")
wifi.sta.connect()
tmr.alarm(0, 1000, 1, function()
if wifi.sta.getip()==nil then
print("connecting to AP...")
else
print('ip: ',wifi.sta.getip())
tmr.stop(0)
tmr.alarm(1,250,1,function()
dist = measure_HC_SR04(trigger,echo)
print (dist)
end)
end
end)
function measure_HC_SR04(trigger, echo)
gpio.write(trigger, gpio.LOW)
dist = 0
for variable = 0, 200, 1 do
dist = dist + gpio.read(echo)
end
gpio.write(trigger, gpio.HIGH)
return dist
end
dofile("fhem.lua")
Soweit ich das erkenne sendet er korrekte Werte in cm
Nun brauch ich ja noch so etwas wie die Übermittlung der Variabel dist an FHEM
-fhem.lua
Entfernung=dist
print("dist")
conn=net.createConnection(net.TCP, 0)
conn:on("receive", function(conn, payload) print(payload) end )
conn:connect(8083,"192.168.178.46")
conn:send("GET /fhem?cmd=setreading%Entfernungtemp%20state%20T:%20" ..t.. "\r\n"
.. "HTTP/1.1\r\n"
.. "Host: www.local.lan\r\n"
.. "Authorization: Basic dskfhskfh==\r\n"
.. "Connection: keep-alive\r\n"
.. "Accept: */*\r\n\r\n")
end)
Sorry für den Code, habe bisher nie versucht zu programmieren.
Wie heisst die Variable die ich vom ersten code an den 2. code übergeben muss?
dist?
Der letzte Block ist zum anmelden an FHEM falls dieses gesichert ist.
na dann werde ich mich hiermit mal auseinandersetzen müssen...
http://lua.gts-stolberg.de/Variablen.php
und damit den code gleich testen ?!
http://luaedit.sourceforge.net
Hallo
es gibt ja eine float und eine integer .. lua
wo ist der Unterschied ?
bisher keine Erklärung gefunden...
Integer = ganze Zahlen -2,-1,0,1,2,3
float = rationale Zahlen -1.3,-28.7,0,6.7,304.7
Bugs
ok verstanden
dieser Code funktioniert
GPIOs hab ich scheinbar richtig angepasst
ich habe auch Kommentare hinzugefügt für den Ablauf, hab es was langsamer gemacht..
Variable dist ?!
Das Ganze nun mit dem DYP-ME007Y, der scheinbar aber erst ab 30 cm richtig messen kann...
Der soll hinterher in die Zisterne
Im Wiki will ich das dann auch ergänzen, wenn es fertig läuft
http://www.fhemwiki.de/wiki/Zisterne:_Füllstandsberechnung_mittels_Ultraschallsensor
Damit der ESP nicht schrottet habe ich im Kabel Echo ein 5K Widerstand eingefügt.
a la Anleitung
http://www.dieletztedomain.de/esp8266-und-hc-sr04/
trigger = 3
echo = 4
gpio.mode(trigger,gpio.OUTPUT)
gpio.mode(echo,gpio.INPUT)
wifi.setmode(wifi.STATION)
wifi.sta.config("Fritz7490","50105245806925532870")
wifi.sta.connect()
tmr.alarm(0, 15000, 1, function() -- 15000 ist die zeit dei verstreicht zum anmelden am netz
if wifi.sta.getip()==nil then
print("connecting to AP...")
else
print('ip: ',wifi.sta.getip())
tmr.stop(0)
tmr.alarm(1,20000,1,function() --- 20000 die Zeit bis zur nächsten messung
dist = measure_HC_SR04(trigger,echo) -- dist ist die Variabel der messund meas_HC_
print (dist)
end)
end
end)
function measure_HC_SR04(trigger, echo)
gpio.write(trigger, gpio.LOW)
dist = 0
for variable = 0, 200, 1 do
dist = dist + gpio.read(echo)
end
gpio.write(trigger, gpio.HIGH)
return dist
end
Zitat von: PeMue am 26 Mai 2015, 08:35:05
ich denke, der Offset ist dann 0x0000, oder?
Korrekt!
Nachdem ich mich mit LUA Programmierung ( Grundlagen) 2 Stunden beschäftigt habe und der Kopf nun raucht habe ich mit einem ESP8266 Wiki begonnen.
http://www.fhemwiki.de/wiki/ESP8266
Dort versuche ich einmal alle bisherigen Projekte zu verlinken....
Tips Anregungen Hilfen immer willkommen, bin da ebenso totaler Anfänger. Aber es ist immer sehr mühsam durch die ewig langen Threads zu wühlen bis man alles hat.
Wer da keinen Zugriff hat aber Änderungen, Ergänzungen etc. haben möchte, soll mich anmailen.
Das Teil ist so cool ...
ZitatDer Flashvorgang kann nun mit einem Klick gestartet werden und sollte vollautomatisch durchlaufen.
Ab und an startet der Flashvorgang nicht, da hilft es einfach das Modul von Spannung zu nehmen, während der USB-Uart daran bleibt. Dann Flashen starten und dann erst das Modul mit 3,3V zu versorgen. Es geht auch wenn man CH_PD erst nach dem Klick auf Flash mit VCC verbindet. Zu beachten ist, das GPIO0 vor VCC schon mit GND verbunden sein muss.
Wenns hilft, kann ich die LUA Files meiner Sensor_Nodes zur Verfügung stellen.
Das sind kleine Kästchen mit nem DHT22 und ner LED an ner kleinen Wandwarze ( Warte noch auf meine ESP-03 Module und dann wird auf Batterieversorgung umgebaut) .
Laufen jetzt schon min 1 Woche stabil und senden alle 60sec Temp und Feuchte.
Mit FHEM sprechen sie über MQTT und Mosquitto aufm Pi 2.
Wenn ich einen Sensor manuell resette, ist die LED nach ca 4sec wieder an ( retain publish des LED-state in FHEM ).
Bugs
Ich überlege ob man nicht neue Threads aufmachen sollte, jeder für einen Sensor Typ.
Hier dann eher allgemeine Fragen oder Entwicklungsarbeit, sonst ist der Thread demnächst so voll das man nichts mehr findet. Nur so als Vorschlag. Ich hab hier ja auch schon einiges zugemüllt. Im Anfängerbereich hat das sicher aber auch nichts zu suchen.
Es wäre dann toll wenn im ersten Post des Threads jeweils die lua Dateien liegen würden und ev auch eine kleine Einführung
So findet man einfach schneller was man sucht.
Ich werde im Wiki auch Schwierigkeiten erwähnen, am Ende...
Muss mich im Wiki aber erst mal einarbeiten. Aber Fotos klappt schon mal :-)
Änderungswünsche dann am besten per pn an mich
Ich selbst hab ja noch CodeProbleme mit dem US Sensor
und ein Regensensor würde mich auch interessieren, vom Code ist das ja sicher ganz einfach, Hab zwar nun einiges zu Lua gelesen ...
Denek es ist besser ich kümmer mich um das Wiki und andere die das Coding beherrschen um den Code
Hallo Franz,
Korrektur für Wiki: Es gibt mindestens 13 verschiedene Versionen ...
Neu hinzugekommen ist das ESP-13.
Ein neuer Thread wird auch früher oder später zugemüllt. Es sei denn, du sperrst den Thread nachdem Posting. Die Dateien gehören in das FHEM SVN Repository (mein Vorschlag: sourceforge.net/p/fhem/code/HEAD/tree/trunk/fhem/contrib/esp8266) oder auf Github abgelegt werden.
Ich habe im ersten Post die Beiträge entsprechend verlinkt.
OK
ich denke da wird es noch mehr Korrekturen geben.
schon geändert :-)
Ich hab heute einfach mal angefangen damit.
Hab vor gut 1 Jahr schon mal was im WIKI geschrieben, aber anfangs hab ich mich schon etwas schwer getan.
Wenn ich weiß wo ich im Netz suchen muss dann finde ich die lua s ...
Kann den Link ja dann ins Wiki schreiben.
Wäre schön wenn wir in den nächsten Wochen für die meisten Anwendungsfälle lua s hätten.
Mit deiner Platine komme ich schon gut zurecht, blöder Weise hat der USB Adapter ja Zicken gemacht. Wenn ich so was sohn mal gemacht hätte wäre mir das ev. früher aufgefallen
@Franz, du hast im Wiki das Beispiel mit dem DS1820. Ich verstehe nicht wenn du das auf der einen Seite einfach für Anfänger machen willst du auf der anderen Seite so kompliziert den Wert via GET Methode dem Web Interface übergibst. Ich habe bei meinen Tests den Dummys immer via Telnet den Wert direkt ins Hirn geschossen. Also statt
conn:connect(8083,"192.168.178.46")
conn:send("GET /fhem?cmd=setreading%Entfernungtemp%20state%20T:%20" ..t.. "\r\n"
.. "HTTP/1.1\r\n"
.. "Host: www.local.lan\r\n"
.. "Authorization: Basic dskfhskfh==\r\n"
.. "Connection: keep-alive\r\n"
.. "Accept: */*\r\n\r\n")
einfach mit
conn:connect(7072,"192.168.178.46")
conn:send("set Entfernungtemp" .t. "\nexit\n")
Als Anfänger der ich immer noch bin, bin ich nicht in der Lage so einen code zu schreiben.
d.h.
Ich habe ihn übernommen und war froh, das das Problem der Anmeldung auf Anhieb funktioniert hat.
Sorry hab gerade gesehen das du dich auf die Entfernungsmessung beziehst, ich dachte es ging um das WIKI !
Das unten geschrieben bezieht sich auch auf die Entfernungsmessung, die leider die letzten 2 Tage liegen geblieben ist.
Zum WIKI ESP8266
Im Doc ist es ja noch etwas ausführlicher erklärt.
Ich lese gerade einiges zu LUA und versuche auch den code zu verstehen, komplizierte verschachtelte Teile geht leider noch nicht.
Für viele Anfänger ist es doch erst einmal wichtig das es überhaupt funktioniert.
Was wir Anfänger brauchen sind sicher gut dokumentierte Sketche, wo also genau erklärt wird was das alles zu bedeuten hat.
Also nicht nur tausche den String hier und da aus , sondern auch warum...
Ich erarbeite mir gerade die LUA Befehle.Es macht mir keinen Spass immer zu fragen, ich wüsste es schon gerne selber.
Auf der anderen Seite bin ich ja nur hierher gekommen weil ich ein Problem habe
Ich möchte meinen defekten US Sensor in der Zisterne austauschen.
mysensors hat aufgrund der Reichweite nicht geklappt, auch da habe ich jeden Schritt dokumentiert, in erster Linie für mich, damit ich auch Wochen später das noch hinbekomme.
Für Profis reichen die INfos sicher in der commandref...
Soweit es die Zeit zulässt kann ich ja die unterschiedlichen Möglichkeiten im WIKI aufnehmen, dabei lerne ich ja auch was ;D
aber ich hab doch gestern erst angefangen.
So ist es doch schon besser als nichts.
Die Frage ist und die hab ich ja da gestellt
Kann ein Anfänger mit der Information die er da bekommt die Schritte nachmachen ohne Fragen stellen zu müssen.
Da brauche ich Rückmeldungen.
Alternative Wege wie mache ich was,
probleme was kann passieren, bei mir mal wieder inkompatible Hardware,,,
etc
Titel müsste ja auch noch geändert werden da man ja auch noch mit anderer Software mit dem Teil was machen kann.
Ich bin für alle Vorschläge offen.
Locutus hat ja vorgeschlagen bei github die sketche zu sammeln
auch den Link dorthin werde ich einbauen.
Versorgt mich mit Input ich werde es versuchen umzusetzen.
ok?
Hallo Franz,
ich kann gerne das Wiki korrekturlesen bzw. korrigieren wenn Du willst.
Ich habe mir schon überlegt, analog zu betateilchens RSS_feed Workshop einen für ESP8266 zu machen, denn die Infos sind doch im Netz arg verstreut und der ESP8266 ist ja auch recht vielseitig.
Grundidee: einen Thread nur für den Workshop, einen "Quengel"-Thread für den Rest.
Grundgerüst:
Hardware
Erklärung
diverse Typen
Anschluß Hardware bzw. Programmierung
ggf. Speicherbereiche
Linksammlung
Firmware
AT-Firmware (Expressiv, etc.)
NodeMCU und ESPlorer
Programmierung mit Arduino IDE (aber ohne Arduino)
...
Aber das ist alles noch recht unausgegoren, aber ich sammle gerade alle Infos als PDF.
Gruß PeMue
Schön wenn ich einen Stein ins rollen gebracht habe,,,,
Freue mich über jeden Vorschlag Verbesserung etc...
Fr und Sa allerdings keine Zeit
das vorab
Zitat von: Wzut am 26 Mai 2015, 10:10:03
Blättere mal zurück bis Antwort #83 am 10 März 2015 von locutus.
Die Transparent Bridge hat es mir angetan :)
Hallo zusammen,
ich hatte eigentlich gedacht, dass dies mit der normalen AT-Firmware und der Konfiguration der Baudrate erledigt ist. Aber es geht scheinbar doch nicht so einfach. Ich wäre mal mit folgenden Befehlen ins Rennen gegangen (meine Firmware kann leider noch keine Baudrate setzen):
AT+CWMODE=1 // or 3 for both
AT+RST // reset
AT+CWJAP="SSID","PASS" // connect to router
AT+CIFSR // get IP address
AT+CIPMUX=0 // single connection mode
AT+CIPSTART="TCP","192.168.1.11",7778
AT+CIPMODE=1 // change to data mode
Vielleicht gelingt es, dann muss man nicht immer eine andere Firmware flashen. Hoffentlich ist es dann auch "reboot"-fest.
Gruß PeMue
Edit:
Geht doch nicht so einfach wie beim BTM222, siehe http://forum.fhem.de/index.php/topic,18996.msg299286.html#msg299286.
Hallo Franz,
ich kann gerne das Wiki korrekturlesen bzw. korrigieren wenn Du willst.
gerne
hab ja auch immer die docx hochgeladen, darf alles verbessert geändert oder sonst was werden
Ich hoffe halt das durch eine etwas asuführlcihere Doku andere Anfänger weniger Probleme haben....
Wäre klasse wenn hier im Forum bald für jeden erdenklichen Sensor eine ausführlich kommentierte Lösung vorhanden wäre
Zitat von: Wzut am 28 Mai 2015, 11:26:55
@Franz, du hast im Wiki das Beispiel mit dem DS1820. Ich verstehe nicht wenn du das auf der einen Seite einfach für Anfänger machen willst du auf der anderen Seite so kompliziert den Wert via GET Methode dem Web Interface übergibst. Ich habe bei meinen Tests den Dummys immer via Telnet den Wert direkt ins Hirn geschossen. Also statt
conn:connect(8083,"192.168.178.46")
conn:send("GET /fhem?cmd=setreading%Entfernungtemp%20state%20T:%20" ..t.. "\r\n"
.. "HTTP/1.1\r\n"
.. "Host: www.local.lan\r\n"
.. "Authorization: Basic dskfhskfh==\r\n"
.. "Connection: keep-alive\r\n"
.. "Accept: */*\r\n\r\n")
einfach mit
conn:connect(7072,"192.168.178.46")
conn:send("set Entfernungtemp" .t. "\nexit\n")
Hallo wzut,
da fehlt vermutlich noch ein 20, oder?
cmd=setreading%20Entfernungtemp%20state%20T:%20" ..t.. "\r\n"
Gruß PeMue
Hallo
das Beispiel was er oben gebracht hat ist doch nicht aus dem Wiki ..
das steht und stand im Wiki
:
conn:send("GET /fhem?cmd=setreading%20esp8266temp%20state%20T:%20" ..t.. "\r\n"
.. "HTTP/1.1\r\n"
.. "Host: www.local.lan\r\n"
.. "Authorization: Basic Rsdfsfdsno6MDYwMg==\r\n"
.. "Connection: keep-alive\r\n"
.. "Accept: */*\r\n\r\n")
wo ich das her habe habe ich auch geschrieben
Das Beispiel was ihr da habt war vom Versuch den Dsistanz Sensor mit dem ESP zu verbinden.
Da fehlt mir einfach Erfahrung mit der Programmierei.
Denke werde das Wiki noch ändern,
zuerst was allgmeines dann einige Beispiele, den Temp Sensor halt als erstes.
Hallo Franz,
die beiden Beispiele sind (bis auf den Variablennamen und das "halbe" fehlende Leerzeichen (%20) identisch.
Bei mir klappt die Übertragung (sogar mit Passwort), allerdings gibt der Sensor nur 10 ° raus bzw. jetzt nur noch 3 °, obwohl ich kurzärmelig dasitze >:( Da muss ich mal suchen, was ich bei locutus' Board falsch verkabelt/initialisiert habe. Eigentlich sollte da nichts schief gehen können ...
Schönen Abend noch.
Gruß PeMue
Hallo
bei mit funktioniert es sowohl mit Locutus Teil als auch mit ESP 8266 01
Ich habe so einen Temp Sensor : DS18B20 Waterproof Dallas Temperature Sensors
Gerade noch mal mit mysensors gespielt, leider ist die Reichweite gegenüber dem kleinen ESP schlecht.
Ziel ist es einen Distanzsensor in die Zisterne einzubauen. DYP-ME007Y Ultrasonic Sensor Module
Einen Regensensor mit so was aufzubauen: Rain Detection Sensor
Die Sensoren sind von der mysensors.org Seite.
Hatte halt erst mit mysensors experimentiert
Aber leider bin ich noch auf Code Beispiele von anderen angewiesen.
Bin froh das ich schon mal so viele FHEM Projekte umgesetzt habe
Zitat von: PeMue am 31 Mai 2015, 20:02:57
Bei mir klappt die Übertragung (sogar mit Passwort), allerdings gibt der Sensor nur 10 ° raus bzw. jetzt nur noch 3 °, obwohl ich kurzärmelig dasitze >:
Klar, ich habe einen alten DS1820 verbaut und die Umrechnung passt nicht ... Ich versuche mal, das lua Skript anzupassen. Habe jetzt mal meine alten Sensoren aussortiert, damit das nicht mehr passiert.
@Franz/locutus: Mir fehlt da übrigens noch ein Pullup von 1-wire Daten nach Versorgungsspannung, bin mir nicht sicher, ob man den weglassen sollte/kann.
Gruß PeMue
Edit:
Ok, jetzt tut es, ich habe 27 °C, allerdings kann das Skript nur Ganzzahlig, d.h. ich würde die Temperature mit Faktor 10 übertragen und dann wieder teilen.
Wenn jemand weiß, wie man per lua eine passwortgesicherte telnet-Verbindung öffnet, wäre das echt toll. Die html-Geschichte ist mir deutlich zu aufwändig. Falls das bei mir spielt, lade ich es hoch ...
Hallo
hier gibts ne Menge Infos
http://iot-playground.com/2-uncategorised/36-esp8266-door-window-sensor-nodemcu-lua-no-arduino
das zB müsste man leicht ändern können für einen Regensensor.
Da gibt es die unterschiedlichsten Sensoren
http://iot-playground.com/
Habe leider die nächsten Tage bis So Abend sehr wenig Zeit
Zitat von: Franz Tenbrock am 23 Mai 2015, 20:30:28
Es geht nun !!!
Readings
state T: 29 2015-05-23 20:51:32
Hallo Franz,
bei Dir ist auch ganz schön warm, stimmt die Temperatur in etwa? Oder deutet das auf den fehlenden Pullup hin?
Gruß PeMue
Bei mir waren die Temperaturen ok
hab aber auch so einen Sensor wie diesen hier:
DS18B20 Waterproof Dallas Temperature Sensors
About 100 cm cable length. Good when you want to measure the temperature in a freezer or on pipes. You'll also need a pull up resistor.
Hatte das Teil nur kurz dran
ohne Pull up
Scheinbar Glück gehabt...
Muss am verlängerten WE erst mal in der Praxis was umbauen, daher wohl kaum Zeit für FHME
Beschäftige mich gerade mit Schallschutz / Akustic
Zitat von: Wzut am 28 Mai 2015, 11:26:55
Also statt
conn:connect(8083,"192.168.178.46")
conn:send("GET /fhem?cmd=setreading%Entfernungtemp%20state%20T:%20" ..t.. "\r\n"
.. "HTTP/1.1\r\n"
.. "Host: www.local.lan\r\n"
.. "Authorization: Basic dskfhskfh==\r\n"
.. "Connection: keep-alive\r\n"
.. "Accept: */*\r\n\r\n")
einfach mit
conn:connect(7072,"192.168.178.46")
conn:send("set Entfernungtemp" .t. "\nexit\n")
Hallo zusammen,
hier http://www.meintechblog.de/2014/10/integration-daten-zwischen-loxone-und-fhem-austauschen/
geht es auch mit HTTP etwas einfacher:
"http://admin:password@192.168.11.24:8083/fhem?cmd=set WZ.Bodenlampe on"
Was meint ihr, könnte das auch funktionieren? Mir sind die Sequenzen im ersten Beispiel absolut nicht klar 8)
Gruß PeMue
Hallo PeMue
Ich bin nicht sicher, ob du das Passwort meinst, welches du als Attribut deines Telnetport definiert hast?:
Internals:
CONNECTS 122
DEF 7072 global
FD 6
NAME telnetPort
NR 3
PORT 7072
STATE Initialized
TYPE telnet
Attributes:
password meinpasswort
Wenn ja, löse ich wie folgt:
conn=net.createConnection(net.TCP, 0)
conn:on("receive", function(conn, payload) print(payload) end )
conn:connect(7072,"192.168.2.2")
conn:send("meinpasswort\n")
conn:send("setreading Multisensor_Ost lux " ..luxi.. "\n")
conn:send("setreading Multisensor_Ost temperature " ..temp.. "\n")
conn:send("setreading Multisensor_Ost humidity " ..humi.. "\nexit\n")
Ich hoffe, dass ich dir helfen konnte.
Viele Grüsse Dani
Hallo Dani,
das war's, vielen Dank. Noch eine Frage: Telnet wird ja mit exit wieder beendet. Warum machst Du nach jedem setreading ein exit? Ich hätte nur nach dem letzten gemacht.
Danke + Gruß
PeMue
Hallo PeMue
Du hast recht!
Ich habe den ersten Multisensor zusammen gebaut, bestehend auf einem DHT22 und einem BH1750. Da ist mir wohl dieser Copy-Paste Fehler unterlaufen, als ich die Lua Files gemerged habe. Den Code vom meinem letzten Post habe ich korrigiert, damit es andere leichter haben...
Gruss Dani
Zitat von: Bugs am 27 Mai 2015, 19:54:35
Wenns hilft, kann ich die LUA Files meiner Sensor_Nodes zur Verfügung stellen.
Das sind kleine Kästchen mit nem DHT22 und ner LED an ner kleinen Wandwarze ( Warte noch auf meine ESP-03 Module und dann wird auf Batterieversorgung umgebaut) .
Laufen jetzt schon min 1 Woche stabil und senden alle 60sec Temp und Feuchte.
Mit FHEM sprechen sie über MQTT und Mosquitto aufm Pi 2.
Wenn ich einen Sensor manuell resette, ist die LED nach ca 4sec wieder an ( retain publish des LED-state in FHEM ).
Hallo Bugs,
könntest Du bitte Deine lua Skripte zur Verfügung stellen? Brauche ich Mosquitto überhaupt oder kann ich die Daten über MQTT direkt mit fhem austauschen?
Danke + Gruß
PeMue
Zitat von: eppi am 23 Mai 2015, 06:32:43
- Flashen des ESP8266 mit NodeMCU, integer-Datei
- Von den drei Dateien die Init Datei ändern mit deinen Netzwerkdaten (SSID, Passwort)
- Von den drei Dateien die fhem_bh1750 oder fhem_ds18b20 ändern mit FHEM Daten (IP FHEM Server, Webport und Dummy-Namen) und GPIO-Anschlüsse
- Mit ESPlorer, Verbindung hergestellt und danach die drei Dateien geöffnet (siehe Printscreen)
- Jede Datei separt auf den ESP geladen, durch selektieren der entsprechenden Datei und danch im ESPlorer unten links auf "Save to ESP" geklickt. Ich würde die Init Datei zuletzt hochladen, das hat den Vorteil, dass der ESP noch nicht beginnt mit der Ausführung des Script
- ESP sollte nun funktionieren
- In Fhem einen Dummy anlegen. Meiner heisst esp8266temp
Also irgendwie will sich bei mir keine Freude mit dem Ding einstellen. Ich hatte gestern funktionierende Skripte, diese dann geringfügig geändert und nichts ging mehr. Dann wieder auf die alten Skripte und es hat wieder eine Weile funktioniert. Als ich die Sache dann ohne Debugging angeschaltet habe, ging wieder überhaupt nichts. Jetzt schiebt der ESP sogar schon Panik wegen einem unzulässigen Aufruf einer Funktion - das war vorher nicht.
Ich gebe für heute auf. So sonderlich stabil bzw. reproduzierbar scheint die lua Software nicht zu sein ...
Gruß PeMue
Zitat von: PeMue am 04 Juni 2015, 20:58:04
Also irgendwie will sich bei mir keine Freude mit dem Ding einstellen. Ich hatte gestern funktionierende Skripte, diese dann geringfügig geändert und nichts ging mehr. Dann wieder auf die alten Skripte und es hat wieder eine Weile funktioniert. Als ich die Sache dann ohne Debugging angeschaltet habe, ging wieder überhaupt nichts. Jetzt schiebt der ESP sogar schon Panik wegen einem unzulässigen Aufruf einer Funktion - das war vorher nicht.
Ich gebe für heute auf. So sonderlich stabil bzw. reproduzierbar scheint die lua Software nicht zu sein ...
Gruß PeMue
Das Problem kenne ich. Meine Erfahrung:
ESP bei Problemen nach den Upload mehrmals formatieren und Softreset durchführen danach Spannung des ESP entfernen. Danach neu bespielen (init.lua zuletzt uploaden), danach nochmals den ESP von der Spannung entfernen.
Bei mir rennen ESP8266-01 und -12 seit mehr als 10Tagen stabil...
Viel Erfolg! Gruss Dani
So eine Sch...
Ein gestern funktionierendes Skript macht jetzt das:
WiFi unavaiable, waiting...
ESP8266 mode: 1
MAC address: 1A-FE-34-9C-16-7C
Config done, IP: 192.168.188.32
temperature: 26.75 °C
c_ÇÏRöfJúfJSúâîø
Vermutlich ein Neustart, bevor der zweite Messwert ausgelesen bzw. übertragen wird.
Und beim nächsten Starten
temperature: 27.62 °C
temperature: 27.62 °C
Aber halt keine Übertragung an fhem >:( >:( >:(
Ich geb's auf.
Gruß PeMue
Welchen Temp Sensor nutzt du, ds18b20?
Ich würde dir sonst mal meine aktuellen Lua's anhängen.
Generell würde ich mir eine zentrale Stelle wünschen um die Lua Projekte abzulegen.
Ich habe bereits die Lua's für:
Ds18b20
DHT20
BH1750
Mulitisensor DHT22 mit BH1750
Als nächstes kommt der Distanzmesser SR02..
Ich habe die NodeMCU lua für DS18B20, allerdings ist diese fehlerhaft, da der DS18(S)20 nicht korrekt gewandelt wird. Das Timing passt auch nicht.
Wenn Du magst, kannst Du gerne Deine lua Skripte posten. Ich hatte heute die Übertragung an FHEM von http auf telnet umgestellt, es ging auch eine ganze Weile. Aber nach Reboot war wieder aus.
Ich mache es jetzt so, wie der Kollege vom Amt:
"Heute nisch und morgen nisch gleisch".
Schönen Abend.
Gruß PeMue
Hallo,,,
wir können die Lua`s ins Wiki stellen, mit kurzer Beschreibung,
wenn ich die Texte habe würde ich das wohl machen.
Die Sonos zb sind im Wiki super beschrieben.
Bis So Abend aber noch Umbau....
Coole Sache was ihr da grade bastelt. Habt ihr schon einen Erfahrungswert was den Stromverbrauch angeht?
Gruß, machnetz
Zitat von: machnetz am 05 Juni 2015, 11:18:11
Coole Sache was ihr da grade bastelt. Habt ihr schon einen Erfahrungswert was den Stromverbrauch angeht?
Hallo Machnetz,
nein noch nicht, werde ich aber messen (wenn die sch... Sofware mal sauber funktioniert).
Hier http://www.agocontrol.com/2015/03/building-a-battery-powered-wifi-iot-sensor-with-esp8266-ms-5611-gy-63-nodemcu-and-mqtt/ hat einer einen batteriebetriebenen Sensor gebaut. Der braucht aber den "deep-sleep" ...
Gruß PeMue
Mich würds auch intressieren auf was andere so kommen. Hab meinen mit jeweils 5min deep-sleep und einem schaltregler mit 2x AA Batterien leider nur 3 wochen versorgen können
Zitat von: Kuzl am 08 Juni 2015, 21:17:02
Mich würds auch intressieren auf was andere so kommen. Hab meinen mit jeweils 5min deep-sleep und einem schaltregler mit 2x AA Batterien leider nur 3 wochen versorgen können
Guckst Du hier :
http://www.agocontrol.com/2015/03/building-a-battery-powered-wifi-iot-sensor-with-esp8266-ms-5611-gy-63-nodemcu-and-mqtt/ (http://www.agocontrol.com/2015/03/building-a-battery-powered-wifi-iot-sensor-with-esp8266-ms-5611-gy-63-nodemcu-and-mqtt/)
und Link ganz unten.
Meine Eneloop Pro mit 2450 mAh sind schon im Zulauf.
Viele Grüße
Boris
Hallo,
kann mir einer sagen was das hier für ein Model ist und wie ich die Firmware flashe?
http://www.aliexpress.com/item/1pcs-New-ESP8266-serial-WIFI-moudle-all-IO-lead-WIFi-sending-and-receiving-wireless-module-ESP/32259918137.html
ESP8266 201
Schau mal ins wiki esp8266
dort hab ich eine Schritt für Schritt Anleitung veröffentlicht.
Kontrolliere mal die Schritte.
Sollte eigentlcih klappen
Habe ein 01 und 03 danach geflasht
Zitat von: Dr. Boris Neubert am 08 Juni 2015, 21:41:28
Guckst Du hier :
http://www.agocontrol.com/2015/03/building-a-battery-powered-wifi-iot-sensor-with-esp8266-ms-5611-gy-63-nodemcu-and-mqtt/ (http://www.agocontrol.com/2015/03/building-a-battery-powered-wifi-iot-sensor-with-esp8266-ms-5611-gy-63-nodemcu-and-mqtt/)
und Link ganz unten.
Hallo Boris,
danke für den Link. Aber muss man nicht noch zwei Pins kurzschließen, damit der ESP8266 wieder aufwachen kann? Ich meine, ich hätte mal so was gelesen.
Nimmst Du zwei Zellen? Dann kann man doch bestimmt auch die Akkuspannung messen bzw. übertragen ...
Gruß PeMue
Zitat von: QuesT am 09 Juni 2015, 21:12:34
Hallo,
kann mir einer sagen was das hier für ein Model ist und wie ich die Firmware flashe?
http://www.aliexpress.com/item/1pcs-New-ESP8266-serial-WIFI-moudle-all-IO-lead-WIFi-sending-and-receiving-wireless-module-ESP/32259918137.html
GPIO0 und GPIO15 mit GND verbinden, CH_PD mit 3.3V
siehe: http://www.esp8266.com/viewtopic.php?f=6&t=2431
Jap muss man verbinden. Beim ESP-03 über eine lötbrücke, beim ESP-01 mit fädeldraht :D
In dem Link ist ja leider nur eine sehr optimistische Hochrechnung und keine Praksiserfahrung zu sehen. bei meinen Messungen hat es meistens so um die 5-6s gedauert, bis der ESP mit dem MQTT-Broker verbunden war, was dann die Laufzeit schon mal um ca. die hälfte reduziert.... und natürlich könnte ich das Messintervall reduzieren...
Bin auf deine Erfahrungen gespannt.
@PeMue: Es ist möglich, mit dem ESP dessen Versorgungsspannung zu Messen. Wenn man ihn direkt mit Batterien betreibt funktioniert das wunderbar (schon getestet)
Wenn man ihn allerdings über einen Schaltregler versorgt muss man es über einen ADC oder den Analogpin des ESP machen.
Gruß,
Kuzl
Zitat von: locutus am 10 Juni 2015, 00:10:03
GPIO0 und GPIO15 mit GND verbinden, CH_PD mit 3.3V
siehe: http://www.esp8266.com/viewtopic.php?f=6&t=2431
Danke,
komme aber nicht weiter als hierhin:
Note:Serial port connected.
Note:Begin find ESP8266.
Note:ESP8266 ACK success.
Note:ESP8266 ACK success.
Error:Set ESP8266 Address timeout.
wer einen tip
EDIT:
GND / VCC / RXD / TXD the usual way
CHIP_EN to 3.3V
GPIO00 to GND
GPIO02 to 3.3V
GPIO15 to GND
Hast du den ESP in den Programmiermodus versetzt? (GPIO 2 beim anlegen der SPG auf Masse und anschließend offen oder VCC)
Hallo Gemeinde,
beschäftige mich auch gerade mit dem ESP8266 - 01 (stehe erst am Anfang)
Habe das LUA-Script für den DHT22 (aus Beitrag #29) auf den ESP geschrieben,
bekomme ab immer wieder die Meldung
lua: init.lua:31: attempt to call field 'getHumidity' (a nil value) bzw.
lua: init.lua:32: attempt to call field 'getTemperature' (a nil value)
bei der NodeMCU-Integer bzw. NodeMCU-Float.
Eine Abhilfe habe ich noch nicht, suche aber weiter evtl. hat ein programmiererfahrener Leser einen Tipp.
Gruß
Thomas
Edit: Erster Erfolg: Die DTH.LUA wurde umbenannt in DTH0.LUA und in der INIT.LUA wurden alle Links auf die DTH.LUA abgeändert.
Nun kommen diese Fehlermeldungen nicht mehr! Warum?
Aber die Messwerte stimmen nicht.
Humidity: -1 %
Temperature: 50 °C
Gruß
Thomas
Humidity: -1 %
Temperature: 50 °C
Diese falschen Werte habe ich auch. Benutze ein DHT11.
Egal ob ich die Versorgungsspannung des DHT auf 3,3 bzw. 5Volt stelle.
Hatt jemand einen Tipp
VG Olaf
Zitat von: ollir am 06 August 2015, 10:50:42
Humidity: -1 %
Temperature: 50 °C
Diese falschen Werte habe ich auch. Benutze ein DHT11.
Egal ob ich die Versorgungsspannung des DHT auf 3,3 bzw. 5Volt stelle.
Hatt jemand einen Tipp
VG Olaf
Hallo,
Vorab: "alles nicht getestet"
Wenn ihr diese(DHT22) (http://forum.fhem.de/index.php/topic,28905.msg264343.html#msg264343) Scripte nutzt?
Dann im Script dht.lua den Bereich:
--DHT data acquired, process.
for i = 1, 16, 1 do
if (bitStream[i + 0] > 2) then
humidity = humidity + 2 ^ (16 - i)
end
if (bitStream[i + 16] > 2) then
temperature = temperature + 2 ^ (16 - i)
end
end
for i = 1, 8, 1 do
if (bitStream[i + 32] > 2) then
checksum = checksum + 2 ^ (8 - i)
end
end
checksumTest=((humidity-humidity%256)/256+humidity%256+(temperature-temperature%256)/256+temperature%256)%256
gegen den Teil:
--DHT data acquired, process.
for i = 1, 8, 1 do
if (bitStream[i+0] > 2) then
humidity = humidity+2^(8-i)
end
end
for i = 1, 8, 1 do
if (bitStream[i+8] > 2) then
humiditydec = humiditydec+2^(8-i)
end
end
for i = 1, 8, 1 do
if (bitStream[i+16] > 2) then
temperature = temperature+2^(8-i)
end
end
for i = 1, 8, 1 do
if (bitStream[i+24] > 2) then
temperatureDec = temperatureDec+2^(8-i)
end
end
for i = 1, 8, 1 do
if (bitStream[i+32] > 2) then
checksum = checksum+2^(8-i)
end
end
checksumTest=(humidity+humiditydec+temperature+temperatureDec) % 0xFF
austauschen. Im original zu finden hier (https://github.com/ok1cdj/ESP8266-LUA/blob/master/Thermometer-DHT11-Thingspeak/dht11.lua)
Vielleicht hilft es?
Viele Grüße
ich habe eben ein DHT11 an den ESP angeschlossen...
Ergebnis: mit den geposteten Skripten (http://forum.fhem.de/index.php/topic,28905.msg264343.html#msg264343) funktioniert das bei mir nicht.
Meine Firmware: NodeMCU 0.9.6 build 20150704 powered by Lua 5.1.4
Hinweise zu den gemeldeten Problemem mit dem Feuchtigkeitswert gibt es hier (http://www.esp8266.com/viewtopic.php?f=19&t=1470#p8696) und hier (http://www.esp8266.com/viewtopic.php?f=19&t=1470#p8699)
Wie zuvor geschrieben, funktioniert das Auslesen mit diesen Skripten (https://github.com/ok1cdj/ESP8266-LUA/tree/master/Thermometer-DHT11-Thingspeak), aber der Humidity Wert bei dem DHT11 ist sehr sehr instabil.
Vorab: lieber etwas mehr investieren und den DHT22 nehmen mit den werten kann man wenigstens was anfangen.
Wegen dem falschen auslesen hat es bei mir geholfen direkt nach dem start ca. 3s zu warten, da der esp beim warten seine internen aufgaben erledigen kann
Gesendet von meinem GT-I9505 mit Tapatalk
Zitat von: locutus am 09 November 2014, 19:30:06
ESP8266 (ESP-03) Breakout Board: 7,10 €
Stückzahl: 1 verfügbar (Stand: 06.08.2015)
Briefversand: 0,90 € (dieser Sparversand ist unversichert, ein eventueller Sendungsverlust geht zu Lasten des Käufers.)
Hallo Damian,
nehme dann auch noch das letzte Breakout Board. Rest dann per PN.
Grüße Jörg
LUA-Code für zwei weitere Sensoren und RGB-LED-Ansteuerung.
1. Digitaler Feuchtesensor HTU21D
Die zip-Datei beinhaltet drei Beispiele:
- server - der Hygrometer startet mit einem WLAN-Konfigurationsassistenten. Nach erfolgreicher Verbindung muss nur noch die neue IP des Sensors im lokalen WLAN ermittelt werden.
- mqtt - der Client nimmt Verbindung zum MQTT Broker auf. Mit einer Subscription können die Sensorwerte empfangen werden. Bsp.:
define MQTT_ESP8266_HTU MQTT_DEVICE HTU21D
attr MQTT_ESP8266_HTU IODev mqtt
attr MQTT_ESP8266_HTU stateFormat {sprintf("%.1f",ReadingsVal("MQTT_ESP8266_HTU","state",0))." %"}
attr mqtt_ESP8266_HTU subscribeReading_state sensors/ESP8266-10872660/humidity
Die 8-stelige Chip ID muss ggf. ermittelt und korrigiert werden.
- fhem - der Client übermittelt Sensorwerte an ein FHEM dummy. Bsp.:
define HTU21D dummy
attr HTU21D stateFormat {sprintf("%.1f",ReadingsVal("HTU21D","state",0))." %"}
2. Digitaler Luftdrucksensor BMP085 / BMP180
Die zip-Datei beinhaltet ebenfalls drei Beispiele:
- server - Beschreibung siehe oben.
- mqtt - Beschreibung s. o. Bsp.:
define MQTT_ESP8266_BMP MQTT_DEVICE BMP085
attr MQTT_ESP8266_BMP IODev mqtt
attr MQTT_ESP8266_BMP stateFormat {sprintf("%.1f",ReadingsVal("MQTT_ESP8266_BMP","state",0))." hPa"}
attr MQTT_ESP8266_BMP subscribeReading_state sensors/ESP8266-10872660/pressure
- fhem - Beschreibung s. o. Bsp.:
define BMP085 dummy
attr BMP085 stateFormat {sprintf("%.1f",ReadingsVal("BMP085","state",0))." hPa"}
Die Sensoren wurden mit der angehängten Float Version der NodeMCU Firmware getestet.
i2c_scanner.lua hilft bei der Identifizierung der Hardware.
3. RGB LED WS2812 (NeoPixel)
Steuerung mit WifiLight:
define ESP8266_WS2812 WifiLight RGB LW12:192.168.178.10
attr ESP8266_WS2812 webCmd RGB
attr ESP8266_WS2812 widgetOverride RGB:colorpicker,RGB
Fabeulous (http://forum.fhem.de/index.php?action=profile;u=15113) Code prüft, ob eine Verbindung zum lokalen WLAN besteht. Die erste LED leuchtet nach dem einstecken erst rot. Nur wenn das Funkmodul sich erfolgreich mit dem vorher konfigurierten WLAN verbunden hat, leuchtet die LED kurz grün und geht dann aus.
In dieser Codezeile wird die Anzahl der NeoPixel festgelegt, hier sind es 8.
ws2812.writergb(4, string.char(R, G, B):rep(8))
Hallo
Habe mich auch vor einigen Monaten mit dem ESP beschäftigt, ebenso mit mysensors.
Das Breakoutboard hab ich ja , hab es mit dem TEMP ans Laufen bekommen
Dann leider überhaupt keien Zeit mehr gehabt, geht halt nciht mal so zwischendurch
Für meine Zisterne benötige ich noch ein Distanzmessung mit diesem Teil hier.
DYP-ME007Y Ultrasonic Sensor Module
Unter mysensors kann ich die Strecke auch messen.
http://www.mysensors.org/build/distance
Hab leider keine Ahnung wie man das mit dem MQTT Broker machen könnte
bzw geht das überhaupt ?
Bevor ich nun wieder Stunden lese wollte ich erst mal fragen.
Das Ganze möchte ich dann an eine schaltbare Steckdose hängen und so dann manuelle eine Messung auslösen, habe 10000 Liter und benötige 1x in der Woche einen Wert
Mosquitto (http://mosquitto.org/) am Raspberry Pi installieren:
wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
sudo apt-key add mosquitto-repo.gpg.key
cd /etc/apt/sources.list.d/
sudo wget http://repo.mosquitto.org/debian/mosquitto-wheezy.list
sudo apt-get update
sudo apt-get install mosquitto mosquitto-clients
cpan -i Net-MQTT
Verbindung zum MQTT-Broker in FHEM anlegen:
define mqtt MQTT 127.0.0.1:1883
FHEM-Device erstellen:
define MQTT_ESP8266_HCSR MQTT_DEVICE HCSR04
attr MQTT_ESP8266_HCSR IODev mqtt
attr MQTT_ESP8266_HCSR subscribeReading_state sensors/ESP8266-10872660/distance
Bitte die 8-stelige Chip ID (10872660) korrigieren.
Sensorwerte am RPi empfangen:
mosquitto_sub -d -t sensors/ESP8266-10872660/distance
Der LUA-Code für HC-SR04 (http://www.dieletztedomain.de/esp8266-und-hc-sr04/) ist ad hoc gebastelt, sollte aber auch mit DYP-ME007Y funktionieren.
Thanks
das ist dann wohl für mich
hab mir meine owncloud heute morgen geschossen, verzweifel da gerade ein wenig,
Bleibe hier aber dran
Schönene Abend noh
@ Franz:
du brauchst das nicht über eine schaltbare Steckdose machen. du kannst über MQTT mit fhem eine bidirektionale Verbindung aufbauen, also eine Messung direkt über FHEM auslösen. dazu musst du nur im Sketch eine Callbackfunktion z.b. unter sensors/ESP8266-10872660/measure machen und auf 1 abfragen. in der Funktion selbst löst du eine Messung aus und setzt measure wieder auf 0.
Wenn du dich ein wenig einliest ist das wirklich sehr einfach zu bewerkstelligen.
Viele Grüße,
Kuzl
Hallo,
also unter dem Carport ist der Tank mit Dom der Zisterne wo der ESP plaziert werden soll. Im Carportbereich habe ich eine schaltbare HM Steckdose.
Da ich nur 1X oder eben nach Bedarf einen Wert aus dem Tank brauche möchte ich den ESP über die Steckdose aktivieren und anschließend (nach der Messung ) wieder abschalten. So wie ich gelesen habe zieht der ESP ja einiges an Strom ?? Muss ja nicht sein.
Entschuldige wenn ich für Verwirrung gesorgt habe.
Hi Franz,
So viel Strom zieht der ESP gar nicht, das was du gehört hast war bezogen auf einen Batteriebetrieb. Im normalen betrieb (ohne sleep usw.) zieht er so im durchschnitt max. 200mA bei 3.3V was auf 0,66W kommt.
Eine Homematic Steckdose zieht im Standby 0,5W
Kommt also fast aufs gleiche raus und du sparst dir die nicht gerade billige HM Steckdose. Und wenn du den ESP in einen Stromsparenderen Modus versetzt kommts sogar unter den Verbrauch des Zwischensteckers.
Gruß
Kuzl
Hallo!
Ich bin ja gerade auch dabei einen "Füllstandsmesser" und einen "TemperaturFeuchte-Sensor" mit dem ESP8266 zu "basteln".
Aktuell noch auf "Breadboard".
Eigentlich mit dem Wunsch einen Betrieb per Batterie zu haben aber so wenig braucht der ESP dann (zumindest bei meinen Versuchen) aktuell doch noch nicht.
Aktuell im Einsatz ein ESP-12 und ein ESP-01.
Beim ESP-12 ist es einfach möglich mit "DeepSleep" zu arbeiten, da dort die Verbindung GPIO-16 (glaube ich) und Reset leicht möglich ist.
Beim ESP-01 (hatte ich halt einfach mal bestellt und noch rumliegen) hatte ich Fädeldraht ist mir aber für eine "echte" Lösung zu "wackelig"...
Dann einen ATTiny85 zum Wecken...
Aktuell probiere ich die Variante, per MOSFET den gesamten ESP inkl. Sensoren ein- und auszuschalten per ATTtiny85, gefällt mir aktuell am besten...
Habe hier aber noch nicht gemessen, betreibe es momentan mit einer PowerBank...
...also noch nicht wirklich mit Batterie...
Da muss ich aber noch schauen was ich beim ATTiny alles einstelle(n kann) damit dort möglichst wenig Strom benötigt wird.
Allerdings wird hier wohl ein StepUp Modul notwendig sein, wenn ich zuverlässig mit Batterie arbeiten will...
...da weiß ich nicht wieviel das braucht.
Aber ich hoffe hier noch auf einen anderen Temperatur/Feuchte Sensor weil der aktuell verwendete DHT11 ist mir zu ungenau und arbeitet erst mit 5V zuverlässig...
Warte noch auf meinen HTU21D, soll mit 3V schon arbeiten.
D.h. StepUp-Modul auf 3,3V für alles.
Aktuell habe ich eines auf 5V (für den DHT) und dann wieder StepDown für den ESP...
Für den Füllstandsmesser habe ich den ESP-12 am Start.
Die Verwendung von "nur" DeepSleep beim ESP-12 braucht mir für einen echten Batteriebetrieb noch zu viel Strom.
Leider keine genaue Messung des Stroms da meine aktuelle Messgerätelandschaft dafür irgendwie (noch) nicht taugt aber ich habe 0,2V Spannungsabfall/-verlust bei der Battrie (2xAA) pro Tag.
Allerdings wie gesagt bin ich noch am Probieren und aktuell hängen sowohl die Sensoren bzw. in dem Fall der UltraSonic und die diversen StepUp/StepDown Module "dauernd" an der Batterie, nur der ESP geht in DeepSleep (10min).
Nächste Variante wäre die/den Sensor durch den ESP anzuschalten, wenn gemessen wird, evtl. auch den notwendigen StepUp auf 5V ebenfalls erst einzuschalten, wenn der Sensor messen soll und von der Batterie halt "nur" ein StepUp auf 3,3V zum Betrieb des ESP...
Oder halt ebenfalls schalten per ATTiny85 wie beim ESP-01.
Hier halt mit der Möglichkeit eine "Minimalkommunikation" zu haben um zu sehen wann der ESP fertig ist (z.B.) und dann wieder ausschalten.
Bei der "ATTiny-Schaltvariante" mit dem ESP-01 gebe ich dem ESP einfach 10s (reicht für Verbindungsaufbau und Daten senden, allerdings mit statischer IP / DHCP dauert deutlich länger) und schalte ihn dann wieder aus.
Wenn es doch mal nicht reichen sollte, ist es nicht schlimm. 3 Min später erfolgt die nächste Messung...
Würde mir reichen...
Die Schaltvariante habe ich auch gewählt, weil ich es schon hatte, dass sich der ESP nach einem Reset nicht mehr "einkriegt" und dann gar nicht mehr oder erst sehr spät wieder "einfängt" und zwischenzeitlich halt Strom zeiht, da er sich in dem Zustand auch nicht wieder schlafen legt...
Wenn ich ihn einfach über den ATTiny ein und wieder ausschalte hatte ich dieses Problem noch nicht. bzw. wenn er mal anfängt sich nicht mehr zu "fangen" ist es kein Problem weil er wird ja einfach wieder ausgeschaltet und dann neu eingeschaltet und spät. dann war es wieder gut...
Nicht so bei der DeepSleep Variante.
Gerade beim ESP-01.
Gut evtl. "Fädeldrahtproblem" etc. aber fand ich nicht so zuverlässig...
Desweiteren würde ich auch gerne die Batteriespannung messen und schicken aber ist auch nicht so einfach, da der ESP "nur" 1V "messen" kann...
...jaja Spannungsteiler etc. aber das funktioniert auch icht so zuverlässig, da ich einen Spannungseinbruch habe immer wenn der ESP "bootet" und die Messung macht.
Nicht viel "nur" so 0,2V aber unschön.
Außerdem fließt ja über den Stannungsteiler auch unnötig Strom...
Mal sehen was mir da einfällt bzw. auch das wäre dann bei der "Ein-/Ausschaltvariante" gelöst...
Ich verwende als Programmierumgebung die Arduino-IDE bzw. den Compiler etc. der Arduino-IDE unter Eclipse...
...also keine NodeMCU-FW.
Hatte ich mir kurz angesehen aber war irgendwie nicht so mein Fall...
Gut ich habe gesehen, dass es seit Oktober hier nichts mehr neues gab...
...hoffe aber, dass es weiter geht!
Gruß, Joachim
Ich hoffe auf eine universelle Integration des ESP8266 in die FHEM Umgebung.
Interessant wären z.B. folgende Funktionen standardmäßig bereit zu stellen: ADC, PWM, I/O, I2C, 1-wire
Damit könnte man dann endlich auch mal ein Poti oder eine Spannung messen.
Und das bei unglaublich günstigen Preisen:
Das ESP8266-12E gibts als nacktes Modul schon ab ca. 2,20€.
Als fertiges Aufsteckmodul mit USB Anschluss ab ca. 6,5€.
Batteriebetrieb ist interessant aber nicht primäres Ziel weil als Aktor verwendet sowieso sofortige Reaktion gewollt ist.
Schau Dir mal ESPEasy an:
http://www.esp8266.nu/index.php/Main_Page (http://www.esp8266.nu/index.php/Main_Page)
Aus meiner Sicht geht das in die Richtung und die Einbindung in FHEM geht auch ohne MQTT-Broker, sondern über HTTP direkt.
Gruß
Thomas
@Papaloewe
Super, an genau sowas hab ich gedacht.
Und Gott sei Dank verwendet es nicht MQTT.
Bin kein Fan von unnötiger Komplexität/Fehlerquellen ;)
Hallo!
Zitat von: Papaloewe am 20 Januar 2016, 12:52:07
Schau Dir mal ESPEasy an:
http://www.esp8266.nu/index.php/Main_Page (http://www.esp8266.nu/index.php/Main_Page)
In den folgenden zwei Threads finden sich Informationen zu ESPEasy und fhem:
http://forum.fhem.de/index.php?topic=46486.0
http://forum.fhem.de/index.php?topic=46205.0
VG
Sven
Hallo zusammen,
basierend auf Samsis Bastelprojekt (http://forum.fhem.de/index.php/topic,34464.0.html) ist diese Platine entstanden.
Hard- und Softwarespezifikationen:
- ESP8266 (ESP-03) WLAN-Modul
- Si4936CDY Dual N-Channel MOSFET
- TS2940CW-3.3 LDO Festspannungsregler
- U.FL-Antennenbuchse für externe Antenne
- LED für Serial Activity
- Programmierschnittstelle für USB zu TTL-Wandler mit 3,3 V-Logik
- NodeMCU Firmware
- Boot loop protection
- Quick WiFi Setup
- Max. Eingangsspannung: 12 VDC
- Laststrom pro Kanal: 1.5 A
- Platine-Durchmesser: 37 mm
Kurze Beschreibung der Vorgehensweise:
Beim ersten Start des ESP8266 wird ein Access Point (die blaue LED auf der Platine leuchtet 10x kurz auf) mit der SSID SetupWiFiLED erstellt. Die Zugangsdaten des eigenen WLAN-Netzes werden im Webbrowser unter der Adresse http://192.168.4.1/ eingeben. Nach dem Speichern der Daten, startet der ESP8266 neu und versucht sich zu verbinden. Im Fehlerfall beginnt das Funkmodul wieder mit 10 Verbindungsversuchen.
In der fhem.conf wird der LED-Controller z. B. folgendermaßen definiert:
define WiFiLED WifiLight RGB LW12:192.168.1.100
attr WiFiLED colorCast 0, -20, -20, -25, 0, -10
attr WiFiLED webCmd RGB
attr WiFiLED whitePoint 1, 0.75, 0.25
attr WiFiLED widgetOverride RGB:colorpicker,RGB
Besteht hier im Forum Interesse an diesem WLAN-RGB-Controller? Ich habe noch einen kleinen Bestand an bestückten und vorprogrammierten Platinen und werde einige davon entbehren können.
Stückpreis: 9,- € zzgl. Brief- oder Paketporto.
Zitat von: locutus am 28 Februar 2016, 18:28:41
Besteht hier im Forum Interesse an diesem WLAN-RGB-Controller? Ich habe noch einen kleinen Bestand an bestückten und vorprogrammierten Platinen und werde einige davon entbehren können.
Stückpreis: 9,- € zzgl. Brief- oder Paketporto.
Hallo Locutus.
Ich hätte gerne einen fertig bestückten WLAN-RGB Controller.
Danke und Gruss Eppi
Hallo Locotus, ich würde 3 nehmen .
Gruß
Karl
Sent from my iPad using Tapatalk
ich würde 2 nehmen
kann ich später mal wieder drüber bloggen
liebe Grüsse
robin
Wieso gibst du nur 1.5A als maximalen Laststrom pro Kanal an? Du hast ja 2 Transistoren pro Kanal, die theoretisch ca. 5A das Stück können. Liegt der Grund bei der power dissipation? :-)
Ich suche eine kleine Platine, mit der ich 20m LED-Band (weiß) schalten kann ::) da wären 3-5A pro Kanal nicht schlecht...
Liefert die Firmware eigentlich eine wirklich stabile PWM oder flackert die immer wieder mal zwischendurch?
Ich frag nur, weil ich das gleiche mit der ESPEasy FW machen wollte und die PWM dort immer wieder Aussetzer zeigt - also unbrauchbar ist.
Hallo,
würde gerne auch eine platine nehmen, von mir aus auch gerne als bausatz zum selbst zusammen löten und ggf auch ohne esp8266, würde nen esp8266-12 auch passen ? bzw esp8266-07 ?
ps: zu deinem lua-scripten ich würde evtl noch 2 funktionen einfügen die probleme mit leerzeichen behebt ( in der servernode.lua ), is in der neusten version auf github online :D
Zitat von: Elektrofreak am 29 Februar 2016, 07:23:48
Wieso gibst du nur 1.5A als maximalen Laststrom pro Kanal an? Du hast ja 2 Transistoren pro Kanal, die theoretisch ca. 5A das Stück können. Liegt der Grund bei der power dissipation? :-)
Die Leiterbahnbreite und die Kupferdicke lassen keine höhere Last zu - theoretisch zumindest.
http://www.mikrocontroller.net/articles/Leiterbahnbreite
Zitat von: gMaN am 29 Februar 2016, 10:49:27
würde gerne auch eine platine nehmen, von mir aus auch gerne als bausatz zum selbst zusammen löten und ggf auch ohne esp8266, würde nen esp8266-12 auch passen ? bzw esp8266-07 ?
ESP-03 und ESP-12 sind vom Footprint her nicht zueinander kompatibel.
Zitat von: gMaN am 29 Februar 2016, 10:49:27
ps: zu deinem lua-scripten ich würde evtl noch 2 funktionen einfügen die probleme mit leerzeichen behebt ( in der servernode.lua ), is in der neusten version auf github online :D
Danke für den Hinweis, habs geändert.
Zitat von: locutus am 28 Februar 2016, 18:28:41
Leider alle vergriffen. Bitte keine Anfragen mehr!
WLAN-RGB-Controller für 5050 RGB SMD LED
Basierend auf Samsis Bastelprojekt (http://forum.fhem.de/index.php/topic,34464.0.html) ist diese Platine entstanden.
.
.
.
Kurze Beschreibung der Vorgehensweise:
Beim ersten Start des ESP8266 wird ein Access Point (die blaue LED auf der Platine leuchtet 10x kurz auf) mit der SSID SetupWiFiLED erstellt. Die Zugangsdaten des eigenen WLAN-Netzes werden im Webbrowser unter der Adresse http://192.168.4.1/ eingeben. Nach dem Speichern der Daten, startet der ESP8266 neu und versucht sich zu verbinden. Im Fehlerfall beginnt das Funkmodul wieder mit 10 Verbindungsversuchen.
In der fhem.conf wird der LED-Controller z. B. folgendermaßen definiert:
define WiFiLED WifiLight RGB LW12:192.168.1.100
attr WiFiLED colorCast 0, -20, -20, -25, 0, -10
attr WiFiLED webCmd RGB
attr WiFiLED whitePoint 1, 0.75, 0.25
attr WiFiLED widgetOverride RGB:colorpicker,RGB
Besteht hier im Forum Interesse an diesem WLAN-RGB-Controller? Ich habe noch einen kleinen Bestand an bestückten und vorprogrammierten Platinen und werde einige davon entbehren können.
Stückpreis: 9,- € zzgl. Brief- oder Paketporto.
Kann ich das WLAN auch irgendwie wieder zurück setzen, wenn ich bei der Eingabe der WLAN Parameter einen fehler gemacht habe?
Ich habe auch Schraubklemmen aufgelötet.
Kann ich den Controller auch ohne Verbindung zu einem WLAN nutzen? Aktuell habe ich FHEM mit dem SetupWLAN des Controllers verfunden, kann den Controller aber nicht über FHEM einbinden. Er bekommt kein Connect.
Wofür ist die FW Lötbrücke?
Nachdem ich den Controller jetzt in mein WLAN zuhause eingebunden habe, funktioniert er auch ohne Probleme unter FHEM.
Zitat von: gloob am 10 März 2016, 08:19:42
Wofür ist die FW Lötbrücke?
Die FW (Firmware) Lötbrücke verbindet GPIO0 mit GND – ESP8266 flash programming mode.
Hallo zusammen,
Bezogen auf das Lua Skript von eppi (Antwort #128) habe ichsucht, einen DHT22 mit FHEM kommunizieren zu lassen. Mein Problem ist, dass das ESP8266 keine Daten an FHEM sendet.
Die Verbindung zum Router funktioniert (DHCP), auch die Temperatur und die Feuchtigkeit wird ermittelt und ausgegeben. Jedoch erscheint nicht das "200 found" bzw. "302 found".
--dht_test.lua
pin = 2
bmp085.init(7, 6)
status, temp, humi, temp_dec, humi_dec = dht.read(pin)
if status == dht.OK then
-- Float firmware using this example
print("DHT Temperature:"..temp..";".."Humidity:"..humi)
elseif status == dht.ERROR_CHECKSUM then
print( "DHT Checksum error." )
elseif status == dht.ERROR_TIMEOUT then
print( "DHT timed out." )
end
tmr.alarm(0,5000, 1, function()
status, temp, humi, temp_dec, humi_dec = dht.read(pin)
print("DHT Temperature:"..temp..";".."Humidity:"..humi)
conn=net.createConnection(net.TCP, 0)
conn:on("receive", function(conn, payload) print(payload) end )
conn:connect(Port,"IP FHEM")
conn:send('GET /fhem?cmd=setreading%20DHT22temp%20state%20T:%20' ..temp.. '&XHR=1\r\n HTTP/1.1\r\nHost: www.local.lan\r\n".."Connection: keep-alive\r\nAccept: */*\r\n\r\n"')
end)
Kann mir jemand sagen, woran es liegen könnte? Oder ist es besser auf eine telnet Kommunikation bzw. MQTT umzusteigen?
Besten Dank im Voraus
Zitat von: joe.lee am 02 April 2016, 08:26:21
Hallo zusammen,
Bezogen auf das Lua Skript von eppi (Antwort #128) habe ichsucht, einen DHT22 mit FHEM kommunizieren zu lassen. Mein Problem ist, dass das ESP8266 keine Daten an FHEM sendet.
Die Verbindung zum Router funktioniert (DHCP), auch die Temperatur und die Feuchtigkeit wird ermittelt und ausgegeben. Jedoch erscheint nicht das "200 found" bzw. "302 found".
--dht_test.lua
pin = 2
bmp085.init(7, 6)
status, temp, humi, temp_dec, humi_dec = dht.read(pin)
if status == dht.OK then
-- Float firmware using this example
print("DHT Temperature:"..temp..";".."Humidity:"..humi)
elseif status == dht.ERROR_CHECKSUM then
print( "DHT Checksum error." )
elseif status == dht.ERROR_TIMEOUT then
print( "DHT timed out." )
end
tmr.alarm(0,5000, 1, function()
status, temp, humi, temp_dec, humi_dec = dht.read(pin)
print("DHT Temperature:"..temp..";".."Humidity:"..humi)
conn=net.createConnection(net.TCP, 0)
conn:on("receive", function(conn, payload) print(payload) end )
conn:connect(Port,"IP FHEM")
conn:send('GET /fhem?cmd=setreading%20DHT22temp%20state%20T:%20' ..temp.. '&XHR=1\r\n HTTP/1.1\r\nHost: www.local.lan\r\n".."Connection: keep-alive\r\nAccept: */*\r\n\r\n"')
end)
Kann mir jemand sagen, woran es liegen könnte? Oder ist es besser auf eine telnet Kommunikation bzw. MQTT umzusteigen?
Besten Dank im Voraus
Hi
Hast du dein FHEM-Web durch ein passwort geschütz?
Alternativ kann du auch telnet verwenden, siehe Beispiel auf meinem Github, jedoch nicht mit dem Ds18b20.
https://github.com/eppi72/Projekte/tree/master/ESP8266/FHEM
Gruss eppi
Nein, Passwortschutz ist derzeit nicht drin.
Zitat von: eppi am 02 April 2016, 13:22:07
Hi
Hast du dein FHEM-Web durch ein passwort geschütz?
Alternativ kann du auch telnet verwenden, siehe Beispiel auf meinem Github, jedoch nicht mit dem Ds18b20.
https://github.com/eppi72/Projekte/tree/master/ESP8266/FHEM
Gruss eppi
Hallo eppi,
Wie hast du das ganze in FHEM integriert. Zu dem HTTP finde ich jede Menge, aber keine Info, wie ich das ESP8266 via Telnet in FHEM integrieren kann.
Zitat von: joe.lee am 15 April 2016, 13:29:24
Hallo eppi,
Wie hast du das ganze in FHEM integriert. Zu dem HTTP finde ich jede Menge, aber keine Info, wie ich das ESP8266 via Telnet in FHEM integrieren kann.
Einfach einen dummy anlegen mit dem namen, den du im lua vegeben hast. Du solltest das auch im Eventmonitor sehen. Wenn der Esp dann die Werte sendet, siehst du diese im reading des Dummy.
Klappt leider nicht. Weder mit dem Http noch dem Telnet. Ist es egal, auf welchem Port (7072 Telnet, 8083, 8084, 8085) das läuft oder behindert irgendein Dienst ggf. den Empfang?
Muss ich der Fritzbox noch was mitteilen (Teilnehmer dürfen bereits miteinandet kommunizeren)? Der FHEM Server läuft auf einem Raspberry hinter der Fritzbox.
Wenn ich den Befehl per Http Befehl im Browser eingebe, sehe ich den Wert in FHEM. Daher sollte in FHEM alles richtig eingestellt sein.
Zusätzlich habe ich mal die Kommunikation mit der Fritzbox aufgezeichnet und sehe, dass das ESP8266 dem RPI irgendwas sendet (Sender- und Empfänger-IP sichtbar). Aber vom ESP empfange ich nichts.
Gibt es noch irgendeine Idee?
Ich verkaufe noch den letzten WLAN-RGB-Controller (https://forum.fhem.de/index.php/topic,28905.msg417438.html#msg417438) für 9,- € zzgl. Versand. Also wenn noch jemand Interesse hat dann bitte hier melden!
Da ich schon 2 Stück habe würde ich auch noch das letzte nehmen.
Hallo,
basierend auf der IRremote ESP8266 Library (https://github.com/markszabo/IRremoteESP8266) ist diese Infrarot-Fernbedienung entstanden.
Das IR-WLAN-Gateway ist als einfache Infrarot-Fernbedienung nutzbar und unterstützt zahlreiche IR-Protokolle sowie Produkte vieler Hersteller:
- NEC
- Sony
- Panasonic
- JVC
- Samsung
- Sharp
- Dish
- Wynter
- RC5/RC6
Hardware (weiße Platine):
ESP8266 ESP-12E WLAN-Modul
2 IR-Dioden
IR-Empfänger
4 Taster
- S1 am GPIO5
- S2 am GPIO12
- S3 am GPIO13
- S4 am GPIO14
Programmierschnittstelle für USB zu TTL-Wandler mit 3,3V-Logik
FLASH Jumper
USB mini Typ B Buchse zur Spannungsversorgung
Software:
Arduino core for ESP8266 WLAN chip (https://github.com/esp8266/Arduino)
IRremote ESP8266 Library (https://github.com/markszabo/IRremoteESP8266)
Features:
HTTP-Webserver auf Port 80
Senden von IR-Befehlen vom Browser aus über PC, Tablet oder Smartphone
OTA Update (http://esp8266.github.io/Arduino/versions/2.0.0/doc/ota_updates/ota_updates.html) über Webbrowser unter: http://<ip-adresse>/update
Fernsteuerung mit NetIO App (http://netio.davideickhoff.de/de/)
Integration in FHEM möglich. Bsp.:
define irCommand dummy
attr irCommand room ESP8266
attr irCommand webCmd PhilipsStandby
define myNotify notify irCommand:PhilipsStandby { GetHttpFile("192.168.1.100:80", "/ir?code=1356&bits=12&protocol=RC5") }
Funktionsweise:
Zum Senden der IR-Codes wird der hier angehängte ESP8266_IRremote Arduino Sketch benötigt.
Vor dem Upload ist es zwingend erforderlich, diese Daten zu bearbeiten:
// WLAN data
const char* ssid = "mySSID";
const char* password = "myPASS";
// static IP
IPAddress ip(192,168,1,100);
IPAddress gateway(192,168,1,1);
IPAddress subnet(255,255,255,0);
Für das IR-WLAN-Gateway wählen wir aus Werkzeuge -> Board: "Generic ESP8266 Module" und legen die folgenden Optionen fest:
Flash Mode: QIO
Flash Frequency: 40MHz
CPU Frequency: 80MHz
Flash Size: 4M (1M SPIFFS)
Debug Port: Disabled
Debug Level: None
Reset Method: nodemcu
Upload Speed: 115200
Port: COM*
Die Hardware flashen:
1. Jumper auf beide Stiftkontakte J1 (FLASH) setzen.
2. IR-Gateway über die 6-pol. Programmierschnittstelle an seriellen Adapter anschließen und mit Spannung versorgen.
3. Programm aus der Arduino-IDE hochladen.
4. Spanungsversorgung trennen und Jumper von J1 entfernen.
Beim ersten Start des ESP8266 wird ein Access Point mit der SSID IR-Gateway-AP erstellt. Die Zugangsdaten des eigenen WLAN-Netzes werden im Webbrowser unter der Adresse http://192.168.4.1/ eingeben. Nach dem Speichern der Daten, startet der ESP8266 neu und versucht sich mit dem WLAN-Netz zu verbinden. Sobald das IR-Gateway sich an dem WLAN anmelden konnte, stellt es auf einer IP-Adresse den Port 80 zur Verfügung, über den IR-Befehle abgesetzt werden können.
So werden über HTTP-Requests IR-Befehle an URL abgesetzt:
http://<IP-Adresse>/ir?code=***&bits=**&protocol=*
Bsp. Standby Befehl für mein Philips Hi-Fi System:
http://192.168.1.100/ir?code=1356&bits=12&protocol=RC5
Dabei ist zu beachten, dass der IR-Code als Dezimalzahl (http://www.binaryhexconverter.com/hex-to-decimal-converter) gesendet wird.
Hier z. B. der Dezimalwert "1356", der sich aus dem HEX-Wert "54C" ergibt. Den Wert "54C" gibt der Dekoder beim Betätigen der Standby Taste meiner Philips Fernbedienung aus.
IR-Codes dekodieren:
Dazu wird die Platine über die 6-pol. Programmierschnittstelle mit einem USB zu TTL-Wandler verbunden. Erlaubt ist nur ein serieller Wandler mit 3,3 V Logik.
Nun lassen sich in der Arduino IDE unter Werkzeuge -> Serieller Monitor IR-Codes dekodieren. Die Baudrate beträgt 9600.
Ausgabe im seriellen Monitor, Bsp. Standby Befehl für mein Philips Hi-Fi System:
Decoded RC5: 54C (12 bits)
Raw (18): 950 -850 1850 -1800 1850 -1750 1850 -1750 1850 -850 950 -1750 1000 -850 1900 -850 950
UPDATE 25.05.2017
IR-WLAN-Gateway Ver. 1.1 (grüne Platine)
Wichtigste Änderungen und Neuerung im Überblick:
- Debugg LED D3 am TXD Port des ESP8266
- Netzteilkondensator C2 durch kompakte SMD Bauart ersetzt
- weitere IR-Protokolle (AIWA, Coolix, Denon, Mitsubishi, RCMM, Sherwood) hinzugefügt
- IRrecvDump (https://github.com/markszabo/IRremoteESP8266/tree/master/examples/IRrecvDump) implementiert
- WiFiManager (https://github.com/tzapu/WiFiManager) hinzugefügt
Das Bearbeiten der Zugangsdaten und das anschließende Hochladen des Sketches ist in der Ver. 1.1 nicht mehr erforderlich. Das IR-WLAN-Gateway ist dank des WiFiMangers sofort einsatzbereit.
UPDATE 01.07.2017
IR-WLAN-Gateway Firmware Ver. 3.0 ist hier (https://forum.fhem.de/index.php/topic,28905.msg654558.html#msg654558) verfügbar.
- Simple URL zum Senden von IR-Daten
- IR-Codes im Webbrowser dekodieren
- IR-Codes passwortgeschützt senden
- JSON-Funktionalität
- IR-Senden mit IFTTT (https://ifttt.com/) und Amazon Echo (Alexa)
- Host Name, Port und Passwort im WiFiManager (https://github.com/tzapu/WiFiManager) konfigurierbar
- Taster S4 versetzt das Gateway in den Access Point Modus.
- OTA Update (http://esp8266.github.io/Arduino/versions/2.0.0/doc/ota_updates/ota_updates.html) über Webbrowser
Verfügbarkeit und Preise:
Ich biete die Geräte im Marktplatz zum Kauf an.
Würdest du vielleicht den Schaltplan und die Daten zum selber bestellen der Platine zur Verfügung stellen?
Der Schaltplan würde mich auch interessieren, bzw. die Board Layouts, dann würde ich mir mal ein Platinchen ätzen.
/Daniel
Gerberdaten für ITEAD Studio (https://www.itead.cc/open-pcb/pcb-prototyping/2layer-green-pcb-5cm-x-5cm-max.html).
Ein paar unbestückte Platinen habe ich noch rumliegen. Stückpreis 2,- € zzgl. Versandkosten.
Die Verwendung der Daten für kommerzielle Zwecke, Herstellung oder gewerblichen Vertrieb ist untersagt.
Also ich hätte Interesse an 2 Platinen.
Gesendet von iPhone mit Tapatalk
Hallo Locotus,
wenn noch Möglich hätte ich gerne :
1x fertig bestückten WLAN-RGB Controller.
1x Sensor mit dem ESP8266 (Wi07c) WLAN-Funkmodul.
1x IR WiFi Gateway
Danke und Gruß aus Münster.
toensi
Zitat von: locutus am 18 Juli 2016, 16:24:23
Gerber für ITEAD Studio (https://www.itead.cc/open-pcb/pcb-prototyping/2layer-green-pcb-5cm-x-5cm-max.html).
Ein paar unbestückte Platinen habe ich noch rumliegen. Stückpreis 2,- € zzgl. Versandkosten.
Hast du vielleicht eine BOM von den Teilen? Ich könnte es auch aus dem Schaltplan raussuchen, aber vielleicht hast du ja etwas.
Nö, aber bevor du die falschen Teile bestellst ...
1x 39 Ohm 0204
1x 1k5 0204
2x 100 Ohm 0204
2x 2k2 0204
3x 10k 0204
1x 10µF 35V
1x 470µ 16V
3x 100nF RM 2.5
4x 100nF 0603
1x BC337
1x AMS1117 3.3
1x TSOP4838
2x TSAL6200
1x ESP12
1x Mini-USB Einbaubuchse (http://www.pollin.de/shop/dt/OTY0ODQ1OTk-/Bauelemente_Bauteile/Mechanische_Bauelemente/Steckverbinder_Klemmen/Mini_USB_Einbaubuchse_90_.html)
4x 2 Pin Momentary Push Button Tactile Tact Switches 6 x 6 x 5mm (http://www.ebay.de/)
1x Stiftleiste 2-pol. RM 2.00
1x Jumper RM 2.00
Huhu,
was mache ich denn falsch?
...\ESP8266_IRremote\ESP8266_IRremote.ino:6:29: fatal error: IRremoteESP8266.h: No such file or directory
#include <IRremoteESP8266.h>
^
compilation terminated.
exit status 1
Fehler beim Kompilieren für das Board Generic ESP8266 Module.
Das File "IRremoteESP8266.h" befindet sich aber im Ordner :'(
Welche Entwicklungsumgebung nutzt Du und wo befindet sich, Dateipfad, die Header-Datei.
Grüße Jörg
Gesendet von iPad mit Tapatalk
Zitat von: JoWiemann am 08 September 2016, 14:39:49
Welche Entwicklungsumgebung nutzt Du und wo befindet sich, Dateipfad, die Header-Datei.
Arduino 1.6.8 hab ich zum bespielen
Verzeichnis?
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>
#include <ESP8266HTTPUpdateServer.h>
#include <IRremoteESP8266.h>
// WLAN data
const char* ssid = "mySSID";
const char* password = "myPASS";
// static IP
IPAddress ip(192,168,1,100);
IPAddress gateway(192,168,1,1);
IPAddress subnet(255,255,255,0);
MDNSResponder mdns;
ESP8266WebServer httpServer(80);
ESP8266HTTPUpdateServer httpUpdater;
IRsend irsend(4); // an IR emitter led is connected to GPIO pin 4
void handleRoot() {
httpServer.send(200, "text/html", "<html><head><title>ESP8266 IRremote</title></head><body>Hello from ESP8266, you can send IR signals from here. </br>Please specify command! </br>Form: <p>/ir?code=***&bits=**&protocol=*</p></body></html>");
}
void handleIr(){
String codestring=httpServer.arg("code");
String protocol=httpServer.arg("protocol");
String bitsstring=httpServer.arg("bits");
String webOutput = "Code: "+codestring+"; Bits: "+bitsstring+"; Protocol: "+protocol+"";
if ((codestring != "")&&(bitsstring != "")){
unsigned long code = codestring.toInt();
int bits = bitsstring.toInt();
if (protocol == "NEC"){
httpServer.send(200, "text/html", webOutput);
irsend.sendNEC(code, bits);
}
else if (protocol == "LG"){
httpServer.send(200, "text/html", webOutput);
irsend.sendLG(code, bits);
}
else if (protocol == "Whynter"){
httpServer.send(200, "text/html", webOutput);
irsend.sendWhynter(code, bits);
}
else if (protocol == "Sony"){
httpServer.send(200, "text/html", webOutput);
irsend.sendSony(code, bits);
}
else if (protocol == "RC5"){
httpServer.send(200, "text/html", webOutput);
irsend.sendRC5(code, bits);
}
else if (protocol == "RC6"){
httpServer.send(200, "text/html", webOutput);
irsend.sendRC6(code, bits);
}
else if (protocol == "Panasonic"){
httpServer.send(200, "text/html", webOutput);
irsend.sendPanasonic(code, bits);
}
else if (protocol == "Samsung"){
httpServer.send(200, "text/html", webOutput);
irsend.sendSAMSUNG(code, bits);
}
else if (protocol == "SharpRaw"){
httpServer.send(200, "text/html", webOutput);
irsend.sendSharpRaw(code, bits);
}
else if (protocol == "Sharp"){
httpServer.send(200, "text/html", webOutput);
irsend.sendSharp(code, bits);
}
else if (protocol == "DISH"){
httpServer.send(200, "text/html", webOutput);
irsend.sendDISH(code, bits);
}
else if (protocol == "JVC"){
httpServer.send(200, "text/html", webOutput);
irsend.sendJVC(code, bits,0); // JVC protocol repeats by skipping the header not by sending a separate code value. Change the repeat argument from 0 to 1.
}
else {
httpServer.send(200, "text/html", "Protocol not implemented!");
}
}
else {
httpServer.send(200, "text/html", "Missing code or bits!");
}
}
void handleNotFound(){
httpServer.send(404, "text/plain", "404");
}
void setup(void){
irsend.begin();
Serial.begin(9600);
WiFi.begin(ssid, password);
WiFi.config(ip, gateway, subnet);
Serial.println("");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.print("Connected to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
if (mdns.begin("esp8266", WiFi.localIP())) {
Serial.println("MDNS responder started");
}
httpServer.on("/", handleRoot);
httpServer.on("/ir", handleIr);
httpServer.onNotFound(handleNotFound);
httpUpdater.setup(&httpServer);
httpServer.begin();
Serial.println("HTTP server started");
}
void loop(void){
httpServer.handleClient();
}
Die Frage war, wo ist die ESP8266_IRemote.h physisch abgelegt. Existiert sie überhaupt.
Kann sie die Arduino IDE überhaupt finden:
- im Verzeichnis der Programm ino?
- im Library Verzeichnis der Arduino IDE?
Ohne die Infos, leider keine Hilfe.
Grüße Jörg
Gesendet von iPad mit Tapatalk
Glaub ich gerne... Problem ist nur das ich gerade mal angefangen habe einen UNO zu bespielen, und mehr Grundwissen nicht verfügbar ist.
Ich habe beide Pakete heruntergeladen und in das selbe verzeichnis eingespielt.
Schau mal im Anhang, so sieht das aktuell aus
Siehst Du die ESP8266_IRemote.h oben in den Reitern?
Grüße Jörg
Gesendet von iPad mit Tapatalk
ne, nur die IRremoteESP8266.h
Sorry, der Dateiname ist von mir falsch gelesen worden. Mach doch mal aus <IRremoteESP8266.h> "IRremoteESP8266.h".
Grüße Jörg
Gesendet von iPad mit Tapatalk
Hab ich, der Fehler ändert sich in
sketch\Arduino-master\libraries\GDBStub\src\internal\gdbstub-entry.S:12:35: fatal error: xtensa/config/specreg.h: No such file or directory
#include <xtensa/config/specreg.h>
Jetzt bin ich raus. Da ich nun nicht mehr sehen kann in welcher Source diese Headerdatei herangezogen wird.
Grüße Jörg
Gesendet von iPad mit Tapatalk
Ich sowieso :D
Wenn mir vielleicht einfach jemand den Kram zusenden würde, ich muss da nix groß ändern oder rumbasteln. Aufspielen und soll laufen :P
Ich bin mir nicht sicher ob ich das überhaupt alles richtig gemacht habe wie das normalerweise der Fall ist.
Schau Dir doch bitte mal folgenden Thread an: https://forum.fhem.de/index.php?topic=55728.0
Da ist alles ziemlich gut beschrieben.
Grüße Jörg
Gesendet von iPad mit Tapatalk
Ich gebs auf ...
Mal schauen ob mir der Erbauer antwortet und mir helfen kann. Ich habe jetzt auch mal die geforderten Files mal wild überall hinkopiert. Nimmt nichts an.
Eine Suchmaschinenanfrage zum Thema "arduino library installieren" liefert folgendes Ergebnis zurück:
https://www.arduino.cc/en/Guide/Libraries
Und zum Thema Arduino core for ESP8266 ...
https://github.com/esp8266/Arduino#installing-with-boards-manager
Zitat von: locutus am 08 September 2016, 21:39:35
Eine Suchmaschinenanfrage zum Thema "arduino library installieren" liefert folgendes Ergebnis zurück:
https://www.arduino.cc/en/Guide/Libraries
Das war mir nicht bewusst, habe aber das File "IRremoteESP8266-master.zip" nun eingebunden bekommen.
Zitat von: locutus am 08 September 2016, 21:39:35
Und zum Thema Arduino core for ESP8266 ...
https://github.com/esp8266/Arduino#installing-with-boards-manager
Das konnte ich nicht einbinden. Ich habe ein File von Git namens "Arduino-master.zip". Was tue ich damit wirklich? Wenn ich sie in das Verzeichnis entpacke meckert er andauernd weil irgendwelche Files nicht gefunden werden.
Zitat von: accessburn am 08 September 2016, 22:13:29
Das konnte ich nicht einbinden. Ich habe ein File von Git namens "Arduino-master.zip". Was tue ich damit wirklich? Wenn ich sie in das Verzeichnis entpacke meckert er andauernd weil irgendwelche Files nicht gefunden werden.
Hier http://randomnerdtutorials.com/how-to-install-esp8266-board-arduino-ide/ steht es, wie es geht.
Sprich:
-
http://arduino.esp8266.com/stable/package_esp8266com_index.json
im in den Einstellungen eintragen
- im Board Manager das Paket installieren lassen
Gruß PeMue
Bin jetzt nicht am Platz, aber das hatte ich getan. Das Board konnte ich auswählen und habe alles eingestellt wie beschrieben. Aber schon beim "Kompilieren und testen" tritt dieser Fehler auf.
So, genau so gemacht, aber....
Arduino: 1.6.8 (Windows 10), Board: "Generic ESP8266 Module, Serial, 80 MHz, 40MHz, QIO, 115200, 4M (1M SPIFFS), nodemcu, Disabled, None"
Build-Optionen wurden verändert, alles wird neu kompiliert
sketch\Arduino-master\libraries\GDBStub\src\internal\gdbstub-entry.S:12:35: fatal error: xtensa/config/specreg.h: No such file or directory
#include <xtensa/config/specreg.h>
^
compilation terminated.
Mehrere Bibliotheken wurden für "IRremoteESP8266.h" gefunden
Benutzt: C:\Users\...\Documents\Arduino\libraries\IRremoteESP8266
Nicht benutzt: C:\Users\...\Documents\Arduino\libraries\IRremoteESP8266-master
sketch\Arduino-master\libraries\GDBStub\src\internal\gdbstub-entry.S:12:35: fatal error: xtensa/config/specreg.h: No such file or directory
#include <xtensa/config/specreg.h>
^
compilation terminated.
Mehrere Bibliotheken wurden für "IRremoteESP8266.h" gefunden
Benutzt: C:\Users\...\Documents\Arduino\libraries\IRremoteESP8266
Nicht benutzt: C:\Users\...\Documents\Arduino\libraries\IRremoteESP8266-master
exit status 1
Fehler beim Kompilieren für das Board Generic ESP8266 Module.
exit status 1
Fehler beim Kompilieren für das Board Generic ESP8266 Module.
Exception in thread "Thread-51" java.util.ConcurrentModificationException
at java.util.LinkedList$LLSpliterator.forEachRemaining(LinkedList.java:1239)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
at cc.arduino.contributions.libraries.LibrariesIndexer.rescanLibraries(LibrariesIndexer.java:123)
at cc.arduino.contributions.libraries.LibrariesIndexer.setLibrariesFolders(LibrariesIndexer.java:102)
at processing.app.BaseNoGui.onBoardOrPortChange(BaseNoGui.java:832)
at processing.app.Base.onBoardOrPortChange(Base.java:1245)
at processing.app.Editor$DefaultExportHandler.run(Editor.java:2410)
at java.lang.Thread.run(Thread.java:745)
Lösche mal beide IR Bibliotheken und installieren eine wieder neu.
Getan. Hat nichts geändert.
Was mir noch merkwürdig vor kommt ist das das Gerät weder im Gerätemanager in Windows, noch in der Software angezeigt, siehe Screen unten rechts im Bild. Auch kann ich den Port nicht ändern, der Punkt ist ausgegraut.
Ich habe nun mal dieses "Debug Level" von None auf All gestellt.
Nun passiert tatsächlich mehr. Trotzdem bleibt es irgendwann hängen mit folgendem Fehler:
Build-Optionen wurden verändert, alles wird neu kompiliert
Der Sketch verwendet 261.235 Bytes (25%) des Programmspeicherplatzes. Das Maximum sind 1.044.464 Bytes.
Globale Variablen verwenden 38.760 Bytes (47%) des dynamischen Speichers, 43.160 Bytes für lokale Variablen verbleiben. Das Maximum sind 81.920 Bytes.
error: Failed to open COM11
error: espcomm_open failed
error: espcomm_upload_mem failed
... aber compiliert hat er. Jetzt muss nur noch der ESP in den Flah- Modus ;)
Achso, das heißt er kann ohne den Flashmodus garkeine antwort geben?
// Keine Veränderung... Nix auf COM11
Doch, hier ist das Problem, dass COM-Port nicht da ist. Entweder ist der falsche Port ausgewählt, oder sind keine Treiber installiert.
Okay, das klingt schonmal gut :-) Problem haben wir, nun... Lösung :D
Den Port kann ich nicht auswählen, das Feld ist ausgegraut. Treiber... Welchen, woher? Tausend Fragen...
Wann gibts Kuchen? :o ;D
Ausgegraut weil kein Port verfügbar ist. Logisch.
Treiber... Ich habe nicht den ganzen tread gelesen, was hast du für Hardware? NodeMCU? WeMos? Schau mal, welcher UART Chip drauf ist.
Kuchen? Gute Idee, wollte mich eh in irgendeinem Café fur die nächsten Stunden einquartieren ;D
Das übersteigt eindeutig meinen Horizont :-X
Vielleicht kannst du mal schauen, hier steht glaube ich das nötigste: https://forum.fhem.de/index.php/topic,28905.msg466351.html#msg466351 (https://forum.fhem.de/index.php/topic,28905.msg466351.html#msg466351)
Hm. Die usb Buchse ist da nur für Stromversorgung. Du benötigst ein Usb-to-TTL umsetzter. Wichtig! : für 3,3v.
Edit: auf einem bild ist eine rote Platine aufgesteckt. Das ist er. Wird nur zum flashen benötigt. Gibt's über ebay odet AliExpress für paar euro.
Ja leck mich doch am a**** ;D
Also brauch ich das Ding. Dann besorg ich das mal. Vielen Dank, endlich einen Schritt weiter :)
Aber achte unbedingt auf 3,3V!
Darf ich hier Amazon Links posten?
https://www.amazon.de/gp/product/B01J7GV62I/ref=ox_sc_act_title_1?ie=UTF8&psc=1&smid=A1WC7UHL21E5DT (https://www.amazon.de/gp/product/B01J7GV62I/ref=ox_sc_act_title_1?ie=UTF8&psc=1&smid=A1WC7UHL21E5DT)
Der kann beides durch Jumpern.
Dann versuche ich mal mein Glück und warte mal bis das Ding ankommt.
Vielen Dank erstmal für die Hile :-* ;D
Sieht passend aus.
Aber Vorsicht. Es werden nur die Signalleitungen auf 3,3V gesetzt. Der VCC Pin bleibt bei 5V, also nicht zur Versorgung des ESP8266 nehmen.
Grüße Jörg
Du meinst ich darf nur den USB-Port des Umsetzers nehmen, den vom ESP nicht anschließen?
Der Hinweis betrifft die Pin-Leiste des Umsetzers. Dort sind GND, VCC und die Signalleistungen (TX, RX, usw.) zugänglich. Es haben immer wieder Anwender GND, VCC der Pin-Leiste als Stromversorgung für den ESP beim Flashen benutzt und sich dann gweundert, dass der ESP gestorben ist, obwohl sie den Umsetzer auf 3,3 V gejumpert haben. Also am Besten den ESP, wenn vorhanden, über seinen USB Port versorgen und nur GND und die Signalleitungen zwischen Umsetzer und ESP anschließen. Hat der ESP keinen USB Port, dann muss noch ein DC/DC Wandler 5V -> 3.3V zwischen Umsetzer und ESP geschaltet werden.
Grüße Jörg
Okay, das ist gut zu wissen, das heißt ich trenne den 3,3 und den GND Pin ab, das er erst garnicht an den ESP kommt, versorge den ESP über ein externes USB-Netzgerät und das USB-Kabel zum Flashen am Umsetzer.
Böse Sache, wer erfindet sowas :D
GND muss verbunden bleiben. Sonst haben die Signalleitungen keine Bezugsmasse.
Zitat von: accessburn am 10 September 2016, 16:04:22
Böse Sache, wer erfindet sowas :D
Schaust Du hier (https://forum.fhem.de/index.php/topic,51329.msg432532.html#msg432532): Da hat ein 8) 8) 8) überaus hilfsbereiter 8) 8) 8) Forumsteilnehmer eine Platine für einen USB-seriell Wandler entwickelt, der auch einen 3,3 V Spannungsregler drauf hat ;D
Ich habe endlich die Zeit gefunden, den "IR WLAN Gateway" in Betrieb zu nehmen, leider kann ich mein Pioneer AV Receiver nicht steuern.
Flashen des Gateways funktioniert für den Sende- und auch den Einlesesketch.
Eingelesen habe ich dann die lauter und leiser Taste und das Ergebnis so auch in einer IR-Code-Library gefunden:
http://lirc.sourceforge.net/remotes/pioneer/VSX9300
Zitat
KEY_VOLUMEUP 0xA55A50AF # Was: VOL+
KEY_VOLUMEDOWN 0xA55AD02F # Was: VOL-
Dezimal ergibt das:
Zitat
Lauter: 2774159535
Leiser: 2774192175
Beim Aufrufen von
http://192.168.178.210/ir?code=2774159535&bits=32&protocol=RC5
bzw.
http://192.168.178.210/ir?code=2774192175&bits=32&protocol=RC5
erscheint auf der Weboberfläche alles "richtig", das blaue Licht leuchtet am Gateway kurz auf, aber am Receiver tut sich nix.
(Beim Auslesen erhalte ich als Protokoll im Gegensatz zur o.g. Library "NEC", habe es aber mit beiden versucht).
Im Sourcecode von ESP8266_IRremote.ino habe ich nun folgendes gefunden:
[...]
String codestring=httpServer.arg("code");
[...]
unsigned long code = codestring.toInt();
[...]
Kann das ein Grund sein? Also das der Code mit 32 Bit nicht per "toInt()" verarbeitet werden kann?Ich hab mir Code mal nach der toInt() ausgeben lassen, das ist dann schon die komplette Zahl.
Also weiter - warum tut das so nicht? Gibts irgend ein Testszenario?
Fürs aufzeigen weiterer möglicher Fehlerquellen oder gar Lösungsvorschlägen wäre ich dankbar.
Zitat von: joe.lee am 22 April 2016, 21:42:24
Klappt leider nicht. Weder mit dem Http noch dem Telnet. Ist es egal, auf welchem Port (7072 Telnet, 8083, 8084, 8085) das läuft oder behindert irgendein Dienst ggf. den Empfang?
Muss ich der Fritzbox noch was mitteilen (Teilnehmer dürfen bereits miteinandet kommunizeren)? Der FHEM Server läuft auf einem Raspberry hinter der Fritzbox.
Wenn ich den Befehl per Http Befehl im Browser eingebe, sehe ich den Wert in FHEM. Daher sollte in FHEM alles richtig eingestellt sein.
Zusätzlich habe ich mal die Kommunikation mit der Fritzbox aufgezeichnet und sehe, dass das ESP8266 dem RPI irgendwas sendet (Sender- und Empfänger-IP sichtbar). Aber vom ESP empfange ich nichts.
Gibt es noch irgendeine Idee?
Hi Joe.Lee,
habe genau das gleiche Problem wie du im April beschrieben hast.
Bei mir klappt die Verbindung zu FHEM auch nicht. Bekomme auch keine Fehlermeldungen etc.
Hast du es mittlerweile lösen können ?
Wäre toll wenn du mir eventuell helfen könntest.
Mfg Stefan
Zitat von: locutus am 26 Juni 2016, 21:55:13
Hallo,
basierend auf der IRremote ESP8266 Library (https://github.com/markszabo/IRremoteESP8266) ist diese Infrarot-Fernbedienung entstanden.
Das IR WLAN Gateway ist als einfache Infrarot-Fernbedienung nutzbar und unterstützt zahlreiche IR-Protokolle sowie Produkte vieler Hersteller.
Hardware:
ESP8266 ESP-12/-E WLAN-Modul
3,3V LDO-Spannungsregler
2 IR-Dioden
IR-Empfänger
4 Taster
- S1 an GPIO5
- S2 an GPIO12
- S3 an GPIO13
- S4 an GPIO14
Programmierschnittstelle für USB zu TTL-Wandler mit 3,3V-Logik
FLASH Jumper
USB mini Typ B Buchse zur Spannungsversorgung
Da ich gerade die Platinen aufbaue habe ich ein paar Fragen:
1. C6-C9 sind doch nur für die Buttons da oder? Wenn ich keine Buttons habe brauche ich die Kondensatoren nicht?
2. Wie werden die Buttons belegt? Woher weiß der ESP was welcher Button machen soll?
3. Sind die Buttons eignetlich aktuell im Sketch eingebunden? Ich habe nichts gesehen.
Zitat von: laberlaib am 21 Oktober 2016, 11:54:22
Kann das ein Grund sein? Also das der Code mit 32 Bit nicht per "toInt()" verarbeitet werden kann?
Ich hab mir Code mal nach der toInt() ausgeben lassen, das ist dann schon die komplette Zahl.
Also weiter - warum tut das so nicht? Gibts irgend ein Testszenario?
Fürs aufzeigen weiterer möglicher Fehlerquellen oder gar Lösungsvorschlägen wäre ich dankbar.
Die IRremoteESP8266 Library ist leider verbugt. Einige Hersteller setzen voraus, dass ihr IR-Code mehrmals hintereinander gesendet wird.
Siehe: https://github.com/markszabo/IRremoteESP8266/issues
Zitat von: gloob am 11 November 2016, 07:42:12
Da ich gerade die Platinen aufbaue habe ich ein paar Fragen:
1. C6-C9 sind doch nur für die Buttons da oder? Wenn ich keine Buttons habe brauche ich die Kondensatoren nicht?
R6 ist dann auch überflüssig. R und C entprellen Taster.
Zitat2. Wie werden die Buttons belegt? Woher weiß der ESP was welcher Button machen soll?
3. Sind die Buttons eignetlich aktuell im Sketch eingebunden? Ich habe nichts gesehen.
Die Tasten sind nicht belegt und frei verfügbar.
Gibt es noch Leerplatinen?
Gesendet von meinem Toaster.
Gerberdaten für Leiterplattenherstellung: https://forum.fhem.de/index.php/topic,28905.msg473356.html#msg473356
Hallo zusammen,
ich möchte euch die Version 1.1 des LW12 WLAN-RGB-Controllers vorstellen.
Die wichtigsten Änderungen im Überblick:
- neues Platinendesign
- zwei zusätzliche IO-Ports: GPIO4 und GPIO5
- ESP-03 durch ESP-13 ersetzt
- Si4936CDY durch Si9410DY ersetzt
- LUA Code durch Arduino C/C++ ersetzt
- OTA Update (http://esp8266.github.io/Arduino/versions/2.0.0/doc/ota_updates/ota_updates.html) über Webbrowser unter: http://<IP-Adresse>/update
- Arduino core for ESP8266 WiFi chip (https://github.com/esp8266/Arduino)
- WiFiManager (https://github.com/tzapu/WiFiManager)
Die Vorgehensweise ist identisch wie beim LW12 WLAN-LED-Controller 1.0 (https://forum.fhem.de/index.php/topic,28905.msg417438.html#msg417438).
Beim ersten Start des ESP8266 wird ein Access Point (der LED-Stripe leuchtet rot auf) mit der SSID RGB-Controller-AP erstellt. Die Zugangsdaten des eigenen WLAN-Netzes werden im Webbrowser unter der Adresse http://192.168.4.1/ eingeben. Nach dem Speichern der Daten, startet der ESP8266 neu und versucht sich zu verbinden. War die Verbindung erfolgreich, leuchtet der LED-Stripe für 3 Sek. grün auf.
Bsp. für Steuerung des LW12 Controllers mit WifiLight (https://wiki.fhem.de/wiki/WifiLight):
define WiFiLED WifiLight RGB LW12:192.168.1.100
attr WiFiLED colorCast 0, -20, -20, -25, 0, -10
attr WiFiLED webCmd RGB
attr WiFiLED whitePoint 1, 0.75, 0.25
attr WiFiLED widgetOverride RGB:colorpicker,RGB
Im Anhang Gerberdaten für ITEAD Studio (https://www.itead.cc/open-pcb/pcb-prototyping/2layer-green-pcb-5cm-x-5cm-max.html) und Schaltplan für die, die selbst löten möchten.
Die Verwendung der Daten für kommerzielle Zwecke, Herstellung oder gewerblichen Vertrieb ist untersagt.
Verfügbarkeit und Preise
Ich biete die Geräte im Marktplatz zum Kauf an.
Hallo zusammen,
in diesem Beitrag zeige ich euch, wie ihr den RGB-Controller Ver. 1.1 zum MQTT-Device (http://fhem.de/commandref.html#MQTT_DEVICE) umfungiert und ggf. mit einen DHT22 Luftfeuchte- und Temperatursensor bestückt.
Ladet euch hier den Arduino Sketch für den RGB-Controller herunter.
Auf der Platine sind zwei zusätzliche Ports IO4 und IO5 verfügbar. Im Sketch wird IO4 für den Datentransfer zwischen ESP8266 und DHT22 verwendet. Der DHT22 Sensor wird wie folgt mit den frei verfügbaren Ports des RGB-Controllers verbunden:
DHT22 <-> RGB-Controller
VCC <-> 3V3
DATA <-> IO4
GND <-> GND
MQTT-Broker und RGB-Controller als MQTT-Device in FHEM anlegen:
define localMQTT MQTT 127.0.0.1:1883
attr localMQTT keep-alive 60
define mqtt_LEDlight MQTT_DEVICE
attr mqtt_LEDlight IODev mqtt
attr mqtt_LEDlight publishSet_RGB RGB ESP_RGB_1
attr mqtt_LEDlight stateFormat state
#attr mqtt_LEDlight subscribeReading_temp /sensor/temperature
#attr mqtt_LEDlight subscribeReading_hum /sensor/humidity
attr mqtt_LEDlight webCmd RGB
attr mqtt_LEDlight widgetOverride RGB:colorpicker,RGB
attr mqtt_LEDlight retain 1
Auf dem Topic ESP_RGB_1 publishen wir immer HEX-Farbwerte und steuern somit den LED-Strip an.
Mit subscribeReading_hum und subscribeReading_temp subscriben wir zusätzlich das Topic /sensor/humidity und /sensor/temperature beim Broker.
Hallo locutus,
kennst du das parallel laufende ESP RGBWW Led Controller-Projekt?
https://forum.fhem.de/index.php/topic,48918.msg405793.html#msg405793 (https://forum.fhem.de/index.php/topic,48918.msg405793.html#msg405793)
Evtl. ist es denkbar Den Code auf deine Platine zu portieren bzw. mit Compilerswitches direkt laufbar zu machen.
Viele Grüße,
Kuzl
Ja, es ist nicht nur denkbar, sondern auch machbar. So auf Anhieb fällt mir nur ein Unterschied in der Pinbelegung (https://github.com/patrickjahns/esp_rgbww_firmware/blob/master/include/RGBWWCtrl.h) auf. Mein RGB-Controller verwendet die folgenden Ports zur Ansteuerung der MOSFET-Transistoren:
#define BLUEPIN 13
#define GREENPIN 14
#define REDPIN 12
Hallo,
ich habe das IR-Gateway von Locutus https://forum.fhem.de/index.php/topic,55013.0.html
Installation war kein Problem und ich kann per Browser anscheinend irgendwelche IR-Signale senden.
Nur meinen Panasonic TV bekomme ich nicht angesteuert.
Ich habe einen TX-L47DT50E und dazu gehört die Fernbedienung N2QAYB000715 .
Mir ist nicht klar, wo ich die richtigen Zahlen für CODE und BITS herbekomme.
Bei http://lirc.sourceforge.net/remotes/panasonic/ ist die o.g. Fernbedienung nicht aufgeführt.
Also nehme ich mal nur als Bespiel die hier :
http://lirc.sourceforge.net/remotes/panasonic/N2QAYB000010
In dem Code steht die Zeile
"bits 32"
Ist das die dezimal codierte Zahl die für BITS einzusetzen ist ?
Weiterhin steht in dem Code die Zeile
"KEY_1 0x0D000805 # Was: 1"
0D000805 (hex) => 218105861 dezimal
Zum Absetzen des IR-Signal1 "1" rufe ich also im Browser folgende Seite auf:
http://192.168.178.10/ir?code=218105861&bits=32&protocol=Panasonic
Habe ich das richtig verstanden ???
Oder anders gefragt, wie muss die Browseradresse bei mir lauten, damit per IR eine "1" gesendet wird ?
Viele Grüße
Ralf
Eigentlich sollte es so passen wie von dir beschrieben.
Du kannst ja auch mal folgende Firmware auf dem Gateway testen:
https://forum.fhem.de/index.php/topic,72950.0.html
Damit kannst du die Codes von der Fernbedienung direkt einlesen und das was im Output der Console steht, kann direkt als Aufruf im Browser genutzt werden.
Welche Printklemmen (Schrauben oder Federn) würden denn für den
LW12 WLAN-RGB-Controller passen?
Hat jemand einen Tipp für mich mit einem Link bestenfalls?
Vielen Dank.
Thomas
Zitat von: Papaloewe am 14 Juni 2017, 10:58:06
Welche Printklemmen (Schrauben oder Federn) würden denn für den
LW12 WLAN-RGB-Controller passen?
Schau mal bitte hier (https://forum.fhem.de/index.php?action=dlattach;topic=28905.0;attach=48236;image). Anschlussklemme RM 5,08 mm.
Zitat von: rasti am 14 Juni 2017, 10:32:12
Installation war kein Problem und ich kann per Browser anscheinend irgendwelche IR-Signale senden.
Nur meinen Panasonic TV bekomme ich nicht angesteuert.
Ich habe einen TX-L47DT50E und dazu gehört die Fernbedienung N2QAYB000715 .
Ich habe die IR-Gateway Firmware auf die Ver. 2.0.3 aktualisiert. In dieser Version wurde ein Bugfix für Panasonic (https://github.com/markszabo/IRremoteESP8266/pull/247) veröffentlicht.
Bitte über Webbrowser das OTA-Update durchführen.
http://<ip-adresse>/update
ZitatMir ist nicht klar, wo ich die richtigen Zahlen für CODE und BITS herbekomme.
Wie hier (https://forum.fhem.de/index.php/topic,28905.msg466351.html#msg466351) beschrieben, mit Hilfe von IRrecvDump und einem zusätzlichen USB zu TTL-Konverter.
@locutus
ich habe zwei deiner LW12 clone (Danke für den sehr schnellen Versand!), funktionieren beide prima, nur wird der ESP8266 recht warm, Anfassen ist nur kurz möglich.
Ist dies normal?
Danke und Gruß
Zitat von: jeti am 21 Juni 2017, 18:55:22
@locutus
ich habe zwei deiner LW12 clone (Danke für den sehr schnellen Versand!), funktionieren beide prima, nur wird der ESP8266 recht warm, Anfassen ist nur kurz möglich.
Ist dies normal?
Danke und Gruß
Nicht der ESP8266, sondern der Linear-Regler wird unangenehm warm. Linear-Regler, wie der hier eingebaute TS2940 (http://www.taiwansemi.com/products/datasheet/TS2940_D15.pdf), haben den Nachteil, dass die nicht benötigte Energie im Bauteil direkt in Wärme umgewandelt wird. Da Kupfer ein sehr guter Wärmeleiter ist, erwärmt sich dementsprechend die gesamte Schaltung.
Der TS2940 ist zusätzlich durch "Thermal shutdown protection" geschützt – die Schutzschaltung wird aktiviert, sobald die max. Betriebstemperatur überschritten wird.
Ich hatte mit einem getakteten Regler experimentiert. Das Konzept habe ich verworfen, da der getaktete Regler sichtbares Flackern im LED-Strip erzeugte.
Wir werden tagtäglich mit Wärmeentwicklung in Geräten konfrontiert. Nehmen diese jedoch nur indirekt, durch ein Gehäuse, wahr.
Vielleicht spendierst du dem LED-Controller ein kleines Kunststoffgehäuse mit ausreichender Belüftung?
@ locutus
vielen Dank für die Erklärung!
Ich habe noch eine herausforderung:
ein ESP8266-LW12 clone läuft wunderbar
der zweite will noch nicht ganz so:
- erster start war wie es sein sollte
- SSID und passwort eingegeben
- dann passiert nichts mehr, d.h. LEDs bleiben rot und in der console bleibt er bei
Zitat*WM: Sent config page
*WM: Handle root
*WM: Request redirected to captive portal
*WM: WiFi save
*WM: Sent wifi save page
*WM: Connecting to new AP
*WM: Connecting as wifi client...
stehen
ein weiterer Start (Programmer und Strom getrennt) bringt folgendes bild:
- serielle console bleibt leer
- Wlan wird ein ESP_0 erstellt (verschlüsselt)
- LEDs bleiben rot
den einzigen weg um dies zu beenden ist es den sketch erneut zu flashen, dann beginnt das ganze von vorne.
Wo kann hier der Fehler liegen?
Danke und Gruß
Lösch mal mit esptool (https://github.com/espressif/esptool) den kompletten Speicher:
esptool.py --port <serial-port-of-ESP8266> erase_flash
Und bitte nicht vergessen, die Lötbrücke FW zu schließen.
vielen Dank für die schnelle Antwort.
Jetzt geht's, war meine eigene Ignoranz :-[ ich war davon ausgegangen, dass die ESP8266 auch 802.11b unterstützen, aber anscheinend nicht so ohne weiteres... mit allen Standards aktiviert (am Accespoint) geht es wieder wie es soll!
Danke und Gruß
IR-WLAN-Gateway (https://forum.fhem.de/index.php/topic,28905.msg466351.html#msg466351) Firmware Ver. 2.0
Features
- Simple URL zum Senden von IR-Codes
- IR-Codes im Webbrowser dekodieren
- IR-Codes passwortgeschützt senden
- JSON-Funktionalität
- IR-Senden mit IFTTT (https://ifttt.com/) und Amazon Echo (Alexa)
- Host Name, Port und Passwort im WiFiManager (https://github.com/tzapu/WiFiManager) konfigurierbar
- Taster S4 versetzt das Gateway in den Access Point Modus
- OTA Update (http://esp8266.github.io/Arduino/versions/2.0.0/doc/ota_updates/ota_updates.html) über Webbrowser
IR-Codes erfassen
- Via Webbrowser
http://xxx.xxx.xxx.xxx:port/last
- Via serieller Monitor mit 115200 Baud
IR-Codes senden
Für das Senden einfacher Befehle stehen folgende Parameter zur Verfügung:
- pass - Passwort erforderlich, um IR-Befehl zu senden.
- code - IR-Code wie A90:SONY:12
- puls - (optional) Wiederholt ein Signal schnell. Voreinstellung 1.
- pdelay - (optional) Verzögerung zwischen Impulsen in Millisekunden. Voreinstellung 100.
- repeat - (optional) Anzahl der Sendungen. Voreinstellung 1. Nützlich für das Emulieren eines langen Tastendrucks für Funktionen wie Lautstärkeregler.
- rdelay - (optional) Verzögerung zwischen Wiederholungen in Millisekunden. Voreinstellung 1000.
Simple URL Bsp.:
http://xxx.xxx.xxx.xxx:port/msg?code=A90:SONY:12&pass=yourpass
JSON Parameter
- data - IR-Code, kann einfacher HEX-Code wie "A90" oder ein Array von int-Werten bei der RAW Übertragung sein.
- type - Art des gesendeten Signals Beispiel "SONY", "RAW" oder "Roomba" (und viele andere).
- lenght - Bitlänge, Beispiel 12. Für RAW- oder Roomba-Signale muss kein Parameter angegeben werden.
- khz - Übertragungsfrequenz in Kilohertz. Standard 38. Nur bei der Übertragung des RAW-Signals erforderlich.
Ein simples Bsp.:
http://xxx.xxx.xxx.xxx:port/json?pass=yourpass&plain=[{"type":"SONY","data":"A90","length":12}]
Beispiel-URL mit 3-Tasten als JSON-Sequenz:
http://xxx.xxx.xxx.xxx:port/json?pass=yourpass&plain=[{"type":"nec","data":"FF827D","length":32,"repeat":3,"rdelay":800},{"type":"nec","data":"FFA25D","length":32,"repeat":3,"rdelay":800},{"type":"nec","data":"FF12ED","length":32,"rdelay":1000}]
Funktionsweise
Das Gerät erstellt ein Access Point mit der SSID IRBlaster Configuration. Die Zugangsdaten des eigenen WLAN-Netzes werden im Webbrowser unter der Adresse http://192.168.4.1/ eingeben.
Ausführliche Beschreibung des Funktionsumfangs: ESP8266-HTTP-IR-Blaster (https://github.com/mdhiggins/ESP8266-HTTP-IR-Blaster)
Einschränkungen zum Original:
- kein Multiple LED Setup (https://github.com/mdhiggins/ESP8266-HTTP-IR-Blaster#multiple-led-setup)
- out Parameter wirkungslos
ACHTUNG: Die Parameter sind nicht abwärtskompatibel zu Firmware Ver. 1.x.
Vielen Dank an Michael Higgins für die Software.
Hallo,
Ich habe ja deine Software als Grundlage genommen und erweitert.
Würdest du vielleicht deine Sourcen zur Verfügung stellen, damit ich meine Änderungen wieder Einpflegen kann und wir vielleicht nur eine Software haben die auf beiden IR Gateways läuft?
Direkt Verwenden kann man die Software leider nicht, da die Pin-Belegung leicht anders ist.
Gruß
Stefan
Kurze Vorschau auf die neue IR-Gateway Firmware Ver. 3.0
- neues Webinterface. In der Übersicht werden 5 zuletzt gesendete und empfangene IR-Codes dargestellt. Detaillierte Ansicht für empfangene IR-Codes.
- NTP Client
- OTA-Update über die Arduino IDE (http://esp8266.github.io/Arduino/versions/2.0.0/doc/ota_updates/ota_updates.html#arduino-ide)
- Parameter abwärtskompatibel zu Firmware Ver. 2 (https://forum.fhem.de/index.php/topic,28905.msg652317.html#msg652317)
HINWEIS: Letzte Aktualisierung der Firmware 29.12.2017
FHEM-Modul zur Ansteuerung des IR-WLAN-Gateways:
https://forum.fhem.de/index.php/topic,80579.0.html
Ist die Software von dir?
https://github.com/mdhiggins/ESP8266-HTTP-IR-Blaster
Nein, das ist nicht mein Repository. Ich habe lediglich die Software auf bestehende Hardware adaptiert.
Passt die neue Firmware auch für ältere IR Gateways? Habe meines bei dir im Juni 2016 gekauft.
Die Firmware sollte auf allen IR Gateways laufen. Im schlimmsten Fall musst du nur die Pin-Zuordnung für den Sender und Empfänger in der .ino Datei anpassen.
Hallo,
Ich habe das IR-Gateway Firmware Ver. 3.0 von locutus erfolgreich über den Browser laufen.
Nun möchte ich einen Befehl über FHEM zb. http://192.168.178.46:80/msg?code=E0E040BF:SAMSUNG:32 an meinen(TV Power ein) senden,wie kann ich das umsetzen.
Danke
Rob
Mit dummy und notify z. B.:
define irCommand dummy
attr irCommand webCmd TVPower
define myNotify notify irCommand:TVPower { GetHttpFile("192.168.178.46:80", "/msg?code=E0E040BF:SAMSUNG:32") }
Kann das IR gateway auch Befehle von bzw. für Toshiba TV Geräte? (regza 37rv636d)
Spiele mit dem Gedanken das ein/ausschalten darüber zu lösen. Das Gerät hat zwar auch ne rs232c Schnittstelle, aber finde im Netz keine befehlsliste, um das Gerät darüber zu steuern.
Gruß Sascha
Gesendet von meinem SM-T560 mit Tapatalk
Das kann ich nicht beurteilen, aber das WWW sagt mir, Toshiba verwendet das NEC IR-Protokoll.
Am besten Du holst dir ein IR-Empfängermodul, ein Wemos oder NodeMCU DevKit und testest es selbst.
Danke für die Info
Gesendet von dem teuren ding in meiner hand
Zitat von: locutus am 23 Juli 2017, 17:48:08
Das kann ich nicht beurteilen, aber das WWW sagt mir, Toshiba verwendet das NEC IR-Protokoll.
Am besten Du holst dir ein IR-Empfängermodul, ein Wemos oder NodeMCU DevKit und testest es selbst.
Gesagt, getan.
Habe nen WEMOS D1 Mini mit ner LED zum Empfang und deiner Firmware zusammen gebaut.
Habe dann versucht die Codes des TV zu visualisieren.
Hier das Ergebniss.
12:01:56 2FD48B7 NEC 32 0x40
Ist die Adresse 0x40 auch wichtig diese mit anzugeben, bei dem Sende Code ?
Wenn ja, wie wird diese angehangen ??
Gruß und Danke !
Vor allem für Deine Arbeit !!!!
Sascha
Ein Mausklick auf die Uhrzeit gibt genaue Auskunft zum Linkaufbau.
Zum Senden wird ein IR-Transmitter (Diode + Transistor + Widerstände) benötigt.
Ich habe mal ein kleines Gehäuse von Post #222 gemacht ( https://forum.fhem.de/index.php/topic,28905.msg417438.html#msg417438 ) .
Ich habe noch 2 übrig, in braun, ABS, wer eins braucht -> PM ... Ich drucke mit Ultimaker 2+
https://www.thingiverse.com/thing:2469350
LG
/robin
Moin,
habe es erst heute geschafft, die RGB-Platine in Betrieb zu nehmen. Gelingt mir aber nicht, irgendwie gehts nicht weiter nach der Eingabe der Zugangsdaten. Was passiert bisher?
- WIFI mit dem Namen "SetupWifiLed" wird erstellt
- Ich kann mich mit dem Wifi verbinden und meine Daten eingeben
- Am Streifen leuchten keine LEDs
- Danach passiert nichts weiter
Was muss ich nun machen, um das Ding zum laufen zu bekommen - neu flashen? Wenn ja, was?
Sorry für die vielen doofen Fragen ::)
Danke und Gruß - machnetz
OK,
habe den ganzen restlichen Sonntag noch geflashed, hatte einen USB Adapter mit passenden Anschlüssen gefunden. Die Firmware mit LW12 über die Arduino-GUI war schnell übersetzt, ein Upload bricht irgendwann mittendrin ab (die Punkte bleiben stehen...)
Mittels esptool.py habe ich dann in der CMDline ein "erase_flash" ausgeführt und dann das Firmwarefile (aus dem Arduino) geflashed.
Auch danach geht's nur so weiter wie oben beschrieben. Wenn ich die Credentials zur Fritz!Box eingebe und auf den reconnect gewartet wird, kommt nix mehr. Es wird am ESP wohl eine IP vergeben, der Aufruf der IP zeigt nur an: "Not found /"
Ich drehe mich im Kreis, irgendwann hats mal rot, dann grün geleuchtet - habs nach 10x flashen aber nicht mehr hinbekommen.
Hilfe dazu wäre echt nett. locutus - hast du eine Idee? ::)
Mfg-machnetz
Hi,
mehr Strom beim Flashen?
Gruß Arnd
Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
Rückmeldung: Läuft nun - Geht ja auch nicht, dass ein Locutus-Projekt nicht läuft 8)
Was habe ich nun noch gemacht:
- Update der Arduino GUI auf 1.8.4 (MacOS)
- Compiliert in der Arduino GUI
- Geflashed in der CMD-line mittels:
esptool.py --chip auto --baud 115200 --port /dev/cu.usbserial-A50285BI write_flash 0x00 WifiLight_LW12_170822.bin
Einstellungen in der Arduino-GUI: Board:ESPino, DIO, serial, 80MHz, 4M (1M SPIFF), ck, 115200
Zweimal geflashed mittels FTDI-Adapter ... das wars grün.
Ich weiss nicht was es letztendlich war, nun gehts halt ;)
'tschuldigung für die Belästigung, aber ich dokumentiere mich halt selbst gern für später .. so in meinem Alter ;-)
Mit freundlichen Grüßen, machnetz
Nachtrag:
ich glaube die Boardauswahl wars ... in der GUI stand beim flashen dann immer "nodemcu" ...
Habe solange probiert, bis etwas anderes (nix) in der Auflistung stand, damit gings dann halt :-)
machnetz
Ich möchte nix weiter, als eine IR-LED ansteuern, die einfach nur kurz aufleuchtet und fertig.
Geht das mit dem Modul auch?
Oder ist das mit Kanonen auf Spatzen schießen?
Der ESP8266 stellt nicht ausreichend Ausgangsstrom zur Verfügung, um eine oder mehrere IR-LED anzusteuern. Eine Schaltung aus zwei Widerständen und einem Transistor ist zwingend erforderlich. Siehe auch https://forum.fhem.de/index.php?topic=67316.0
Hallo zusammen,
hier die Ver. 2.0 des RGB(W)-Controllers.
Der Controller erfüllt folgende Eigenschaften:
- Ansteuerung von RGB(W)-LED
- App Interface zur Steuerung per Tablet/Smartphone
- kostengünstig durch geringen Materialaufwand
- reduzierte Abwärme durch Verzicht auf LDO Spannungsregler
- Gehäuse
Hard- und Softwarespezifikationen:
- ESP8266 (ESP-12F) WLAN-Modul
- NTD85N02R N-Channel MOSFET
- MP2307 DC-DC Spannungsreglermodul
- LED für Serial Activity
- Max. Eingangsspannung: 12 VDC
- Laststrom pro Kanal: 1.5 A
- Magic Home App für Android (https://play.google.com/store/apps/details?id=com.Zengge.LEDWifiMagicHome&hl=de) und iOS (https://itunes.apple.com/de/app/magic-home-wifi/id944574066?mt=8)
Für Bastler und Softwareentwickler:
- upgradefähig zum RGBW (optionaler W-Kanal am GPIO13)
- IR-Steuerung (IR-Receiver am GPIO4)
- Programmierschnittstelle für USB zu TTL Wandler mit 3,3 V Logik
- alternative Sonoff-Tasmota (https://github.com/arendst/Sonoff-Tasmota) oder ESPurna (https://github.com/xoseperez/espurna) Firmware
Die Stromfestigkeit der Leiterbahnen kann durch Verzinnen, mit Draht verstärken, erhöht werden. Die Platine passt in das TEKO 10014 ABS-Kunststoffgehäuse von Reichelt Elektronik.
Im Anhang Schaltplan, Gerberdaten und MagicHome Firmware.
- SMD-Vogelfutter Bauform 1206.
- N-CH MOSFET Bauform D-Pak. Gut geeignet sind Transistoren mit min. Gate-Schwellenspannung von 1.0 Volt, wie z. B. NTD85N02R (https://www.onsemi.com/pub/Collateral/NTD85N02R-D.PDF).
Hardware für Flashvorgang vorbereiten:
- Lötzinnbrücke J1 öffnen
- Lötzinnbrücke PROG (GPIO0 auf GND) schließen
Speicherinhalt löschen und MagicHome Firmware flashen:
esptool.py --port com3 erase_flash
esptool.py --port com3 --baud 230400 write_flash 0x00000 MagicHome.bin
Die MagicHome Debug Baudrate beträgt 115200.
Sonoff-Tasmota (https://github.com/arendst/Sonoff-Tasmota) Firmware für MagicHome Controller mit IR-Empfänger am GPIO4:
Bsp. für unterstützte Befehle:
LED an:
mosquitto_pub -t cmnd/MagicHome/power -m 1
LED aus:
mosquitto_pub -t cmnd/MagicHome/power -m 0
LED rot:
mosquitto_pub -t cmnd/MagicHome/Color -m 1
LED grün:
mosquitto_pub -t cmnd/MagicHome/Color -m 2
LED blau:
mosquitto_pub -t cmnd/MagicHome/Color -m 3
Die komplette Übersicht aller verfügbaren Befehle:
https://github.com/arendst/Sonoff-Tasmota/wiki/Commands
IR-Empfang Bsp. Sony TV ein/aus:
tele/MagicHome/RESULT = {"IrReceived":{"Protocol":"SONY","Bits":12,"Data":"A90"}}
Tasmota Vorlage für WLAN-RGB-Controller:
{"NAME":"MagicHome","GPIO":[17,0,56,0,147,38,0,0,39,0,37,0,0],"FLAG":0,"BASE":37}
ESPurna (https://github.com/xoseperez/espurna) Firmware für MagicHome Controller
Speicherinhalt löschen und ESPurna Firmware flashen:
esptool.py --port /dev/ttyUSB0 erase_flash
esptool.py --port /dev/ttyUSB0 write_flash --flash_size 4MB --flash_mode dout 0x00000 espurna-1.14.1-magichome-led-controller.bin
Weiterführende Informationen zu ESPurna Firmware:
http://tinkerman.cat/magic-home-led-controller-espurnad/
Die Verwendung der Daten für kommerzielle Zwecke, Herstellung oder gewerblichen Vertrieb ist untersagt.
Verfügbarkeit und Preis: siehe Marktplatz (https://forum.fhem.de/index.php?topic=69282.msg607940#msg607940)
Das sieht sehr klasse aus!!!!!!
Hast du schon getestet?
Hallo Locutus,
ich habe eben nochmal dein IR-WLAN Gateway hervorgekramt und in Betrieb gesetzt.
Da ich inzwischen deine V3 gesehen habe, habe ich die nun OTA aufgeflasht.
Es ist auch noch unter der IP aufrufbar, d.h. anscheinend hat er sich die
WLAN-Zugangsdaten behalten....
Im Webinterface steht unten:
GPIO 2 Receiver
GPIO 4 Transmitter
Folgende Fragen:
- wie komme ich in den Wifi-Manager ? Habe irgendwo gelesen, dass man den Taster S4 drücken muss,
aber da tut sich irgendwie nix.... ?
- Ich kann IR-Kommandos absetzen, aber empfangen über Webinterface geht anscheinend nicht. Im Webinterface bleibt die Liste "Codes Received" leer.
Was ist zu tun ?
Viele Grüße
Ralf
Zitat von: rasti am 20 November 2017, 21:11:02
- wie komme ich in den Wifi-Manager ? Habe irgendwo gelesen, dass man den Taster S4 drücken muss,
aber da tut sich irgendwie nix.... ?
Taster gedrückt halten -> Schaltung mit Spannung versorgen -> Taster loslassen -> AP Modus aktiv
Zitat
- Ich kann IR-Kommandos absetzen, aber empfangen über Webinterface geht anscheinend nicht. Im Webinterface bleibt die Liste "Codes Received" leer.
Aktuelle Seite im Webbrowser neu laden.
Zitat von: locutus am 25 November 2017, 16:32:53
Taster gedrückt halten -> Schaltung mit Spannung versorgen -> Taster loslassen -> AP Modus aktiv
Aktuelle Seite im Webbrowser neu laden.
Hallo Locutus,
danke der AP funktioniert so nun aber IR-Codes von einer Fernbedienung auslesen geht nicht,
auch nicht wenn ich ein Reload der Seite mache.
Ich habe verschiedene Fernbedienungen probiert (Onkyo+Panasonic), geht nicht.
Irgendwelche Codes senden funktioniert anscheinend, ich sehe es in der Anzeige,
die LED am Gateway blinkt und eine der beiden Infrarot-LED gibt auch was von sich,
habs mit Handykamera kontrolliert.
Nochmals in Kurzform, wie ich das Mitschreiben der IR-Signale probiert habe :
Ich rufe einfach die IP des IR-Gateways auf, in meinem Fall http://192.168.178.21 und halte die
FB auf den IR-Empfänger - richtig ?
Meinetwegen auch mit Portangabe :80 , aber das tut auch nicht....
Geflashed habe ich die IRControllerV3.bin (Anhang) ich weiss gar nicht mehr wo ich die herhabe,
vermutlich im Forum hier finde sie aber nicht mehr online, hast du die gelöscht ???
Habe nun mal auf https://github.com/mdhiggins/ESP8266-HTTP-IR-Blaster/blob/master/README.md
nachgelesen und gefunden, dass für irrecv: GPIO14 vorgesehen ist, im Menü des Gateways steht aber
GPIO 2 - Receiver, ist das evtl. das Problem ?
Viele Grüße
Ralf
Zitat von: rasti am 26 November 2017, 17:50:17
Geflashed habe ich die IRControllerV3.bin (Anhang) ich weiss gar nicht mehr wo ich die herhabe,
vermutlich im Forum hier finde sie aber nicht mehr online, hast du die gelöscht ???
Ja, und durch aktualisierten Arduino Sketch ersetzt.
Zitat von: rasti am 26 November 2017, 17:50:17
Habe nun mal auf https://github.com/mdhiggins/ESP8266-HTTP-IR-Blaster/blob/master/README.md
nachgelesen und gefunden, dass für irrecv: GPIO14 vorgesehen ist, im Menü des Gateways steht aber
GPIO 2 - Receiver, ist das evtl. das Problem ?
Wenn du die Schaltung von mdhiggins verwendest, dann wird die Belegung der GPIO schon passen.
Für meine Schaltung (https://forum.fhem.de/index.php?action=dlattach;topic=28905.0;attach=55246;image) gilt eine andere Pin-Belegung.
Zitat von: locutus am 28 November 2017, 00:08:02
Ja, und durch aktualisierten Arduino Sketch ersetzt.
Wenn du die Schaltung von mdhiggins verwendest, dann wird die Belegung der GPIO schon passen.
Für meine Schaltung (https://forum.fhem.de/index.php?action=dlattach;topic=28905.0;attach=55246;image) gilt eine andere Pin-Belegung.
Hallo Locutus,
ersteres hatte ich vermutet und letzteres ist mir klar. Vermutung war halt, dass bei IRControllerV3.bin die GPIOs nicht
an deine Schaltung angepasst waren. Aber wenn die von dir gelöschte IRControllerV3.bin auf deiner Schaltung
läuft, dann weiß ich halt nicht, warum das Einlesen der IR-Codes nicht funktionieren soll. Beim Kompilieren deines Arduinosketches
scheitere ich momentan da dran, dass er die NTPClient.h nicht findet (obwohl ich sie ihm als Datei vorgebe). Vielleicht
kannst du mal eine für eine Schaltung funktionierende bin-Datei hier reinstellen ? Wenn das nicht geht, kann es ja dann nur noch
an der Hardware (IR-Sensor) liegen.
Viele Grüße
Ralf
Die bin-Datei ist überflüssig, da das Updateverfahren (http://esp8266.github.io/Arduino/versions/2.0.0/doc/ota_updates/ota_updates.html) von Webbrowser auf Arduino IDE umgestellt wurde.
Add Library to Arduino IDE using Library Manager (https://www.youtube.com/watch?v=c9EjWEVK118)
NTPClient by Fabrice Weinberg (https://github.com/arduino-libraries/NTPClient)
Hallo Locutus,
danke dir.
NTPClient wurde nun gefunden. Nun macht die sha256.h Probleme. Wo finde ich die denn ?
Über Bibliotheksverwalter-Suche finde ich die nicht und wenn ich das https://github.com/CSSHL/ESP8266-Arduino-cryptolibs/tree/master/sha256
über "Datei hinzufügen" einbinde kommt beim Kompilieren diese Fehlermeldung hier:
Arduino: 1.8.5 (Windows 10), Board: "Generic ESP8266 Module, 80 MHz, 40MHz, DIO, 115200, 512K (64K SPIFFS), ck, Disabled, None"
Build-Optionen wurden verändert, alles wird neu kompiliert
Archiving built core (caching) in: C:\Users\admin\AppData\Local\Temp\arduino_cache_648044\core\core_esp8266_esp8266_generic_CpuFrequency_80,FlashFreq_40,FlashMode_dio,UploadSpeed_115200,FlashSize_512K64,ResetMethod_ck,Debug_Disabled,DebugLevel_None_____e9b822e9b13c90e265c3896be7ebe265.a
sketch\IRControllerV3.ino.cpp.o: In function `dumpCode(decode_results*)':
C:\1-Projekte\fhem\IRControllerV3/IRControllerV3.ino:195: undefined reference to `Sha256'
C:\1-Projekte\fhem\IRControllerV3/IRControllerV3.ino:195: undefined reference to `Sha256Class::initHmac(unsigned char const*, int)'
C:\1-Projekte\fhem\IRControllerV3/IRControllerV3.ino:195: undefined reference to `Sha256Class::resultHmac()'
sketch\IRControllerV3.ino.cpp.o: In function `validateHMAC(String, String, String, String)':
C:\1-Projekte\fhem\IRControllerV3/IRControllerV3.ino:195: undefined reference to `Sha256Class::initHmac(unsigned char const*, int)'
C:\1-Projekte\fhem\IRControllerV3/IRControllerV3.ino:195: undefined reference to `Sha256Class::resultHmac()'
collect2.exe: error: ld returned 1 exit status
exit status 1
Fehler beim Kompilieren für das Board Generic ESP8266 Module.
Dieser Bericht wäre detaillierter, wenn die Option
"Ausführliche Ausgabe während der Kompilierung"
in Datei -> Voreinstellungen aktiviert wäre.
Vielleicht hast du noch einen Hinweis für mich ?
Viele Grüße
Cryptosuite Library (https://github.com/jjssoftware/Cryptosuite) ist sowohl im Sketch als auch im GitHub Repository (https://github.com/mdhiggins/ESP8266-HTTP-IR-Blaster#setup) verlinkt.
Zitat von: locutus am 29 November 2017, 22:10:49
Cryptosuite Library (https://github.com/jjssoftware/Cryptosuite) ist sowohl im Sketch als auch im GitHub Repository (https://github.com/mdhiggins/ESP8266-HTTP-IR-Blaster#setup) verlinkt.
Danke. Dann habe ich ja schonmal die richtige sh256.h
Über die IDE-Bibliotheksverwaltung kann ich die ja nicht integrieren und über "Datei hinzufügen"
kommt beim Kompilieren nun wieder eine ähnliche Fehlermeldung
Arduino: 1.8.5 (Windows 10), Board: "Generic ESP8266 Module, 80 MHz, 40MHz, DIO, 115200, 512K (64K SPIFFS), ck, Disabled, None"
Archiving built core (caching) in: C:\Users\admin\AppData\Local\Temp\arduino_cache_940793\core\core_esp8266_esp8266_generic_CpuFrequency_80,FlashFreq_40,FlashMode_dio,UploadSpeed_115200,FlashSize_512K64,ResetMethod_ck,Debug_Disabled,DebugLevel_None_____e9b822e9b13c90e265c3896be7ebe265.a
sketch\IRControllerV3.ino.cpp.o: In function `dumpCode(decode_results*)':
C:\1-Projekte\fhem\IRControllerV3/IRControllerV3.ino:195: undefined reference to `Sha256'
C:\1-Projekte\fhem\IRControllerV3/IRControllerV3.ino:195: undefined reference to `Sha256Class::initHmac(unsigned char const*, int)'
C:\1-Projekte\fhem\IRControllerV3/IRControllerV3.ino:195: undefined reference to `Sha256Class::resultHmac()'
sketch\IRControllerV3.ino.cpp.o: In function `validateHMAC(String, String, String, String)':
C:\1-Projekte\fhem\IRControllerV3/IRControllerV3.ino:195: undefined reference to `Sha256Class::initHmac(unsigned char const*, int)'
C:\1-Projekte\fhem\IRControllerV3/IRControllerV3.ino:195: undefined reference to `Sha256Class::resultHmac()'
collect2.exe: error: ld returned 1 exit status
exit status 1
Fehler beim Kompilieren für das Board Generic ESP8266 Module.
Dieser Bericht wäre detaillierter, wenn die Option
"Ausführliche Ausgabe während der Kompilierung"
in Datei -> Voreinstellungen aktiviert wäre.
Also wie kriege ich diese lib eingebunden ?
Viele Grüße
Zitat von: rasti am 29 November 2017, 22:35:56
... undefined reference to `Sha256'
Der Compiler benötigt Dateien, die in deinem Fall nicht im Zielordner
...\Arduino\libraries\Cryptosuite-master abgelegt sind!
@locutus
Ich kann folgende Befehle einlesen und auch angeblich senden, leider schaltet mein TV das Programm nicht um.
Hat es etwas damit zu tun, dass die Address beim empfang 0X4 ist und beim senden nur 0 ?
Eventuell ein spezifisches Problem des IR-Protokolls. Wie schaut es mit anderen Geräten aus? Werden diese angesteuert?
Hallo Locutus,
ich habe heute das IR-WLAN Gateway neu geflashed....nun stellt das Ding sich tot :-[
Die grüne und blaue LED blinken im ca. 7-8 Sekunden-Takt aber das Ding ist nicht im Netzwerk
und spannt auch kein WLAN auf wenn man auf den Schalter drückt und einschaltet.
Was muss ich nun tun ?
Viele Grüße
Ralf
Zitat von: locutus am 22 Dezember 2017, 22:57:08
Eventuell ein spezifisches Problem des IR-Protokolls. Wie schaut es mit anderen Geräten aus? Werden diese angesteuert?
Leider nein, ich habe verschiedene Geräte/Fernbedienungen ausprobiert, leider lässt sich nichts schalten.
@Ma_Bo
Kann ich nicht reproduzieren.
Soeben Sketch und IRremoteESP8266 Library (https://github.com/markszabo/IRremoteESP8266) auf Ver. 2.3.1 aktualisiert. IR Codes werden empfangen und gesendet.
Zitat von: rasti am 23 Dezember 2017, 22:37:39
ich habe heute das IR-WLAN Gateway neu geflashed....
Mit welchen Board Voreinstellungen?
esptool.py --port /dev/ttyUSB0 erase_flash
... löscht den kompletten Speicherinhalt.
Hast du vielleicht Lust auf die Firmware vom "360 Grad IR WLAN Gateway" umzusteigen: https://forum.fhem.de/index.php/topic,72950.0.html
Ich denke es braucht nicht 2 Firmware Versionen für die gleiche Anwendung.
Hallo,
ich würde gerne den WLAN-RGB-Controller als RGBW-Controller betreiben.
Sehe ich das richtig, dass ich beide Lötbrücken SJ1 und SJ2 von 1-2 auf 2-3 ändern muss, um RGBW zu nutzen? Das tauscht -wenn ich das richtig überblicke- rot und grün.
Gibt es eine für Otto-Normalverbraucher zugängliche Bezugsquelle für den MOSFET (NTD85N02R)? Ich hab ihn nur bei Mouser, Digikey und Bürklin gefunden :-(
Muss die Firmware für den RGBW-Betrieb angepasst werden?
Sorry für die vielen Fragen, ich hoffe man kann sie mir beantworten.
Gruß
Olly
Zitat von: Olly am 09 Oktober 2018, 16:25:48
Gibt es eine für Otto-Normalverbraucher zugängliche Bezugsquelle für den MOSFET (NTD85N02R)?
https://de.aliexpress.com/item/10-teile-los-NTD85N02R-N-12A-24-V-TO-252/32843091932.html
Vielen Dank,
das schaue ich mir mal näher an.
Gruß
Olly
Zitat von: Olly am 09 Oktober 2018, 16:25:48
Sehe ich das richtig, dass ich beide Lötbrücken SJ1 und SJ2 von 1-2 auf 2-3 ändern muss, um RGBW zu nutzen?
Nur wenn der ESP8266 vorher mit passender RGBW-Firmware programmiert wurde. Ansonsten ist das Umsetzen der Lötbrücken sinnlos.
Siehe auch: https://github.com/arendst/Sonoff-Tasmota/wiki/Arilux-LC02
Hallo,
ich versuche nun schon seit längeren meinen ESP8266 zu integrieren, aber erfolglos.
Mein reading:
stateFormat {sprintf("%.1f",ReadingsVal("esp8266temp","state",0))."°C"}
Habe nach der Anleitung gearbeitet. Im Esplorer scheint alles zu passen, denn dort werden die Werte angezeigt, nur in Fhem bekomme ich die Daten nicht angezeigt. Woran könnte es noch liegen?
Wenn du in fhem gar keine Daten angezeigt bekommst!? dann hilft auch stateFormat nicht weiter...
Poste doch mal ein list des Gerätes (sofern eines da ist):
list GeräteName
bzw. (wenn der Name im stateFormat stimmt):
list esp8266temp
in die FHEMWEB-Befehlszeile und dann die Ausgabe hier in "code-Tags" ('#' im Menü) posten...
Wenn gar nichts angelegt wurde ein paar mehr Hintergründe zu verwendeter FW, was für eine Art Sensor (gut vermutlich Temperatur aber welcher Sensor etc.) und wie du die Daten im Esplorer siehst (serielle Console, also noch per USB verbunden?).
Siehst du ihn im WLAN, z.B. taucht er im Router als WLAN-Client auf?
Gruß, Joachim
Also hier die list:
Internals:
CFGFN
NAME esp8266temp
NR 65
STATE 0.0°C
TYPE dummy
READINGS:
Attributes:
room esp_test
stateFormat {sprintf("%.1f",ReadingsVal("esp8266temp","state",0))."°C"}
Die Firmware für den ESP8266: nodemcu_integer_0.9.5_20150318.bin
Habe mittlerweile das Beispiel bh1750 aufgespielt.
Im Esplorer erscheint folgendes mit fortlaufender lx:
IP unavaiable, Waiting...
ESP8266 mode is: 1
The module MAC address is: Macunsichtbar
Config done, IP is 192.168.1.216
lux: 54612.50 lx
lux: 54612.50 lx
Hab lediglich die MAC unkenntlich gemacht.
Ja die Daten sehe ich über seriell. Und in der Fritzbox ist der ESP auch sichtbar
Ich nutze ja ESPs nicht wirklich aber ich wüsste nicht wie Daten von einem ESP in einen fhem Dummy kommen sollen (außer man hat ein Script dass das tut)...
Was stellt der der ESP zur Verfügung um Daten zu bekommen (außer seriell)!?
Also was hast du denn programmiert bzw. welche Einbindung in fhem soll damit gehen!?
Was du geschrieben hast ist ja nur die Basis-FW...
Hast du diesen oder andere ESP Threads schon mal durch?
Es gibt ja etliche Möglichkeiten einen ESP an fhem anzubinden...
Gruß, Joachim
Die Anleitung habe ich aus dem Wiki
https://wiki.fhem.de/wiki/ESP8266 (https://wiki.fhem.de/wiki/ESP8266)
Auch habe ich das mit den Usern und dem Passwort schon geändert und getestet, leider ohne Erfolg
Ah, ok.
Der ESP schickt die Daten per Http-Request soweit ich das beim Überfliegen gesehen hab.
Häng doch mal deinen Code mit an.
Passwörter etc. natürlich rausnehmen!
Zum Test würde ich auch mal ein eigenes FHEMWEB anlegen ohne Passwort etc. und auch mal csrfToken auf none setzen.
Wenn das dann geht umstellen auf den eigentlichen Zugang...
Vielleicht auch mal andere Anbibdungsmöglichkeiten anschauen, z.B. EspEasy...
Bin allerdings unterwegs, komme also erst heut abend dazu...
Gruß, Joachim
Hi.
In Deinem Listing vom ESP steht dich, dass er keine IP Adresse hat. Wie soll er dann an Dein FHEM Daten senden?
Stimmen die Daten fürs WLAN?
Gruß Arnd
Raspi2 mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, Bravia, ...
Hallo,
der ESP8266 hat auch im Listing eine IP und zwar 192.168.1.216. Ich schätze die Meldung unavailable kommt zuächst bis beim zweiten Aufbau einen IP zugeteilt wird. In der Fritzbox taucht er auch auf.
IP unavaiable, Waiting...
ESP8266 mode is: 1
The module MAC address is: Macunsichtbar
Config done, IP is 192.168.1.216
lux: 54612.50 lx
lux: 54612.50 lx
Ich denke es liegt in der init.lua den ich aus der FHEM Wiki https://forum.fhem.de/index.php?action=dlattach;topic=28905.0;attach=32419 (https://forum.fhem.de/index.php?action=dlattach;topic=28905.0;attach=32419) heruntergeladen habe
init.lua
--init.lua
wifi.setmode(wifi.STATION)
wifi.sta.config([color=red]"SSID","Passwort"[/color])
wifi.sta.connect()
tmr.alarm(1, 1000, 1, function()
if wifi.sta.getip()== nil then
print("IP unavaiable, Waiting...")
else
tmr.stop(1)
print("ESP8266 mode is: " .. wifi.getmode())
print("The module MAC address is: " .. wifi.ap.getmac())
print("Config done, IP is "..wifi.sta.getip())
dofile ("fhem_bh1750.lua")
end
end)
In der fhem_bh1750.lua sind noch folgende Zeilen zum anpassen
conn:connect([color=red]8086,"192.168.1.XX"[/color])
conn:send("GET /fhem?cmd=setreading%20esp8266temp%20state%20T:%20" ..luxi.. "\r\n"
.. "HTTP/1.1\r\n"
.. "Host: www.local.lan\r\n"
..[color=red] "Authorization: Basic XXXX==\r\n" [/color]
.. "Connection: keep-alive\r\n"
.. "Accept: */*\r\n\r\n")
Werde es nun zuerst mal mit ändern des csrfToken machen.
Eine Frage habe ich noch. Woher weiss ich das der Port 8086 in der Fhem auch aktiviert ist? Wie könnte ich das testen?
Wie lege ich ein FHEMWEB an?
So wie ich das sehe sind da schon einige Dinge naja...
setreading ... state ...
Naja...
Gut kann man lassen...
Normalerweise ein set Name Value oder eben setreading und dann ein "richtiges" Reading...
Ist aber nicht das Problem...
So wie ich das sehe geht das nur mit einem Webzugang ohne csrfToken...
Maximal könnte man das noch zu einem Aufruf mit fixem, selbst gesetzten Token umbauen...
So nun zu FHEMWEB:
Mittels list TYPE=FHEMWEB
bekommst du raus welche FhemWeb Instanzen du hast, dort findest du auch den Port.
Alles weitere in der commandref oder beim FhemWeb Device selbst: Device specific help ganz unten...
Anlegen:
define FhemWebAPI FHEMWEB 8086 global
Dort dann noch das Attribut csrfToken auf none...
...oder auf einen fixen Wert und das dann im Lua-Aufruf ergänzen...
Wenn kein allowed Device dafür erstellt wurde/wird (würde ich zum Test erst mal lassen und auch mal csrfToken auf none), dann kein https und kein User/Passwort im fhem-Teil von Lua nötig...
Aber wie bereits geschrieben nutzt wohl die Mehrzahl der ESP-Nutzer sowas wie ESPeasy...
Ansonsten sind meine Lua-Zeiten lang vorbei war mir immer etwas suspekt...
Mittlerweile programmiere ich wenn dann über die Arduino-IDE "direkt"...
Wobei ich mit ESP in letzter Zeit eher (wieder) weniger mache...
EDIT: zum Test kannst du auch einfach den im Lua hinterlegten http-Request in den Browser werfen. Wenn es da nicht geht, dann wird es auch mit dem ESP nicht klappen. Wenn der Aufruf im Browser tut, musst du eben das ESP/Lua-Zeugs so anpassen, dass der selbe Aufruf "gebildet" wird...
Viel Erfolg, Joachim
Hallo MadMax,
vielen herzlichen Dank für deine Hilfe. Bin jetzt erst zum testen dazugekommen, aber das mit dem
define FhemWebAPI FHEMWEB 8086 global
war der ganze Trick ;)
Nochmals vielen Dank für die sachliche Antwort und Hinweise. 8)
Indoor Air Quality Sensor mit CCS811, WEMOS D1 mini und Tasmota
Zutaten:
- CJMCU-811
- WEMOS D1 mini
- NTC 10 kOhm
- Verbindungskabel
- Tasmota Firmware aus dem Anhang
Aufbau:
NTC (wie abgebildet) an R3 Pads anlöten.
CJMCU-811 mit WEMOS D1 mini verbinden.
Schaltbild:
CCS811 <-> WEMOS
VCC <-> 3V3
GND <-> G
SCL <-> D1
SDA <-> D2
WAK <-> G
Firmware flashen:
esptool.py --port COM5 write_flash -fs 1MB -fm dout 0x0 tasmota_ccs811_firmware.bin
FHEM:
define mqtt MQTT 127.0.0.1:1883
define ej3 expandJSON Sonoff.*:.*:.{.*}
define Sonoff_iAQ MQTT_DEVICE
attr Sonoff_iAQ IODev mqtt
attr Sonoff_iAQ stateFormat {sprintf("eCO2: %.0f ppm, TVOC: %.0f ppb", ReadingsVal($name,"CCS811_eCO2",0), ReadingsVal($name,"CCS811_TVOC",0))}
attr Sonoff_iAQ subscribeReading_Sensor tele/sonoff/SENSOR
define FileLog_Luftqualitaet FileLog ./log/Luftqualitaet-%Y-%m-%d.log Sonoff_iAQ:.*
Welchen Nutzen hat denn der NTC?
Durch den NTC kann der Host die Umgebungstemperatur berechnen und diese Informationen können in CCS811 geschrieben werden, um Temperaturänderungen zu kompensieren.
Siehe CCS811 Datasheet.
Hallo in die Runde,
ich habe ein Problem mit dem CO2 iAQ WLAN Sensor aus diesem Thread: https://forum.fhem.de/index.php/topic,95803.0.html (https://forum.fhem.de/index.php/topic,95803.0.html). Ich habe den Sensor über Mosquitto und MQTT_DEVICE in fhem eingebunden (MQTT2_SERVER habe ich auch ausprobiert, gleiches Problem). fhem werter Pakete vom Typ tele/sonoff_iaq/SENSOR aus, darin stehen die Messerte, und Pakete vom Typ tele/sonoff_iaq/STATE, darin stehen allgemeine Infos, z.B. über das Wifi-Netzwerk. Nach einiger Zeit sendet der Sensor jedoch ausschließlich tele/sonoff_iaq/STATE. tele/sonoff_iaq/SENSOR wird gar nicht mehr gesendet.
Hat jemand einen Tipp, wie ich das beheben kann? Gerne kann ich weitere Informationen, z.B. listings der Geräte posten.
edit: Noch eine Info: in der Konsole gibt der Sensor einige Minuten vor Abriss der eine Meldung "APP: Serial logging disabled" aus.
Liebe Grüße,
Daniel
Was sagt die Sonoff-Tasmota Firmware zu der "Laufzeit" oder "Grund für Neustart" aus?
Hast du schon eine der 5 Reset (https://github.com/arendst/Sonoff-Tasmota/wiki/Commands#management) Optionen in Betracht gezogen?
Oder Flash-Memory löschen und die CCS811-Tasmota-Firmware neu installieren?
Hallo,
danke für die Antwort. Ich kann den Logs des Sensors (auch über Änderung von verbose) nicht mehr als das "APP: Serial logging disabled" entlocken. Ich habe die Firmware bereits neu kompililiert (mit CCS811 enabled) und geflasht (zunächst mit der Minimal Firmware und dann mit der Sonoff-Firmware). Wie gesagt, die Werte kommen einige Zeit (zwischen ca 10 Minuten und 1.5 Stunden) einwandfrei hinein, dann reißen sie ab.
Jetzt doch eine Newbie-Frage: wie kann ich den Sensor resetten? Ich würde irgendwas für tele/sonoff_iaq/ publishen, über MQTT.fx oder direkt in fhem mit MQTT2_DEVICE. Kannst Du mir sagen, was ich publishen muss?
Kann man den Sensor neu starten? (restart oder reopen?) Ich könnte ja mir einem doif das ReadingsAge der entsprechenden Readings überwachen und den Sensor neu starten, wenn das ReadingsAge zu groß wird.
Liebe Grüße und Danke im Voraus,
Daniel
edit: einen Restart mit Optionen gibt es.
Restart 1 Restart sonoff
Restart 99 Force restart sonoff without config save
Wie sende ich einen Befehl (egal welchen) an tele/sonoff_iaq/ ??
Ich empfehle nach wie vor die funktionierende CCS811 Tasmota 6.4.1 Firmware aus dem Forumsbeitrag:
https://forum.fhem.de/index.php/topic,95803.0.html
Falls du deine eigene Firmware bauen möchtest, ist dieser Beitrag zu beachten:
https://github.com/arendst/Sonoff-Tasmota/issues/3364
Zitat von: synaps-o-dan am 06 Februar 2019, 22:14:15
wie kann ich den Sensor resetten?
Sonoff-Tasmota Webinterface aufrufen -> Konsole aufrufen -> Befehl eingeben -> mit ENTER absenden
Befehlsübersicht: https://github.com/arendst/Sonoff-Tasmota/wiki/Commands
Danke für die Tipps, ich habe den Sensor nochmals mit der Original-Firmware aus dem Beitrag geflasht. Mal sehen, wie stabil es läuft.
LG, Daniel
Zitat von: locutus am 08 Februar 2019, 18:00:21
Ich empfehle nach wie vor die funktionierende CCS811 Tasmota 6.4.1 Firmware aus dem Forumsbeitrag:
https://forum.fhem.de/index.php/topic,95803.0.html
Falls du deine eigene Firmware bauen möchtest, ist dieser Beitrag zu beachten:
https://github.com/arendst/Sonoff-Tasmota/issues/3364
Sonoff-Tasmota Webinterface aufrufen -> Konsole aufrufen -> Befehl eingeben -> mit ENTER absenden
Befehlsübersicht: https://github.com/arendst/Sonoff-Tasmota/wiki/Commands
OK, bis heute stabil. Die Original-FW hat's gebracht. Meine selbstkompilierte war nicht der Bringer. Cooler Sensor, tolle Arbeit.
Er läuft auch in der Kombi MQTT2_SERVER / MQTT2_DEVICE.
Grüße & Danke,
Daniel
Zitat von: synaps-o-dan am 11 Februar 2019, 21:17:18
Danke für die Tipps, ich habe den Sensor nochmals mit der Original-Firmware aus dem Beitrag geflasht. Mal sehen, wie stabil es läuft.
LG, Daniel
@locutus: ich habe das Board (https://forum.fhem.de/index.php/topic,95803.msg887093.html#msg887093) soweit fertig gelötet.
ich habe Probleme, via serielle Schnittstelle zu flashen.
Wenn TX, RX und GND angeschlossen sind bekomme ich manchmal eine saubere Meldung, wenn S2 gedrückt wird (z.B.)
rst cause:0, boot mode:(1,0)
Wenn RX nicht verbunden ist, kommt immer eine ordentliche Meldung
Flashen funktioniert jetzt. Leider booten noch nicht.
hast du eine Idee?
VDD kommt über USB-Buchse
Ich habe zwei Sensoren von locutus bekommen, so weit, so gut.
Leider habe ich in dem GUI des einen Sensors durch Herumklicken ein Firmware Update ausgelöst - und ihn dabei mit der Original-Firmware geflasht, die den CCS811 nicht findet. Unter Information:
ZitatProgram Version 7.1.2(tasmota)
Build Date & Time 2019-12-06T11:22:22
Core/SDK Version 2_6_1/2.2.2-dev(38a443e)
Hm, wird also etwas anderes sein, als die von locutus mitgelieferte. Also schaue ich auf dem 2. Sensor nach
ZitatTasmota Version 7.1.2(tasmota)
Build-Datum & -Uhrzeit 2019.12.06 18:36:15
Core-/SDK-Version 2_6_1/2.2.2-dev(38a443e)
und wundere mich - weil nur die Build-Time abweicht. Allerdings kennt diese FW den CCS811 und ist in deutscher Sprache.
Nun habe ich derzeit so viele Baustellen, dass ich eigentlich nicht auch noch meine Arduino-IDE anwerfen und Tasmota selbst compilieren wollte. Kein Problem, denke ich, fertige FW-Dateien gibt es ja. Allerdings habe ich drei verschiedene gefunden, jeweil smit unterschiedlicher Größe
Zitat-rw-r--r-- ? 0 0 581648 Dec 21 12:15 ccs811_tasmota_7.1.2.bin
-rw-r--r-- ? 0 0 586688 Dec 28 10:17 ccs811_tasmota_720_firmware.bin
-rw-r--r-- ? 0 0 469600 Dec 28 10:17 tasmota_ccs811_firmware.bin
Und siehe da, mit jeder dieser drei Versionen misslingt ein Firmware Update OTA. Beim "Upgrade by web server" behauptet die Kiste zwar, die neue Firmware würde geladen - aber dann ist nach dem Neustart wieder alles wie vorher. Beim "Upgrade by file upload" kommt in allen drei Fällen eine Fehlermeldung "Upload Failed. Upload buffer miscompare".
Schlussfolgerung: Irgendetwas Grundlegendes habe ich nicht verstanden:
- Wieso kann ich zwar mit zwei Mausklicks die FW überschreiben, danach aber nicht mehr?
- Warum lässt sich der ESP nicht mehr OTA flashen? Mache ich irgendetwas falsch dabei?
- Welche der drei FW-Dateien ist denn nun die richtige?
Vielleicht kann mir jemand einen Kick in die richtige Richtung geben.
LG
pah
tasmota-minimal.bin?
Gesendet von meinem SM-T585 mit Tapatalk
Ja wäre auch mein Vorschlag! Die Firmware ist zu groß für zwei mal in flash. Daher erst minimal per ota, dann die richtige per ota hinterher.
Gruß Arnd
Signalduino (Nano, ESP, ...), CUL (Busware, Nano, Maple, ...), Homematic (HM-MOD-UART-RPI, ESP, Maple, ...), LaCrosseGateway (LGW, ESP, ...), 1-wire, ESPEasy, Bravia, Yamaha, ...
Danke, das war das richtige Stichwort - ist jetzt geflasht mit der richtigen Software...
LG
pah
Hey,
ich bin derzeit noch auf der Suche nach einem WLAN-IR Sender der per http request angesprochen werden kann.
Das sollte möglich sein, wenn ich die Seiten hier richtig gelesen habe?
Evtl. hat noch jemand einen fertig aufgebauten und geflashten Sender da, den er abgeben möchte?
Gerne per PN.
Vielen Dank
Gruß Paul
CCS811 Firmware Update für den iAQ-Sensor (https://forum.fhem.de/index.php/topic,95803.msg887093.html)
Bitte unbedingt README (https://github.com/maarten-pennings/CCS811/blob/master/examples/ccs811flash/README.md) lesen und die Tasmota Konfiguration vor dem Update sichern!
Es wird benötigt:
- USB zu TTL Konverter mit 3,3V Logik
- Lötkolben und Lötzinn
- PC mit Arduino Sketch zum Flashen der CCS811 Firmware (https://github.com/maarten-pennings/CCS811/tree/master/examples/ccs811flash)
- Tasmota Sensors (https://github.com/arendst/Tasmota/releases) Firmware
ACHTUNG! Je nach Boardversion fällt die Vorgehensweise unterschiedlich aus.
Wie unterscheidet sich der ESP8266 vom ESP8285? ESP8285 hat einen integrierten Flashspeicher - Flash Mode DOUT - das Bauteil IC4 auf dem iAQ-Board V1 fehlt.
Board V1 mit ESP8285 oder 8266 Chip
TX, RX, 3V3 und GND mit dem TTL Konverter verbinden. Lötbrücke WAKE<->IO12 schließen.
Im ccs811flash.ino Sketch zuerst die Zeile Modifizieren:
// Wiring for ESP8266 NodeMCU boards: VDD to 3V3, GND to GND, SDA to D2, SCL to D1, nWAKE to D6 (or GND)
CCS811 ccs811(D6); // nWAKE on GPIO12
In der Arduino IDE Werkzeuge -> Board: "LOLIN(WEMOS) D1 mini Lite" für ESP8285 oder "LOLIN(WEMOS) D1 R2 & mini" für ESP8266 auswählen.
Taster S2 am Board gedrückt halten und den TTL Konverter mit dem PC verbinden. Taster S2 loslassen, Arduino Sketch hochladen.
Dann die Ausgabe mit 115200 Baud im seriellen Monitor beobachten.
Ist ein Update auf 2.0.0 erforderlich? Wenn ja, dann im ccs811flash.ino Sketch die Zeile kommentieren und erneut hochladen:
//Serial.println("setup: comment-out this code line if you want to flash"); return; // Extra precaution
Die Ausgabe im seriellen Monitor beobachten.
Danach die Lötbrücke WAKE<->IO12 öffnen und das Bauteil R16 (NTC-Widerstand) von der Platine entfernen.
Nun kann Tasmota geflasht und die Konfiguration wiederhergestellt werden.
Board V2 mit ESP-M1 Modul
TX, RX, 3V3 und GND mit dem TTL Konverter verbinden.
Im ccs811flash.ino Sketch zuerst die Zeile Modifizieren:
// nWAKE not controlled via Arduino host, so connect CCS811.nWAKE to GND
CCS811 ccs811;
In der Arduino IDE Werkzeuge -> Board: "LOLIN(WEMOS) D1 mini Lite" für ESP8285 auswählen.
Taster S2 am Board gedrückt halten und den TTL Konverter mit dem PC verbinden. Taster S2 loslassen, Arduino Sketch hochladen.
Dann die Ausgabe mit 115200 Baud im seriellen Monitor beobachten.
Ist ein Update auf 2.0.0 erforderlich? Wenn ja, dann im ccs811flash.ino Sketch die Zeile kommentieren und erneut hochladen:
//Serial.println("setup: comment-out this code line if you want to flash"); return; // Extra precaution
Die Ausgabe im seriellen Monitor beobachten.
Danach das Bauteil R12 (NTC-Widerstand) von der Platine entfernen und Tasmota flashen.
Alernative Update Methode
Den ccs811flash.ino Sketch auf einen WEMOS oder NodeMCU flashen und via I²C-Bus (SDA, SCL, 3V3 und GND) mit dem iAQ-Board V1/V2 verbinden. Dabei ist sicherzustellen, dass nWAKE während des Flashvorgangs auf GND-Potential liegt.
Im Anhang Schaltplan, Gerberdaten und Firmware für die, die selbst löten möchten.
Die Verwendung der Daten für kommerzielle Zwecke, gewerbliche Herstellung oder Vertrieb ist untersagt.
Hallo locutus,
habe ich das so richtig verstanden?
- Es wird im ersten Schritt der verbaute ESP8266 Chip dazu "missbraucht" auf den CCS811 die Firmware v2.0 zu flashen (dadurch wird die Tasmota Firmware natürlich gelöscht), sprich der Sketch lädt über die serielle Schnittstelle die Firmware in den CCS811
- Danach muss wieder die Tasmota Firmware geflasht werden.
Wenn man die Firmware via I2C über einen zweiten WeMos D1 mini flahst, welche Einstellungen braucht man dann im Sketch? Auch wieder Board v1 bzw. v2 unterschiedlich?
Gibt es irgendwo eine Information, was bei der Firmware v2.0 anders/besser ist?
Danke + Gruß
Peter
Edit: Changelog (https://ams.com/documents/20143/307151/CN02-2018_Change%20notification%20for%20new%20CCS811%20firmware%20application%20version.pdf) zur Firmware v2.0.x von AMS.