ESP8266

Flash new Firmware

TX(D)/RX(D) müssen bei den Stiften (Anschluss USB/seriellen-Adapter) vertauscht sein.

Beim Einstecken (booten) muss GPIO0 und Ground verbunden sein (kurz oder lang), damit der ESP in den Flashmodus geht.

Tasmota download: Arduino support for ESP8266

Linux

Esptools

git clone https://github.com/themadinventor/esptool.git

Erzeugt Verzeichnis esptools

sudo python esptool.py --port /dev/ttyUSB0  write_flash 0x00000 ../Downloads/tasmota-wifiman.bin 

Sollte man den Flash mal ganz löschen müssen (z.B. weil der Config verkackt ist):

sudo python esptool.py --port /dev/ttyUSB0 erase_flash

Development

Arduino IDE

ESP-IDF

IoT Development Framework von Expressif selbst

https://github.com/espressif/esp-idf

ESP8266 Projekte

Baudrate

Ich habe den ESP direkt an einen USB-seriellen Konverter an den PC angeschlossen (/dev/USO0). ACHTUNG!!!: Unbedingt 3,3 Volt, keine 5V, sonst Schrott. Kein Problem. Allerdings muss der Chip-Enabled-Pin auf VCC angesclossen sein, sonst geht der ESP nicht. Dann kann man mit der Arduino-IDE mit dem Chip kommunizieren, 115200 Baud. Ich will die Original Firmware behalten, weil ich den ESP eh an einen Arduino Nano anschlisse und ihn nur fürs WLAN brauche. Ich mache das, um zu sehen, ob es funktioniert und um die Baudrate permanent auf 9600 Baud zu stellen. Keine Ahnung, ob das wirklich nötig ist, aber die Kommunikation zum Arduino ist sicher stabiler.

AT+UART_DEF=9600,8,1,0,0

Welche Firmware-Version ist drauf?

ESP8266 and the AT firmware are products of Espressif. They have everything documented on the web site.

The AT command for version is 'AT+GMR'. Bei mir:

AT+GMR

AT version:1.3.0.0(Jul 14 2016 18:54:01)
SDK version:2.0.0(5a875ba)
Farylink Technology Co., Ltd. v1.0.0.2
May 11 2017 22:23:58
OK

AT-Befehle für ESP: http://stefanfrings.de/esp8266/

Mit WLAN verbinden: AT+CWJAP=„Pipping_UG2“,„supergeheim“ das Modul verbindet sich mit dem WLAN Netz „Muschikatze“ und dem angegebenen WPA/WPA2 Passwort. Diese Einstellung wird automatisch dauerhaft gespeichert und beim nächsten Neustart aktiv.

AT+CWJAP?

zeigt an, mit welchem Access Point das Modul gerade verbunden ist. Zum Beispiel:

+CWJAP:„Pipping_UG2“,„5c:49:79:2d:5b:cd“,7,-60 OK

AT+CIFSR

zeigt die IP-Adresse und MAC Adresse des Moduls an zum Beispiel:

+CIFSR:STAIP,„192.168.0.111“ +CIFSR:STAMAC,„5c:cf:7f:8b:a9:f1“ OK

Doorlock \ Türschloss

McLighting v2 - The ESP8266 based multi-client lighting gadget

Open Source projekt zur LED-Steuerung mit ESP

McLighting (the multi-client lighting gadget) is a very cheap internet-controllable lighting solution based on the famous ESP8266 microcontroller and WS2811/2812 led strips. It features among other things a web-interface, a REST-API and a websocket connector.

Because of it's open architecture and APIs it's easy to build new clients for different platforms (iOS, Android, Windows Universal Apps, Siri/Cortana integration, …).

https://github.com/toblum/McLighting

Tuya Infrarot Sender

Billig-China Infrarot-Hub auf ESP-Basis

https://github.com/arendst/Tasmota/wiki/Tuya-OTA

DeAuther

ESP32

Kamera

Blog-Eintrag flashen, Arduino fui, Probleme: https://www.fambach.net/esp32-cam-modul/

esp32-cam

Expressif-Entwicklungsumgebung installieren

Firmware ESP32 für OV2640 Kamera-Modul: https://github.com/bkeevil/esp32-cam

Meine Kamera ist eine M5Stack ESP32CAM mit OV2640, aber das Standard-Template von make menuconfig funktionierte nicht (Kamera hat KEIN PSRAM) Kameras ohne externes PSRAM können nur 800×600 Pixel anzeigen/streamen, weil der Speicher fehlt (egal, was die Kamera kann)!

Hier habe ich das PIN-Layout dieser Kamera gefunden: https://randomnerdtutorials.com/esp32-cam-camera-pin-gpios/#board5

make menuconfig

