Benutzer-Werkzeuge

Webseiten-Werkzeuge


projects:mh-et_live_esp32_devkit

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 ESP-WROOM-32. Selling Points:

  • WiFi
  • BLE
  • DualCore CPU
  • $7.60
  • MicroPython Support

How-To

Setup on Arch Linux

Serielle Konsole

  1. Sicherstellen, dass dein User mitglied der Gruppe „uucp“ ist (# sudo vim /etc/group → allenfalls neu einloggen
  2. Ist das Board am PC eingesteckt sollte Linux ein /dev/ttyUSB0 erstellen
  3. Mit folgendem Befehl auf das Board verbinden: # screen /dev/ttyUSB0 115200
  4. Eventuell die Reset Taste am Board drücken

C

Das Setup geht einfach mit platformio:

  1. platformio aus dem AUR installieren
  2. # platformio home
  3. Falls sich nicht automatisch ein Browser-Tab öffnet nach http://localhost:8008 navigieren
  4. Im WebGUI ein neues Projekt erstellen (Board: MH ET LIVE ESP32Devkit, Framework: Arduino)
  5. Nun kann der Code im Projekt Folder unter src/main.cpp bearbeitet werden

Flashen:

  1. Sicherstellen, dass dein User mitglied der Gruppe „uucp“ ist (# sudo vim /etc/group → allenfalls neu einloggen
  2. Ist das Board am PC eingesteckt sollte Linux ein /dev/ttyUSB0 erstellen
  3. Nun mit folgendem Befehl den Code automatisch compilieren und uploaden: # platformio run –target upload
  4. Funktioniert der upload nicht muss wärend dem flash eventuell die Boot Taste gedrückt werden

MicroPython

  1. esptool installieren # sudo pacman -S esptool
  2. Board am PC anschliessen
  3. Firmware flashen: # esptool –chip esp32 –port /dev/ttyUSB0 write_flash -z 0x1000 ~/Downloads/esp32-XXXXXXXXX.bin
  4. Board resetten
  5. # screen /dev/ttyUSB0 115200
  6. 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 <WiFi.h>
 
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

projects/mh-et_live_esp32_devkit.txt · Zuletzt geändert: 2018/07/06 18:42 von cyrus