DHT22 -> ESP8266 (ESP-01) <=Wlan=> Mosquitto <- Fhem <- MQTT <- MQTT_Device

Begonnen von Papaloewe, 28 März 2015, 19:52:13

Vorheriges Thema - Nächstes Thema

John

Programmbeispiel im Anhang:

DHT22 wird alle 5 Sekunden eingelesen zum MQTT Broker gepublished. (GPIO 2)
Relais wechselt alle 5 Sekunden den Zustand (GIPO 0).

DHT22 library wurde geringfügig modifziert.

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

schka17

Zitat von: John am 09 April 2015, 08:49:02
Programmbeispiel im Anhang:

DHT22 wird alle 5 Sekunden eingelesen zum MQTT Broker gepublished. (GPIO 2)
Relais wechselt alle 5 Sekunden den Zustand (GIPO 0).

DHT22 library wurde geringfügig modifziert.

John

Hallo John,

diese Arduino IDE bringt mich noch zur Verzweiflung, kannst du mir bitte einen Tip geben wo ich deine Files genau hinkopieren muss? Ich bekomme beim verify immer nur "error compiling", aber keinen Hinweis was das Problem ist.

Danke

Karl
M: Thinclient x64 Debian | CUL FS20, HMS100WD, HMS100TF, HMS100T, HMS100CO, S300, S555TH | OWServer DS1420, DS18B20, DS2408 | RFXCOM UVN128, THWR800, THGR228N,RTGR328, PCR800 |Jeelink PCA301 EC3000|CUNO+IR|HMLAN|HMUSB|CUL433 Somfy|mySensors|espEasy
S1:Raspberry mit BPM810, Jeelink EC3000

Kuzl

Auch ich erhalte beim Kompilieren nur "Fehler beim Kompilieren" die beiden libs hab ich in den "libraries"-Ordner kopiert und die scheinen auch gefunden zu werden. So komm ich leider nicht weiter :(

John

Hab ihr schon ein Beispiel übersetzt, das die  Arduino-IDE von Haus aus mitbringt.
Z.B. ESP8266Webserver (siehe Anhang)
Das muss in jedem Fall vorhanden sein, wenn ihr die korrekte IDE verwendet.

Versucht das erst mal zu Laufen zu bekommen. Dann ist eure IDE korrekt eingerichtet.
Danach könnt ihr mit meinem Beispiel weitermachen.

Ist das Board in der IDE  auf ESP8266 eingestellt ?
siehe http://forum.fhem.de/index.php/topic,35572.msg283383.html#msg283383


John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

Kuzl

Das Beispiel ist Vorhanden, lässt sich aber auch nicht kompilieren. Das richtige Device ist eingestellt.
Ist das bei dir auch so, dass nicht angezeigt WAS falsch ist, wenn was falsch ist?

Ich habe Arduino 1.6.1 von hier : https://github.com/esp8266/Arduino/releases
sollte doch stimmen oder? (windows-Version)

Gruß
Kuzl

schka17

Zitat von: John am 09 April 2015, 18:06:31
Hab ihr schon ein Beispiel übersetzt, das die  Arduino-IDE von Haus aus mitbringt.
Z.B. ESP8266Webserver (siehe Anhang)
Das muss in jedem Fall vorhanden sein, wenn ihr die korrekte IDE verwendet.

Versucht das erst mal zu Laufen zu bekommen. Dann ist eure IDE korrekt eingerichtet.
Danach könnt ihr mit meinem Beispiel weitermachen.

Ist das Board in der IDE  auf ESP8266 eingestellt ?
siehe http://forum.fhem.de/index.php/topic,35572.msg283383.html#msg283383

John

Hallo John,

die Beispiele habe ich zwar, aber es kommt der selbe Fehler.
Als Board kann ich nur generic ESP8266 board einstellen, ich habe mittlerweile auch auf IDE 1.6.3 upgedatet, hat natürlich nichts gebracht.


Karl
M: Thinclient x64 Debian | CUL FS20, HMS100WD, HMS100TF, HMS100T, HMS100CO, S300, S555TH | OWServer DS1420, DS18B20, DS2408 | RFXCOM UVN128, THWR800, THGR228N,RTGR328, PCR800 |Jeelink PCA301 EC3000|CUNO+IR|HMLAN|HMUSB|CUL433 Somfy|mySensors|espEasy
S1:Raspberry mit BPM810, Jeelink EC3000

SpenZerX

Hallo,

kennt sich jemand gut mit Elektronik aus?

Wie ist das mit dem ADC am ESP

Analogsensor zwischen ADC Pin und VDD3V3, + zusätzlich Schaltung gemäß Anhang? Wobei die Werte R11 und R9 Projektspezifisch zu wählen sind oder fix sein können? und ADC EX eine Art Test-Meßpunkt ist?

(Schematic vom Nodemcu-devkit)

John

@Kuzl
ZitatIch habe Arduino 1.6.1 von hier : https://github.com/esp8266/Arduino/releases
sollte doch stimmen oder? (windows-Version)
Genau den verwende ich auch, allerdings unter Ubuntu die Linux-Variante.

Ich konnte nach der Installation und korrekten Boardeinstellung, sofort alles fehlerfrei compilieren.

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

Kuzl

@ SpenZerX: kommt drauf an, ob du einen aktiven oder passiven Sensor hast. Was willst du denn anschließen?

@John: dann werd ich morgen mal die Linux-Variante ausprobieren :)

