AZ-Envy - das etwas andere Micro Controller Board - AZ-Delivery

Dans les années 1990, le célèbre designer Luigi Colani a demandé pourquoi les ordinateurs devaient toujours être carrés et anguleux. Il avait raison, ils ne doivent pas l'être. Même pas nos petits microcontrôleurs. La preuve en est fournie par la nouvelle circulaire AZ-Envy, une carte microcontrôleur avec le ESP8266-12F et deux capteurs intégrés pour les données environnementales, c'est-à-dire l’Envy de l'environnement et non par l'Envy.  


Le capteur de gaz MQ-2 attire immédiatement l'attention grâce à son couvercle de protection contre les explosions constitué d'un maillage dense en acier inoxydable. Sur le côté gauche se trouve le ESP8266-12F avec l'antenne WLAN et le LED intégré. Le deuxième capteur, en haut à gauche sur l'image, est un capteur de température et d'humidité appelé SHT30. Sinon, vous pouvez voir la prise µUSB pour l'alimentation électrique, à droite de celle-ci le régulateur de tension, une tête de broche jaune et deux boutons nommés RESET et FLASH - En somme, une jolie "plate-forme informatique physique" qui peut être programmée avec l'IDE Arduino.

Bien sûr, je veux essayer cette carte de microcontrôleur immédiatement et utiliser le programme Blink comme d'habitude. Puisque j'ai déjà utilisé d'autres microcontrôleurs ESP8266, il me suffit de sélectionner la carte " Generic ESP8266 Module " dans l'IDE Arduino. 


Si vous n'avez pas encore installé la famille ESP8266 avec l'administrateur du forum, vous devez entrer l'URL supplémentaire de l'administrateur du forum sous "Fichier/Préférences" dans l'Arduino-DIE:

http://arduino.esp8266.com/stable/package_esp8266com_index.json

Ensuite, ouvrez le dialogue de gestion sous "Outils/Conseil/Gestionnaire du conseil". Saisissez "ESP8266" dans le champ de recherche et cliquez sur "Installer" dans le résultat de la recherche.

Ensuite, sous l'onglet Outils/Carte, vous verrez la carte ESP8266 et ses différents modèles de cartes. Comme je l'ai dit : pour l'AZ-Envy, j'ai immédiatement sélectionné l'option supérieure "Module générique 8266".

Qu'est-ce qui est remarquable dans l'image de la ligne en évidence?
Correct : malgré le port USB pour l'alimentation électrique, aucun port n'est affiché au début. L'AZ-Envy n'a pas d'interface série USB par raison de manque d'espace. Cela n'est nécessaire que pour la programmation et - si souhaité - pour la sortie des données dans le moniteur série. Je peux utiliser la FTDI, que j'ai utilisée pour la ESP8266-01 jusqu'à présent.

En y regardant plus attentivement, je constate que les désignations de la bande de connexion jaune correspondent aux désignations des broches de la FTDI. Un technicien m'a dit qu'à l'origine un connecteur femelle était prévu ici, dans lequel la FTDI serait branchée directement. Il est dommage que cela n'ait pas été réalisé, donc trois câbles de liaison (femelle-femelle) pour TX, RX et GND.

Les connecteurs DTR, CTS et VCC ne sont pas utilisés. Une caractéristique spéciale : Comme l'étiquetage a été effectué dans le même ordre que la FTDI, le TX est connecté au TX et le RX au RX ; pas dans le sens transversal comme d'habitude avec l'interface UART. 

Lorsque la FTDI est connectée à l'ordinateur, vous obtenez également l'affichage du port (de la FTDI) sous l'onglet Outils. Vous êtes alors prêt à commencer.

Avec le premier clignotement du programme, je suis intéressé de savoir si l'AZ-Envy avec son ESP8266-12F connaît le nom LED_BUILTIN ; Sinon, je devrais ajouter la ligne "int LED_BUILTIN=2 ;" dans le plan, comme pour la ESP32. Et comment mettre la carte en mode de programmation? 

Le seul fait d'appuyer sur la touche FLASH pendant le téléchargement n'a pas été efficace. L'astuce est : La touche FLASH doit être appuyée lorsque l'alimentation électrique est établie.  Par conséquent, appuyez d'abord sur le bouton RESET, puis sur le bouton FLASH, puis relâchez le bouton RESET et enfin relâchez le bouton FLASH. Cela doit être fait au plus tard lorsque l'IDE Arduino montre les points après compilation que la connexion doit être établie.


Après le téléchargement, je dois quitter le mode de programmation, donc appuyer brièvement sur RESET.

Tout fonctionne du premier coup. Le LED_BUILTIN est reconnu et le LED intégré à côté de l'antenne WLAN clignote toutes les secondes.

Ensuite, j'essaie le capteur SHT30. Je n'ai pas besoin de connecter quoi que ce soit ici, c'est connecté intérieurement. Sur Internet, j'ai appris que le capteur est connecté via l'interface I2C et il a un adresse Hex 0x44 (ou 0x45 si nécessaire). L'humidité relative devrait être mesurée avec une précision de ±3% et la température avec une précision de ±0,3°C. Comme d'habitude dans le monde d'Arduino, j'utilise une bibliothèque de programmes existante pour lire le capteur. La bibliothèque SHT3x est recommandée pour l'AZ-Envy.

