{{tag>ESP32 ESP8266 Hardware Nuetzliche_Links}} ====== ESP32 / ESP8266 ====== ~~SUBPAGES~~ ===== Nützliche Links ===== * [[http://esp32.net|ESP32 Espressif Systems]] * [[https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf|ESP32 Series Datasheet]] * {{..:esp32_pin-belegung.pdf|ESP32 Pinbelegung}} * [[https://randomnerdtutorials.com/esp32-pinout-reference-gpios/|ESP32 Pinout Reference: Which GPIO pins should you use?]] ===== ESP Hardware ===== * [[https://smarthome-blogger.de/blog/esp32-projekte/esp32-vs-esp8266|ESP32 vs ESP8266]] ^ ^ESP8266^ESP32| |CPU-Kerne|1|2| |Taktrate|160 MHz|240 MHz| |Flash-Speicher|4 MB|4 MB| |SRAM|160 KB|512 KB| |GPIO-Pins|17|36| |Touchsceeen-Sensoren|nein|10| |ADC-Kanäle|1|16| |Bluetooth|nein|ja| |Hardware-PWM-Kanäle|nein|ja| |Software-PWM-Kanäle|8|16| |Verbrauch|80 mA|260 mA| ==== Wer ist besser geeignet für simple Sensoren? ==== Beide Micro-PCs besitzen zahlreiche GPIO-Pins, unterstützen die Funkverbindung per WLAN, lassen sich (sofern du die NodeMCU-Variante der Boards verwendest) per micro USB Kabel mit Strom versorgen und können mit der Arduino IDE programmiert werden. Während beide Boards je nach Marktplatz für ca 3-6€ erhältlich sind, ist der ESP8266 aufgrund des fehlenden zweitren Kerns und da er kein Bluetooth unterstützt in der Regel ein wenig günstiger. ==== Wer ist besser geeignet für komplexe Geräte? ==== Für komplexere Geräte, die Multithreading oder eine Bluetooth-Verbindung voraussetzen ist hingegen der ESP32 vermutlich die sinnvollere Wahl, da der ESP8266 diese Funktionen schlicht einfach nicht bietet. === Peripherie === * [[..:displays:esp32_ttgo_t-display|]] * [[.:esp32-cam|]] * [[.:esp32-cam-mb|]] * [[..:displays:ssd1306_oled_display|SSD1306 OLED Display]] * [[..:sensoren:human_static_presence_module_lite_mr24hpc1|]] * [[.:raspiaudio|]] * [[:sensoren|]] ===== ESP Projekte ===== * [[.:esp32_stromversorgung|ESP32 Sromversorgung]] * [[.:deep_sleep|]] * [[..:..:software:docker:frigate]] * [[.:esp32_bluetooth_presence_detection|]] ===== esptool ===== * [[https://docs.espressif.com/projects/esptool/en/latest/esp32/|Esptool.py Documentation]] * ''esptool.py –port /dev/ttyUSB0 erase_flash'' * ''esptool.py –chip esp32 –port /dev/ttyUSB0 write_flash -z 0x1000 /home/cs/Downloads/esp32-20220117-v1.18.bin'' * die Befehle werden **fehlerhafte aus DokuWiki** kopiert am besten von [[https://docs.micropython.org/en/latest/esp32/tutorial/intro.html|hier]] kopieren. ===== Serielle Terminals ===== * **picocom** /dev/ttyUSB0 -b115200 * **uPyLoader** [[https://github.com/zindy/uPyLoader|uPyLoader git]] * **mpfshell** [[https://micropython-tutorial-for-esp32.readthedocs.io/de/latest/ErsteSchritte/Copy_Linux.html|mpfshell Tutorial]] * **rshell** * [[https://github.com/dhylands/rshell|https://github.com/dhylands/rshell]] * Aufruf: ins Arbeitsverzeichnis wechselm und dann ''rshell –buffer-size=30 -p/dev/ttyUSB0 -a -e nano'' * Dann ähnlich wie bash. Der ESP32 wird mit /pyboard angesprochen, z.B. ''cd /pyboard''. * repl ist möglich * ''cp file.py /pyboard'' kopiert file.py auf den ESP32 * ''edit /pyboard/start.py'' editiert auf dem ESP32 * Aktuelles Verzeichnis synchronisieren: ''rsync . /pyboard'' ==== μPyLoader ==== * [[https://github.com/BetaRavener/uPyLoader|μPyLoader]] ==== Jupyter ==== * Jupyter MicroPython Kernel "pip install jupyter_micropython_kernel", und "python -m jupyter_micropython_kernel.install" * im Terminal "jupyter notebook" starten und mit ''%serialconnect to –port=/dev/ttyUSB0 –baud=115200'' zum ESP32 verbinden ===== Nützliche Links ===== * [[https://esphome.io/components/esphome.html|ESPHome Core Configuration]] * [[https://esphome.io/guides/configuration-types.html|ESPHome Configuration Types (Substitution etc.)]] * [[https://esphome.io/components/display/index.html|ESPHome Display Component]] * [[https://esphome.io/components/binary_sensor/index.html|ESPHome Binary Sensor Component]] * [[https://esphome.io/components/logger.html?highlight=logger|ESPHome Logger Component]]