Forum

Einloggen | Registrieren | RSS  

1-wire-bus, wen es interessiert (Computertechnik)

verfasst von bastelix(R), 18.04.2020, 22:53 Uhr
(editiert von bastelix am 18.04.2020 um 22:54)

» Hier nochmal ein Link zu meiner Temperaturmessung:
» https://www.kompf.de/weather/pionewiremini.html
Nice. Also bei dem Python Programm ist eigentlich nicht viel zu tun um weitere Sensoren hinzuzufügen. Einfach bei der pathes-Definition weitere Pfade zu 1-Wire-Dateien eintragen.

pathes = (
"/sys/bus/w1/devices/10-000801b5a7a6/w1_slave",
"/sys/bus/w1/devices/10-000801b5959d/w1_slave",
"/sys/bus/w1/devices/NEUE_DEV_ID_1/w1_slave",
"/sys/bus/w1/devices/NEUE_DEV_ID_2/w1_slave"
)

Und dann halt bei der Graph-Erstellung die weiteren Sensoren als weitere Argumente übergeben. So auf den ersten Blick würde ich sagen das war's auch schon um einen neuen Sensor hinzuzufügen. (Vor dem ausprobieren empfiehlt sich ein Backup der Datenbank ;-) )

Mein Setup ist etwas umständlicher, läuft aber auch (überwiegend) auf einem PI - BananaPI, der war noch von nem anderen Projekt übrig. Die Zentrale Anwendung ist in Ruby geschrieben und besteht aus verschiedenen Modulen.
* Persister-Modul: Lauscht auf dem Message-Bus (MQTT) und schreibt die ganzen Nachrichten die da aufschlagen in eine Postgresql-Datenbank (war mal eine RethinkDB, aber das NoSQL-Zeugs wurde mit steigender Datenmenge zu ressourcenhungrig)
* DS18*-Modul: Liest regelmäßig die 1-Wire-Temperatur-Sensoren aus (alle die grad am 1-Wire-Bus hängen) und schickt die plausiblen Messwerte als Nachricht in den Message-Bus
* DHT22-Modul: Liest regelmäßig einen DHT22 der am PI hängt (ist aktuell deaktiviert, da das jetzt der Co-Prozessor macht)
* Coprozessor-Modul: Liest regelmäßig den Coprozessor via I2C aus und schickt die Daten als Nachricht in den Message-Bus
* BMP180-Modul: Liest regelmäßig den BMP180 via I2C aus und schickt die Messwerte als Nachricht in den Message-Bus
* Weitere Module möglich, aber im Moment nicht geplant

Dazu kommt der Coprozessor (ein ATMega328p, mit Arduino-C/C++ programmiert) der auf 433MHz lauscht und die Datenpakete zwischenspeichert bis die via I2C vom PI abgeholt werden. Dann hängen da noch drei DHT22 (1x Büro, 1x Flur, 1x draußen) dran, die der ATMega ausliest und ebenfalls via I2C an den PI weiterleitet.

Über 433MHz kommen ein paar Messwerte (Temperatur, Luftfeuchte, Batteriezustand) von Funk-Sensoren rein (auch ATMega328p-Basiert).
Direkt auf in den Message-Bus können die ESP8266 ihre Messwerte schicken und in der Theorie könnten die auch neue Konfigurationsparameter über Message-Bus abholen, aber soweit ist das noch nicht ausgebastelt ;-)

Die GUI ist eine eigene Webanwendung (Server-Seite: Ruby, Client-Seite: JavaScript) und kann auf dem gleichen PI oder sonst wo laufen, solange der Zugriff auf die Postgresql-Datenbank möglich ist.

Edit: Das mit den aggregieren der Daten hatte ich auch schon mal im Sinn. Ich schau mal ob ich die Messwerte als avg/min/max pro Tag in eine extra Tabelle schreibe.



Gesamter Thread:

1-wire-bus - hubert, 15.04.2020, 21:56
1-wire-bus - bastelix(R), 15.04.2020, 23:55
1-wire-bus - simi7(R), 16.04.2020, 00:00
1-wire-bus - bastelix(R), 17.04.2020, 00:49
1-wire-bus - simi7(R), 17.04.2020, 07:35
1-wire-bus - bastelix(R), 17.04.2020, 23:30
1-wire-bus - simi7(R), 18.04.2020, 09:08
1-wire-bus, wen es interessiert - simi7(R), 18.04.2020, 13:01
1-wire-bus, wen es interessiert - bastelix(R), 18.04.2020, 22:53
1-wire-bus, wen es interessiert - hubert, 19.04.2020, 18:05