Remettez donc AZ-Envy en mode de programmation (RESET, +FLASH, -RESET, -FLASH) et chargez un programme d'exemple installé avec la bibliothèque SHT3x.


Là encore, tout fonctionne immédiatement. L'affichage de la température est un peu trop élevé et donc la valeur de l'humidité relative un peu trop faible. Ceci est rapidement expliqué : Malgré la coupure dans le circuit imprimé, l'ESP8266, le régulateur de tension et le capteur de gaz MQ-2 (chauffé !) sont à proximité immédiate. L'AZ-Envy partage ce destin avec tous les microcontrôleurs qui ont un capteur de température directement sur le tableau. 

Dans ce cas, vous devrez peut-être compenser/calibrer, ou vous contenter de la mention "beaucoup trop froid" (danger de congélation ?) ou "beaucoup trop chaud" (feu ?, ventilation nécessaire ?). Je suis en train de planifier une construction où je souffle l'air ambiant avec un petit ventilateur de PC vers SHT30 sur l'AZ-Envy et j'en ferai un reportage.

Et enfin le capteur de gaz. Le capteur de gaz MQ-2 est un semi-conducteur d'oxyde métallique (MOS), également connu sous le nom de résistance chimique (chimie réellement sans e à la fin). Les capteurs MOS mesurent le changement de résistance lorsque des gaz sont présents. Ce type de capteur exige que le gaz frappe le capteur pour qu'une réaction chimique se produise, ce qui entraîne une variation de la résistance. 

Le capteur proprement dit pour la détection du gaz se trouve sous le couvercle de protection contre les explosions constitué d'un treillis dense en acier inoxydable, qui sert également de protection contre les impuretés ou d'autres facteurs gênants. Cette variation de résistance, liée à une valeur de résistance définie, donne une valeur analogue, et on sait donc clairement où ce capteur est connecté, à l'entrée A0. Pour l'évaluation, la bibliothèque MQ-2 de labay11 (link) est recommandée, qui détermine la concentration de gaz en ppm avec des fonctions simplifiées. Le secret reste caché tant que l'on n'étudie pas en détail la bibliothèque du programme. Mais cela dépasserait le cadre de cette première réflexion sur l'AZ-Envy. 

Après l'installation de cette bibliothèque, il y a également un exemple de code après l'installation:



Après le téléchargement, l'image suivante apparaît dans le Serial Monitor:


En utilisant les algorithmes inconnus, les valeurs pour le GPL, le CO et la fumée sont déterminées. Le chiffre figurant en bas de l'image était la réaction à ma respiration après un bon verre de vin rosé, sinon les valeurs dans notre salon après l'aération. Là aussi, je vais faire des recherches supplémentaires, parce qu'à la base, le capteur est dit non spécifique au gaz, mais il est très bien adapté à la détection du GPL, de l'i-butane, du propane, du méthane, de l'alcool, de l'hydrogène et de la fumée. 

C'était mon premier examen du nouveau AZ-Envy, qui a été conçu par un jeune développeur (le nom est au dos) et réalisé avec l'aide de AZ-Delivery. Dans l'ensemble, une combinaison réussie d'un microcontrôleur compatible WLAN et de deux très bons capteurs,  et le tout très bien placé sur une plaque ronde de moins de 5 cm de diamètre.

Les liens vers le code du programme sont liés à l'image respective.

Et ici l'article à télécharger.

Esp-32Produktvorstellungen

47 commentaires

Capa

Capa

Man sollte vielleicht erwähnen das man wenn man mit dem Adapter vom ESP8266-01 Arbeitet die Brücke zwischen GND und GPIO0 wichtig ist sonst funktioniert es nicht mit dem Flashen!

ESP-01 GND —> ESP-01 GPIO0 —> AZ-Envy GND
ESP-01 RX —> AZ-Envy TX
ESP-01 TX —> AZ-Envy RX

Reset drücken -(1sec)→ Flash drücken -(1sec)→ Reset loslassen -(1sec)→ Flash loslassen —> upload sketch

So funktioniert es bei mir wunderbar!

Old gray Wolf

Old gray Wolf

Hallo,
vielen Dank für den verständlich und gut geschriebenen Blog-Eintrag.

Ich habe das Problem, dass ich den Werte nicht ganz traue. Ich habe zum Test das Board in meinem Arbeitszimmer zwei Tage laufen lassen.
in den ersten Sekunden fallen die Werte auf:
CO: 1762.93127 ppm, LPG: 80.30192 ppm, Smoke: 395.04996 ppm T=22.80C, RH=59.15%

Dann sieht man deutlich, wie die Temperatur ansteigt, sie pendelt sich bei 26,7°C ein. Eine folge der Aufheizung des Gassensors.
Die Werte sehen dann so aus:
CO: 13679.98145 ppm, LPG: 349.24115 ppm, Smoke: 1936.31006 ppm T=27.81C, RH=45.35%

