Temperatur messen und senden
Die eigentliche Arbeit des Programms wird in der loop()-Funktion getätigt. Sie wird vom Photon kontinuierlich ausgeführt, solange er mit Strom versorgt wird. Sie besteht aus zwei Teilen: Im ersten Teil wird geprüft, ob die Variable errormode den Wert 1 besitzt. Ist dies der Fall, ist irgendwann ein Fehler aufgetreten. Dann blinkt die LED viermal.
if(1 == errormode) { for(int i = 0; 4 > i; i++) { digitalWrite(LED, HIGH); delay(500); digitalWrite(LED, LOW); delay(500); } }
Im zweiten Teil der loop()-Funktion wird zuerst geprüft, ob seit dem letzten Aufruf der Funktion mehr als 30 Minuten vergangen sind. In dem Fall wird die Temperatur-Bibliothek angewiesen, den aktuellen Temperaturwert vom Sensor zu erfragen und den Wert in Grad Celsius zu liefern. Mit dem Temperaturwert und der URL-Konstante wird dann die HTTP-Anfrage an den Golem.de-Server erzeugt und schließlich mit dem Aufruf http.get() abgeschickt.
if(millis() > nextTime) { dt.requestTemperatures(); float ct = dt.getTempCByIndex(0); String path = String::format(URL, ct); request.path = path; request.body = ""; http.get(request, response, headers); if(200 == response.status) { errormode = 0; } else { errormode = 1; } nextTime = millis() + 1000 * 60 * PERIOD; }
Wenn die Abfrage keinen Erfolg hatte, wird das als Fehler gewertet: Das kann passieren, wenn die URL falsch aufgebaut war, fehlerhafte Werte enthielt, oder keine WLAN-Verbindung bestand. Zum Schluss wird noch berechnet, wann die Messung das nächste Mal erfolgen soll.
Jetzt zum Freizeitforscher werden
Mit dem Schaltungsaufbau und fertig programmierten Particle Photon ist alles beisammen, um an unserem großen Projekt teilzunehmen: "Wie warm ist es in euren Büros?". Wir hoffen, dass möglichst viele Bastler mitmachen - jetzt vielleicht auch Du?
In dieser Serie bisher veröffentlichte Anleitungen:
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Das Programm schreiben |
Hab alles wie in der Zeichnung zusammengebaut und den Quellcode in meinen Proton geladen...
Stimmt. Bin gerade auf der Suche nach einem Schaltplan über diesen Beitrag gestolpert...
Vom Dachboden ein Thermometer zu holen, ne alte Webcam vom Elektroschrott oder ebay...
Der Photon bzw. dessen ganzes Ökosystem ist vorallem für einen einfachen und schnellen...