ESP 8266 + Arudino Pro Mini + Firmata, HowTo Setup

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

Vorheriges Thema - Nächstes Thema

Familienpapi

Klingt ein wenig seltsam. Ich versuche mal, den Knoten zu lösen:

1. Die Klasse networkDisconCb sieht in Deinem Post gut aus.
2. Es handelt sich bei der Original Firmware um die 0.92 (ESP_8266_BIN0.92.bin). Schon mit der 0.95 funktioniert die chain nicht mehr.
3. Das Flashen funktioniert mit RST=0V aber nicht. Da ist der ESP die ganze Zeit im Reset Zustand und läuft gar nicht. Um den 01'er zu flashen lässt man GPIO2 offen, GPIO0 auf Masse, RST kurz auf Masse (Pull-Up-Widerstand auf Vcc3) und dann GPIO0 offen. Während dem Flashen muss die blaue LED am ESP flackern.
Dass die LED an GPIO2 dann nach dem ganzen Chaos doch blinkt, ist schon verwunderlich. Die blinkt eigentlich erst, wenn eine WiFi Verbindung besteht (wenn ich den Code richtig verstanden habe).
4. Die ServerIP ist die IP des FHEM Servers. Also auch hier korrekt.

Die WLAN IP des ESP kann man im DHCP Server statisch setzen = reservieren. Auf die Art und Weise hat man einen Ort, an dem die IPs vergeben werden und durch die Reservierungen erhält jeder ESP seine eigene eindeutige IP. Bei mehreren Geräten im Netzwerk wird so eine Doppelbelegung effektiv vermieden.

PS: Vielleicht mal grundsätzlich darüber nachdenken, wieviele GPIOs Du für Dein Projekt benötigst. Ich bin inzwischen bei einer reinen ESP-Lösung per MQTT und WebServer mit HTTP-GET gelandet. Der 07'er und der 201'er sind hier sehr empfehlenswert. Das wäre dann aber eine andere Baustelle und gehört hier nicht mehr rein.
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

#31
Hallo,

jetzt  bin ich der Lösung aber schon ein gutes Stück näher! Danke Familienpappi!
Ich bin sicher es liegt an der ESP Originalfirmware. Ich habe die "at_v0.19_14_10_30.zip" von hier https://github.com/esp8266/esp8266-wiki/tree/master/sdk genommen.
Wo bekomme ich die ESP_8266_BIN0.92.bin denn her, hast du vielleicht einen Link?  Habe sie hier gefunden: https://drive.google.com/folderview?id=0Bw7HZpJSTfpcb1JFQ3ZYY3JqUHc&usp=sharing

Zu deinem Punkt 3.: ich habe den RST des Arduinos auf 0V, dadurch ist der Atmel Prozessor tot und die Signale des USB Seriell Wandlers gehen direkt an RX/TX. Der Arduino Nano wird damit zum reinen USB / Seriell Wandler.
Den Esp habe ich dabei nur mit RX/TX mit dem Arduino verbunden und die anderen Anschlüsse auf dem Potential, wo sie hingehören. Also das flashen funktioniert ohne Probleme.
Bis daraufhin, das es ich den Levelshifter dann rausholen muss. Mit dem Levelshifter geht das Flashen nicht , weiß auch nicht warum,soll hier als Hinweis an Mitleser gelten. Hat mich auch ein paar Stunden gekostet das herauszufinden.

Die andere von dir vorgeschlagene Lösung ist auch sehr interessant, aber da fehlen mir Fhem-seitig noch ein paar Grundlagen. Firmata ist auf der Fhem Seite schon super einfach.
Parallel bin ich noch an einer Lösung mittels RF1101se und ich habe noch ein paar Wino-Boards (http://www.wino-board.com) hier rumliegen, mit denen will ich auch noch spielen :)
Letztlich ist für all diese Lösungen der Anschluss an Fhem die größte Hürde für mich.
Habe mir aber schon mal zwei ESP-12e und einen NodeMcu in China geordert um bei dem Thema weiter zu machen. Ich hoffe, dass ich das aktuelle Problem gelöst habe bis die Teile  eintreffen ;)


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.....

Nepumuk4321

So jetzt verliere ich langsam die Lust weiter zu machen.
Hab's hiermit mit zwei weiteren ESP Firmware Versionen als Grundlage versucht:
AT+GMR
0018000902
OK

danach auch noch mit der:
AT+GMR
00170901
OK

Zugang in mein WLAN möglich und vorhanden.
Danach jeweils die 0x00000.bin und die 0x40000.bin aus der der Bridge drauf und das Teil taucht nicht mehr in meinem Netzwerk auf, obwohl die LED am GPIO2 munter blinkt.
Irgendwas mach ich wohl falsch aber ich komme nicht drauf, was sein könnte.

Gruß
Frank

P.S.: Sobald dir Bridge Firmware drauf ist komme ich auch seriell nicht mehr auf den ESP; zumindest reagiert er nicht mehr auf AT Befehle.
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.....

Kuzl

Probier mal das:
https://github.com/jeelabs/esp-link

Ist im Grunde das Gleiche wie die Bridge, lässt sich aber im nachhinein über den Browser konfigurieren und auch ein Terminal hat man drin :)

Familienpapi

#34
@Kuzl: Sieht interessant aus. Danke für den Hinweis.

@Nepumuk: Bin fündig geworden: Schau mal hier: https://drive.google.com/folderview?id=0Bw7HZpJSTfpcb1JFQ3ZYY3JqUHc&usp=sharing
Habe auch viele Links zu 0.9.2.2 gefunden, weiß aber nicht, ob es damit funktionieren würde.

