IoT-Funkmodule von Pycom
17. Mai 2017
über
über
Pycom ist eine junge Firma, die kleine Module für unterschiedliche Netzwerk-Topologien herstellt. Nachdem sich die Firma zunächst teilweise via Kickstarter finanziert hat, ist nun die Produktion angelaufen. Die Produkte erleichtern den IoT-Zugang. Hierfür wird so viel an Netzwerktechnik wie möglich in die Module verfrachtet. Die Module sind via MicroPython programmierbar.
Boards
Alle Module sind pinkompatibel zu und basieren auf ESP32 von Espressif Systems aus Shanghai. Im Moment gibt es drei Module:
Wie immer sollte man gleich überprüfen, ob man auch mit der neuesten Firmware arbeitet. Für diesen Zweck gibt es ein Firmware-Update-Tool von Pycom. Man verbindet hierzu Pin G23 mit GND und versetzt das Board mit einem Reset in den Modus zum Update der Firmware.
Nun öffnet man also ein serielles Terminal (z. B. Tera Term, 115200n81) und betätigt den winzigen Reset-Taster des Boards. Es erscheint eine Liste mit kryptischen Meldungen, die mit einem MicroPython-Prompt (>>>) enden. Nach dem Prompt führt man die folgenden zwei Befehle in zwei Zeilen aus und überprüft so, ob man die neueste Firmware hat:
Zurzeit gibt es zwei Zugriffsmöglichkeiten auf das Dateisystem:
Wenn man jetzt Atom ausprobieren möchte, ergibt sich das nächste Problem, denn wenn man wie bei mir eine Verbindung zum Board herstellt, verliert man die Internet-Verbindung. Also trennt man die Verbindung zum Board, verbindet sich mit dem Internet, lädt Atom runter und installiert es. Anschließend klickt man auf „Install a Package“ im „Welcome Guide“. Dann tippt man „Pymakr“ in das Suchfeld, betätigt die Eingabetaste und wartet, bis sich die Liste füllt. Man scrollt dann bis zu Pymakr und klickt auf „Install“. Wenn sich jetzt die Pycom-Konsole öffnet und die Meldung „Connection error: Error: Login timed out“ erscheint, ist das Plug-In bereit. Also wieder mit dem WLAN des Boards verbinden und auf den (Micro)Python-Prompt in der Konsole von Atom warten. Möglicherweise muss man hierzu Atom beenden und neu starten und vielleicht sogar einige Minuten warten (wie bei mir), bevor alles klappt.
Boards
Alle Module sind pinkompatibel zu und basieren auf ESP32 von Espressif Systems aus Shanghai. Im Moment gibt es drei Module:
- WiPy – WLAN Bluetooth
- SiPy – Sigfox, WLAN, Bluetooth
- LoPy – LoRa, WLAN, Bluetooth
- GPy – WLAN, Bluetooth, LTE CAT M1/NB1
- FiPy – WLAN, Bluetooth, LoRa, Sigfox und dual LTE-M (CAT M1 und NBIoT).
Erweiterungsboards für WiPy, LoPy, SiPy, GPy & FiPy
Im Folgenden verwende ich ein Modul auf einem Erweiterungsboard, das einen USB-Port zur Verfügung stellt. Es geht auch ohne Erweiterungsboard, wenn man einen Seriell/USB-Konverter verwendet.
Update der Firmware
Wie immer sollte man gleich überprüfen, ob man auch mit der neuesten Firmware arbeitet. Für diesen Zweck gibt es ein Firmware-Update-Tool von Pycom. Man verbindet hierzu Pin G23 mit GND und versetzt das Board mit einem Reset in den Modus zum Update der Firmware.Nun öffnet man also ein serielles Terminal (z. B. Tera Term, 115200n81) und betätigt den winzigen Reset-Taster des Boards. Es erscheint eine Liste mit kryptischen Meldungen, die mit einem MicroPython-Prompt (>>>) enden. Nach dem Prompt führt man die folgenden zwei Befehle in zwei Zeilen aus und überprüft so, ob man die neueste Firmware hat:
import os
os.uname().release
Bei mir lautete die Antwort „1.6.13.b1“ und das ähnelt schwer einer Versionsnummer, die ich zwar beim Update gesehen, aber vergessen hatte zu notieren.
Spielen via REPL mit WiPy
Nun kann man in Terminal und REPL Python-Befehle eingeben und etwas mit der RGB-LED WS2812 des Boards herumspielen.
import time
import pycom
pycom.heartbeat(False)
r = 0
g = 0
b = 0
pycom.rgbled(0)
while True:
if r<255:
r = r + 1
elif g<255:
g = g + 1
elif b<255:
b = b + 1
else:
break
pycom.rgbled((r<<16)+(g<<8)+b)
time.sleep(0.01)
pycom.rgbled(0)
Zugriff auf das System von WiPy/LoPy/SiPy/GPy/FiPy
Soweit so nett, doch will man natürlich richtige Programme erstellen, die kein REPL benötigen. Hierzu braucht man Zugriff auf das Dateisystem, so dass man die Dateien boot.py und main.py editieren (siehe auch den Artikel zu MicroPython und pyboard) und eigene Daten hinzufügen kann. Leider ist das etwas kompliziert, da sich das Board nur via serieller Schnittstelle und nicht als externes Speichermedium zeigt.Zurzeit gibt es zwei Zugriffsmöglichkeiten auf das Dateisystem:
- Download und Installation des Text-Editors Atom (https://atom.io/) und hinzufügen des Plug-Ins Pymakr
- Mit einem FTP-Programm
Wenn man jetzt Atom ausprobieren möchte, ergibt sich das nächste Problem, denn wenn man wie bei mir eine Verbindung zum Board herstellt, verliert man die Internet-Verbindung. Also trennt man die Verbindung zum Board, verbindet sich mit dem Internet, lädt Atom runter und installiert es. Anschließend klickt man auf „Install a Package“ im „Welcome Guide“. Dann tippt man „Pymakr“ in das Suchfeld, betätigt die Eingabetaste und wartet, bis sich die Liste füllt. Man scrollt dann bis zu Pymakr und klickt auf „Install“. Wenn sich jetzt die Pycom-Konsole öffnet und die Meldung „Connection error: Error: Login timed out“ erscheint, ist das Plug-In bereit. Also wieder mit dem WLAN des Boards verbinden und auf den (Micro)Python-Prompt in der Konsole von Atom warten. Möglicherweise muss man hierzu Atom beenden und neu starten und vielleicht sogar einige Minuten warten (wie bei mir), bevor alles klappt.
Mehr anzeigen
Weniger anzeigen
Diskussion (0 Kommentare)