Benutzer-Werkzeuge

Webseiten-Werkzeuge


esp32-micropython-stellar-wireless

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
esp32-micropython-stellar-wireless [2020/03/29 16:56] – angelegt bennyesp32-micropython-stellar-wireless [2024/06/09 10:29] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 2: Zeile 2:
  
 In diesem Artikel werde ich Notizen zum ESP32 im Zusammenspiel mit Stellar Wireless sammeln. In diesem Artikel werde ich Notizen zum ESP32 im Zusammenspiel mit Stellar Wireless sammeln.
 +Zuerst möchte ich zwei Informationsquellen empfehlen zum Thema Microcontroller:
 +  * [[https://www.rototron.info/|Webseite: rototron.info]] bzw. der zugehörige Kanal auf [[https://www.youtube.com/user/rdagger68|Youtube: rdagger68]]
 +  * [[https://www.youtube.com/channel/UCu94OHbBYVUXLYPh4NBu10w|Youtube: Unexpected Maker]] 
  
-===== Einstieg =====+===== Einstieg in MicroPython =====
  
 ==== MicroPython auf dem ESP32 installieren ===== ==== MicroPython auf dem ESP32 installieren =====
  
-MicroPython über diesen Link für ESP32 beziehen: [[https://micropython.org/download#esp32|Link]]+MicroPython über diesen Link für ESP32 beziehen: [[https://micropython.org/download#esp32|micropython.org/download#esp32]]
  
 Je nach Betriebssystem ist der Pfad unter dem der ESP32 angesprochen wird unterschiedlich. Bei meinem Raspberry Pi (Linux) ist es /dev/ttyUSB0, bei anderen Betriebssystemen kann das abweichen. Je nach Betriebssystem ist der Pfad unter dem der ESP32 angesprochen wird unterschiedlich. Bei meinem Raspberry Pi (Linux) ist es /dev/ttyUSB0, bei anderen Betriebssystemen kann das abweichen.
Zeile 41: Zeile 44:
 Leaving... Leaving...
 Hard resetting via RTS pin... Hard resetting via RTS pin...
 +</code>
 +
 +==== Die erste Verbindung zum ESP32 ====
 +
 +Je nachdem welches Terminalprogramm man bevorzugt, kann man dieses verwenden. Auf dem Raspberry hatte ich gerade "screen" zur Hand, damit geht das so:
 +<code>
 +screen /dev/ttyUSB0 115200
 +</code>
 +Evtl. ist es notwendig noch einmal "Enter" zu drücken, aber man sollte nun von der REPL begrüßt werden:
 +<code>
 +>>> print("Hallo Welt!")
 +Hallo Welt!
 +</code>
 +
 +==== "rshell", die Alternative zu screen ====
 +Wem screen nicht zusagt, der möchte vielleicht rshell ausprobieren.
 +Die Installation von rshell geht wie folgt:
 +<code>
 +python3 -m pip install rshell
 +rshell -p /dev/ttyUSB0
 +</code>
 +Zu beachten ist dass die Ausgabe auf der Console mit screen etwas ausgiebiger ist als mit der rshell. Es ist durchaus möglich dass man das irgendwo einstellen kann. Die REPL verlässt man dann mit Strg+X!
 +
 +==== Die ersten Schritte des ESP32 im Wireless ====
 +
 +<code>
 +import network
 +wlan = network.WLAN(network.STA_IF) # Den ESP32 im Client-Modus initialisieren
 +wlan.active(True) # Die Schnittstelle aktivieren
 +wlan.scan() # Nach verfügbaren WLANs scannen
 +results = wlan.scan() # Ergebnis in der Variable "results" hinterlegen
 +
 +>>> len(results)
 +17
 +
 +>>> for ssid in results:
 +...     if "Stellar" in ssid[0]:
 +...         print(ssid)
 +...         
 +... 
 +(b'Stellar-WPA3-Personal', b'\xdc\x08V\x00\x1b\xd2', 6, -40, 3, False)
 +(b'Stellar-DSPSK', b'\xdc\x08V\x00\x1b\xd1', 6, -41, 3, False)
 +(b'Stellar-WPA3-PSK-Personal', b'\xdc\x08V\x00\x1b\xd3', 6, -41, 3, False)
 +(b'Stellar-WPA3-Personal', b'\xdc\x08V\x00)\x12', 6, -53, 3, False)
 +(b'Stellar-WPA3-PSK-Personal', b'\xdc\x08V\x00)\x13', 6, -53, 3, False)
 +(b'Stellar-DSPSK', b'\xdc\x08V\x00)\x11', 6, -54, 3, False)
 +</code>
 +
 +
 +==== Die erste Verbindung zum Stellar Wireless ====
 +Bei dieser SSID handelt es sich um WPA3-Transition-Mode. Diese SSID ist also auch in der Lage WPA2 anzubieten. 
 +
 +<code>
 +>>> wlan.connect("Stellar-WPA3-PSK-Personal", "vollgeheim")
 +I (3023478) wifi: new:<6,0>, old:<6,0>, ap:<255,255>, sta:<6,0>, prof:1
 +I (3023478) wifi: state: init -> auth (b0)
 +I (3023488) wifi: state: auth -> assoc (0)
 +I (3023498) wifi: state: assoc -> run (10)
 +I (3023538) wifi: connected with Stellar-WPA3-PSK-Personal, aid = 1, channel 6, BW20, bssid = dc:08:56:00:29:13
 +I (3023538) wifi: security type: 3, phy: bgn, rssi: -52
 +I (3023538) wifi: pm start, type: 1
 +
 +I (3023548) network: CONNECTED
 +I (3023628) wifi: AP's beacon interval = 102400 us, DTIM period = 1
 +I (3025588) event: sta ip: 192.168.11.142, mask: 255.255.255.0, gw: 192.168.11.254
 +I (3025588) network: GOT_IP
 +</code>
 +
 +Der gleiche Vorgang mit der rshell
 +<code>
 +>>> import network
 +>>> wlan=network.WLAN(network.STA_IF)
 +>>> wlan.active(True)
 +True
 +>>> wlan.connect("Stellar-WPA3-PSK-Personal", "vollgeheim")
 +>>> wlan.isconnected()
 +True
 +>>> wlan.ifconfig()
 +('192.168.11.142', '255.255.255.0', '192.168.11.254', '192.168.2.1')
 </code> </code>
  
Zeile 69: Zeile 151:
  
 </code> </code>
 +
 +===== Einstieg in idf.py / espressif Beispiele =====
 +
 +Damit der ESP32 das Verfahren "WPA3-Personal" unterstützt, muss dieses wie folgt aktiviert werden.
 +
 +<code>
 +# Im esp-idf Verzeichnis ". ./export.sh" ausführen, danach steht idf.py in diesem Terminal zur Verfügung
 +idf.py menuconfig
 +</code>
 +screenshots
 +
 +Der Quellcode wird normal mit "build" gebaut, dies wird durch "flash" aber impliziert und daher lautet der folgende Befehl "flash" und nicht "build". Das "monitor" dahinter sorgt dafür dass die Console für Meldungen geöffnet wird. Diesen "monitor"-Modus verlässt man mit "Strg+]", was auf einer deutschen QWERTZ-Tastatur über Strg+AltGr+9 erreicht wird. :)
 +<code>
 +idf.py -p /dev/ttyUSB0 flash monitor
 +</code>
 +
 +Möchte man nur den "monitor"-Modus starten, geht dies wie folgt:
 +<code>
 +idf.py -p /dev/ttyUSB0 monitor
 +</code>
 +
 +
esp32-micropython-stellar-wireless.1585500966.txt.gz · Zuletzt geändert: 2024/06/09 10:29 (Externe Bearbeitung)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki