ESP8266: Unterschied zwischen den Versionen
Zeile 178: | Zeile 178: | ||
Nach dem mir der SONOFF DUAL R3 als Markisenschalter doch zu riskant erschien, bin ich zu diesem ESP8366 2-fach Umschaltrelais gewechselt. Die Gefahr eines Kurzschlusses ist hier bauartbedingt deutlich geringer. | Nach dem mir der SONOFF DUAL R3 als Markisenschalter doch zu riskant erschien, bin ich zu diesem ESP8366 2-fach Umschaltrelais gewechselt. Die Gefahr eines Kurzschlusses ist hier bauartbedingt deutlich geringer. | ||
− | Beworben wird das Teil mit "DollaTek 5V 2-Kanal WIFI Relaismodul". | + | Beworben wird das Teil mit "DollaTek 5V 2-Kanal WIFI Relaismodul". Bei Tasmota hat es die Bezeichnung 'LC-Relay-ESP01-2R-5V' |
Einen Schaltplan konnte ich bisher nicht finden, aber die [https://manuals.plus/lc/lc-5v-2-channel-wifi-relay-module-esp01-manual Seite] gibt schon einen ganz guten Einblick. Es steht sogar ein [https://manuals.plus/lc/lc-5v-2-channel-wifi-relay-module-esp01-manual.pdf PDF-Dokument] zur Verfuegung. | Einen Schaltplan konnte ich bisher nicht finden, aber die [https://manuals.plus/lc/lc-5v-2-channel-wifi-relay-module-esp01-manual Seite] gibt schon einen ganz guten Einblick. Es steht sogar ein [https://manuals.plus/lc/lc-5v-2-channel-wifi-relay-module-esp01-manual.pdf PDF-Dokument] zur Verfuegung. |
Version vom 6. August 2022, 10:43 Uhr
Inhaltsverzeichnis
Allgemeines
Zum Einstieg verweise ich auf die Wiki-Seite und die Homepage des Herstellers.
Eine prima Vorlage für die PinOuts der gaengigen Tinkerboards finden man hier.
Modelle
Eigentlich ist der ESP8266 erst einmal nur der Chip, besser gesagt ein SoC (SystemonChip) mit WLAN, UART und SPI. Viele haben aber wenn sie von einem ESP8266 sprechen ein Modul vor Augen. Die Module kann man grob in zwei Kategorien teilen. Die einen haben einen USB-Anschluss und die anderen eben nicht. Das verhält sich wie beim Arduino. Der ATmega wird um einen USB-TTL Wandler ergänzt und schon hat man fast einen Arduino. Beim ESP8266 ist es genauso. Für den normalen Betrieb benötigt man den USB-Port eher nicht, sondern eben nur zum Programmieren. Hat man also ein Modul ohne USB schließt man einen USB-TTL-Wandler an und schon hat man das gleiche wie bei einem ESP8266-Modul mit USB.
Programmieradapter
Spezialadapter
Beim Ali wird Dir geholfen. Dieser Programmer beherrscht nicht nur den Chip in der Bauform, sondern hat auch direkt einen Steckplatz für das ESP01S-Modul. Ob er auch das ESP01-Modul verträgt muss ich noch testen.
Die Angaben im Netz zu den Unterschieden sind nicht eindeutig, Den Unterschied mit der EEPROM-Speichergröße kann ich bei meinen Modulen nicht feststellen. Vielleicht kann jemand in den Kommentaren helfen.
Adapter mit einem CP2102
Mit dem Wissen der CP2102-Wikiseite bewaffnet kann man hier schnell ans Werk gehen.
Bevor man die Verdrahtung von Wandler und ESP01-Modul in Angriff nimmt muss man sich natürlich erst ein Bild der Pinbelegung machen und dann schauen ob das alles so ohne weiteres zusammenpasst.
ESP01-Modul von oben/Pins links/Antenne rechts | |||
---|---|---|---|
1 | TX | 2 | GND |
3 | EN (CHPD) | 4 | IO2 (GPIO2) |
5 | RST | 6 | IO0 (GPIO0) |
7 | 3V3 | 8 | RX |
CP2102-Modul von oben/Pins links/USB rechts | |
---|---|
1 | +5V vom USB |
2 | GND |
3 | RXD |
4 | TXD |
5 | RST |
6 | 3V3 vom CP2102 |
Die Aussage nach der RX und TX immer über Kreuz angeschlossen werden ist so nicht haltbar. Wie ein Anwalt sagen würde: Es kommt drauf an. Nämlich mit welcher Logik der PCB-Layouter die Beschriftung angebracht hat. Im Zweifel muss man nachschauen/nachmessen an welchen Pin am Chip TX und RX verbunden sind. Auf Chipebene stimmt dann die Aussage mit dem Kreuzen. Dann sind nur noch, wie übrigens bei allen Pins die Spannungslevel und Strombelastbarkeiten zu überprüfen.
Ein recht gut gemachtes Video zeigt keinerlei Zusatzbeschaltung. Der Programmieradapter ist direkt mit dem zu flashenden Gerät verbunden.
Es gibt einige Anleitungen, die als Programmieradapter einen Arduino oder eine NodeMCU, ... nutzen. Das geht natürlich. Wie schon weiter oben erwähnt sind diese Boards ja im Prinzip nix anderes als ein Mikrocontroller mit Programmieradapter on Board. Was bei diesen Varianten gemacht wird ist einfach den Onboard-Mikrocontroller "tot legen" und an dessen Stelle einen externen Controller anhängen, der dann den Onboard-Wandler für sich nutzt.
Adapter mit einem CH340G
Den Adapter zum Programmieren des ESP-01 gibt es fix und fertig beim Ali.
Ohne einen Schaltplan geht bei mir jedes mal das Raetselraten um die Anschlussbelegung und die Funktion von Schaltern und Tastern los.
Eine Seite, die sich sehr schoen diesem Problem stellt ist z. B. [2].
Mit dem passenden Schaltplan wird die Bedienung und evtl. auch Einschraenkungen, oft direkt deutlich.
Einfach-Relais
PIN 1 Problem (mal wieder): Das ESP-01 hat in der Regel seinen Pin1 unten links (Draufsicht Antenne oben). Wie auch aus dem Aufdruck auf dem Modul (s. o.) deutlich wird. Das Relaisboard hat seine Markierung auf der Unterseite, aber oben links (Draufsicht Relais links) Jetzt koennte man noch sagen: Das ist ja doch der GND-Pin und deshalb ist er eckig. Aber auf dem gleichen Board ist weiter oben ein GND-Pin mit einem runden PAD! Also nicht aufgepasst!
worker:~ # iwlist wlan0 scanning
Cell 03 - Address: 3E:71:BF:2A:B6:E0 Channel:1 Frequency:2.412 GHz (Channel 1) Quality=47/70 Signal level=-63 dBm Encryption key:off ESSID:"FaryLink_2AB6E0" Bit Rates:5.5 Mb/s; 11 Mb/s; 1 Mb/s; 2 Mb/s; 6 Mb/s 12 Mb/s; 24 Mb/s; 48 Mb/s Bit Rates:54 Mb/s; 9 Mb/s; 18 Mb/s; 36 Mb/s Mode:Master Extra:tsf=0000000000bd1a5c Extra: Last beacon: 56ms ago IE: Unknown: 000F466172794C696E6B5F324142364530 IE: Unknown: 01088B9682840C183060 IE: Unknown: 030101 IE: Unknown: 32046C122448 IE: Unknown: DD0918FE34030100000000
worker:~ # ip a
wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1280 qdisc mq state UP group default qlen 1000 link/ether 00:30:f1:ed:f2:de brd ff:ff:ff:ff:ff:ff inet 192.168.4.2/24 brd 192.168.4.255 scope global dynamic noprefixroute wlan0 valid_lft 7187sec preferred_lft 7187sec inet6 fe80::c17c:4c72:cef4:26f2/64 scope link noprefixroute valid_lft forever preferred_lft forever
worker:~ # nmap -v -sn 192.168.4.0/24
Nmap scan report for 192.168.4.0 [host down] Nmap scan report for 192.168.4.1 Host is up (0.0014s latency). MAC Address: 3E:71:BF:2A:B6:E0 (Unknown) Nmap scan report for 192.168.4.3 [host down]
worker:~ # nmap -v -A 192.168.4.1
Starting Nmap 7.70 ( https://nmap.org ) at 2021-02-15 17:22 CET NSE: Loaded 148 scripts for scanning. NSE: Script Pre-scanning. Initiating NSE at 17:22 Completed NSE at 17:22, 0.00s elapsed Initiating NSE at 17:22 Completed NSE at 17:22, 0.00s elapsed Initiating ARP Ping Scan at 17:22 Scanning 192.168.4.1 [1 port] Completed ARP Ping Scan at 17:22, 0.24s elapsed (1 total hosts) Initiating Parallel DNS resolution of 1 host. at 17:22 Completed Parallel DNS resolution of 1 host. at 17:22, 0.00s elapsed Initiating SYN Stealth Scan at 17:22 Scanning 192.168.4.1 [1000 ports] Completed SYN Stealth Scan at 17:22, 9.65s elapsed (1000 total ports) Initiating Service scan at 17:22 Initiating OS detection (try #1) against 192.168.4.1 Retrying OS detection (try #2) against 192.168.4.1 NSE: Script scanning 192.168.4.1. Initiating NSE at 17:22 Completed NSE at 17:22, 0.00s elapsed Initiating NSE at 17:22 Completed NSE at 17:22, 0.00s elapsed Nmap scan report for 192.168.4.1 Host is up (0.020s latency). All 1000 scanned ports on 192.168.4.1 are closed MAC Address: 3E:71:BF:2A:B6:E0 (Unknown) Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port Device type: specialized|general purpose Running (JUST GUESSING): DTE embedded (95%), lwIP 1.4.X (95%), Enlogic embedded (95%), Espressif embedded (95%), Philips embedded (95%), Ocean Signal embedded (95%), 2N embedded (91%), Advanced Illumination embedded (91%) OS CPE: cpe:/a:lwip_project:lwip cpe:/h:philips:hue_bridge cpe:/a:lwip_project:lwip:1.4 cpe:/h:2n:helios cpe:/h:advanced_illumination:dcs-100e Aggressive OS guesses: DTE Energy Bridge (lwIP stack) (95%), Enlogic PDU (FreeRTOS/lwIP) (95%), Espressif esp8266 firmware (lwIP stack) (95%), Philips Hue Bridge (lwIP stack v1.4.0) (95%), Ocean Signal E101V emergency beacon (FreeRTOS/lwIP) (95%), ESPEasy OS (lwIP stack) (95%), 2N Helios IP VoIP doorbell (91%), Advanced Illumination DCS-100E lighting controller (91%), AudioControl D3400 network amplifier (91%), British Gas GS-Z3 data logger (91%) No exact OS matches for host (test conditions non-ideal). Network Distance: 1 hop
TRACEROUTE HOP RTT ADDRESS 1 20.24 ms 192.168.4.1 NSE: Script Post-scanning. Initiating NSE at 17:22 Completed NSE at 17:22, 0.00s elapsed Initiating NSE at 17:22 Completed NSE at 17:22, 0.00s elapsed Read data files from: /usr/bin/../share/nmap OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 12.39 seconds Raw packets sent: 1193 (53.616KB) | Rcvd: 1191 (48.152KB)
2-fach Umschaltrelais
Nach dem mir der SONOFF DUAL R3 als Markisenschalter doch zu riskant erschien, bin ich zu diesem ESP8366 2-fach Umschaltrelais gewechselt. Die Gefahr eines Kurzschlusses ist hier bauartbedingt deutlich geringer.
Beworben wird das Teil mit "DollaTek 5V 2-Kanal WIFI Relaismodul". Bei Tasmota hat es die Bezeichnung 'LC-Relay-ESP01-2R-5V'
Einen Schaltplan konnte ich bisher nicht finden, aber die Seite gibt schon einen ganz guten Einblick. Es steht sogar ein PDF-Dokument zur Verfuegung.
Daraus geht aber wenigstens die Ansteuerung des STM8S hervor.
IN+,IN- | 5V Spannungsversorgung (Stromeingang) | TX,RX | Serielle UART-Schnittstelle | |
5V, GND, SWIM, NRST | STM8S Microcontroller Programm-Download-Port | LED D2 und D4 (rot) | Arbeitsanzeige Relais 1 und 2 | |
Taste S1 | Modusschalter, die Standardeinstellung ist Modus 1 | Taster S2 | zuruecksetzen | |
LED D7 (rot) | Anzeige Modus 1 | LED D7 (blau) | Anzeige Modus 2 | |
LED D6 (grün) | Arbeitstatusanzeige: (1) Aus: Konfigurationsmodus: Verbindung mit Router verloren Schnell blinkend (0,5 s): Mobiler APP konfiguriert WIFI-Konto und Passwort des ESP-01-Moduls Langsam blinkend (2 s):Konfiguration abgeschlossen, warten auf TCP-Verbindung mit Mobiltelefon AN: TCP-Verbindung zu Mobiltelefon erfolgreich hergestellt |
2 Jumper (reserviert) |
Bei normaler Verwendung stecken sie auf RX-RX1 und TX-TX1 Wenn das serielle USB zu TTL-Port-Modul zum Debuggen des ESP01-Moduls benutzt werden soll, dann nach oben(auszen) stecken. Sonst kann es zu Stoerungen kommen. |
|
COM1 | Gemeinsamer Anschluss Relais1 | COM2 | Gemeinsamer Anschluss Relais2 | |
NO1 (NormallyOpen1) |
Schlieszer Anschluss Relais1 | NO2 (NormallyOpen1) |
Schlieszer Anschluss Relais2 | |
NC1 (NormallyClosed1) |
Oeffner Anschluss Relais1 | NC2 (NormallyClosed2) |
Oeffner Anschluss Relais2 | |
Relaissteuerbefehle (HEX-Format) |
Relais1 einschalten: A0 01 01 A2 Relais1 ausschalten: A0 01 00 A1 Relais2 einschalten: A0 02 01 A3 Relais2 ausschalten: A0 02 00 A2 |
Dies ist das Ergebnis des GoogleUebersetzers aus dem Chinesischen. Ich habe mich eng an das Original gehalten, aber doch an der einie Ergebnisse frisiert:-).
PIN 1 Problem (mal wieder): Das ESP-01 hat in der Regel seinen Pin1 unten links (Draufsicht Antenne oben). Wie auch aus dem Aufdruck auf dem Modul (s. o.) deutlich wird. Das Relaisboard hat seine Markierung auf der Unterseite, aber oben links (Draufsicht Relais rechts) beim RX-Pin. Also wieder nicht aufgepasst!
Die Tasmota-Config findet man hier
OTA Update mit Fehlermeldung fehlgeschlagen
Upload Failed Upload buffer miscompare
Die im Netz verbreitet Loesung mit dem "Umweg" ueber die Minimal-Firmware hat bei mir nicht funktioniert. Die minimale liesz sich aufspielen, aber ein Upgrade nach tasmota.bin war erfolglos. Also dann doch Adapter.
Nach vielem Hin und her habe ich mich gegen Tasmota fuer die Markisensteuerung entschieden. Um die Logik abzubilden reicht der Configumfang von Tasmota nicht aus. Es mag sein, dass es mit Rules und/oder Skript funktioniert haette. Aber das Risiko war mir zu grosz. Leider steht Berry auf dem ESP8266 nicht zur Verfuegung. Damit haette ich es hinbekommen. Aber der Sketch ist so simpel, dass sich der Aufwand in Tasmota fuer mich nicht lohnt.
Mehrfach Relaiskarte
nuvoton n76E003
Warum ich das hier reinkoppiert habe weisz ich selber nicht mehr.
2 UARTs
2 UARTs ist etwas uebertrieben. Eigentlich hat der ESP8266 nur einen UART und einen weiteren RXP-Anschluss an GPIO2.
Dazu gibt das Datenblatt folgende Erklaerung ab.
11.1. Functional Overview There are two group ESP8266 UART interfaces, respectively: •UART0: -U0TXD: pin26 (U0TXD) -U0RXD: pin25 (U0RXD) -U0CTS: pin12 (MTCK) -U0RTS: pin13 (MTDO) •UART1: -U1TXD: pin14 (GPIO2) The basic working process of transmission FIFO: As long as there has data filling into transmission FIFO, it will immediately start sending process.Since transmission itself is a relatively slow process,other data can be sent to the transmission FIFO simultaneously. Data sending should be paused when the transmission FIFO is full ,or it will cause data loss.Transmission FIFO will sent out one by one in accordance with the order of the data filling in,until the transmission FIFO is completely empty.Data has been sent will be automatically cleared, at the same time transmission FIFO will be more of a vacancy. The basic working process of receiver FIFO: When the hardware logic receives the data, it will fill them into receiver FIFO. Program should withdraw the data timely ,the data-dequeue is also a process of deleting data from FIFO automatically,thus, there will be one more vacancy in receiver FIFO. If the data in the receiver FIFO can not be removed in time, the receiver FIFO will be full which makes data loss. Scenario: UART0 works as data communication interface and UART1 woks as debug port.
Probleme
Der ESP01 gibt nach dem Flashen auf dem seriellen Monitor nur Datensalat aus. Erst eine umstellen der Baudrate auf 74880 ergab eine lesbare Fehlermeldung.
ets Jan 8 2013,rst cause:2, boot mode:(3,6) load 0x4010f000, len 3460, room 16 tail 4 chksum 0xef load 0x00000000, len 0, room 4 tail 0 chksum 0xef csum 0xef csum err ets_main.c
Ich habe tatsaechlich einen leeren Loop. Das mag der ESP nicht. Einer schreibt man soll wenigstens ein delay drin haben.
Das ist aber nicht die Loesung!
Es waren die Parameter hinter dem write_flash -fs 1MB -fm dout 0x0 !!!
Zusatzinfo:
reset causes: 0: 1: normal boot 2: reset pin 3: software reset 4: watchdog reset
boot device: 0: 1: ram 3: flash - See more at: http://www.esp8266.com/viewtopic.php?p=2096#p2112
Quellen
https://www.heise.de/make/artikel/ESP8266-flashen-3042776.html
https://www.kollino.de/arduino/esp8266-01-wlan-modul-flashen/
https://www.instructables.com/3-Simple-Ways-of-Programming-an-ESP8266-12X-Module/
http://stefanfrings.de/esp8266/
Die automatische Aktualisierung der Kommentare aktivieren.
Chris T. Ludwig
Permanentlink |