Sonntag, 20. März 2016

openHAB

Vor einigen Wochen stieß ich über einen Umweg auf openHAB. Auf Kickstarter bin ich bei PineA64 eingestiegen und eines der von diesem Mini-Computer unterstützten Software-Projekte war openHAB. Nach dem Lesen von ein paar Erfahrungen zu openHAB war ich hin und weg. Das hätte ich gerne zur Arduino-Zeit gehabt. Also setzte ich openHAB auf einem RasPi 2 um, den meine Tochter gerade nicht in Benutzung hatte.

Hier ein erstes Ergebnis der grafischen Auswertung der Temerature, die mein Arduino Mega nicht mehr nur an Cosm meldet, sondern auch an den openHAB-RasPi.(Die Unterbrechungen stammen vom Reboot des Rasberry Pi bei dessen Konfiguartion als Access Point.)



Bevor ich die Schaltungsregeln ganz auf den openHAB Rechner übertrage (falls überhaupt), binde ich andere IoT-Geräte ein. In dem Bild ist die Temperatur des Arbeitszimmers aufgeführt. Diese meldet ein Sensor, der an einem ESP8266 hängt per WLAN an den RasPi (Access Point) weiter.

Donnerstag, 29. Mai 2014

Neuster Code für die Heizungssteuerung

Hier kommt der neue Code für die Heizungssteuerung.
Es steuert zwei WW-Boiler, die je nach Temperatur mit einem Dreiwege-Ventil umgeswitcht werden.
Nun ist bei 40°C und mehr der Wechsel eingerichtet, damit das Wasser nicht zu lange stehen bleibt.


#include <LiquidCrystal.h>
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#include <Ethernet.h>
#include <EthernetUdp.h> // für die NTP-Abfrage
#include <LCD.h>
#include <Keypad.h>

Samstag, 17. Mai 2014

Neuer Code der Heizungssteuerung mit Fehlerkorrekturen, neuem Timeserver und Sommerzeitumstellung

Letztes Ärgernis, die angezeigte Zeit zwei Mal im Jahr umstellen zu müssen, ist nun behoben.
Ein paar kleinere Bugfixes sind auch dabei.
Der Time-Server ist nun meine FritzBox: 192.168.178.106

/*
/*
Bei der 2. Version des Arduino Ethernet Shields beachten:
"Yes, but when you reset the device before uploading, you can still upload the sketch WITH the shield attached, so it's quick and convenient."
aus
http://arduino.cc/forum/index.php/topic,67777.45.html#msg711073


Bei der 2. Version des Arduino Ethernet Shields beachten:
"Yes, but when you reset the device before uploading, you can still upload the sketch WITH the shield attached, so it's quick and convenient."
aus
http://arduino.cc/forum/index.php/topic,67777.45.html#msg711073
*/

#include <LiquidCrystal.h>
#include <LiquidCrystal_I2C.h>
#include <Wire.h>
#include <Ethernet.h>
#include <EthernetUdp.h> // für die NTP-Abfrage
#include <LCD.h>
#include <Keypad.h>
#include <Keypad_I2C.h>
#include <SPI.h>
#include <SD.h> // für die SD-Kartennutzung
#include <avr/wdt.h> // für den Watchdog vgl. (http://tushev.org/articles/arduino/item/46-arduino-and-watchdog-timer)
#include <Time.h>

Sonntag, 22. September 2013

Grund für Neustarts des Arduino Watchdogs

Tatsächlich scheint der Watchdog den Arduino hin und wieder neu zu starten. Bemerkenswerterweise in den letzten zwei Wochen so gegen 3 Uhr nachts. Auf Cosm, wo die Daten hingeschoben werden, steht die Statistik dann für ein paar Minuten still.
Grund nach der Recherche: Die DSL-Verbindung wird dann zwangsunterbrochen und der Arduino kann nicht senden (und die Uhrzeit - jede 10 Minuten empfangen).
Dies führt dazu, dass die entsprechende Funktion im Code für so lange hängt und der Watchdog (8 Sekunden Überwachungszeit) auslöst.
Also werde ich mich in den nächsten Wochen auf die Suche im Code machen, um das Problem zu lösen.

Sonntag, 15. September 2013

und läuft und läuft und läuft... und die Sonne scheint :-D

Um das letzte Foto auf- und abzuwerten hier noch ein Foto.

Mein handwerkliches Geschick ist sichtbar begrenzt. Mal schauen, wie ich das Kästchen schick kriege.

