Benutzer-Werkzeuge

Webseiten-Werkzeuge


software:controller:vzlogger:vzlogger_rpi_pico

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
software:controller:vzlogger:vzlogger_rpi_pico [2024/12/28 20:21] tgesoftware:controller:vzlogger:vzlogger_rpi_pico [2025/01/01 20:55] (aktuell) – DS18B20 IDs tge
Zeile 10: Zeile 10:
   * sehr eingeschränkter RAM sowie Flash-Memory   * sehr eingeschränkter RAM sowie Flash-Memory
  
-Es gibt inzwischen RPi Pico 2 - damit noch keine Erfahrungen. Die RPi Pico gibt es auch als "WH" mit bereits angelöteten Pins - macht es nochmal einfacher, aber auch etwas teurer.+Es gibt inzwischen RPi Pico 2 - insb noch sparsamer (hat auch mehr RAM u Flash-Speicher, mehr Schnittstellen usw usf - alles bisher nicht benötigt). 
 +Die RPi Pico gibt es auch als "WH" mit bereits angelöteten Pins - macht es nochmal einfacher, aber auch etwas teurer.
  
 Versuche, libcurl zu portieren, hatten sich als sehr aufwändig herausgestellt und wurden abgebrochen. Versuche, libcurl zu portieren, hatten sich als sehr aufwändig herausgestellt und wurden abgebrochen.
Zeile 76: Zeile 77:
   * Verschiedene Energiesparmassnahmen - siehe ganz unten.   * Verschiedene Energiesparmassnahmen - siehe ganz unten.
   * kontinuierliche Abfrage und Ausgabe von RAM, Betriebsspannung, benötigte Rechenzeit in verschiedenen Modi (damit Hochrechnung Energieverbrauch möglich)   * kontinuierliche Abfrage und Ausgabe von RAM, Betriebsspannung, benötigte Rechenzeit in verschiedenen Modi (damit Hochrechnung Energieverbrauch möglich)
 +  * Pico2 W getestet - minimale Änderungen notwendig, funktioniert noch besser
  
 === Bauen === === Bauen ===
 Zuerst muss die "embedded config" in einem eigenen Header-File (Beispiel vz_pico_inline_config.h) angepasst werden, insb die VZ Server URL, WiFi Zugangsdaten, meters und channels - wie üblich, nur eben embedded. Zuerst muss die "embedded config" in einem eigenen Header-File (Beispiel vz_pico_inline_config.h) angepasst werden, insb die VZ Server URL, WiFi Zugangsdaten, meters und channels - wie üblich, nur eben embedded.
 +Mit einem Pico2 W beim cmake Kommando als Board "pico2_w" angeben.
  
   $ cd ~/projects/vzlogger/pico   $ cd ~/projects/vzlogger/pico
   $ mkdir build   $ mkdir build
   $ cd build   $ cd build
-  $ cmake -DPICO_BOARD=pico_w ..+  $ cmake -DPICO_BOARD=pico_w -DVZ_BUILD_ON_PICO=1 ..
   ...   ...
   $ make   $ make
Zeile 256: Zeile 259:
      
 Das gibt alles nach stdout aus, sowie gleichzeitig in ein File screenlog.0, was man dann später analysieren kann (enthält auch den CALIBRATION output). Alternativ zum Laptop tut es auch ein "normaler RPi". Vorteil: Im Dauerbetrieb kann der Laptop wieder ab. Das Logdatenvolumen kann per log-level in der embedded config gesteuert werden. Wenn alles klappt, als Stromversorgung ein einfaches USB Netzteil. Das gibt alles nach stdout aus, sowie gleichzeitig in ein File screenlog.0, was man dann später analysieren kann (enthält auch den CALIBRATION output). Alternativ zum Laptop tut es auch ein "normaler RPi". Vorteil: Im Dauerbetrieb kann der Laptop wieder ab. Das Logdatenvolumen kann per log-level in der embedded config gesteuert werden. Wenn alles klappt, als Stromversorgung ein einfaches USB Netzteil.
 +
 +Die DS18B20 w1 thermal Sensoren haben IDs, die in der config mit den channels verknüpft werden müssen. Anfangs sind diese IDs aber nicht bekannt - dann:
 +
 +  * Config mit irgendwelchen IDs Strings erstellen, Interval möglichst kurz (10s, sonst muss man solange warten)
 +  * Loglevel auf 15 setzen, bauen und uf2 auf den Pico kopieren
 +  * mittels USB Console den output protokollieren und auf folgende Ausgaben warten:
 +
 +  [Jan 01 19:54:07][mtr0] Querying meter ...
 +  [Jan 01 19:54:07][]     Reading oneWire object 20012498 ...
 +  [Jan 01 19:54:07][]     Have 2 oneWire devices.
 +  [Jan 01 19:54:07][]     Adding ID[0]: 10D0F2BC020800A0
 +  [Jan 01 19:54:07][]     Adding ID[1]: 280FB18600000068
  
 === Energiesparmöglichkeiten === === Energiesparmöglichkeiten ===
Zeile 270: Zeile 285:
   * CPU clock speed reduzieren, wenn weder Messen noch Senden (normalerweise 125MHz, gedrosselt 6MHz) - damit nur noch 9mA, dies aber fast die gesamte Zeit   * CPU clock speed reduzieren, wenn weder Messen noch Senden (normalerweise 125MHz, gedrosselt 6MHz) - damit nur noch 9mA, dies aber fast die gesamte Zeit
  
-Mit all dem (und einer Config mit 1x HC-SR04 und 2x DS18B20) verbraucht der Pico W nur noch ~45mW (9mA). +Mit all dem (und einer Config mit 1x HC-SR04 und 2x DS18B20) verbraucht der Pico W nur noch ~40mW (~8mA), der Pico2 W sogar nur ~25mW (~5mA). 
-Mit einer 10000mAh Powerbank müsste dies also ~8d reichen ... to be tested.+Mit einer 10000mAh Powerbank müsste dies also mindestens 8d reichen ...
 TODO: TODO:
  
-  * Powerbanks haben oft eine Abschaltung bei zu geringer Last - to be tested +  * Powerbanks haben oft eine Abschaltung bei zu geringer Last - meine bei <100mA, geht also nicht.  
-  * Es gibt Adaptermodule, die gleichzeitig ein PV-Modul und einen Akku ermöglichen - to be tested+  * Es gibt Adaptermodule, die gleichzeitig ein PV-Modul und einen Akku ermöglichen - bestellt und unterwegs
   * Es gibt noch einen lightsleep und deepsleep mode, womit nochmal erheblich weniger Stromverbrauch möglich sein könnte   * Es gibt noch einen lightsleep und deepsleep mode, womit nochmal erheblich weniger Stromverbrauch möglich sein könnte
  
  
software/controller/vzlogger/vzlogger_rpi_pico.1735413704.txt.gz · Zuletzt geändert: von tge