Temperaturen, Luftfeuchten, Luftdruck und vielleicht noch den
Stromverbrauch einsammeln? Erich Wälde macht das mit AmForth und
kleinen Platinen mit Atmega Kontrollern. Die Kontroller hängen
an einem RS485-Bus und werden vom Bus-Master (perl Programm auf
einem Linuxrechner) regelmäßig befragt. Die eingesammelten Daten
werden in einer sqlite3-Datenbank gelagert und mit einem
weiteren (perl/pgplot-) Programm auf Wunsch angezeigt.
-
-
AmForth Multitasker Ein Task sammelt die Messdaten ein, ein zweiter Task bedient die serielle Schnittstelle und damit auch den Datensammler.
RS485 Bus - Mit AmForth 6.3 und später kann man sich den Assembler Teil zum Glück sparen. Das wäre noch neu zu dokumentieren.
Sensoren via i2c, spi und 1wire werden direkt angebunden. Siehe Cookbook!
-
Funkverbindungen (434
MHz ISM Band) werden ebenfalls benutzt.
Beschreibungen
Wesentliche Teile dieses Projekts sind in der Vierten Dimension vorgestellt worden. Alle Hefte findest du im 4d-Archiv.
4d2006-04.pdf - Adventures in Forth 2. Realisierung von Uhr/Kalender und periodischen Aufgaben
1).
4d2008-04.pdf - Adventures in Forth 5. Organisation von Ablauf, Buchhaltung, Sensoren, Mittelwertbildung etc.
4d2011-01.pdf - Adventures in Forth 6. RS-485 Bus, multi processor communication mode, recognizer; alle Daten und Befehle werden werden im Klartext als Forth Source bzw. als ascii Strings übertragen - man kann problemlos mitlesen.
4d2011-03.pdf - Adventures in Forth 9. 434MHz ISM-Funk, FSK
2) senden und empfangen.
4d2011-04.pdf - Adventures in Forth 10. 434MHz ISM-Funk, OOK
3) empfangen, käuflichen Außentemperatur-Sensor belauschen.
4d2012-04.pdf - Adventures in Forth 12. Ein Füllstandsensor für die Zisterne: Ultraschall-Entfernungsmessung, 434MHz FSK Verbindung.
4d2013-01.pdf - Adventures in Forth 13. Der Empfänger für den Füllstandsensor.
Der Daten-Einsammler und auch das Anzeigeprogramm sind in perl
realisiert. Zumindest das Anzeigeprogramm verdient eine neue
Basis, indem man den Einsammler an vorhandene Lösungen wie z.B.
collectd
anbindet.