Aus gegebenen Anlass, habe ich mal wieder ein kleinen 18-09-_2016_20-41-08
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:

raspberrypi_dht11_temphumidity_bb

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

 


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.