Benutzer-Werkzeuge

Webseiten-Werkzeuge


ale_internal_esp32_bennyd_lab

ESP32 mit Stellar WiFi

Erste Schritte und Entwicklungsumgebung

Wenn noch nicht geschehen, muss der ESP32 mit MicroPython geflasht werden. Unter Micropython.org findet sich hier eine passende und sehr gute Anleitung https://docs.micropython.org/en/latest/esp32/tutorial/intro.html.

Anschliessend sollte eine passende Entwicklungsumgebung für den ESP32 aufgebaut werden. Hier nutze ich PyCharm in der Community Edition. Von Haus aus versteht PyCharm kein MicroPython, daher muss ein ein entsprechendes PlugIn nachinstalliert werden. Die Installation erfolgt in PyCharm einfach über das Settings→PlugIn Menu [SCREENSHOT hinzufügen]:!:.

Anschliessend wird unter Settings→Languages MicroPython aktiviert und als DeviceType der ESP8266 (Vorgänger des ESP32) ausgewählt. Das MicroPython PlugIn von JetBrains garantiert zwar keine Kompatibilität mit dem ESP32, funktioniert aber laut Entwickler und eigener Erfahrung bisher problemlos. Ebenfalls muss der COM Port ausgewählt werden, der der USB to UART Bridge zugewiesen wurden ist. Zu erkennen ist dies unter Windows in der Computerverwaltung. Wird der ESP32 nicht per USB erkannt, mag das an fehlenden UART Treibern liegen. Für Win 10 sind diese unter: https://www.silabs.com/documents/public/software/CP210x_Universal_Windows_Driver.zipzu erhalten.

PyCharm erkennt dann unter Tools→MicroPython den ESP32 und bietet eine interaktive Console per Python REPL an, mit der dann die Welt per

 print ("Hello World!") 

begrüßst werden kann.

Hardware "Hello World"

Folgender Beispiel Code ermöglicht es eine LED auf PIN15 während des Verbindungsvorgangs blinken zu lassen und bei anschliessend erfolgreicher Verbindung konstant leuchten zu lassen:

### imports ###
from machine import Pin
import time

### variables ###
led15 = Pin(15, Pin.OUT)

### functions ###
def Led15_on():
    led15.value(1)
    
def Led15_off():
    led15.value(0)

def do_connect():
    import network
    wlan = network.WLAN(network.STA_IF)
    wlan.active(True)
    if not wlan.isconnected():
        print('connecting to network...')
        wlan.connect('SSID', 'PASSWORD')
        while not wlan.isconnected():
            Led15_on()
            time.sleep(0.5)
            Led15_off()
            time.sleep(0.5)
            pass
    print('network config:', wlan.ifconfig())
    Led15_on()

#### Main Programm ####

do_connect()

Als Hardware dient hier eine LED die mit einem 100 Ohm Widerstand an der Kathode verbunden ist. Dabei gilt es besonders auf die richtige Beschaltung der LED Annode und Kathode zu achten - da die LED sonst dunkel bleibt.

[BILD vom Breadboard]

ale_internal_esp32_bennyd_lab.txt · Zuletzt geändert: 2020/04/23 13:02 von benny-domroese