Important settings are:

  • Select a USB port for uploading the firmware under Serial Flasher Config → Default serial port
  • Ensure that Partition Table → Parititon Table is set to use the *Custom partition table CSV) called „partitions.csv“
  • Select what board you are using under Camera Web Server → Camera Pins (SIEHT LAYOUT!)
  • If your board has an LED flash, enable it under Camera Web Server → LED Illuminator (NEIN!)
  • You can select default wifi settings under Camera Web Server → Wifi Settings
  • If your board has an SSD1306 based OLED display, enable it under Component Config → SSD1306 Configuration and select pins for SDA and SCL (NEIN!)
  • To use additional external SPI RAM that may be on your board, enable it using Component Config → ESP32 Specific → Support for external, SPI-connected RAM (NEIN!)
  • To enable font overlays, under Font Configuration check Store Font Partition (Uses approximately 240K of flash)
  • Under Component Config → Camera Configuration select camera type OV2640 and pin it to Core1 (Ja!) (Schalte 'Use Hardware I2C1 for SCCB' ein!)
  • Under Component Config → WiFi pin the WiFi task to Core0 (Ja!)
  • Enable NTP and select a default NTP server and timezone under NTP configuration

Wenn alles schon installiert ist und man weiteren ESP flashen will:

cd ~/esp/esp-idf/ // Um dieses Skript aufzurufen:
. ./export.sh  // Die Pfade setzen...
cd ~/esp/myprojects/esp32-cam/ // Da ist mein Projekt
make menuconfig // Einstellungen vornehmen
make app // Compilieren
make flash // Auf ESP schreiben
make monitor // Schauen, was ESP macht...

Web Camera URLS

Picture: http://IP/capture

Stream: http://IP:81/stream

Control LED: http://IP/control?var=led_intensity&val=[0...255]

Pin assignment for the M5-stack ESP32 camera without PSRAM.

#define PWDN_GPIO_NUM     -1
#define RESET_GPIO_NUM    15
#define XCLK_GPIO_NUM     27
#define SIOD_GPIO_NUM     25
#define SIOC_GPIO_NUM     23
#define Y9_GPIO_NUM       19
#define Y8_GPIO_NUM       36
#define Y7_GPIO_NUM       18
#define Y6_GPIO_NUM       39
#define Y5_GPIO_NUM        5
#define Y4_GPIO_NUM       34
#define Y3_GPIO_NUM       35
#define Y2_GPIO_NUM       17
#define VSYNC_GPIO_NUM    22
#define HREF_GPIO_NUM     26
#define PCLK_GPIO_NUM     21

Derzeit bekomme ich nur ein 800×600-Bild raus, wenn ichs auf 1200 stelle…

Meine sdkconfig ESP32 Cam M5Stack M5Cam ohne PSRAM: skdconfig.txt

Ein Bild mit Micro Python aufnehmen: https://lemariva.com/blog/2019/09/micropython-how-about-taking-photo-esp32

Allgemein

ESP32 Cam: https://www.fambach.net/esp32-cam-modul/

https://www.instructables.com/id/ESP-32-Camera-Streaming-Video-Over-WiFi-Getting-St/

Achtung: In dem Bild ist IO0 mit dem GND verbunden. Das muss man so machen (mit *allen* ESP), um den ESP in dem Schreibmodus zu bekommen. Man kann diesen PIN natürlich auch anders an GND bekommen. Zum Testen nach dem Schreiben einfach den IO0 lösen und er verhält sich ganz 'normal' (und bekommt seinen Strom von USB-TTL-Konverter via USB-Buchse).

https://www.elementzonline.com/blog/Accessing-ESP32-CAM-Video-Streaming-from-anywhere-in-the-world

Streifen im Kamera Bild

Lars (Siehe Kommentare unten) hat ein paar Versuche gemacht. Es hat sich als vorteilhaft herausgestellt das Modul am 5V Anschluss zu betreiben. Quelle1)

Kamera-Einstellungen fernsteuern: 2)

Stream speichern unter Linux: https://www.fambach.net/mpv-linux/

Wasseruhr /Stromzähler auslesen mit ESP32Cam

WLAN-Modul des ESP via Arduino nutzen

Das macht eigentlich keinen Sinn, weil der Arduino (nano) seeehr viel leistungsschwächer ist als ein ESP8266. er ESP wird zudem von der Arduino-Entwicklungsumgebung unterstützt. Aber ich konnte ihn trotzdem nicht programmieren, weil ich den USB-Treiber unter Linux nicht installiert bekommen habe und ihn nicht ansprechen konnte.

Daher habe ich dieses Knowhow aufgebaut.

Arduino Nano v3.0 with ESP8266: https://arduino.stackexchange.com/questions/17590/arduino-nano-v3-0-with-esp8266

 
Nach oben
esp.txt · Zuletzt geändert: 2021/07/27 16:30 von gerald
chimeric.de = chi`s home Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0
DFmW2CEce3htPL1uNQuHUVu4Tk6WXigFQp   Dogecoin Donations Accepted Here    DFmW2CEce3htPL1uNQuHUVu4Tk6WXigFQp  DFmW2CEce3htPL1uNQuHUVu4Tk6WXigFQp