ESP 8266 + Arudino Pro Mini + Firmata, HowTo Setup

Begonnen von breezybadger, 22 Januar 2015, 21:20:39

Vorheriges Thema - Nächstes Thema

Familienpapi

Wie CaptainHook schon wunderbar schrieb:

Zitat von: CaptainHook am 26 Januar 2015, 23:09:28
HowTo Build:
Meine ToolChain bassiert auf folgenden Wiki https://github.com/esp8266/esp8266-wiki/wiki
Das MakeFile im tar-Archiv sollte 100% kompatibel sein.
WLAN Einstellungen Server-IP und Port wird in user/user_config.h konfiguert.
dann reicht ein make und ein make flash und der ESP ist auch schon fertig

Dann wird das Ganze verkabelt
VCC 3,3V
RST&CH_PD gehen auf 3,3V
RX --> TX-Arduino (ggf über LevelShifter da der ESP nicht 5V kompatibel ist!!!!!)
TX --> RX-Arduino (ggf über LevelShifter da der ESP nicht 5V kompatibel ist!!!!!)
GND GND
GPIO0 bleib in der Luft hängen.
GPIO2 gibt einen 0.5Sec puls aus  diese kann eine LED zum blinken bringen (+ ---RRR----|<----GPIO2) den nutze ich um zu sehen das der ESP noch lebt.

Die 3,3V Spannungs versorgung sollte vernünftig sein die 3,3V der Arduino (vom FDTI-Chip sind NICHT ausreichend)
Ich nutze daher einen 3.3V LDO (AMS1117-3.3) um mir aus den 5V eine ordentliche 3,3V Versorgung zu machen.
Im Bild kommen die 5V von einem PC-Netzteil, dieses versorgt den Arduino und den ESP.

Das habe ich mit einer Ubuntu 15.04 64Bit unter Windows 8.1 x64 Hyper-V durchgeführt. Das flashen habe ich dann direkt in Windows von Hand erledigt, da ich den COM-Port nicht in die virtuelle Maschine bekommen habe. Die Dateien kann man sich per WinSCP in ein temporäres Verzeichnis unter Windows holen, bei mir C:\Temp mit Sicherheitseinstellung "Jeder" "Vollzugriff". Die ESP8266 AT-Firmware 0.92 nur ein einziges mal flashen. Das reicht. Danach kannst Du immer wieder geänderte Versionen aus dieser Tool Chain flashen. Meine einzigste kleine Änderung hat CaptainHook ins GitHub übernommen.

Das war's auch schon. In FHEM habe ich folgenden Code:
define FRMB1 FRM 28256 [global]
attr FRMB1 i2c-config 1
attr FRMB1 sampling-interval 30000
attr FRMB1 stateFormat reading
attr FRMB1 model nano
attr FRMB1 room zConfig
attr FRMB1 group FRM


28256 ist bei mir der Port, auf dem dieser ESP mit meinem FHEM die Verbindung aufbaut. Der muss, zusammen mit der IP des FHEM Servers, mit dem Port in user/user_config.h übereinstimmen. Ich bin dabei bewusst mal unter der magischen 32768 geblieben. NodeMCU hat ja Probleme bei TCP Ports ab 32768. Ob dies hier auch so ist, weiß ich nicht. Hab's nicht getestet.

Ganz wichtig sind die 3,3V Versorgung. Der ESP zieht zeitweise bis ca. 230mA. Das liefert kein einziger Arduino. Hier benötigst Du definitiv eine separate Stromversorgung. Ich habe einen LF33CV im Einsatz. Ein kleiner Schaltregler, der mit über 90% Effektivität die Spannung auf 3,3V stabilisiert, auch bei jenseits der 30V Eingangsspannung, und das ohne Kühlung.
FHEM@RPi4, piVCCU3@RPi3 (nur Homematic IP), boot via USB NVME SSD, keine SDs,
FTUI 3, HMCCU, MQTT(Mosquitto), MobileAlerts, JeelinkV3c868 (LaCrosse), ZWAVE(+), TelegramBot, eigene Heizungssteuerung, Configurable Firmata
ESP8266 MQTT mit eigener Firmware / Framework

