{"id":891,"date":"2019-05-15T21:13:58","date_gmt":"2019-05-15T19:13:58","guid":{"rendered":"https:\/\/wordpress.labs.fhv.at\/openlabs\/?page_id=891"},"modified":"2019-05-15T23:53:06","modified_gmt":"2019-05-15T21:53:06","slug":"software","status":"publish","type":"page","link":"https:\/\/wordpress.labs.fhv.at\/openlabs\/bewaesserungssystem\/software\/","title":{"rendered":"Software"},"content":{"rendered":"<p>Das Programm zur Steuerung des Bew\u00e4sserungssystems besteht aus mehreren Teilprogrammen, deren Funktion im Folgenden kurz erl\u00e4utert wird. Der vollst\u00e4ndige und kommentierte Code ist in der beiliegenden Datei <em>programm-gesamt.ino<\/em> ersichtlich.<\/p>\n<h1><a name=\"_Toc534492208\"><\/a>Auslesen der Sensormesswerte<\/h1>\n<p>Zum Auslesen der Sensormesswerte und zur Berechnung der Bodenfeuchtigkeit (entsprechend obiger Formel) wurde die Funktion <em>measure<\/em> geschrieben. Um den Energiebedarf der Sensoren zu senken und um Korrosionsprozessen an den Sensorelektroden entgegenzuwirken, wird die Spannungsversorgung \u00fcber den jeweils festgelegten digitalen Ausgang des Arduinos nur f\u00fcr die Dauer der Messung zugeschaltet. Au\u00dferdem werden die Messungen in einem Intervall von 1 min durchgef\u00fchrt.<\/p>\n<h1><a name=\"_Toc534492209\"><\/a>Ansteuerung der Magnetventile<\/h1>\n<p>Die Ansteuerung der Magnetventile erfolgt auf der Basis der aus den Sensormesswerten berechneten Werte f\u00fcr die Bodenfeuchtigkeit. Sobald die Bodenfeuchtigkeit an einem Standort unterschritten wird (z.B. 30 %) und die festgelegte Zeitspanne seit der letzten Bew\u00e4sserung (z.B.\u00a05 h) \u00fcberschritten wird, wird der entsprechende digitale Ausgang geschaltet.<\/p>\n<h1><a name=\"_Toc534492210\"><\/a>Ausgabe der Messwerte auf das LCD-Display<\/h1>\n<p>\u00dcber das LCD-Display werden die einzelnen Messwerte in Form der berechneten Bodenfeuchtigkeit unter Verwendung der Bibliothek <em>LiquidCrystal.h<\/em> ausgegeben. Der SELECT-Button wird dabei als ON\/OFF-Schalter verwendet und die UP\/DOWN-Buttons zur Auswahl der gew\u00fcnschten Sensoren.<\/p>\n<h1><a name=\"_Toc534492211\"><\/a>Daten\u00fcbertragung mittels Mobilfunk und MQTT<\/h1>\n<p>Das Programm zur \u00dcbertragung der Sensordaten \u00fcber Mobilfunk und MQTT wurde unter Verwendung der Bibliotheken <em>Adafruit_FONA.h<\/em>, <em>Adafruit_MQTT.h<\/em> und <em>Adafruit_MQTT_FONA.h<\/em> geschrieben. Hierbei wurden mehrere Feeds auf dem MQTT-Server (Adafruit.io) angelegt, um die Daten der einzelnen Sensoren empfangen zu k\u00f6nnen. Die \u00dcbertragung der Sensordaten wird wie die Messung in einem Intervall von 1 min durchgef\u00fchrt.<\/p>\n<h1><a href=\"https:\/\/wordpress.labs.fhv.at\/openlabs\/wp-content\/uploads\/sites\/17\/2019\/05\/programm-gesamt.zip\">Download des gesamten Programms<\/a><\/h1>\n","protected":false},"excerpt":{"rendered":"<p>Das Programm zur Steuerung des Bew\u00e4sserungssystems besteht aus mehreren Teilprogrammen, deren Funktion im Folgenden kurz erl\u00e4utert wird. Der vollst\u00e4ndige und kommentierte Code ist in der beiliegenden Datei programm-gesamt.ino ersichtlich. Auslesen der Sensormesswerte Zum Auslesen der Sensormesswerte und zur Berechnung der &hellip; <a href=\"https:\/\/wordpress.labs.fhv.at\/openlabs\/bewaesserungssystem\/software\/\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":241,"featured_media":0,"parent":815,"menu_order":6,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-891","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/wordpress.labs.fhv.at\/openlabs\/wp-json\/wp\/v2\/pages\/891","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.labs.fhv.at\/openlabs\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/wordpress.labs.fhv.at\/openlabs\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.labs.fhv.at\/openlabs\/wp-json\/wp\/v2\/users\/241"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.labs.fhv.at\/openlabs\/wp-json\/wp\/v2\/comments?post=891"}],"version-history":[{"count":8,"href":"https:\/\/wordpress.labs.fhv.at\/openlabs\/wp-json\/wp\/v2\/pages\/891\/revisions"}],"predecessor-version":[{"id":900,"href":"https:\/\/wordpress.labs.fhv.at\/openlabs\/wp-json\/wp\/v2\/pages\/891\/revisions\/900"}],"up":[{"embeddable":true,"href":"https:\/\/wordpress.labs.fhv.at\/openlabs\/wp-json\/wp\/v2\/pages\/815"}],"wp:attachment":[{"href":"https:\/\/wordpress.labs.fhv.at\/openlabs\/wp-json\/wp\/v2\/media?parent=891"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}