Projekt Gfrör.li - Protokoll

Seit 2 Wochen läuft übrigens unser Gateway wieder!

2021-02-03

Anwesend (remote :mask:)

@danilo @marc.kramer

Status

HAL

shtcx-rs

Apps

  • iOS app release was submitted by @marc.kramer, we’re waiting for approval
  • @danilo started porting the Android app to the new API endpoints

API

Next Steps

Firmware

API

  • Deploy sponsor logos to server

Apps

  • Webapp und Android-App auf neuen API-Endpoint migrieren

2021-03-03

Anwesend (remote :mask:)

@danilo @marc.kramer

Status

App: iOS

  • iOS app was released! :tada: Already 40 installations.
  • Improved settings screen

App: Android

API

Next Steps

API

  • Work on open PRs and issues

Firmware

Apps

  • Android App Charts auf neuen API-Endpoint migrieren
  • Webapp auf neuen API-Endpoint migrieren

2021-03-16

Anwesend (remote :mask:)

@danilo @marc.kramer

Status

App: iOS

  • @marc.kramer arbeitet an einem verbesserten Chart, bei dem man in der Zeit zurückspringen kann

App: Android

  • Version 0.6.0 released:
    • Adaptive app icon (#31)
    • Show sponsor logos (#30)
    • Increase minSdkVersion to 21 (Android 5)
    • Use new API endpoints
    • About screen: Link to GitHub
    • UI fixes
    • Disable MapBox telemetry (#22)
    • Update many dependencies

API

  • Current master is now deployed to our server

Next Steps

API

  • Work on open PRs and issues

Firmware

Apps

  • Webapp auf neuen API-Endpoint migrieren

2021-04-05

Anwesend (remote :mask:)

@danilo @raphi

Firmware

Beim Initialisieren konnte häufig die Antwort des RN-Moduls nicht gelesen werden.

Findings:

  • Korrekter Delay nach dem Hard-Reset ist notwendig
  • Nach einem Hard-Reset wird der TX vom RN modul kurzzeitig auf 0 gezogen. Das erzeugt einen Frame-Error für den STM32. Daher müssen nach einem Hardware-Reset die Error-Flags gecleared werden.

  • Soft-Reset können wir uns sparen
  • Kein Unwrap mehr bei den RN-Commands! :slight_smile:

Der rn2xx3 Branch wurde mit diesen Änderungen gemerged.

Weitere Änderungen:

2021-04-13

Anwesend (remote :mask:)

@danilo @marc.kramer

Firmware

Low Power

Danilo hat Low-Power-Messungen mit dem Joulescope gemacht. Dabei war der DS18B20-Sensor nicht verbunden.

Stromverbrauch (5V-Speisung via USB-Pin):

  • Einschalten, NOP-Busyloop: 6.4 mA

  • Einschalten, WFI-Loop: 4.3 mA

  • Einschalten, Standby: 3.15 mA

    Gemäss Datenblatt hat der STM32 einen Standby-Stromverbrauch von 0.29 µA. Grund für den hohen Verbrauch sind wohl die weiteren Komponenten.

  • Einschalten, I²C initialisieren, SHTC3 in den Sleep-Mode schicken, Standby: 3.11 mA (ca 40 µA gespart, das kommt etwa hin)

  • Einschalten, I²C initialisieren, SHTC3 in den Sleep-Mode schicken, LPUART1 initialisieren, RN2483 in den Sleep-Mode schicken, Standby: Kurzzeitig 17 µA :muscle:

Die Examples sind im low-power-Branch.

Eigentlich schicke ich das RN-Modul für 3s in den Sleep. Aus mir noch nicht erklärlichen Gründen wacht es aber nach ~800 ms schon wieder auf. Dazwischen steigt der Stromverbrauch an:

Hier müssen wir wohl mal den Logic Analyzer an die Seriell-Leitungen hängen.

2021-05-25

Anwesend

@danilo @marc.kramer @raphi

Hardware / Low Power

Firmware

TTN

  • Wir haben unsere Test-Boards auf das Things Network Backend v3 migriert.

2021-06-08

Anwesend

@danilo @marc.kramer @raphi

Hardware / Low Power

  • LDO wurde ist inzwischen geliefert, muss noch aufgelötet werden

Firmware

Website / Apps

2021-06-22

Anwesend

@danilo

Hardware / Low Power

Ich habe den zu stromhungrigen LDO ersetzt durch den Ablic LDO S-1317A33-M5T1U4.

Schön gelötet ist anders, aber es funktioniert: Ohne RN-Modul 2.38 uA im Standby! :tada:

Mit dieser BOM-Änderung sollten wir das Ziel von <10 µA erreichen. :muscle:

2021-07-20

Anwesend

@danilo

Firmware

Hardware

2021-08-03

Anwesend

@danilo @marc.kramer

Firmware

TTN Backend

  • TTN Dev-Gateway auf TTN Backend v3 migriert
  • Devboard v2 auf TTN Backend v3 migriert

iOS-App

  • Update auf iOS 15 ist im Gange

2021-08-17

Anwesend

@danilo @raphi @stefan_schindler

Firmware

Backend

Varia

Entdeckung: Man kann mit folgenden Kommandos den RN2483 Frame Counter lesen oder setzen:

mac get upctr
mac set upctr <counter>
mac get dnctr
mac set dnctr <counter>

Quelle: Microchip Lightning Support

Mit mac save werden die Counter im EEPROM gespeichert.

In der Command Reference sind diese Kommandos lustigerweise nicht dokumentiert.

2021-08-31

Anwesend

@danilo @raphi @stefan_schindler

Fortschritte

2021-09-14

Anwesend

@danilo @raphi

Fortschritte

TODO

  • Testen ob das Einlesen der Spannung mit der neuen Referenzspannung funktioniert
  • Herausfinden, wieso der Stromverbrauch viel zu hoch ist
  • Cleanup & finishing touches

2021-10-06

Anwesend

@danilo @raphi

Fortschritte

2021-10-13

Anwesend

@danilo

Fortschritte

  • HAL: RTC API Revamp
  • WIP: RTC based wakeup counter

2021-11-09

Anwesend

@danilo @raphi

Fortschritte

Here’s a measurement of the standby branch:

Between 1 and 2 the device is fully in standby. At 2, the RN module wakes up. At 3, the microcontroller wakes up as well.

2021-12-08

Vor 2 Wochen gab’s kein Meeting aufgrund der Coredump-Servermigration.

Anwesend

@danilo @raphi

Fortschritte

2022-01-04

Anwesend

@danilo @raphi

Fortschritte

Inzwischen ist einiges gelaufen:

Bauteile

Leider sind kritische Bauteile nicht verfügbar auf Digikey:

  • Microcontroller STM32L071KBT6: 497-18577-ND
    • 16’500 bestellt, unbekannte Lieferzeit
  • Microchip RN2483: RN2483A-I/RM105-ND
    • Mouser: 460 verfügbar ab 01.07.2022 (Variante RM104, mit älterer Firmware 1.04)
  • NDK NX3215SA-32.768KHZ-EXS00A-MU00525 Crystal: 644-1386-1-ND
    • LSI ist leider viel zu ungenau als Ersatz
    • Auf Mouser ist der NX3215SA-32.768K-EXS00A-MU00003 lieferbar. Hat aber 90 kO statt 50 kO ESR und 12.5 statt 6 pF Load Capacitance. Dann müssen wir unsere Kondensatoren neu berechnen.
    • Noch besser: ECS-.327-6-34RR-TR mit fast identischen Specs
  • Toshiba SSM3J338R,LF MOSFET: SSM3J338RLFCT-ND
    • Mouser: 29’975 verfügbar ab 10.01.2022
  • Diodes DMG6601LVT MOSFET: DMG6601LVT-7DICT-ND
    • Mouser: 65’000 verfügbar ab 20.06.2022

Weniger kritische / einfacher ersetzbare Teile:

  • Keystone 54 Battery Clips: 36-54-ND
    • Mouser: 61 auf Lager
  • Molex 1051330001 USB Power: WM9734CT-ND
    • Kann weggelassen werden
  • RF Solutions CON-SMA-EDGE-S Edge-Mount SMA Connector: CON-SMA-EDGE-S-ND
    • Mouser: 331 auf Lager

Einige Lieferanten wie zB Mouser versprechen Lieferungen einiger Teile bis im Sommer. Wir müssen wohl wohl oder übel eine Vorbestellung machen, alle verfügbaren Teile ebenfalls bestellen, und dann auf eine Lieferung im Sommer hoffen. Die Alternative wäre ein Ersatz der Bauteile, was PCB-Rework mit sich ziehen würde. Auch nicht toll.

Vorschlag: Bauteile für 10 Gfrörli-Sensoren bestellen, dann können wir hoffentlich im Sommer ein paar zusammenbauen. Bis dahin mit unseren Devboards arbeiten (wir haben ja 3 Stück, mind. 1 können wir entbehren).

2022-05-13

Anwesend

@danilo

Fortschritte

Wir haben unseren ersten Sensor v2 einige Tage zuhause getestet und dann deployed. Leider hat er nach einiger Zeit (und vielen Sendelücken) die Arbeit eingestellt. Wir haben noch nicht debugged, woran es liegt.

Parallel haben wir zwei Dragino-Nodes von Reichelt bestellt. Hardware-Bauteile für unsere eigene Hardware sind teilweise noch monatelang nicht erhältlich, und wir wollen nicht dadurch blockiert sein. Leider hatte Reichelt Lieferverzögerung, daher haben wir inzwischen die Nodes von Bastelgarage bestellt und prompt erhalten. Ich versuche derzeit noch, die Reichelt-Bestellung zu stornieren.

Dragino-Nodes

Die zwei Dragino LSN50 v2-D20 Nodes haben zuerst nicht funktioniert. Nach Kontakt mit dem Support habe ich die Firmware neu geflashed, und nun funktionieren sie.

Für das Firmware-Update muss der Schiebeschalter auf „ISP“ gesetzt werden.

Da das Windows-Tool von ST immer crashed ist, habe ich mit stm32flash geflashed:

$ stm32flash /dev/ttyUSB0 -w ~/Projects/gfroerli/dragino-firmware/v1.7.5/EU868.hex -v

Anschliessend können die Nodes per Seriell-Konsole konfiguriert werden:

$ python -m serial.tools.miniterm -e /dev/ttyUSB0 9600

Folgende Konfigurationen habe ich vorgenommen:

  • FPort auf 3 setzen (Default 2): AT+PORT=3
  • Interval auf 15 min setzen (Default 20 min): AT+TDC=900000

Platzierung in Pfäffikon SZ

Wir haben uns bereits mit der Verwaltung in Pfäffikon SZ abgesprochen und können dort im Hafen einen Sensor platzieren. Sobald die Tests abgeschlossen sind, werde ich mich wieder bei ihnen melden. Der Sensor ist von Threema gesponsert.

TTN Relay

Das TTN Relay-Script in Python ist langsam schwer zu maintainen. Deshalb: RIIR! Rewrite in Rust 🦀 by dbrgn · Pull Request #5 · gfroerli/ttn-relay · GitHub

In der neuen Version werde ich dann gleich Support für das Dragino-Paketformat umsetzen.

Next Steps

  • TTN Relay Rewrite fertigstellen
  • Support für Dragino Paketformat
  • Nodes konfigurieren (z.B. Interval etc)
  • Abklären, ob wir weitere Sensoren in den Nodes möchten (z.B. Innentemperatur)
  • Nodes testen (1-2 Tage lang)
  • Node 1 bei Remo platzieren
  • Node 2 in Pfäffikon platzieren