Anpassungen BOB-Software zur Nutzung von LTE (CAT M1)

Wir haben unter FiPy mit LTE CAT M1 nutzen die grundlegenden technischen Voraussetzungen (Modem-Firmware, Jumper-Anpassungen auf dem expansion board) und erste technische Tests diskutiert.

Hier soll es darum gehen LTE möglichst komplett in die bestehende BOB-Software zu integrieren.

@cedric.cfk hat folgendes schon umgesetzt

  • Nutzung von CAT M1 als Telemetrie
  • WDT angepasst (führte bei der bisherigen Implementierung und längerem Verbindungsaufbau zu Abbrüchen)
  • Umschaltung zwischen WLAN und LTE über die Konfigurationsdateien default_settings.json bzw. user_settings.json, Syntax ist aktuell
    "using": "lte_M1", bzw.
    "using": "wlan", siehe
    "networking": {
        "general": {
          "enabled": true,
          "using": "lte_M1",
        },
  • automatisches re-connect falls die Verbindung abbricht

Was noch fehlt

  • Umschaltung über Konfigurationsseite per WLAN-AP
    – dabei deutlich darauf hinweisen, dass LTE-Aktivierung nur mit angeschlossener LTE-Antenne (am richtigen connector!) erfolgen darf und bei Problemen auch gecheckt werden soll, ob die aktuellste Firmware auf dem Modem (Modem, nicht ESP!) ist.
  • ggf. auch die Möglichkeite schaffen auf CAT NB1 (NBIoT) statt CAT M1 umzuschalten, dann Hinweis auf nötigen Firmware-Wechsel auf dem Modem!
  • LTE settings Einstellungen auch in presets-Dateien nachziehen
    Wir haben gerade beschlossen die beiden presets-Dateien settings_preset_clemens.json und settings_preset_didi.json komplett aus dem Repo zu löschen, settings_preset_didi.json ist eh identisch mit default_settings.json und clemens und didi unterscheiden sich nur in "button_ap_enabled": false, was für die alte weiße Platine ohne Taster nötig war, die eh im Projekt nur in Hamburg eingesetzt wurde.
2 Likes

(Dauer-)Tests

  • 2020-08-27, 13:50 bis 14:50, 1 Stunde
    Der erste Test nach Konfiguration war nicht so erfolgreich, Neustart durch Stromtrennen um
  • 2020-08-27, 16:50 bis 01:50 am nächsten Tag, 9 Stunden … da passt irgendetwas noch nicht, beim Gerät leuchtet weiterhin die LED grün @cedric.cfk kannst du nochmal schauen, hast du eine Idee? Funktioniert der reconnect tatsächlich?

@cedric.cfk hat noch einen bug gefixed der fürs nicht re-connecten vermutlich zuständig war, next trial:

  • 2020-08-28, 18:45 Start … lief über 2 ½ Tage problemlost!

Da das Ganze bis jetzt (2020-08-31, ca. 12:30) stabil läuft, habe ich nun, um auch parallel die neue firmware von @MKO zu testen, auf die dort verlinkte beta firmware 1.20.2.rc10–ulab upgedatet. Weiter habe ich das Messintervall auf 50 Sekunden gesetzt, um das Inklusivvolumen der 1nce-SIM etwas zu schonen. Disclaimer: Wenn es nun Probleme geben sollte, wissen wir nicht an was es hakt, wenn aber alles läuft wissen wir, dass firmware und LTE-code stabil sind. :slight_smile:

Hmm, das hat gerade nicht funktioniert, FiPy auf expansion board ohne Tester gesteckt und gestartet, lief aber nicht los, auch die 10 Minuten timeout hat er nicht beachtet, nach 1 Stunde immer noch blaue LED. Gut nochmal: AP-mode gestartet, dann übers webinterfache “restart”, nun sendet er Daten.

Irgendwie will das Ding nicht und überträgt keine Daten :-( Ich hatte vorhin nur die Firmware getauscht, die BOB-Software aber draufgelassen und die settings editiert. Irgendwie springt der WLAN-AP immer wieder an, ich reduziere mal das measurement intervall wieder auf default 5 s, vielleicht hat es auch mit dem WDT zu tun.

  • 2020-08-31, ca. 15:15 bis 17:25 gelaufen, pfffff, schade, ich versuche nochmal erase_all und dann firm- und software neu aufspielen

Ich werde nicht ganz schlau aus der Geschichte, der FiPy lief immer wieder mal ein paar Stunden, dann wieder Aussetzer:

  • 2020-09-01, ca. 15:15 bis 16:30 ich habe nichts gemacht dann lief er weiter von
  • 2020-09-01, 20:40 bis 22:00 ab da gibt es wieder keine Daten und er lieferte dann wieder Daten ab
  • 2020-09-02, 2:30 bis 19:20
  • 2020-09-02, 21:00 bis nächster Tag 01:00
  • 2020-09-03, 9:30 bis 12:30 (Abbruch durch mich)

Alte firmware drauf!! Nun läuft 1.20.2.rc6-0.10.2-vanilla-squirrel-nosmartconfig, mal schauen, ob es stabiler wird.

  • 2020-09-03, 14:30 bis 05., 21:20, gut 2 Tage, aber nicht länger :-(
  • 2020-09-07, 12:00 bis
    – 2020-09-09, e-Mail-Nachricht von 1nce über quota
    – 17:20 Uhr noch 89 MB Inklusivvolumen übrig
    – … bis 10.09., 15:00 nun war Inklusivvolumen aufgebraucht

D.h. wir brauchen für das BOB-Projekt an Datenvolumen:

  • Der FiPy ist noch 21 Stunden 40 Minuten gelaufen. und hat dabei 89 MB verbraucht, d.h. wir brauchen ca. 100 MB / Tag!
2 Likes

WDT kann gut sein, Einige der Änderungen in der Firmware zu .r10 geben dem Modem bei Bedarf mehr Zeit zu Reagieren. Glaube es waren aber nur 300ms. Eine andere beschäftigt sich mit einer AT() Schleife in die er rutschen kann und die im Hintergrund dann endlos läuft. Auf diese hatte ich gehofft, in Bezug auf euer reconnect Problem.
Weitere Änderungen im LTE Bereich beschäftigen sich mit dem debug Mode und der Ausgabe der Fehlermeldungen.

Mit den default 6 Sekunden läuft es nun seit ein paar Minuten, ich habe stark den WDT in Verdacht, @cedric.cfk schaut mal drauf. Ich gehe erst mal nicht davon aus, dass die neue firmware das Problem ist.

Das re-connect-Problem scheint gelöst zu sein, Cedric hatte noch einen “normalen” Fehler gefunden und der FiPy lief das Wochenende über fast 3 Tage stabil, bis ich abgebrochen hatte.

1 Like

Es wird ein Timeout Error geworfen. Ich gehe davon aus, dass base station nach einer gewissen Zeit ohne eine Antwort/Anfrage die session einfach abbaut. Der FiPy scheint davon allerdings nichts mitzubekommen und geht immer noch davon aus, dass er verbunden ist.

Ich habe deshalb versucht einfach alle 30 Sekunden während er Pausiert, eine HTTP GET anfrage abzusenden. Damit hat es nicht einen sondern vier Messintervalle gebraucht bis der Timeout Error wieder auftrat. Ich werde nochmal reingucken. Zur not kann man auch einfach die Verbindung einmal abbauen und wieder aufbauen sollte, die Zeit zwischen zwei Messungen > x Sekunden sein.

1 Like
  • Der FiPy ist noch 21 Stunden 40 Minuten gelaufen. und hat dabei 89 MB verbraucht, d.h. wir brauchen ca. 100 MB / Tag!

Wie viel Daten sendet ihr denn pro Messung? Anhand meiner eigenen Erfahrungen und Recherche im Pycom-Forum habe ich das Gefühl, dass es einen gewaltigen (unnötigen?) Overhead bei den Übertragungen gibt, die das Datenvolumen schnell vertilgen, was wirklich bescheiden ist, wenn man über kurze Intervalle senden möchte…

Mit der BOB-Software messe ich den BME280, HX711 und 5 x DS18B20 und erhalte als Record auf SD-Karte 107 Bytes:
190, 2020-04-07, 00:00:01, 16.77, 1026.42, 44.15, 1.83, 16.75, 16.81, 16.69, 16.25, 16.44, , -76,
Die Variable data enthält 178 Bytes:
{‘t_i_1’: 23.31, ‘rssi’: -62, ‘t_i_2’: 23.06, ‘t_i_4’: 23.06, ‘h’: 47.84, ‘weight_kg’: 9.867, ‘t_i_5’: 23.38, ‘t_i_3’: 23.38, ‘t’: 24.53, ‘p’: 1020.6, ‘key’: ‘E421ET8xxxxxPBz2’}
Wie gross der Overhead beim Senden ist, weiss ich nicht.
Auf der SD-Karte erhalte ich bei 5 Sekunden Messinterval ca. 1.8 MByte am Tag.
Beim Senden mit Overhead sollten es aber nicht mehr als 5 MB pro Tag sein.

1 Like