Haben wir aber nicht das Ziel aus den Augen verloren? (Wie mein Techniklehrer im TG schon immer sagte: Von hinten durch die Brust direkt ins Auge  ;) )

Warum arbeiten wir nicht an einer Firmata Version, die direkt auf dem ESP8266 läuft? Das würde vieles erleichtern und die Ausfallsicherheit für den Echtbetrieb erheblich erhöhen. Der ESP8266 ist schneller und hat mehr Speicher als die AT Mega Chips. Wenn einem die GPIOs reichen, wäre der kleine doch eine schöne Alternative. Die 201-Version hat nochmal zwei GPIOs mehr als alle anderen.

Was meint Ihr? Ist es technisch überhaupt möglich?
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

Wzut

Zitat von: Familienpapi am 05 November 2015, 10:24:47
Was meint Ihr? Ist es technisch überhaupt möglich?
Versuchs doch : Lade dir die Arduino IDE 1.6.5 herunter, kopiere Firmata in libs
und starte direkt auf dem ESP8266 mit  Hilfe von https://github.com/esp8266/Arduino
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

Familienpapi

Danke.   :-[
Ich erspare es uns allen, die (Fehler-)Meldungen hier rein zu kopieren. Das beginnt schon damit, dass der ESP8266 in Boards.h von Firmata gar nicht definiert ist.
Freue mich über konstruktive Hilfe.  ;)
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

CaptainHook

Hi,

Die Idee finde ich gut, Firmata direkt auf den ESP zu bringen.... Aber das könnte auch in einem Bergarbeit ausufern...

LG,
Stephan
Lenovo M53 ThinkCentre 10DC | Docker | SolarEdge SE10K + SE5000H + Energy Bank 10KWh | EspEasy | Tasmota | Hue | Alexa | uvm.

Familienpapi

#38
Boards.h habe ich gerade mal kurz angepasst und scheint zu funktionieren.
Vorerst kümmere ich mich nur um die Digital-, Analog- Ein- und Ausgänge sowie um I2C und OneWire. Die anderen Themen habe ich auskommentiert. Sind aber trotzdem noch eine ganze Ladung Fehlermeldungen.

Heute Nachmittag darf ich andere Dinge tun, aber mal sehen, was der Abend / die Nacht so mit sich bringt.

Sind wir jetzt an einem Punkt, an dem man einen neuen Thread öffnen sollte? (Hallo, Moderator *winkewinke*)

PS: Ich arbeite mit der Arduino 1.6.5, diesem Board Manager (http://arduino.esp8266.com/stable/package_esp8266com_index.json) und der Configurable Firmata V2.06 unter Windows 8.1 x64 (damit wir wissen, über was ich rede)
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,
Mach du doch einen neuen Thread auf Familienpappi.
Das Thema fängt ja erst an

Gruß
Frank


Gesendet von meinem iPhone mit Tapatalk
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

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,

da die Lösung bei mir immernoch nicht läuft, mal die Frage hier, ob schon jemand die Lösung mit einem ESP-01 und Arduino Nano oder Uno erfolgreich umgesetzt hat?

Wenn ja wäre eine kurze Beschreibung der genauen Reihenfolge schön.
Also in der Form
1. ESP_8266_BIN0.92.bin oder was sonst auf Esp flashen
2. ESP mit WLAN verbinden (über AT Befehle) 
3. user_config.h anpassen
3. Esp8266-Transparent-Client make und dann die beiden binarys flashen....
.
.
.
Ich habe z.B. schon Probleme das der EPS-01 mit der ESP_8266_BIN0.92.bin nicht sehr sauber läuft, einige AT Befehle werden mit ERROR quittiert, die bei neueren Firmwares super laufen.
Wäre froh ein paar Erfahrungen zu hören, die mich vielleicht zu der Ursache des Problems führen.
Ansonsten werde ich mir mal die Mühe machen, den Vorschlag von Kuzl auszuprobieren.

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

Die 0.92 kennt einige Befehle nicht, aber der Core ist genau der, der für dieses make gebraucht wird.
Bei mir funktionierte es ohne Probleme mit einem 01 und einem 07 am Mega 2560 und Nano.
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

Wie bist du genau vorgegangen?
Hast du nach dem aufspielen der  0.92 direkt die Esp8266-Transparent-Client... aufgespielt oder zuerst mal mit dem Wlan verbunden...?
Kannst du das mal mit ein paar Worten beschreiben?

Es fällt mir echt schwer hier aufzugeben :-[  Das muss doch laufen.
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.....

Nepumuk4321

Hat sich vielleicht in der Toolchain was geändert im Laufe der Zeit. Mir kommt das mit den Firmwareversionen ein bisschen spanisch vor.
Ich habe es wie folgt (und zur Zeit in der Toolchain, die CaptainHook auf Seite 1 erwähnt hat, angegeben ist) installiert:


cd /opt/Espressif
wget -O esp_iot_sdk_v0.9.3_14_11_21.zip https://github.com/esp8266/esp8266-wiki/raw/master/sdk/esp_iot_sdk_v0.9.3_14_11_21.zip
wget -O esp_iot_sdk_v0.9.3_14_11_21_patch1.zip https://github.com/esp8266/esp8266-wiki/raw/master/sdk/esp_iot_sdk_v0.9.3_14_11_21_patch1.zip
unzip esp_iot_sdk_v0.9.3_14_11_21.zip
unzip esp_iot_sdk_v0.9.3_14_11_21_patch1.zip
mv esp_iot_sdk_v0.9.3 ESP8266_SDK
mv License ESP8266_SDK/


Da wird ja die sdk0.9.3 installiert, beißt sich dass mit der ESP_8266_BIN0.92.bin  ? ? ?
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.....