Im vorigen Artikel habe ich beschrieben, wie ich pymultimonaprs auf einem Raspberry Pi 2 konfiguriert habe.
Nun möchte ich in der Status-Zeile ein paar Telemetriedaten übermitteln, die vom Raspberry ausgelesen werden. Konkret sind das:
- Core Temperatur
- Core Spannung
- Core Spannung der SDRAM_p
- Clock Speeds von Core und ARM
Dazu habe ich ein Script erstellt, das alle 5 Minuten über cron gestartet wird und die vollständige Status-Zeile in der Datei /tmp/aprs-telemetrie.txt hinterlegt. pymultimonaprs versendet dann den Inhalt dieser Datei als Statusmeldung.
Dieses Script (abgelegt als /home/pi/aprs-telemetrie.sh) liest die Werte aus und erstellt die Datei:
#!/bin/bash echo "Raspberry Pi 2 mit RTL Stick core_temp="`vcgencmd measure_temp | awk -F'=' '{print $2}'\ `" core_volt="`vcgencmd measure_volts core | awk -F'=' '{print $2}'`\ " sdram_p_volt="`vcgencmd measure_volts sdram_p | awk -F'=' '{print $2}'`\ " core_clock="`vcgencmd measure_clock core | awk -F'=' '{print $2}'`\ " arm_clock="`vcgencmd measure_clock arm | awk -F'=' '{print $2}'` > /tmp/aprs-telemetrie.txt
Die Datei sieht nun so aus:
pi@roofpi ~ $ cat /tmp/aprs-telemetrie.txt Raspberry Pi 2 mit RTL Stick core_temp=26.1'C core_volt=1.2000V sdram_p_volt=1.2250V core_clock=250000000 arm_clock=600000000
Den Cron-Job habe ich so erstellt:
*/5 * * * * root /home/pi/aprs-telemetrie.sh
Nun habe ich folgende Einträge in der mymultimonaprs-Konfigurationsdatei /etc/pymultimonaprs.json geändert:
"status": { "text": false, "file": "/tmp/aprs-telemetrie.txt" },
Nach einem Neustart von pymultimonaprs mittels
/etc/init.d/pymultimonaprs restart
hat das sofort geklappt:
Jan 2 13:17:40 roofpi pymultimonaprs: connecting... 95.155.111.242:14580 Jan 2 13:17:40 roofpi pymultimonaprs: connected Jan 2 13:17:40 roofpi pymultimonaprs: # aprsc 2.0.14-g28c5a6a Jan 2 13:17:40 roofpi pymultimonaprs: login OE1SCS-10 (PyMultimonAPRS 1.2.0) Jan 2 13:17:40 roofpi pymultimonaprs: # logresp OE1SCS-10 verified, server T2KRAKOW Jan 2 13:17:40 roofpi pymultimonaprs: sending: OE1SCS-10>APRS,TCPIP*:=4811.4 N/01623.2 E-RXonly APRS iGate Jan 2 13:17:40 roofpi pymultimonaprs: sending: OE1SCS-10>APRS,TCPIP*:>Raspberry Pi 2 mit RTL Stick core_temp=25.6'C core_volt=1.2000V sdram_p_volt=1.2250V core_clock=250000000 arm_clock=600000000
Zum Anzeigen der load, kann man das Script folgendermaßen anpassen:
#!/bin/bash
echo "Raspberry Pi 2 mit RTL Stick core_temp="`vcgencmd measure_temp | awk -F'=' '{print $2}'`\
" core_volt="`vcgencmd measure_volts core | awk -F'=' '{print $2}'`\
" sdram_p_volt="`vcgencmd measure_volts sdram_p | awk -F'=' '{print $2}'`\
" core_clock="`vcgencmd measure_clock core | awk -F'=' '{print $2}'`\
" arm_clock="`vcgencmd measure_clock arm | awk -F'=' '{print $2}'`\
" load="`uptime | awk -F' ' '{print $8 $9 $10}'`\
> /tmp/aprs-telemetrie.txt
Hi,
Dank Deinem Hinweis/link habe ich nun einen Temperatursensor am RaspberryPi angeschlossen (DHT-11) und übertrage nun seit Gestern Temperatur + Luftfeuchtigkeit als Wetterdaten (Dzt. nur Innenraum)
Dazu habe ich ein kleines python script geschireben, dass die Zeit, Temperatur + Luffeuchtigkeit einliest und als json file ablegt, ähnlich zu Deinem status text.
73, de Gerhard
OE1GTC
Servus Gerhard!
Das ist super! Falls du das Script veröffentlichen möchtest, gib‘ mir Bescheid, oder schick‘ mir einen Link, dann poste ich den gerne hier!
Dein Ergebnis ist hier zu sehen, liege ich da richtig?
http://de.aprs.fi/info/a/OE1GTC-10
Vy 73 de Stefan OE1SCS