Den folgenden Text habe ich von meiner eigenen Homepage kopiert.
Das HTIT-W8266 Board (alias WIFI Kit8) aus China ist dem NodeMCU Board
sehr ähnlich. Es hat aber zusätzlich ein winzig kleines OLED Display mit
128x32 Pixeln bzw. 4 Zeilen Text mit je 21 Zeichen. Weiterhin enthält
das Board einen USB-UART Chip vom Typ CP2104.
Der Display Controller vom Typ SSD1306 ist über I²C mit dem ESP8266
verbunden. Der 2 Megabyte große Flash Speicher wird mit 80MHz im QIO
Modus angesprochen. Die Reset Methode zum Aktivieren des
Firmware-Upgrade Modus entspricht dem NodeMCU Board:
1
DTR RTS /Reset GPIO0
2
=============================
3
Aus Aus High High
4
Ein Ein High High
5
Aus Ein Low High
6
Ein Aus High Low
Alternativ kann man den Firmware-Upgrade Modus aktivieren, indem man
beide Tasten drückt und dann den Reset-Taster zuerst loslässt.
Die aufgedruckten D-Nummern sind an das NodeMCU Projekt angelehnt. Ich
empfehle allerdings, die Arduino Pin Nummern zu verwenden da sie den
GPIO Nummern des Chips entsprechen und unabhängig vom eingestellten
Board sind.
Achtung: Zur Zeit (Oktober 2017) verkaufen alle Händler das Modul mit
lauter falschen Angaben: Anschlussplan, Spannungsversorgung,
Speicherkapazität und USB-UART Chip-Nummer sind alle falsch.
Der angehängte Plan zeigt die richtigen Verbindungen zum Display in
Klammern. Pinbelegung:
1
Oben NodeMCU Pin Arduino Pin ESP Name OLED Pin Beschreibung
11 D0 16 GPIO16 /RES Setzt das Display zurück. Wenn mit /RESET
41
verbunden, kann ein Timer den µC aus dem
42
Deep-Sleep aufwecken.
43
12 A0 17 ADC Analoger Eingang für 0..3,3V weil mit
44
Spannungsteiler 220k+100k Ohm.
Die Stromversorgung erfolgt wahlweise über USB, ein 3,3V Netzteil oder
ein 5V Netzteil. Das Display nimmt zusätzlich zum ESP Chip ca. 30mA auf.
Der Eingebaute Spannungsregler hat für eigene Erweiterungen maximal
200mA Leistungsreserve. Da der 5V Anschluss direkt mit der USB Buchse
verbunden ist, soll bei Nutzung von USB nicht gleichzeitig ein 5V
Netzteil angeschlossen sein.
Der Batterieanschluss ist aus folgenden Gründen unbrauchbar:
* Die minimale Ruhestromaufnahme im Deep Sleep oder auch Power-Down
Modus mit ausgeschaltetem Display beträgt 7mA. Es gibt keinen
Aus-Schalter.
* Wenn die Batteriespannung unter 3,3V fällt, funktioniert das Modul
schon nicht mehr (der ESP Chip bekommt dann weniger als 2,7V ab).
* Wenn das Modul wegen Unterspannung ausfällt, erhöht sich die
Stromaufnahme auf ca. 80mA. Ein Tiefentladeschutz ist nicht vorhanden.
* Wenn der Akku geladen wird und gleichzeitig 200mA externe Last
angeschlossen werden, überhitzt sich die Platine.
Die beiden Taster ziehen die Leitungen /RESET und GPIO0 direkt auf Low.
Auch der USB-UART ist direkt mit den I/O Pins verbunden, deswegen kann
man GPIO3 nicht extern nutzen.
Zur Programmierung empfehle ich entweder meine angehängte OLED Klasse
oder die Libraries SSD1306 und GFX von Adafruit.
https://github.com/adafruit/Adafruit_SSD1306https://github.com/adafruit/Adafruit-GFX-Library
Meine Notizen zum ESP8266 Chip:
http://stefanfrings.de/esp8266/index.html
Ich möchte hiermit einen Erfahrungsaustausch starten. Kann jemand noch
weitere nützliche Hinweise ergänzen?
...ich frage mich, warum es bei Ebay/Ali so etwas nicht fertig aufgebaut
gibt mit:
a. größeres Display oder
b. E-Paper
Ist das Teil vom WPA2-Bug betroffen bzw bereits fixed?
> Ist das Teil vom WPA2-Bug betroffen bzw. bereits fixed?
Ich schätze, das hängt von der Firmware ab, die man drauf installiert.
Genauer weiß ich es nicht. Spielt das bei so einem "Spielzeug" überhaupt
eine Rolle?
Stefan U. schrieb:> Genauer weiß ich es nicht.
Ein kleinwenig kann ich dazu beitragen....
Soweit mir bekannt:
Das WPA Gedöns steckt in Libs, welche dazu gelinkt werden.
Liegen also nicht im Quellcode vor.
Man wird da also auf ein Toolchain Update warten müssen, falls das noch
nicht erfolgt sein sollte.
Nachtrag:
KA, ob der ESP überhaupt betroffen ist...
Laut dieser (ttps://github.com/esp8266/Arduino/issues/3725) Seite ist
der ESP8266 betroffen, es gibt auch schon einen Bugfix aber der ist noch
nicht in das Arduino Framework eingeflossen.
Stefan U. schrieb:>> Ist das Teil vom WPA2-Bug betroffen bzw. bereits fixed?>> Spielt das bei so einem "Spielzeug" überhaupt> eine Rolle?
Also so eine idiotische Frage hätte ich dir echt nicht zugetraut...
Gerade bei solchen Spielzeugen spielt das eine Rolle, denn da wird
oberhalb des WLAN-Krams typisch nicht mit starker Verschlüsselung
gearbeitet.
D.h.: mit dem KRACK-Angriff ist man schon "halb" im LAN. Das
8266-Spielzeug selber ist natürlich relativ uninteressant. Allerdings
auch nicht völlig uninteressant, man könnte zuerst immerhin versuchen,
es soweit zu übernehmen, dass es sich als Angriffsbasis nutzen läßt.
Wenn das gelingt, erlangt man typisch auch gleich Zugriff auf die
WPA2-Passphrase. Damit braucht man kein KRACK mehr...
D.h.: man hat nicht nur einen Fuss im WLAN, der ziemlich unverdächtig
ist, sondern darüber hinaus für den Fall, dass doch mal irgendjemandem
etwas auffällt, die Möglichkeit weiter zu stochern, dann allerdings
etwas auffälliger...
Aber wem fällt das schon wirklich auf? Leuten, die Fragen stellen, wie
du das getan hast wohl eher nicht...
Stefan U. schrieb:> Laut dieser (ttps://github.com/esp8266/Arduino/issues/3725) Seite ist> der ESP8266 betroffen, es gibt auch schon einen Bugfix aber der ist noch> nicht in das Arduino Framework eingeflossen.
Das ist schon mal gut. Danke.
Deine Seite schaut gut aus.
Ich habe noch etwas blödes festgestellt:
Wenn ich meine Module in ein Steckbrett stecke, verschlechtert sich der
WLAN Empfang rapide. Es bringt nichts, die WLAN Leiterschleife über das
Steckbrett hinaus ragen zu lassen.
Was aber hilft, ist die Stiftleisten um etwa 1cm zu verlängern, um mehr
Distanz zwischen Steckbrett und Modul zu schaffen.
Ich habe das jetzt mit mehreren sehr unterschiedlichen Breadboards, drei
Modulen und drei unterschiedlichen Netzteilen ausprobiert. Der Effekt
tritt immer auf und die Lösung mit den verlängerten Pins hilft immer.
Das Ganze hinterlässt bei mir aber kein gutes Gefühl.
An der kapazitiven Last durch die Steck-Kontakte kann es nicht liegen.
Selbst wenn ich alle Pins mit 20cm Dupont Kabel zum Steckbrett verbinde
und diese Kabel fest miteinander bündele, läuft das Modul noch stabil.
Ich hatte schon beim Auspacken gestaunt, dass die Bauteile um den ESP
Chip herum relativ viel Abstand haben und die Antenne gut 2cm weit
abgesetzt ist. Das kenne ich von anderen Modulen und aus dem Datenblatt
des Chips anders.
Irgendwo ist wohl immer ein Haken, wenn die Chinesen etwas entwickeln.
> Setze die Platine doch mal so aus Steckbrett, dass die Antenne> möglichst weit darüber weg ragt.
Hab ich gemacht, funktioniert kein bisschen besser.
> Es ist also kein von Chinesen erzeugtes Problem
Die Beeinflussung durch Metallteile sehe ich ja ein, aber dieses Board
wird ausdrücklich zum Experimentieren auf Steckboards angeboten. Das
muss dann auch funktionieren.
Aber da es so nur in unmittelbarer Nähe zum Access Point (2 Meter)
funktioniert, halte ich es für einen Mangel.
Nachtrag: Gerade habe ich mal einen zusätzlichen Elko an GND/3,3V
probiert. Bringt auch nichts. Hätte mich auch gewundert, denn selbst an
drei kurz angebundenen NiMh Akkus* habe ich das Problem. Es wird wohl
wirklich an ungünstigen Reflexionen liegen.
*) Ich habe drauf geachtet, dass sie nicht mehr als 3,6V liefern. Also
nicht mehr ganz frische verwendet.
Ich habe seit kurzem auch ein paar dieser Module im Einsatz. Für den
Preis sind die Teile wirklich in Ordnung. Zusammen mit ein oder zwei
Tastern und ein paar Sensoren hat man schnell was zusammengebastelt, was
seinen Status im Klartext auf dem Display anzeigen kann.
Hier ist noch ein Link zum Repository des Herstellers:
https://github.com/Heltec-Aaron-Lee/WiFi_Kit_series/
Da ist auch eine sehr minimalistische Library dabei, die außer 4 Zeilen
Text mit 16 Zeichen pro Zeile nichts kann.
Was mich an diesem Modul besonders nervt, sind folgende zwei Dinge:
[1] Beim Programmieren mit der Arduino IDE geht jeder 3. oder 4. Versuch
schief, da das Modul nicht in den Programmiermodus schaltet. Ich hab mit
inzwischen angewöhnt, vorher die beiden Tasten manuell zu drücken.
[2] Das Modul startet beim Anlegen der Versorgungsspannung fast nie von
alleine. Meistens braucht es einen Reset per Taster. Das ist natürlich
für in der Garage oder sonstwo verbaute Module nicht unbedingt
praxistauglich.
Ich vermute mal, dass beide Probleme zusammenhängen und man das mit ein
paar Bauteilen an der Reset-Leitung beheben könnte. Hat jemand ähnliche
Erfahrungen gemacht und vielleicht sogar schon eine Lösung?
Gruß Reiner
> Das Modul startet beim Anlegen der Versorgungsspannung fast nie von> alleine.
Hängt vom Netzteil ab. Ich habe den selben Effekt auch mit anderen ESP
Modulen.
Da das Problem bei mir bisher nur mit einem Netzteil auftrat, habe ich
nicht weiter nachgeforscht.
Man könnte ganz einfach mal einen 10µF Elko am Reset Pin versuchen.
Versuche mal mein Testprogramm
http://stefanfrings.de/esp8266/WIFI-Kit-8-Test2.zip
Wenn du es in der Arduino IDE Compilierst, stelle den Flash Modus auf
40Mhz QIO und die CPU Taktfrequenz auf 80Mhz (wir wollen ja nicht
übertreiben).
Sollte das dann nicht stabil laufen, hast du einen Hardware defekt.
Möglicherweise allerdings in der Stromversorgung. Im Zweifelsfall kann
es nicht schaden, das Modul mal Probeweise mit 4 Akkus (4,8V) oder
Einwegbatterien (6v) zu betreiben.
Thomas M. schrieb:> Ich habe ebenfalls dieses Board... das Display geht immer nach einer> Weile aus.... wird ein HW defekt sein, oder ?
Ich habe 8 dieser Module und keines hat diese Probleme, es muss also ein
spezifisches Problem deines Moduls bzw. dessen Serie sein. Es könnte ein
thermisches Problem sein, ich würde es mal mit Kältespray probieren.
Gruß Reiner
Hallo zusammen,
Hab das wifi kit8 von heltec.
Weiß jemand ob ich den Analogeingang oder den TX1 pin als output
konfigurieren kann?
Falls ja, was wäre das dann für ein pin?
Hab es bislang leider erfolglos versucht :(
Danke und Gruß
Der Elch
Der Elch schrieb:> Hab das wifi kit8 von heltec.> Weiß jemand ob ich den Analogeingang oder den TX1 pin als output> konfigurieren kann?
Der Analogeingang ist ein Analogeingang Punkt.
Und Tx1 ist ein Ausgang, deswegen heißt er ja Tx (Transmit). Klar kannst
du den als normalen I/O Pin nutzen. Aber bedenke, dass er bei Start der
Firmware "flackert".
Warum fragst du überhaupt, das steht doch bereits im Eröffnungsbeitrag.
> was wäre das dann für ein pin?
Das wäre ein I/O Pin. Ich verstehe die Frage nicht.
Schau doch einfach auf meine Homepage, da steht alles:
http://stefanfrings.de/esp8266/index.html