Nepumuk4321

Vielen Dank für die ausführliche Beschreibung.
Prinzipiell habe ich alles genauso gemacht. Ich hab das flashen unter Ubuntu gemacht und auch unter Windows (beides probiert), das flashen läuft auch sauber durch. (hab noch nicht geschnallt, wie man hier Bilder anhängt, sonst hätte ich mal einen Screenshot gepostet).

Aber wie ist es mit der Toolchain, da steht jetzt man soll die esp_iot_sdk_v0.9.3_14_11_21.zip (usw.)  installieren (siehe 2 Posts aufwärts). Hat sich das vielleicht geändert, seit du es installiert hast? Macht das einen Unterschied? Das "make" und "make flash" läuft ja bei mir auch sauber durch.
FHEM@RPI2, HMUSB; Keymatic;Thermostate (HM-CC-RT-DN); Rolladenaktoren(HM-LC-BI1PBU-FM); 2xConfig-Firmata@ArduinoUno mit Relaisausgängen und DS18B20;Schaltaktor(HM-LC-SW1-BA-PCB); Rauchmelder(HM-SEC-SD); ArduinoNano+ nRF24L01 MySensors;   FHEM@RPI1 als Teststation mit RF1101se@ArduinoNano.....

CaptainHook

Hi,
Wie Familienpapi schon schreibt ist die Spannungsversorgung wichtiger als man denkt. Meine ersten Versuche sind auch gescheiter, da meine Spannungsversorgung zi schwach war. Ein Arduino oder ein usb serial Wandler schafft es nicht den esp8266 zu versorgen (zumindest keiner von meinen die ich versucht habe).
Flachen ging auch mit schlechter Versorgung nur der Betrieb nicht.

Gruß
Stephan


Gesendet von meinem A0001 mit Tapatalk
Lenovo M53 ThinkCentre 10DC | Docker | SolarEdge SE10K + SE5000H + Energy Bank 10KWh | EspEasy | Tasmota | Hue | Alexa | uvm.

Nepumuk4321

Ich habe zwar eine externe Versorgung, aber ich werde es gleich mal nachmessen.
Es muss ja sowas in der Art sein. :-\
Danke für den Hinweis
FHEM@RPI2, HMUSB; Keymatic;Thermostate (HM-CC-RT-DN); Rolladenaktoren(HM-LC-BI1PBU-FM); 2xConfig-Firmata@ArduinoUno mit Relaisausgängen und DS18B20;Schaltaktor(HM-LC-SW1-BA-PCB); Rauchmelder(HM-SEC-SD); ArduinoNano+ nRF24L01 MySensors;   FHEM@RPI1 als Teststation mit RF1101se@ArduinoNano.....

Familienpapi

#49
ich habe die iot 0.9.3 mit dem patch1.

Zuerst hatte ich den ESP auch an den 3,3V des Nano hängen. Flashen funktionierte, aber der Betrieb nicht. Sobald das WLAN aktiviert wird, bricht die Versorgung zusammen und weder der ESP noch der Nano funktionieren dann noch korrekt. Da hat auch ein Elko mit 3.300µF nicht geholfen.
FHEM@RPi4, piVCCU3@RPi3 (nur Homematic IP), boot via USB NVME SSD, keine SDs,
FTUI 3, HMCCU, MQTT(Mosquitto), MobileAlerts, JeelinkV3c868 (LaCrosse), ZWAVE(+), TelegramBot, eigene Heizungssteuerung, Configurable Firmata
ESP8266 MQTT mit eigener Firmware / Framework

Nepumuk4321