In den nächsten Stunden steigen die Werte des Gassensors langsam aber kontinuierlich, bis sie sich auf folgende Werte einpendeln:
CO: 21334.12695 ppm, LPG: 481.65350 ppm, Smoke: 2715.22119 ppm T=27.42C, RH=42.67%

Da bleiben sie dann.

Der Raum ist während der ganzen Zeit leer (also keine Person anwesend). Die Umgebungsluft hat normalerweise eine CO2 Konzentration von ca. 400 ppm. Das zeigt mir ein zweiter Sensor, der auf einem SGP30 aufbaut (Separates Arduino-Projekt) auch grob an (zwischen 400 ppm und 500ppm)

Ist mein Sensor kaputt?

Grüße
Wolf

In der Zeit steigt die Anzeige

Michael Schulze

Michael Schulze

Hallo Harald Jeszenszky und H. Lühken,

ich habe ebenfalls lange Zeit Probleme mit dem flashen des ESP8266 gehabt. Es kam immer wieder der Timeout Fehler. Verwendet habe ich Arduino IDE 1.8.19 unter Ubuntu 18.04.6, das AZ-Envy in der HW Version 4.1, USB UART-TTL Adapter CH340 mit 3,3 V.
Wie bereits mehrfach erwähnt, ist die Beschriftung auf dem AZ-Envy nicht korrekt, man muss den UART-TTL-Adapter mit dem Envy wie folgt verbinden:
- TXD (UART) nach TX (Envy)
- RXD (UART) nach RX (Envy)
- GND (UART) nach GND (Envy)
- UART-TTL mit 3,3 V verwenden

USB UART-TTL zuerst einstecken und installieren lassen bzw. erkennen lassen, bei Linux die Freigabe für die DAILOUT group nicht vergessen (sudo usermod -a -G dialout $USER). Rechner neustarten. Arduino und Pakete installieren, wie beschrieben.

USB UART und Envy mit USB kabel Power verbinden, flashen probieren mit RESET, dann RESET und FLASH, dann nur FLASH (also während es in Arduino probiert wird mit dem Connect). Klappt dies nach ein paar Versuchen nicht, dann USB UART abstecken vom PC, USB Power des Envy raus, RESET halten, USB Power anschließen, RESET und FLASH halten, den USB UART einstecken, FLASH halten und dann den Upload des Sketch nochmal probieren.

Bei mir hat es nach mehreren Versuchen geklappt, aber erst als ich den Envy VOR dem USB UART angesteckt habe. Nach dem ersten Sketch Upload hat es besser geklappt, da musste ich mich nicht mehr so verbiegen.

Dennoch, falls es einmal geklappt hat, dann am Besten direkt einen Sketch mit ESP8266WiFi und ArduinoOTA hochladen (Bibliothek installieren nicht vergessen), so dass man über das WLAN die neuen Sketche laden kann (danach nicht vergessen den Port auf die Netzwerkadresse zu ändern, anstatt den Standard COM).

Das könnte dann in etwa so aussehen, als Beispiel mit dem Blink Code:

#include
#include

#ifndef STASSID
#define STASSID “WLAN_KENNUNG”
#define STAPSK “WLAN_PASSWORT”
#endif

const char* ssid = STASSID;
const char* password = STAPSK;

