Projekt:Sensors: Unterschied zwischen den Versionen

Aus k4cg.org
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 7: Zeile 7:


In diesem Projekt werden Messdaten aus der CG in Graphen und das IRC gebracht.  
In diesem Projekt werden Messdaten aus der CG in Graphen und das IRC gebracht.  
== Topologie ==
<pre>
                +-------------+                    nixe.k4cg.org
                |            |
        +------+  Internet  |    HTTPS    +---------------------------+
        |      |            | <-------------+        Python Fetcher    |
        |      +-------------+              |        +                |
        v                    ^----+          |        v                |
        Heimat ^IPV6 with PF      |          |  InfluxDB +----^Grafana  |
    +-----------------+          |          +---------------------------+
    |  httpd&json    |          |          |                          |
    +-----------------+          |          |      Rezeptionistin      |
    |    openstatus.py|          +----------+            +              |
    +-----+-+-+-------+              HTTPS  |            v              |
          | | |                              |          IRC            |
          | | |                              +---------------------------+
          | | |
          v v v
+---------+ +--------+ +--------+
| sensor1 | | sensor2| | sensorN|
+---------+ +--------+ +--------+
</pre>


== Colletor für die Sensoren @ K4CG ==
== Colletor für die Sensoren @ K4CG ==

Version vom 5. Februar 2017, 13:17 Uhr

Projekt:Sensors
Betreuer*In noqqe
Jahr 2017
Läuft auf heimat.intern.k4cg.org
URL https://github.com/k4cg/openstatus

In diesem Projekt werden Messdaten aus der CG in Graphen und das IRC gebracht.

Topologie

                +-------------+                     nixe.k4cg.org
                |             |
         +------+  Internet   |     HTTPS     +---------------------------+
         |      |             | <-------------+         Python Fetcher    |
         |      +-------------+               |         +                 |
         v                    ^----+          |         v                 |
        Heimat ^IPV6 with PF       |          |  InfluxDB +----^Grafana   |
     +-----------------+           |          +---------------------------+
     |  httpd&json     |           |          |                           |
     +-----------------+           |          |      Rezeptionistin       |
     |    openstatus.py|           +----------+            +              |
     +-----+-+-+-------+              HTTPS   |            v              |
           | | |                              |           IRC             |
           | | |                              +---------------------------+
           | | |
           v v v

+---------+ +--------+ +--------+
| sensor1 | | sensor2| | sensorN|
+---------+ +--------+ +--------+

Colletor für die Sensoren @ K4CG

Host:heimat.intern.k4cg.org sammelt alle Daten in der CG. Alle nachfolgenden Sensoren werden über einen Cronjob auf Heimat alle 5 min abgefragt.

Hosts im Netzwerk via ARP Scan

Auf der Heimat läuft ein Python Script das NMAP Scans macht

Licht, Sound, Temperatur

Die ehemaligen Sensoren von organic-entropy.org wurden unterhalb von Host:scotty.intern.k4cg.org angebracht und an diesen angeschlossen.

Die Sensoren liefern Daten über folgendes:

  • Temperatur (schon wieder...)
  • Licht Intensität (i.e. Helligkeit)
  • Geräusch Pegel (KEIN Aufnahmegerät)
  • Accelerometer (pretty much useless, weil an die Wand gehängt)

Auch diese Sensoren werden von Heimat eingesammelt

Temperatursensor von Wajib

Der Temperatursensor ist auch auf Scotty installiert. Unter /root/tempi liegt das compilte Binary.

Der Source Code ist von https://www.poempelfox.de/ds1820tousb/ds1820tousb-v1.03-221211.tar.gz

User:Wajib hat die Hardware und Software zusammengebaut.

Der Daemon wird beim Starten von Scotty via supervisor gestartet.

conifg-file "/etc/supervisor/conf.d/tempi.conf":

[program:tempi]
directory=/root/tempi
command=/root/tempi/hostsoftware daemon 00000740df6e:31337:%%T
autostart=true
autorestart=true
startsecs=10
user=root
stdout_logfile=/root/tempi/logs/tempi.log
stdout_logfile_maxbytes=1MB
stdout_logfile_backups=10
stdout_capture_maxbytes=1MB
stderr_logfile=/root/tempi/logs/tempi.log
stderr_logfile_maxbytes=1MB
stderr_logfile_backups=10
stderr_capture_maxbytes=1MB
environment = HOME="/root/", USER="root"

Der Aufruf sieht wie folgt aus:

/root/tempi/hostsoftware daemon 00000740df6e:31337:%T

Messdaten abholen

Die Messdaten können auf der Heimat unter

http://[2001:A60:F073:0:0:0:0:1]:80/devices.json

abgeholt werden und sehen irgendwie so aus

{"sound": 15.0, "light": 0.0, "hosts": {}, "temp": 16.68, "online": 0}

Daten in graphs.k4cg.org pumpen

TODO python Script umbauen dass es Daten nicht direkt von den Sensoren sondern von Heimat holt.

Daten in IRC via Rezeptionistin

TODO Rezeptionistin Plugins umbauen dass sie die Daten von Heimat JSON Document holt.

ICH WILL LIVEDATEN

Ich auch. In der Realtiät stellt sich aber heraus das das instabile Internet und die nicht statische v4 IP, die unfähigkeit von Libraries von mediawiki, BRICKD und die Unfähigkeit von Hardware Herstellern wie Philips Hue es nicht auf die Reihe bekommen eine IPv6 Anbindung sicherzustellen.

All diese Probleme haben seit Mitte 2016 immer wieder für Frust und Ausfälle gesorgt, wesegen wir jetzt ein einheitliches Format des Datenaustauschs mithilfe des HTTP+JSON auf der Heimat geschaffen haben.

All das führt natürlich dazu das die Daten nichtmehr komplett Live sind sondern mit 5 Minuten delay in Projekt:graphs.k4cg.org und im IRC auftauchen