#50
Ich verzweifele, hab's gerade gemessen (zwar nur mit Multimeter, aber ) die Spannung steht stabil bei 3,29V. Auch beim Reset bzw. Neustart
Ich habe auch die iot 0.9.3 mit dem patch1, jetzt weiß ich wirklich nicht mehr weiter.

hab schon hundert mal neu geflasht, in allen Varianten an Originalfirmware. Hatte zwischendurch auch mal an der client.c rumgefummelt und direkt Auswirkungen am Esp festgestellt. Hab die Änderungen wieder rückgängig gemacht..........
Es blinkt am GPIO2, aber aus irgendeinem Grund gibt's keine Verbindung ins WLAN.

Protokoll vom flashen:


frank@frank-VB:/opt/Espressif/Code/ESP8266_Transparent_TCP_Client_Bridge-master$
sudo /opt/Espressif/esptool-py/esptool.py --port /dev/ttyUSB0 write_flash 0x00000 ESP_8266_BIN0.92.bin
Connecting...
Erasing flash...
Wrote 520192 bytes at 0x00000000 in 50.5 seconds (82.4 kbit/s)...

Leaving...

frank@frank-VB:/opt/Espressif/Code/ESP8266_Transparent_TCP_Client_Bridge-master$ make
FW firmware/0x00000.bin
FW firmware/0x40000.bin

frank@frank-VB:/opt/Espressif/Code/ESP8266_Transparent_TCP_Client_Bridge-master$
sudo make ESPPORT=/dev/ttyUSB0 flash
/opt/Espressif/esptool-py/esptool.py --port /dev/ttyUSB0 write_flash 0x00000 firmware/0x00000.bin 0x40000 firmware/0x40000.bin
Connecting...
Erasing flash...
Wrote 30720 bytes at 0x00000000 in 3.0 seconds (81.8 kbit/s)...
Erasing flash...
Wrote 142336 bytes at 0x00040000 in 14.0 seconds (81.4 kbit/s)...

Leaving...
frank@frank-VB:/opt/Espressif/Code/ESP8266_Transparent_TCP_Client_Bridge-master$


FHEM@RPI2, HMUSB; Keymatic;Thermostate (HM-CC-RT-DN); Rolladenaktoren(HM-LC-BI1PBU-FM); 2xConfig-Firmata@ArduinoUno mit Relaisausgängen und DS18B20;Schaltaktor(HM-LC-SW1-BA-PCB); Rauchmelder(HM-SEC-SD); ArduinoNano+ nRF24L01 MySensors;   FHEM@RPI1 als Teststation mit RF1101se@ArduinoNano.....

Cihan

RPi4 Shelly Zigbee

Familienpapi

Ich arbeite an einer Lösung mit Arduino IDE 1.6.5 unter Windows 8.1 x64. Hänge aber gerade daran, dass direkt beim ersten Kontakt FHEM auf "disconnected" geht und das nur mit einem "shutdown restart" zu beheben geht.
Werde zwischen den Jahren etwas mehr Zeit haben, um da nochmal dran zu gehen.

Wenn Du hier mit programmieren möchtest, lege ich den bisherigen Code gerne in mein Github.

Parallel hatte ich die Hoffnung, eine Quick-and-Dirty Lösung für ESP8266 Firmata zu erhalten. Aber das ganze ist doch gar nicht so einfach. Der Arduino Firmata Code selbst ist schon nicht 100% ESP8266 kompatibel.
FHEM@RPi4, piVCCU3@RPi3 (nur Homematic IP), boot via USB NVME SSD, keine SDs,
FTUI 3, HMCCU, MQTT(Mosquitto), MobileAlerts, JeelinkV3c868 (LaCrosse), ZWAVE(+), TelegramBot, eigene Heizungssteuerung, Configurable Firmata
ESP8266 MQTT mit eigener Firmware / Framework

Nepumuk4321

Hallo,

