Entwicklung: Sensor mit dem ESP8266 WLAN-Funkmodul

Begonnen von locutus, 09 November 2014, 19:30:06

Vorheriges Thema - Nächstes Thema

locutus

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


gloob

Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

locutus

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.

synaps-o-dan

#363
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. 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
fhem auf Raspberry Pi 3
5 x Set aus jew. 1x FHT80B + 1xFHT8V + 1x FHT80TF-2
HM: 1 x HM-ES-PMSw1-Pl, 2 x HM-LC-Sw1-FM, 2 x HM-LC-Sw1PBU-FM, 3 x HM-Sec-SD, 2 x HM-PB-2-WM55, 2 x HM-Sec-MDIR-2
3 x EM-1000 EM
Onewire: insgesamt 11 Onewire-Sensoren an einem LinkUSB Adapter

locutus

Was sagt die Sonoff-Tasmota Firmware zu der "Laufzeit" oder "Grund für Neustart" aus?
Hast du schon eine der 5 Reset Optionen in Betracht gezogen?
Oder Flash-Memory löschen und die CCS811-Tasmota-Firmware neu installieren?

synaps-o-dan

#365
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/ ??
fhem auf Raspberry Pi 3
5 x Set aus jew. 1x FHT80B + 1xFHT8V + 1x FHT80TF-2
HM: 1 x HM-ES-PMSw1-Pl, 2 x HM-LC-Sw1-FM, 2 x HM-LC-Sw1PBU-FM, 3 x HM-Sec-SD, 2 x HM-PB-2-WM55, 2 x HM-Sec-MDIR-2
3 x EM-1000 EM
Onewire: insgesamt 11 Onewire-Sensoren an einem LinkUSB Adapter

locutus

#366
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

synaps-o-dan

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
fhem auf Raspberry Pi 3
5 x Set aus jew. 1x FHT80B + 1xFHT8V + 1x FHT80TF-2
HM: 1 x HM-ES-PMSw1-Pl, 2 x HM-LC-Sw1-FM, 2 x HM-LC-Sw1PBU-FM, 3 x HM-Sec-SD, 2 x HM-PB-2-WM55, 2 x HM-Sec-MDIR-2
3 x EM-1000 EM
Onewire: insgesamt 11 Onewire-Sensoren an einem LinkUSB Adapter

synaps-o-dan

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
fhem auf Raspberry Pi 3
5 x Set aus jew. 1x FHT80B + 1xFHT8V + 1x FHT80TF-2
HM: 1 x HM-ES-PMSw1-Pl, 2 x HM-LC-Sw1-FM, 2 x HM-LC-Sw1PBU-FM, 3 x HM-Sec-SD, 2 x HM-PB-2-WM55, 2 x HM-Sec-MDIR-2
3 x EM-1000 EM
Onewire: insgesamt 11 Onewire-Sensoren an einem LinkUSB Adapter

habeIchVergessen

#369
@locutus: ich habe das Board 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

Prof. Dr. Peter Henning

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

Ralf W.

tasmota-minimal.bin?

Gesendet von meinem SM-T585 mit Tapatalk

http://twitter.com/RWausD
Schon gewusst, dass Haarausfall zu einer Glatze führen kann?

FHEM: NUC7PJYH2, Ubuntu Server 22.04.2 LTS, HMCCU - RaspberryMatic, DE ConBee II, diverse Sensoren und Aktoren.

RaspiLED

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, ...
Raspberry Pi mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, WifiLight2, Bravia, ...

Prof. Dr. Peter Henning

Danke, das war das richtige Stichwort - ist jetzt geflasht mit der richtigen Software...


LG

pah

paulde

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