Kombinierte GSM/GPRS/EGPRS/UMTS/HSPA/LTE/M1/NB1 Unterstützung für MicroPython

Bei Erschließung von LTE Cat M1 und NB1 mit dem Pycom FiPy, CAT-M1 vs. CAT-NB1 für BOB und Welche SIM-Karte für CAT-M1 / CAT-NB1 in Deutschland schauen wir uns die Modem-Unterstützung, die Integration mit Providern wie 1nce bzw. die Verbreitung von LTE Cat M1 und LTE Cat NB1 an.

Das ganze passiert derzeit auf dem Pycom FiPy mit integriertem Sequans Monarch Modem und entsprechenden von/über Pycom gelieferten Treiberschichten und Modem Firmwares.

Darüber hinaus wollen wir diese Telemetrievariante über Funkzellen auch mit herkömmlichen GSM-/GPRS-Modems wie dem SIM800 über MicroPython erreichen.

Wenn Ihr sagt “das ist uns alles noch zu neu” und wir weiterhin – ganz unabhängig des aktuellen Arbeitsgeräts FiPy und ggf. auch jenseits des BOB-Projekts – weiterhin nach einer Zellkonnektivität Ausschau halten wollen, können wir uns parallel ja auch weiter in Richtung SIM800 umtun – also schauen, wie gut/schnell man diese ans Pycom-/MicroPython-Universum angeklöppelt bekommt, um dann beizeiten wieder zu NB1 zurückzukehren.

Allein deshalb sollten wir schon noch weiterhin klassische 2G-/3G-Modems vorsehen oder einplanen. Vermutlich kommen diese gerade in jenen Regionen zum Einsatz, in denen es endlich überhaupt Mobilfunk gibt und wo die neuen Mobilfunkstandards noch eine zeitlang in weiter Ferne sein werden. In den Städten lässt sich durch die quasi Testbed-Netzwerke zu NB1/M1 (Bananaware, anyone?) schon ein erster Forschungsbetrieb starten, aber für das Land wird das vermutlich länger nix werden, wenn es ohnehin schon/noch so viele weiße Flecken auf der Landkarte gibt!?

Auch wenn das nun noch weiter vom hiesigen Thema wegführt (müssen wir bei Gelegenheit umbauen), kam die Frage auf: Welche ernstzunehmenden/populären/möglichst-einfach-zu-erschließenden Möglichkeiten hätten wir denn hier theoretisch auf dem Tisch?

@clemens hatte die SIM800 Module ja bereits erfolgreich auf dem SODAQ GPRSbee im Einsatz. Außerdem scheinen noch Module von u-blox eine gewisse Relevanz bzw. Güte zu haben.

Wenn schon mal jemand den Anfang gemacht hat, den AT-Befehlssatz eines klassischen 2G- oder 3G-Modems in (Micro-)Python zu implementieren, fiele die Entscheidung bzw. die Recherche leichter, weil man sich dann einfach daran orientieren und die Hardware entsprechend danach aussuchen könnte.

Der von @weef bei https://hackaday.com/2019/07/09/new-part-day-the-15-esp32-with-cellular/ gefundene TTGO T-Call könnte hier ein geeigneter Kandidat für entsprechende Hardware sein, siehe auch SIM800 - #20 ff.

ach so war deine hoffnung… nee um sowas wie sim800 oder konsorten kommen wir so schnell wohl nicht rum.
die sind auch alle vergleichbar buggy und brauchen dieselbe sorte tlc sigh

allerdings helfen uns dabei die 1nce simkarten bei 2g genauso wie beim cat nb1 lte.
im vergleich zu prepaid sims mit 10kb pro abrechnungseinheit (gibt auch welche mit 100kb steps) ist das alles golden.

das haessliche AT sprechen (und parsen) muss man am ende auch mit nem lte modem %-)
lass uns da ne huebsche abstraktion drum rum nageln und dann kann man per config/define seinen at-dialekt aussuchen und wir muessen das leiden im tagesbetrieb nicht sehn.
das es nur ein modem diese art gibt faend ich nen fairen kompromiss damit die binarysize dafuer nicht ausartet (ggf viele strings)

1 Like

Treiberunterstützung / AT-Befehlssatz-Wrapper für MicroPython

SIM800

Hier drüben hatten wir bereits für die SIM800 gesammelt.

u-blox und Quectel

Not-quite-MicroPython, aber trotzdem sehr sehr interessant. Aus dem Zerynth-Ökosystem.

Ublox G350

Quectel UG96

Quectel BG96

Wollte mir gerade so ein Modul zum testen und experimentieren bestellen.
Beim SIM800 / SIM900 sehe ich ein Problem mit der Spannungsversorgung, nachdem ich mir die Datenblätter angeschaut habe.
Wenn ich mir das SIM800L Modul anschaue soll es mit 3,5 bis 4,2 Volt betrieben werden. Dann brauchen wir aber einen Step Down Wandler mit min. 2A (z.B. einen LM2596), da die 4,2V nicht überschritten werden dürfen!
Habe es jetzt leider die Regelspannung vom LM2596 nicht auf die schnelle im Datenblatt finden können aber ich tippe mal ins blaue 0,2V -0,3V also wird unser Modul bis 3,7-3,8V Funktionieren was dann in etwa einem zu 80% Entladenem Akku entspricht. Tiefer sollte man ihn aber eigentlich auch nicht entladen, wenn man ihn nicht zu sehr quälen möchte.

Ich bin leider kein Fachmann auf diesem Bereich, daher bin ich auf Eure Meinungen diesbezüglich gespannt.

Den LiPo direkt ans SIM-Modul hängen! Das geht dann bis runter auf ca. 3,5 V gut! ;-)

Siehe auch Low Cost GSM/GPRS-(SIM800)-Node

OK, sollte mit dem Solarlader, auch noch so eben gehen. Da Ladeschlussspannung = 4,22 Volt
Nur darf man dann !!! niemals !!! über USB 5V zum Programieren drauf gebeben.

kannst ja wie bei den ‘extraguenstigen’ breakout boards fuer gsm aus china auch einfach eine mittelmaessige siliziumdiode von 5V vorsehn… das sind dann 4.3V hust … mit nem usbkabel das nonideal ist (alle) kommen aber eh nur 4.8V an… also 4.1 am modul ;) passt…

So eine Notlösung funktioniert natürlich. Mir Persönlich kann das auch nicht Passieren, da ich über USB to TTL Adapter ohne VCC nur mit gemeinsamer Masse zum Programieren ran gehe.
Aber diejenigen die über das Expansionsboard mit dem Board als HAT Programieren wie z.B. @Andreas müssten das GSM Modul zum Programmieren Trennen.
Wollte das auch nur erwähnen, damit keine Unfälle Passieren und der Magische Rauch aus den Modulen austritt.

ach, Du meinst unsere Versuche mit dem M590 ?! ;)

Aber wir weichen vom Thema ab - hier geht es um die software-Unterstützung in mpython/cpython/pycopy für Modem-Kandidaten.