Bei mir nicht. Ich habe es noch mit einem richtigen USB seriell  Wandler und einem ESP-07 getestet. Bei mir geht's einfach nicht. Ich bin jetzt auf MySensors umgestiegen, ist auch eine tolle Lösung für Wireless Eigenbau Projekte mit FHEM.
Wenn ich mal wieder mehr Zeit habe werde ich mich noch mit einer reinen Esp8266 Lösung ohne arduino beschäftigen.
Bei einigen scheint ja auch die in diesem Thread beschriebene Lösung zu funktionieren.


Gruß
Frank
FHEM@RPI2, HMUSB; Keymatic;Thermostate (HM-CC-RT-DN); Rolladenaktoren(HM-LC-BI1PBU-FM); 2xConfig-Firmata@ArduinoUno mit Relaisausgängen und DS18B20;Schaltaktor(HM-LC-SW1-BA-PCB); Rauchmelder(HM-SEC-SD); ArduinoNano+ nRF24L01 MySensors;   FHEM@RPI1 als Teststation mit RF1101se@ArduinoNano.....

Familienpapi

Ja, so hat jeder seine Eigenbaulösungen (auch ich) und das Universelle / Flexible bleibt auf der Strecke. Finde ich schade.
Aber danke für den Hinweis. Werde mir mySensors mal näher anschauen.
FHEM@RPi4, piVCCU3@RPi3 (nur Homematic IP), boot via USB NVME SSD, keine SDs,
FTUI 3, HMCCU, MQTT(Mosquitto), MobileAlerts, JeelinkV3c868 (LaCrosse), ZWAVE(+), TelegramBot, eigene Heizungssteuerung, Configurable Firmata
ESP8266 MQTT mit eigener Firmware / Framework

Nepumuk4321

#55
Guck mal unter MySensors.Org
Besteht aus einer Library und beispielsketches für alle denkbaren Fälle, die man beliebig verändern kann. Der Funkchip arbeitet auf 2.4ghz also wie WLAN aber belegt keine Adresse. Außerdem lassen Sie sich als repeater betreiben, was die Reichweite fast unendlich macht.
Funktioniert super einfach, der erste Test lief schon nach 10min

Vielleicht wäre das eine einfachere Variante für dein Pojekt mit dem ESP8266. Also Mysensors Library direkt auf dem esp 8266


Gruß
Frank
FHEM@RPI2, HMUSB; Keymatic;Thermostate (HM-CC-RT-DN); Rolladenaktoren(HM-LC-BI1PBU-FM); 2xConfig-Firmata@ArduinoUno mit Relaisausgängen und DS18B20;Schaltaktor(HM-LC-SW1-BA-PCB); Rauchmelder(HM-SEC-SD); ArduinoNano+ nRF24L01 MySensors;   FHEM@RPI1 als Teststation mit RF1101se@ArduinoNano.....

Familienpapi

Ich weiß, das ist off-topic, aber ich antworte einfach mal:
Irgendwie schaffe ich es nicht, dass meine Arduino IDE 1.6.5 die Libraries von mySensors erkennt. Mit der Anleitung auf mySensors und ein paar Google-Seiten komme ich nicht weiter.
Wohin muss man welche Verzeichnisse unter Win8.1x64 kopieren, damit ich wenigstens die Beispiele von mySensors mal probieren kann?
FHEM@RPi4, piVCCU3@RPi3 (nur Homematic IP), boot via USB NVME SSD, keine SDs,
FTUI 3, HMCCU, MQTT(Mosquitto), MobileAlerts, JeelinkV3c868 (LaCrosse), ZWAVE(+), TelegramBot, eigene Heizungssteuerung, Configurable Firmata
ESP8266 MQTT mit eigener Firmware / Framework

hexenmeister

Zitat von: Familienpapi am 05 Dezember 2015, 18:42:27
Wohin muss man welche Verzeichnisse unter Win8.1x64 kopieren, damit ich wenigstens die Beispiele von mySensors mal probieren kann?
In 'libraries' in deinem Sketch-Ordner...

frank

FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html