Und wie deutlich im rechten Boilerteil zu sehen (Temperatur oben und unten), scheint in Hannover heute die Sonne: 39,8°C im 500l-Boiler, der an der Solaranlage hängt. Der kleine 300l Boiler hat davon noch nichts abbekommen, weil die Tempretur im Großen noch zu niedrig zum Umwälzen (zwischen den beiden) ist.

Der Vollständigkeit halber:
M4472 steht für den freien Speicher des Arduino Mega 2560.
T142:41 steht für 142 unterbrechungsfreie Stunden des µC plus 41 Minuten :-D.


und läuft und läuft

Es scheint gute Nachrichten zu geben. Der Heizduino läuft seit 123 Stunden und 46 Minuten (Stand heute 9:08 Uhr) ohne Probleme und Abstürze! Das letzte Mal habe ich den Sketch auf den neusten Stand gebracht und die Laufzeit mittels millis() eingebaut, s. Foto.
Wird nun alles gut? :-D

Samstag, 7. September 2013

Bootloader




Der Arduino Mega 2560 ist nun uptodate: Der Bootloader ist v2 und unterstützt damit den Watchdog richtig. Auch ist das !!!-Problem vom Tisch - hat mich vor einem Jahr auch ein paar Tage Nerven und Sucherei gekostet :-)

Auch mein Backup-Arduino Mega, allerdings 1280, ist mit dem Optiboot ausgestattet (aber noch nicht getestet).

Und die gute Ikea-Kiste tut ihren Dienst auf eine schönere Weise, vorher - nachher :-)

Samstag, 31. August 2013

Watchdog Problem gelöst?

Habe gerade den Mega 2560 gegen den Kleinen Mega ausgetauscht. Hoffung ist, dass der Watchdog hier funktioniert. Der große Mega hat ein Bootloader-Problem, vgl.
http://www.gammon.com.au/forum/?id=11635 (erst damit klappte später das Update, die 120 Ohm Variante aus http://www.youtube.com/watch?v=GMt4hLaKjAc war nicht erfolgreich) und
http://forum.arduino.cc/index.php?topic=115531.0

Das Updaten des Bootloader mit dem Duemillanova scheiterte zuerst, daher habe ich kurzen Prozess gemacht. Der Sketch läuft bisher einwandfrei.

Donnerstag, 29. August 2013

Und wieder grüßt das Murmeltier

Worauf läßt das folgende Bild schließen?
Genau, erneuter Ausfall. Und warum?
Das Display war einfach eingefroren. Arduino gab kein Lebenszeichen von sich. Dabei habe ich den Watchdog doch installiert! Beim Reset machte der Arduino keine Anstalten, neu zu starten, erst nach längerer Stromunterbrechung sprang er wieder an.

Und die Erklärung und Konsequenz?
- die zu lange (5m) I2C-Verbindung wieder außer Betrieb nehmen
- den Watchdog überprüfen - dazu gibt es eine versuchte Hilfeanfrage bei http://forum.arduino.cc/index.php?topic=184897.0

OK, am Wochenende wird's versucht...
1) LCD wieder zurück in den Keller
2) Zweites Display im Wohnzimmer über den Raspberry Pi und einer seriellen 433MHz-Schnittstelle
3) Bootloader updaten

Oder?

Dienstag, 27. August 2013

Ein Hoch auf SSR

Es scheint zu laufen! Bisher sind keine Probleme mit dem Display aufgetaucht.
Irgendetwas hat heute das Board aber zum Stillstand gebracht. Nach der Analyse der geg. Temperaturen wird es kein Schaltungvorgang gewesen sein. Und der Mega lief seit 3-4 Tagen ohne Reset o.ä.
Daher habe ich den letzten Schritt unternommen und das System langzeit-tauglich gemacht mit dem Einsatz des Watchdogs.

Die Umsetzung ist trivial und kann nach 5 Sekunden von Google herausgeholt werden. Bei mir wird der Mega jede 8 Sekunden auf den Herzschlag abgehört.

Und da das LCD nun wieder ein paar Meter im Wohnzimmer steht, auch gleich ein Foto...
Es funktioniert auf diese 5m auch prima ohne den P82B715 Extender.
Zur Wand führt nun ein einfaches Telefonkabelchen mit vier Adern. Das Keypad und LCD werden in das Holzkistchen eingebaut, wenn 'mal Zeit ist.