Aus gegebenen Anlass, habe ich mal wieder ein kleinen
PRTG-Sensor benötigt der auf einen Raspberry Pi läuft.
Die Software ist wie bei mir meistens in C# geschrieben,
daher wird auch wieder das Mono-Paket auf den Pi benötigt.
Features:
- Bring einen eigenen Webserver mit
- Kann direkt den DHT11 (Temp/Hum Sensor) auswerten
- Datenausgabe über JSON und XML
- Unterstützt den ISC-DHCPD Server (Kann in der App.config aktiviert werden)
Lizenz:
Download:
Bilder:
Aufbau:
Abfage:
- http://<IP>/api/xml
<prtg> <result> <channel>Temperature</channel> <value>24</value> </result> <result> <channel>Humidity</channel> <value>35</value> </result> </prtg>
- http://<IP>/api/json/all
{"temp":24,"hum":35}
- http://<IP>/api/json/temp
{"temp":24}
- http://<IP>/api/json/hum
{"hum":35}
Installation:
1.Mono Installieren
erstmal müssen wir mono installieren
sudo apt-get install mono-complete
2. ISC-DHCPD installieren (Optional)
auch hier einfach über nachfolgenden befehl installieren.
sudo apt-get install isc-dhcp-server
3. Programm entpacken
Jetzt erstmal den download entpacken und in z.B. /home/pi Kopieren
4. Programm anpassen
Jetzt kann unter /home/pi/SKBB.PRTGSensor/SKBB.PRTGSensor.exe.config
der SKBB.PRTGSensor Konfiguriert werden.
<!--##########################################################################################################--> <!--Der Port auf dem der Webserver läuft --> <add key="ListeningPort" value="80" /> <!--Zeitspanne der Messung vom Sensor (ms) --> <add key="DoWorkCheckInterval" value="30000" /> <!--Debug Modus? --> <add key="DebugMode" value="false" /> <!--Ist der ISC-DHCPD Server installiert? --> <add key="ISC-DHCPD" value="false" /> <!--##########################################################################################################-->
5. Programm starten
sudo mono /home/pi/SKBB.PRTGSensor/SKBB.PRTGSensor.exe
6. Programm Init Start-Script erstellen (Optional)
Für diese Lösung müssen wir erstmal screen installieren.
sudo apt-get install screen
Jetzt unter /etc/init.d de Script erstellen.
#! /bin/sh # SKBB.PRTGSensor Startscript # Author: Dennis Hinzpeter # Email: kontakt@bastelbunker.de # ### BEGIN INIT INFO # Provides: SKBB.PRTGSensor # Required-Start: $local_fs $remote_fs # Required-Stop: $local_fs $remote_fs # Should-Start: $network # Should-Stop: $network # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: SKBB.PRTGSensor # Description: Starts the SKBB.PRTGSensor service ### END INIT INFO cd / DESC="SKBB.PRTGSensor" SCREEN="/usr/bin/screen -- -D -m -S $DESC" DAEMON="/usr/bin/mono /home/pi/SKBB.PRTGSensor/SKBB.PRTGSensor.exe" PIDFILE=/var/run/SKBB.PRTGSensor.pid set -e start_daemon() { echo -n "==> Starting $DESC: " start-stop-daemon --start --make-pidfile --pidfile $PIDFILE --background --exec $SCREEN $DAEMON echo "$DESC started." } stop_daemon() { echo -n "==> Stopping $DESC: " start-stop-daemon --stop --pidfile $PIDFILE rm -f $PIDFILE echo "$DESC stopped." } case "$1" in start) start_daemon ;; stop) stop_daemon ;; restart|force-reload) stop_daemon sleep 1 start_daemon ;; *) N=/etc/init.d/$DESC echo "Usage: $N {start|stop|restart}" >&2 exit 1 ;; esac exit 0
Jetzt noch den Script ausführbar machen.
sudo chmod +x /etc/init.d/SKBB.PRTGSensor
Jetzt kann der SKBB.PRTGSensor über den Script gestartet werden.
sudo service SKBB.PRTGSensor start
0 Kommentare