void setup() {
WiFi.begin(ssid, password);
ArduinoOTA.setHostname(“Envy_1”);
ArduinoOTA.setPassword(“admin”);
ArduinoOTA.begin();
pinMode(LED_BUILTIN, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
ArduinoOTA.handle();
digitalWrite(LED_BUILTIN, LOW);
delay(1000);
digitalWrite(LED_BUILTIN, HIGH);
delay(4000);
}
Mögliche

Technik-Mann

Technik-Mann

Der Stromverbrauch für den Gassensor ist relativ hoch. Er wird mit 5V versorgt. Die Heizung des Sensors hängt von den 5V ab; ausgangsseitig ist er Teil eines Spannungsteilers, der auch an 5V hängt und analog gelesen wird. Kleine Variationen der 5V führen daher zu Signaländerungen. Die Heizung des Sensors erwärmt auch den Temperatursensor, so dass dessen Messwert korrigiert werden muss.

Andreas Wolter

Andreas Wolter

Für das Wire1 Problem habe ich einen Absatz ergänzt. Es gibt scheinbar mittlerweile ein Problem mit den ESP8266. Siehe hier: https://github.com/Risele/SHT3x/issues/13

Wire1 ist im ESP8266 Arduino Core nicht bekannt. Mit dem Eintrag, den ich ergänzt habe, wird dem Compiler das vorgegaukelt. Der SHT3x.cpp kann man entnehmen, dass man für SDA = 0 angeben und damit die alternative Schnittstelle Wire1 verwenden kann. Das wird beim Envy nicht benötigt.

Die Angabe der Adresse ist nicht nötig. Es sollte entweder 0×44 oder 0×45 sein. Der Konstruktor ist jedoch überladen. Das heißt, dass man die Adresse manuell eingeben kann. Versuchen Sie aus den Beispielen unter Wire den I2C_Scanner. Wenn dieser die Adresse anzeigt, sollte der Sensor auch funktionieren.

Grüße,
Andreas Wolter
AZ-Delivery Blog

Manfred Bikardes

Manfred Bikardes

@Bernd Albercht:

Hallo Herr Albrecht. Wenn ich Ihre Vorgehensweise im Beitrag genau befolge passiert folgendes: Das Blink-Beispiel läuft sofort – alles OK! Wenn ich nun die Temperatur angehe, die vorgeschlagene Library installiere und das Beispiel starte, passiert ausser Fehlermeldungen gar nichts sofort – so wie Sie es beschrieben haben. Als Fehler kommt: ‘Wire1’ was not declared in this scope; did you mean ‘Wire’?

Das Problerm haben wohl viele hier. Was muss denn in den beiden Dateien Wire.h und Wire.cpp und wo eingetragen werden? Im Beispelcode ist auch nirgends eine Adresse für den Sensor zu sehen.

Wäre toll wenn SIe hier helfen könnten und das Problem aufgeklärt werden kann.

LG
Manfred

Andreas Wolter

Andreas Wolter

Bei technischen Fragen und Problemen zu den Geräten selbst, bitte einmal den teschnischen Support von AZ kontaktieren. Vielen Dank.

Grüße,
Andreas Wolter
AZ-Delivery Blog

Torsten Lücker

Torsten Lücker

Moin zusammen,
leider habe ich das gleiche Problem wie Mrt (Mrt
August 16, 2021 at 12:02pm) und kann den Sketch nicht kompilieren. Gibt es inzwischen eine Lösung?
Über eine Unterstützung würde ich mich freuen

Harald Jeszenszky

Harald Jeszenszky

Hallo,
bei mir funktioniert das Flashen des Envy nicht (weder Windows noch Linux). GND, RX und TX sind mit GND, RX und TX des FTDI232 von AZ verbunden. Das Envy wird an der Mikro-USB-Buchse über ein Power-supply versorgt. Arduino-IDE 1.8.19 verwendet ESP8266 Bibliothek 3.0.2 (Generic 8266 Module) und Port (COM5) ist aktiv. Trotz der Reihenfolge “RESET drücken und halten, FLASH drücken und halten, RESET loslassen, FLASH loslassen” kommt stets nur die Fehlermeldung “Failed to connet to ESP8266: Timed out waiting for packet header”.
Gibt es dazu eine Lösung?

Stefan Link

Stefan Link

Danke für den Beitrag hier. Der ist deutlich besser als das dazugehörige E-Book. Das E-Book hierzu ist leider nicht die sonst gewohnte AZ-Qualität.

Lars Sternkopf

Lars Sternkopf

Warum gibt es keine vernünftige Beschreibung zu der Platine?
Die PDF Datei AZ-Envy_Pinout.pdf ist doch ein Witz.
Vernünftige Infos werden von den Lesern zusammengetragen und sind in den Kommentaren zu lesen – DANKE an die Kommentatoren!
Das Produkt ist ja nicht schlecht, die Beschreibung allerdings – schade.

Matthias

Matthias

Man kann den AZ-Envy auch ein wenig zweckentfremden, um die Umgebungshelligkeit mit einem LDR (lichtabhängiger Widerstand) zu messen – vielleicht für einen Klimasensor relevanter als die eingebaute Messung brennbarer Gase:
1. MQ-2 auslöten (das kann auf Kosten der Durchkontaktierungen gehen – ist nicht schlimm)
2. LDR einbauen: mit doppelseitigem Klebeband an die Position des MQ-2 kleben, einen Anschluss zu dem randseitigen Lötpunkt von R8 (Signal vom MQ-2), den anderen zum Mittelkontakt des Spannungsreglers (3.3V) führen. Hinweis zum LDR-Typ: Der LDR sollte bei hoher Helligkeit auf unter 100 Ohm gehen, bei Dunkelheit >10 Megaohm zeigen.
3. Einen 10KOhm Widerstand von R9 (ESP-Seite) nach Masse (zB Randseite der “Flash”-Taste) führen (Anpassung des Messbereichs).
4. Tasmota flashen
- Spannung über USB anllegen, GND/TX/RX an serielle Schnittstelle anschließen, RESET und FLASH drücken, dann erste RESET, danach FLASH loslassen
- “tasmota-sensors.bin” mit ESP-EASY o.ä. flashen, danach wie für Tasmota beschrieben einrichten
- “Generic”-Template auswählen, Anschlüsse wie folgt: LEDLink_i an GPIO2, I2C SDA an GPIO4, I2C SCL an GPIO5, ADC input an GPIO17. Die LED leuchtet während des Verbindungsvorgangs auf, im verbundenen Zustand ist sie dunkel (so stört sie den LDR nicht)
Ergebnis: Tasmota zeigt die Helligkeit 0-1024 für den Ausgang “Analog0” an.

Ralf Helmle

Ralf Helmle

@Maurice Hildebrand:
Da yaml ja extrem pienzig mit führenden Leerzeichen ist, würde ich mich über eine Bereitstellung deiner Konfiguration für ESPHome als Datei freuen, vielleicht könntest Du die irgendwo bereit stellen. Mit Copy/Paste habe ich Deine Konfiguration nicht zum Laufen bekommen. Danke.
Gruß
Ralf

Bernd Albrecht

Bernd Albrecht

@ Lui: An dieser Stelle kann ich nur die wichtigsten Tipps wiederholen:
1. Die Datenverbindung zum Hochladen und für den Seriellen Monitor funktioniert nur über die sechspolige Steckerleiste und dabei wird (anders als sonst üblich) Tx mit Tx und Rx mit Rx verbunden.
(Der Entwickler hatte eine Federleiste geplant, in die der USB-Seriell-Adapter eingesteckt wird).
Die Micro-USB-Buchse dient nur der Spannungsversorgung.
2. Den Temperatursensor bitte mit einem I2C-Scanner ausprobieren. Wenn keine I2C-Adresse angezeigt wird, ist der Sensor oder irgendein Kontakt ggf. nicht in Ordnung. In dem Fall bitte an den Kundendienst wenden.

Lui

Lui

Hallo an alle,
eine super Anleitung.
Leider läuft es bei mir genau wie bei Maciej. Der Gassensor funktioniert ohne Probleme. Doch der SHT30 zeigt nur Error bzw Nullen an. Habe zwei Boards ausprobiert, um einen Defekt auszuschließen. Ebenso jeweils mal die Libary WEMOS_SHT3X und SHT3x, mit 0×44, 0×45 und auch ohne Adressangabe ausprobiert. Immer der selbe Effekt, nämlich Null.
Woran kann das liegen?
Beste Grüße,
Lui

Rainer Sins

Rainer Sins

Hallo Herr Bernd Müller,
danke für den tipp mit den Librarys anpassen (wire vs. wire1). Ich hatte schon an mir gezweifelt… Nun habe ich etwas wichtiges gelernt: Wie man fehlerhafte Libraries repariert, bzw. wo diese zu finden sind.
Viele Grüße
Rainer

Mrt

Mrt

sensordaten abfragen klappt nicht .
Sketch lässt sich nicht kompilieren.
/home/pi/Arduino/libraries/SHT3x/SHT3x.cpp:537:5: error: ‘Wire1’ was not declared in this scope; did you mean ‘Wire’?
537 | Wire1.beginTransmission(_Address);
| ^~~~~
| Wire

Dirk Pieper

Dirk Pieper

@Dieter Müller,
ich verstehe deine Druck Probleme nicht. Dann dreh doch den Deckel. So ist die Wulst oben. Stützen vom Druckbed aus und gut (für den überstehenden Rand)…..die lassen sich dann entfernen. Ich hätte den Deckel in 5 Minuten neu konstruiert…brauche ich aber nicht.
@all,
das Gehäuse ist Top. Ich überlege mir noch, ob ich mir einen zweiten Deckel mit Ausschnitt für ein 0,96 Zoll Oled konstruiere…und das Oled Parallel auf den I²C Bus schalte. Bei mir läuft Tasmota drauf und ist via MQTT mit iobroker verbunden…

Maurice Hildebrand

Maurice Hildebrand

Falls jemand das über ESP-Home mit Homeassistant nutzen möchte, sende ich euch meine Konfiguration:

#===================
substitutions:
device_name: envy_1
device_friendly_name: “Envy 1”
ip_address: 192.168.178.190

esphome:
name: ${device_name}
platform: ESP8266
board: d1_mini

wifi:
ssid: !secret wifi_ssid
password: !secret wifi_pswd

manual_ip: static_ip: ${ip_address} gateway: 192.168.178.1 subnet: 255.255.255.0 ap: ssid: “Fallback ${device_friendly_name}” password: !secret fb_wifi_pswd

captive_portal:

logger:
baud_rate: 0

api:
password: !secret ota_pswd

ota:
password: !secret ota_pswd

#===================
time:
– platform: homeassistant
id: homeassistant_time

#===================

i2c:
sda: D2
scl: D1
scan: False

sensor:
– platform: sht3xd
address: 0×44
temperature:
name: “${device_friendly_name} Temperature”
humidity:
name: “${device_friendly_name} Humidity”
update_interval: 60s
– platform: adc
pin: A0
name: “${device_friendly_name} Gas”
filters:
– multiply: 100
unit_of_measurement: “%”
update_interval: 60s
icon: “mdi:percent”

Bernd Müller

Bernd Müller

@H. Lühken
Hallo Herr Lühken schon mal wie oben im Text angegeben
“Eine Besonderheit: Weil man sich bei der Beschriftung an die Reihenfolge beim FTDI gehalten hat, wird TX mit TX und RX mit RX verbunden; nicht wie bei der UART-Schnittstelle sonst üblich über Kreuz” probiert?
Das war bei mir der Fehler, danach lief es.
Ach ja, in der “wire” Bibliothek ist TwoWire Wire1; nicht definiert, dadurch kam es bei mir beim Übersetzen mit dem SHT30 Beispiel immer zu folgendem Fehler:
error: ‘Wire1’ was not declared in this scope; did you mean ‘Wire’?
Nach dem Einfügen der entsprechenden Einträge in wire.h und wire.cpp ging dann auch das Übersetzen…
Gruß
Bernd

H. Lühken

H. Lühken

Hallo,
bei mir klappt das Flashen des Envy einfach nicht. GND, RX und TX sind mit dem FTDI232 von AZ verbunden, Strom an der Mikro-USB-Buchse, Arduino-IDE 1.8.13, Bibliothek ist eingebunden, Port aktiv, aber trotz der Reihenfolge “RESET drücken und halten, FLASH drücken und halten, RESET loslassen, FLASH loslassen” kommt stets nur die Fehlermeldung “Failed to connet to ESP8266: Timed out waiting for packet header.”
Hat jemand noch eine Idee?

Maciej

Maciej

Hallo

Bei mir funktioniert der Gassensor ohne Probleme, leider kriege ich lauter Nullen auf dem serial monitor für die Temperatur und Feuchte. Ich habe es mit der Bibliothek SHT3x ausprobiert, und dort mit Simple_operation.ino. Sicherheitshalber habe ich den Sensor einmal ohne Adresse, aber auch mit SHT3x Sensor(0×45); und SHT3x Sensor(0×44); ausprobiert, hilft leider alles nicht. Hat jemand dafür eine Lösung?

Bernd Müller

Bernd Müller

Hallo,
hat eigentlich schon jemand den Deckel des zugehörigen Gehäuses gedruckt?
Wenn ich diesen auf den Rücken lege, ist der kleine Wulst auf der Oberseite kontraproduktiv fürs Drucken..
Wenn ich ihn normal hinlege wird von meinem Slicer nicht genügend Stützstruktur erzeugt um ihn richtig zu drucken.
Hat jemand schon mal versucht den Wulst auf der Oberseite im stl File zu entfernen oder gibt es eine Datei wo dieser nicht drauf ist?
Würde mich über Unterstützung freuen.
Gruß
Bernd

Jürgen

Jürgen

@ Werner Schoepe
Ihr Problem liegt, denke ich, an der Tatsache, dass beim Löschen und Flashen
von MicroPython via uPyCraft die Tastenfolge RST + Flash RST -Flash
zweimal erfolgen muss. Einmal beim Löschen des Speichers und
das zweite Mal beim eigentlichen Flashvorgang. Danach RST drücken und
die serielle Schnittstelle neu verbinden, das war’s. Übrigens die serielle
Schnittstelle können Sie angeschlossen lassen, wenn Sie ein MicroPython-Programm
auf dem Envy starten. Sie brauchen die Schnittstelle ja für die Terminalausgaben.
In dieser Hinsicht reagiert der Envy nicht anders als jeder ESP8266-Typ.

Das Problem ist halt auf dem Envy die fehlende Flashautomatik, die man heute
schon fast bei allen ESPs gewohnt ist.

Hier finden Sie die Module, die ich für meine Tests verwendet habe:
https://github.com/labay11/MQ-2-sensor-library/archive/master.zip
https://github.com/rsc1975/micropython-sht30/blob/master/sht30.py

Werner Schoepe

Werner Schoepe

Hallo Elektronik Freaks,
meine AZ-Envy läuft nun prima mit der Arduino IDE und C.
Der beim Start eines hochgeladenen Programms darf die serielle Schnittstelle nicht mit dem envy verbunden sein. Dann läuft das Programm auch brav bei drücken von Reset los!
Nun möchte ich das Board gerne mit MicroPython betreiben. Aber das Flashen von Python will nicht klappen.
Der erste Schritt “Erase Flash” mit uPycraft scheint noch zu funktionieren. Dann bekommt man einen Timeout beim schreiben… Hat jemand schon mal den AZ-Envy mit Python betrieben? Ist dies grundsätzlich möglich?
Gruß aus Düsseldorf!

Werner Schoepe

Werner Schoepe

Hallo Elektronik Freunde,
der blog hat mir sehr geholfen den Envy zum blinken zu bringen. Nun soll er auch “autonom” blinken.
Ich versoge ihn über den USB-Stecker mit Strom und dann drücke ich die Reset-Taste. Dann sollte er doch loslaufen und blinken? Tut er bei mir aber nicht!
Wenn ich zusätzlich die USB2Serielle Schittstelle in den Computer stecke und dann Reset drücke läuft er los. Wenn ich die Schnittstelle aus dem Rechner herausziehe läuft er brav weiter. Aber das kann es ja nicht sein. Wie macht Ihr das? Was mache ich falsch?
Danke für hilfreiche Tips im Vorraus!

makerMcl

makerMcl

Ergänzung: der “unbekannte Algorithmus” arbeitet mit den Widerstandsverhältnissen der unterschiedlichen Gase. Die Messung basiert darauf, das beim initialisieren (Methode setup()) sich der Sensor in normaler (frischer/reiner) Luft befindet. Das Datenblatt gibt verschiedene Kennlinien für die Gase an (Obacht – die Diagramme dort nutzen logarithmische Skalen).

Dieter Möller

Dieter Möller

so, jetzt ist mir gelungen die Daten (Temperatur, Humidity, Gas) vom AZ Envy auf meinem Nextion Display dazustellen. An Tx, Rx und Masse verbinden und einige Nextion-Befehle im Sketch, dann gings.
Wichtig für die Darstellung der Temperatur war das: float Temp = Sensor.GetTemperature(SHT3x::Cel); da hab ich lange für gebraucht, bis das raus hatte.
MfG.
Dieter

Dieter Möller

Dieter Möller

Danke für die obigen Ausführungen. Haben auch mir beim Flashen geholfen. Wie krieg ich denn ein Display an den AZ Envy angeschlossen? Die Werte nur auf dem seriellem Monitor der IDE zu sehen ist mir zu wenig. Vorzugsweise würde ich gerne einen Nextion verwenden. Ich habs versucht, Nextion an TX und RX angesclossen. Funktioniert nicht.
MfG.
Dieter

Rainer Beckmann

Rainer Beckmann

Zu Tastmota hier die Info wie man die Anzeige des Gassensors auf 3 Stellen bringen kann.
Über die Konsole muß man folgenden Befehl eingeben: adcparam1 6,0,1023,0,10000
Damit wird die Anzeige 3-stellig. Für 4 Stellen wird die 10000 auf 100000 gesetzt.
Beim mir werden die Werte des SHT3x nicht an den Smarthome-Server weitergereicht. Hat da jemand einen Tip?

Manfred

Manfred

Hallo,
an einer Tasmota Lösung wäre ich auch interessiert. Gibt es schon Erfahrungen?
LG Manfred

Thomas Hasseler

Thomas Hasseler

Es wäre schön, wenn es für den MQ-2 Sensor eine Konfiguration für ESPhome gäbe.
Hat schon jemand das unter ESPhome zum laufen gebracht….?

Bernd Albrecht

Bernd Albrecht

Wenn man SHT30 & github googelt, wird man zur Seite
https://github.com/Risele/SHT3x
geleitet. Dort auf dem grünen Feld „Code“ (pull-down-Fenster) bitte Download ZIP anklicken. Diese ZIP-Datei verschiebt man in den Unterordner libraries.
Dann unter Sketch/Bibliothek einbinden/.ZIP-Bibliothek hinzufügen… wählen.
In dem Fenster des Datei-Managers suchen Sie dann die neue ZIP-Datei im Ordner libraries und binden sie in der IDE ein. Anschließend ist ein Neustart erforderlich.
Nach dem Neustart der IDE findet man einen Menüpunkt SHT3x-master unter Datei/Beispiele und in unserem Beispiel-Sketch sollte die Befehlszeile mit „include“ funktionieren.
In einem Beispiel-Sketch wird alternativ die Bibliothek von WEMOS benutzt. Geht genauso.

A. Freudenstein

A. Freudenstein

Versuche den Envy einzubinden. Die Arduino IDE meldet auch, dass ein 8266 generic board eingebunden ist. Danach versuche ich verzweifelt, unter Beispielen den Sketch für SHT3x master zu finden.
Wird bei mir nicht angezeigt, sondern es kommen nur die Standard-Funktionen und keine, wie in der Beschreibung angegeben z.B. PUBSubClient (oben) oder XPT2046 Touchscreen (unten).
Frage: Wo liegt der Fehler, den ich mache und wie bringe ich den ENVY zum Laufen?
PS: Ich benutze die IDE-Version 1.8.13

Wolfgang Sombeck

Wolfgang Sombeck

ich habs so probiert:
https://templates.blakadder.com/az-envy.html
Bin auch auf den TX-TX und RX-RX reingefallen, aber jetzt ist Tasmota drauf, aber mit dem Template aus dem Link wird nur ein zweistelliger Wert aus dem AD0 angezeigt. Hat jemand schon mehr Erfahrungen mit Tasmota gemacht?

Björn

Björn

Hallo,

ich habe die oben genannten Schritte befolgt, bekomme jedoch keine Verbindung hin.
Kann mir jemand den Ablauf mit der FTDI Programmierung/Schnittelle erklären? Welche Adapter benötige noch?

Danke.

Steve Schneider

Steve Schneider

Vielen Dank für diesen hervorragenden Blog Beitrag. Meine ersten Gehversuche mit diesem Board wären ohne Ihren Blog Beitrag nicht möglich gewesen. Es scheiterte bereits am flashen. Warum die Pin Leiste zum flashen nicht voll beschaltet ist, muss man vermutlich wirklich nicht verstehen. Dies war der erste Stolperstein. Vcc auf der Pin Leiste ist offenbar nicht verdrahtet. Man benötigt also unbedingt neben dem Anschluss des Programmers den Anschluss via MicroUSB mit 5V. Dann war es nicht möglich in den Flash Modus zu gelangen. Die vorhandene Dokumentation enthielt lediglich den Hinweis, dass man zuerst die Reset Taste und dann die Flash Taste drücken soll. Allerdings war dies nur die halbe Miete. Reset drücken, Flash drücken, Reset loslassen, Flash loslassen ist die korrekte Vorgehensweise, um den Flash Modus zu erreichen. Dies muss unbedingt die in Handbücher einfließen. Dritter und letzter Stolperstein war dann die Tatsache, dass RX und TX nicht vertauscht werden dürfen (wie bei UART) und dann funktionierte endlich alles. Sowohl Tasmota, als auch ESPEasy funktionieren mit diesem Board. Ebenfalls hilfreich wäre die Angabe, dass der ESP-12F 4MB Speicher mtibringt. Dies erfährt man leider auch nicht aus den Unterlagen, sondern aus anderen Quellen im Internet.

Steve Schneider

Steve Schneider

@Sören Hellwege: Der Entwickler des Boards (Niklas Heinzel) schrieb in einem anderen Board am 24.11.2020: “The gas sensor is connected to ADC/A0 and the HDC1080 to I2C (SDA = GPIO4, SCL = GPIO5, I2c-Adress 0×44).”

Quelle: https://www.pcbway.com/project/gifts_detail/ESPEnvi___Environment_sensors_development_board.html

Warum hier vom HDC1080 gesprochen wird, ist mir nicht ganz klar, da als Sensor beim AZ-Envy Board ein SHT30-DIS-B verbaut ist. Ich würde aber darauf tippen, dass die gleichen GPIOs verwendet wurden.

Miguel Torres

Miguel Torres

Buena explicación del funcionamiento. Si como se dice en los comentarios, el sensor de gas interfiere en la lectura de la temperatura, la solución una solución puede estar en el diseño de la carcasa, dejando una separación física. Parece un módulo interesante para detector de fuego y humos.

Jos

Jos

vielen Dank für den Beitrag. Klar erklärt, simpel gehalten, genau richtig. Sicherlich kann man über Feinheiten diskutieren, aber diese Platine zeigt was mit geringem Einsatz erreicht werden kann.

Ich musste zwar überlegen warum “Smoke” nach dem Anhauchen so hoch geht, da ich doch vor 15 Jahren aufgehört habe zu rauchen ….
Auch hatte ich vor 40 Jahren mal ein Auto welches ich mit LPG Gas betanken konnte.

Egal, ich bin zufrieden und werde mit dieser Basis weiter experimentieren.

LG

Jens Unterkötter

Jens Unterkötter

Kleiner Tipp am Rande. Die Platine senkrecht mit dem SHT30 nach unten anbringen. So wird die gemessene Temperatur nicht von anderen Bauteilen auf der Platine beeinträchtigt. Warme Luft zieht immer nach oben.

Sven Waibel

Sven Waibel

Ich habe mir gleich drei Teile bestellt und der Gasdetektor direkt neben dem Temperatursensor ist echt mies gelöst. Dadurch dass der Gasdetektor so eine Wärme abstrahlt, ist die Termperaturmessung total verfälscht. Der Temperatursensor hätte man als erste Maßnahme ans andere Ende der Platine machen müssen oder gleich auf die Rückseite. Klar kann man jetzt einen Plastikstreifen dazwischen fummeln, aber das ist nicht Sinn der Sache. Werde mir wohl ein Gehäuse drucken mit einer Abtrennung, mal sehen wie weit das hilft.
Das eBook ist eigentlich noch für die Katz, da sind die Infos in diesem Blog 1000x hilfreicher, danke dafür. Ins Buch sollte alle Infos rein, damit ein Anfänger das Ding flashen und benutzen kann. Das erspart viel Support und beim Anwender Sucherei. Vielleicht sollte man von ArduinoIDE weg und lieber PlatformIO unterstützen, das meiner Meinung nach wesentlich besser ist.
Viele Grüße

Jürgen

Jürgen

@ Carsten Vom ESP8266 her gibt es keine Bedenken, mit 4MB Flash an Bord ist der MicroPython-tauglich. Der Gassensor arbeitet, so viel ich weiß, analog, also auch kein Problem an A0. Und ein Modul für den SHT30 in MicroPython gibt es hier: https://github.com/rsc1975/micropython-sht30/blob/master/sht30.py. Dafür ist dann wichtig, an welchen Pins der SHT30 liegt: SDA = GPIO4, SCL = GPIO5, I2c-Adresse 0×44.
H.-J. Winter

H.-J. Winter

Danke für die einführenden Hinweise. Um die Wärmestrahlung des Gassensors zu reduzieren einen schmalen Plastestreifen dazwischen schieben. 3 bis 4 mm Höhe dürften reichen.

Carsten

Carsten

Hat schon jemand Erfahrung, das Teil mit MicroPython zu nutzen? Sollte doch problemlos möglich sein, oder?!

Bernd Albrecht

Bernd Albrecht

@ S.Helllwege: Die Sensoren des AZ-Envy sind intern angeschlossen. Wie Sie richtig vermuten: der MQ-2 an A0 und der SHT-30 an I2C.
Man benötigt beim SHT-30 weder die Pin-Nummern für SDA und SCL noch die I2C-Adresse. Mit den Zeilen
#include
SHT3x Sensor;
ist schon alles getan, was man benötigt, um den SHT-30 abzufragen.

Sören Hellwege

Sören Hellwege

Hallo,
ich interessiere mich für den AZ-Envy und möchte ihn anschließend mit tasmota flaschen.
Der MQ-2 kommt an den A0, aber welche GPIO brauche ich für I2C?
Dankeschön

Laisser un commentaire

Tous les commentaires sont modérés avant d'être publiés

Articles de blog recommandés

  1. ESP32 jetzt über den Boardverwalter installieren - AZ-Delivery
  2. Internet-Radio mit dem ESP32 - UPDATE - AZ-Delivery
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1 - AZ-Delivery
  4. ESP32 - das Multitalent - AZ-Delivery