In diesem Beitrag möchte ich dir den AZ-Envy der Firma AZ-Delivery vorstellen und zeigen, wie dieser programmiert wird.
Der AZ-Envy ist ein Board mit einem ESP8266MOD-12-F Mikrocontroller sowie einem Luftqualitätsmesser MQ-2 sowie einem Luftfeuchtigkeitsmesser SHT30.
Kaufen des AZ-Envy
Den AZ-Envy bekommst du im Onlineshop von AZ-Delivery für derzeit 9,49 € zzgl. Versandkosten. Du bekommst diesen aber auch auf amazon.de (ebenso vom Verkäufer AZ-Delivery) für 9,99 € jedoch ohne Versandkosten.
Für die Programmierung benötigst du noch zusätzlich einen FTDI232 Adapter*, denn der Mikrocontroller hat keinen eigenen USB to Serial Konverter verbaut.
Hinweis von mir: Die mit einem Sternchen (*) markierten Links sind Affiliate-Links. Wenn du über diese Links einkaufst, erhalte ich eine kleine Provision, die dazu beiträgt, diesen Blog zu unterstützen. Der Preis für dich bleibt dabei unverändert. Vielen Dank für deine Unterstützung!
Du bekommst diese Module in verschiedenen Bauweisen, jeweils aber mit Mini-USB Schnittstelle.
Aufbau der Platine AZ-Envy
Wie bereits erwähnt findest du auf der Platine einen Luftqualitätsmesser vom Typ MQ-2 sowie einen Luftfeuchtigkeitsmesser SHT30. Des Weiteren findest du noch eine Micro-USB Schnittstelle, welche lediglich für die Stromversorgung dient und eine 6-polige Stiftleiste für den Anschluss eines FTDI232 Adapters.
Verbinden mit einem FTI232 Adapter
Für die Programmierung wird wie ebenfalls erwähnt ein FTDI232 Adapter benötigt. Somit benötigst du folgende Komponenten:
- einen AZ-Envy,
- ein Micro-USB-Kabel,
- ein FTDI232 Adapter,
- ein Mini-USB-Kabel
- drei Breadboardkabel
Der FTDI232 Adapter hat ebenso 6 Pins, wovon jedoch nur 3 für den Anschluss benötigt werden.
AZ-Envy | FTDI232 Adapter |
---|---|
RX | RX |
TX | TX |
GND | GND |
Technische Daten des AZ-Envy
Nachfolgend die technischen Daten der verbauten Sensoren auf dem Board:
- Luftfeuchtigkeits-/Temperatursensor SHT30
- Luftfeuchtigkeit
- Messbereich: 0 % bis 100 %
- Toleranz: 2 %
- Antwortzeit: 8s
- Temperatur
- Messbereich: -40 °C bis 125 °C
- Toleranz: 0,2 °C
- Antwortzeit: 2s
- Luftfeuchtigkeit
- Luftqualitätssensor MQ-2
- erkennt brennbare Gase (LPG, Isobutan, Methan, Alkohol, Wasserstoff, etc.) & Rauch,
- 300 bis 10.000 ppm
Der verbaute ESP8266MOD 12-F hat folgende Spezifikationen:
- Schnittstellen: UART, GPIO, SDC, PWM,
- UART Baudrate: 300 bis 4608000 bps, Default 115200 bps, Debug 74880 bps,
- Sicherheit: WEP, WPA-PSK, WPA2-PSK,
- Betriebsspannung: 3.0 V bis 3.6V,
- Betriebstemperatur: -20 °C bis 85 °C,
- Lagerumfeld: -40 °C bis 85 °C, < 90 % RH
Das ist jedoch nur ein kleiner Auszug aus den technischen Daten des Mikrochips, welche du unter https://docs.ai-thinker.com/_media/esp8266/docs/esp-12f_product_specification_en.pdf im Ganzen findest.
Programmieren des Boards
Vom Hersteller AZ-Delivery erhältst du kostenfrei ein kleines Handbuch zum Download als PDF-Datei. In diesem Handbuch ist beschrieben, wie dieses Board aufgebaut ist und wie dieser programmiert wird.
Im nachfolgenden YouTube-Video zeige ich dir, wie du das Board einrichtest und ein erstes kleines Programm in der Arduino IDE programmierst und hochlädst.
Eine kleine Leidensgeschichte mit dem Board
Nachfolgend möchte ich dir gerne meine kleine Odyssee beschreiben, die ich durchlaufen musste, um ein erstes Programm auf diesem Board zum Laufen zu bekommen, aber immerhin mit Happy End. Wenn du diesen Abschnitt überspringen möchtest, so kannst du gleich zum Abschnitt Einrichten des ESP8266 in der Arduino IDE springen.
In dem oben verlinkten PDF-Dokument wird beschrieben, wie dieser programmiert wird und die Beschreibung habe ich auch als Grundlage für die ersten Schritte genutzt. Jedoch hat diese Beschreibung einen kleinen Fehler (aber dazu später mehr). Somit habe ich mich an den Support per E-Mail gewendet und ich bekam innerhalb einer Stunde eine Antwort, was sehr schnell ist. Somit konnte ich mein Problem dem Techniker schildern und dieser meinte das, dass Board wohl defekt sei, da die nachfolgende Fehlermeldung beim Starten erscheint.
16:34:16.087 -> ets Jan 8 2013,rst cause:2, boot mode:(3,7)
16:34:16.087 ->
16:34:16.087 -> load 0x40100000, len 27728, room 16
16:34:16.119 -> tail 0 16:34:16.119 -> chksum 0x2a
16:34:16.119 -> load 0x3ffe8000, len 2124, room 8
16:34:16.119 -> tail 4 16:34:16.119 -> chksum 0x07
16:34:16.119 -> load 0x3ffe8850, len 9276, room 4
16:34:16.155 -> tail 8
16:34:16.155 -> chksum 0xba
16:34:16.155 -> csum 0xba
16:34:16.328 -> rf[112] : 00
16:34:16.328 -> rf[113] : 00
16:34:16.328 -> rf[114] : 01
16:34:16.373 ->
16:34:16.373 -> SDˢ@j�l
Innerhalb von 2 Tagen hatte ich einen Ersatz im Briefkasten und konnte somit einen zweiten Versuch starten. Jedoch kam ich da auch nicht weiter und somit habe ich etwas weiter geforscht zu diesem Board.
Ich bin dann auf dem Blog von AZ-Delivery im Beitrag Schimmelprävention mit dem AZ-Envy – Teil 1 auf die Lösung des Problems gestoßen.
Im PDF-Dokument zum Board steht:
"Nach dem Kompilieren des Codes und der Inizialisierung des Upload Vorgangs, drücken Sie nacheinander die Taster RESET und FLASH, um den ESP12-F in den Flash-Mode zu versetzen."
In dem Blogbeitrag jedoch:
"Nach dem Kompilieren des Codes und der Initialisierung des Uploads, drücken Sie nacheinander die Taster RESET und FLASH (und halten RESET dabei gedrückt), um den ESP12-F in den Flash-Mode zu versetzen."
Dieses letztere Vorgehen ist genau richtig und führt zu einem erfolgreichen Upload eines Sketches in der Arduino IDE.
Dieses ist kein Anzählen und Fehler können passieren, zusammenfassend möchte ich jedoch erwähnen, dass der technische Support der Firma sehr schnell reagiert und eine Kundenorientierte Einstellung hat.
Einrichten des ESP8266 in der Arduino IDE
Damit du ein Programm / Sketch auf das Board laden kannst, benötigst du zunächst einen Boardtreiber. Für die Installation des Boardtreibers musst du die nachfolgende Adresse zu den “zusätzlichen Boardverwalter URLs” in den Einstellungen hinzufügen.
https://arduino.esp8266.com/stable/package_esp8266com_index.json
Wenn dieses geschehen ist und die automatische Indexierung durchgelaufen ist, kannst du im Boardverwalter nach esp8266 (1) suchen und dort die Schaltfläche “INSTALL” (2) betätigen. Wenn die Installation abgeschlossen ist, dann solltest du den Text “INSTALLED” (3) sehen.
Upload eines kleinen Beispiels
Laden wir zunächst ein kleines Programm auf das Board. Der ESP8266 hat eine interne LED welche wir über den digitalen Pin D2 oder der Konstante BUILTIN_LED steuern.
void setup() { //BUILTIN_LED als Ausgangssignal (D2) pinMode(BUILTIN_LED, OUTPUT); //beginn der seriellen Kommunikation mit 9600 baud Serial.begin(9600); } void loop() { //Ausgeben der Textzeile auf der seriellen Schnittstelle Serial.println("Hallo Welt!"); //aktivieren der LED digitalWrite(BUILTIN_LED, HIGH); //eine kleine Pause von 350 ms. delay(350); //deaktivieren der LED digitalWrite(BUILTIN_LED, LOW); //eine kleine Pause von 350 ms. delay(350); }
Tastenkombination zum Starten des Uploads
Wenn du im Fenster “Output” der Arduino IDE die nachfolgende Zeile siehst, dann musst du die Taste RESET drücken (und gedrückt halten), um danach die Taste FLASH zu betätigen (und gedrückt halten), danach lässt du die RESET-Taste wieder los und dann die Taste FLASH loslassen.
Connecting...
Es sollte dann der Uploadvorgang starten, das siehst du unter anderem daran, dass ebenfalls im Fenster “Output” die nachfolgende Ausgabe erfolgt.
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: d8:bf:c0:db:df:59
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Auto-detected Flash size: 4MB
Compressed 270208 bytes to 198726...
Writing at 0x00000000... (7 %)
Writing at 0x00004000... (15 %)
Writing at 0x00008000... (23 %)
Writing at 0x0000c000... (30 %)
Writing at 0x00010000... (38 %)
Writing at 0x00014000... (46 %)
n fröhliches hallo,
nach anfänglichen kleineren problemen und deiner erklärung im super-video hab auch ich das hinbekommen, das es so funktioniert wie’s soll. herrlichen Dank. da komme ich gern wieder.
mfg rs