Viele Grüße
KUZL

Papaloewe

Ich meine irgendwo gelesen zu haben, dass es bei der Windows Version noch Probleme gibt.
Ich benutze ebenfalls die IDE unter Linux und es funktioniert.

Evtl. das hier?
http://www.esp8266.com/viewtopic.php?f=26&t=2261

SpenZerX

@Kuzel: es geht eher um die Frage wie die Schaltung aussehen muss um sich alle Optionen des ADC z.B. über einen Steckverbinder offen zu halten. Ob man also die dargestellten Widerstände auf das PCB bringen sollte und was sie bewirken. Erprobung wäre dann mit Moisture Sensor für Erde, FIGARO TGS4161 Gas Sensor und Fotozelle.

Kuzl

@SpenZerx: Das sind alles aktive Sensoren (TGS4161 und am besten auch Photodiode mit OVP). D.h Sie haben eine eigene Versorgung und erzeugen dann direkt eine Ausgangsspannung und kannst somit direkt in den Analogpin gehen.
Bei einem LDR z.b. müsstest du einen Spannungsteiler machen, da er ja nur seinen Widerstand in Abhängigkeit der Beleuchtungsstärke ändert:

    VCC
     |
   |  | Widerstand
   |  |
     |_____Analogpin
     |
   |  |
   |  | LDR
   _|_

Die Schaltung, die du gepostet hast, zeigt eine Pegelanpassung für Sensoren, die eine Größere Ausgangsspannung haben.

Kuzl

Mir ist gerade noch eine weitere Idee gekommen:

Man könnte ja einen "MQTT-Modem"-Sketch programmieren, den man dann in größeren Projekten verwenden kann. Ich stelle mir vor, der Haupt-Controller des Projekts steuert den ESP8266 über UART kommandos wie z.b. "push /bad/temp 15.80" und der ESP erledigt den rest. außerdem kann der Haupt-Controller den ESP einfach über die RST-Leitung schlafen legen.

John

@Kuzl

ich hab einen ähnlichen Gedanken nur genau anders herum.

Der ESP managed alles und "mißbraucht" einen Arduino als IO-Erweiterung.
Beide kommunizieren über die serielle Schnittstelle

Damit hat man kein Ressourcen-Probleme mehr und kann gleichzeitig auf die komplette Hardware-Pallette von Arduino zugreifen.
Arduino übernimmt nur noch die Anbindung der Hardware mit entsprechenden Treibern.
Im günstigsten Fall hat man einen Sketch für den Arduino mit allen Sensoren/Aktoren, die man jemals verwenden will.
Die Treiber werden vom ESP fallweise aktiviert/angefordert, so daß nur noch der Sketch am ESP zu individualisieren ist.

Die Netzwerkanbindung ist ja mit dem ESP ohnehin gegeben.

Ich denke folgende Library ist dazu gut geeignet.
http://playground.arduino.cc/Code/CmdMessenge

Die muss dann auf beiden Seiten integriert werden.

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

golem

@John

ist da nicht eine Lösung mit Firmata einfacher, da es die passenden Module schon gibt?
ich finde gerade die Lösung nur ESP8266 so gut da sie einfach nur schön klein ist.

gruß Denis 
Pi - Max-Lan - 8x max Ht -3x Max WT - Max Fk -modbus umg103- 2x Arduino mit Firmata Ethernet- ws300 - 433Mhz Sender Empfänger - 7x 1wire ds1820