====== MH-ET LIVE ESP32 Devkit ====== Jemand hat einfach so ein paar von diesen Dingern bestellt und damit basteln wir jetzt rum. ===== In a nutshell ===== Das kleine Board basiert auf dem [[https://www.espressif.com/en/products/hardware/esp-wroom-32/overview|ESP-WROOM-32]]. Selling Points: * WiFi * BLE * DualCore CPU * $7.60 * MicroPython Support ===== How-To ===== ==== Setup on Arch Linux ==== === Serielle Konsole === - Sicherstellen, dass dein User mitglied der Gruppe "uucp" ist (''# sudo vim /etc/group'' -> allenfalls neu einloggen - Ist das Board am PC eingesteckt sollte Linux ein /dev/ttyUSB0 erstellen - Mit folgendem Befehl auf das Board verbinden: ''# screen /dev/ttyUSB0 115200'' - Eventuell die Reset Taste am Board drücken === C === Das Setup geht einfach mit platformio: - platformio aus dem AUR installieren - ''# platformio home'' - Falls sich nicht automatisch ein Browser-Tab öffnet nach http://localhost:8008 navigieren - Im WebGUI ein neues Projekt erstellen (Board: MH ET LIVE ESP32Devkit, Framework: Arduino) - Nun kann der Code im Projekt Folder unter src/main.cpp bearbeitet werden Flashen: - Sicherstellen, dass dein User mitglied der Gruppe "uucp" ist (''# sudo vim /etc/group'' -> allenfalls neu einloggen - Ist das Board am PC eingesteckt sollte Linux ein /dev/ttyUSB0 erstellen - Nun mit folgendem Befehl den Code automatisch compilieren und uploaden: ''# platformio run --target upload'' - Funktioniert der upload nicht muss wärend dem flash eventuell die Boot Taste gedrückt werden === MicroPython === - esptool installieren ''# sudo pacman -S esptool'' - [[https://micropython.org/download#esp32| MicroPython Firmware herunterladen]] - Board am PC anschliessen - Firmware flashen: ''# esptool --chip esp32 --port /dev/ttyUSB0 write_flash -z 0x1000 ~/Downloads/esp32-XXXXXXXXX.bin'' - Board resetten - ''# screen /dev/ttyUSB0 115200'' - Es sollte der vertraute Prompt des Python Interpreter auftauchen ==== MicroPython WLAN Hints ==== === Hotspots scannen === import network x=network.WLAN(network.STA_IF) x.active(True) x.scan() === Mit Hotspot verbinden === import network x=network.WLAN(network.STA_IF) x.active(True) x.connect("MySSID", "MyPassword") x.ifconfig() === TCP Sockets === import network import socket x=network.WLAN(network.STA_IF) x.active(True) x.connect("MySSID", "MyPassword") i=socket.getaddrinfo("luxeria.ch", 80) print(i) [(2, 1, 0, 'luxeria.ch', ('95.143.172.238', 80))] ==== C WLAN Hints ==== === Configuring an AP === Das folgende Code Schnipsel erzeugt einen Access Point mit DHCP (192.168.4.0/24): #include const char *ssid = "ESP32ap"; const char *password = "12345678"; void setup() { Serial.begin(115200); Serial.println(); Serial.print("Configuring access point..."); /* You can remove the password parameter if you want the AP to be open. */ WiFi.softAP(ssid, password); IPAddress myIP = WiFi.softAPIP(); Serial.print("AP IP address: "); Serial.println(myIP); } void loop() { } ===== Resources ===== * http://mh.nodebb.com/topic/2/mh-et-live-esp32-devkit * https://www.espressif.com/en/esp-wroom-32/resources * https://technet.microsoft.com/en-us/library/2008.01.gpperf.aspx?f=255&MSPPError=-2147217396 ---- dataentry project ---- type : project status_ : started member_users : cyrus, gandro, peanut github_gh : ----