====== Mess-Daten einsammeln mit AmForth ====== 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. ===== Zutaten ===== * [[ http://amforth.sourceforge.net|AmForth]] * [[http://amforth.sourceforge.net/TG/Cookbook.html|AmForth Cookbook]] - Code Beispiele * [[ http://amforth.sourceforge.net/TG/recipes/Multitasking.html|AmForth Multitasker]] Ein Task sammelt die Messdaten ein, ein zweiter Task bedient die serielle Schnittstelle und damit auch den Datensammler. * [[http://amforth.sourceforge.net/Projects/RS485/RS485Bus.html|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! * Und [[https://sourceforge.net/p/amforth/community/HEAD/tree/ewlib|weitere Code Schnippsel]] von Erich Wälde. * 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 [[vd-archiv:|4d-Archiv]]. * {{:vd-archiv:4d2006-04.pdf|}} - Adventures in Forth 2. Realisierung von Uhr/Kalender und periodischen Aufgaben((damals noch auf dem Renesas r8c Kontroller)). * {{:vd-archiv:4d2008-04.pdf|}} - Adventures in Forth 5. Organisation von Ablauf, Buchhaltung, Sensoren, Mittelwertbildung etc. * {{:vd-archiv: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. * {{ :vd-archiv:4d2011-03.pdf |}} - Adventures in Forth 9. 434MHz ISM-Funk, FSK((frequency shift keying)) senden und empfangen. * {{ :vd-archiv:4d2011-04.pdf |}} - Adventures in Forth 10. 434MHz ISM-Funk, OOK((on off keying)) empfangen, käuflichen Außentemperatur-Sensor belauschen. * {{ :vd-archiv:4d2012-04.pdf |}} - Adventures in Forth 12. Ein Füllstandsensor für die Zisterne: Ultraschall-Entfernungsmessung, 434MHz FSK Verbindung. * {{ :vd-archiv: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.