Entwicklung: Sensor mit dem ESP8266 WLAN-Funkmodul

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

Vorheriges Thema - Nächstes Thema

locutus

#375
CCS811 Firmware Update für den iAQ-Sensor

Bitte unbedingt README 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
- Tasmota Sensors 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.

PeMue

#376
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 zur Firmware v2.0.x von AMS.
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser