#arduino

CatFeeder Projket beendet!

Ich habe hier ja schon einige Male von meinem Projekt zum Katzenfütterungsautomaten berichtet. Leider ist es in der Zwischenzeit so gekommen, dass ich keine Katzen mehr habe, womit der Automat natürlich überflüssig geworden ist. Mittlerweile war die gesamte Steuerung mittels Arduino komplett fertig und die Platine mit allen Funktionen gelötet. Es musste eigentlich nur noch im Gehäuse verbaut werden. Dazu kommt es jetzt leider nicht mehr.

Meine mechanischen Arbeiten werden mit Sicherheit nochmal andernorts als Futterautomat weiterleben. Katzenbesitzer mit diesem Problem gibt es ja genug. ;)

Für interessierte Personen stelle ich meinen Quelltext des Arduinos auf GitHub bereit. Der Code beinhaltet alle Funktionen, welche ich in meinem Automaten haben wollte. Unter anderem einen Willkommens-Bildschirm, Befehle über Netzwerknachrichten, Melodie bei Fütterung, Steuerung über zwei Knopfe, Display, usw.

read more ...
Share:

Arduino Webserver

Installation von php5 mit JSON & Sessions auf dem Arduino Yún

Ich muss es eingestehen: ich bin kein großer Freund von Python. Es ist zwar auf dem Yún vorinstalliert und läuft auch, aber für meine Anwendungen war es irgendwie nicht das richtige. Da fühle ich mich bei php schon mehr zuhause. Glücklicher weiße kommt Linino schon direkt mit opkg und ermöglicht so eine schnelle Installation von php.

Nach etwas Recherche habe ich die Befehle schnell gefunden. Hier also festgehalten für mich und die Nachwelt, alles um php5 auf dem Yún zum Laufen zu bringen. Und das sogar ohne jeden Neustart. ;)

read more ...
Share:

Projektstart: Katzenfütterungsautomat / CatFeeder

Schlaf ist wichtig! Besonders heilig ist mir dieser am Wochenende. Wer aber selber Pelzträger (aka Katzen) im Haushalt hat, wird wohlmöglich nachvollziehen können, dass es diesen komplett egal ist, ob man schläft oder nicht. Es hat auch samstags und sonntags zur selben Zeit wie in der Woche Futter zu geben! Freundlicherweise erinnern mich meine Katzen immer rechtzeitig daran, dass ich bald zum Füttern aufstehen müsse. Meist eine gute Stunde vorher.

Abhilfe muss her!

Mein alter Kollege und Freund Jan hat bereits ein ähnliches Projekt vor einiger Zeit realisiert. Praktisch genau was ich will, technisch und optisch müsste es aber verändert werden. Also entschloss ich mich, ein komplett eigenes Projekt draus zu machen und die bewährten Ideen aus Jan's Catfeeder einfließen zu lassen.

Der Arduino powered WiFi enabled Linux controlled CatFeeder ist geboren! ;)

read more ...
Share:

Arduino Yún Bridge nutzen für TCP Kommunikation

über eigenen Port mit YunServer und YunClient

Mit einem Arduino über Netzwerk zu kommunizieren ist generell nichts Neues. Auch der Yún mit WLAN und Ethernet macht da an sich keine Ausnahme. Die bekannte Ethernet Library steht wie gewohnt auch auf dem Yún zur Verfügung. Zusätzlich dazu bietet der Yun aber mit YunServer und YunClient zwei neue Klassen, welche für Netzwerkkommunikation eingesetzt werden können. Beide gehören zur mit dem Yún eingeführten Bridge Library.

Und das sollte man auch durchaus in Betracht ziehen, denn die beiden Klassen sind bereits auf dem Yún vorhanden und belegen daher in einem Sketch keinen zusätzlichen Speicher. Bei größeren Sketches kommt man irgendwann an die Grenzen des verfügbaren Platzes, da sollte man sparen wo man kann.

Für die Verwendung von YunServer und YunClient gibt es grundlegend zwei Möglichkeiten. Einmal die vorkonfigurierte Lösung über Port 5555 und der REST Api, sowie zum anderen die etwas komplexere Möglichkeit der direkten TCP Verbindung, welche auch über einen eigenen Port erfolgen kann. Im Folgenden möchte ich beide Ansätze kurz vorstellen und erläutern. Gerade bei der TCP Variante bin ich selbst auf einige Probleme gestoßen, bis diese wie gewünscht funktionierte.

read more ...
Share:

Datum und Zeit via NTP auf Arduino Yún aktualisieren

inkl. Aktualisierung bei jedem Systemstart

Der Arduino Yún besitzt von Haus aus die Möglichkeit die aktuelle Uhrzeit und das Datum via NTP abzugleichen. Das funktioniert eigentlich auch ganz gut. Nur leider läuft das Update nur sehr unregelmäßig.

Wenn man den Yún eine gewisse Zeit von der Stromversorgung trennt verliert er das Datum und die Zeit. Beim Start wird nicht immer direkt die aktuelle Zeit angefragt. Mit einem einfachen Befehl in einem Startskript kann man den Yun aber dazu bewegen, dieses möglichst schnell nach dem Start zu erledigen.

Hierzu muss nur mit einem Editor wie z.B. vi die Datei /etc/rc.local bearbeitet werden. Fügt man die folgende Zeile dort ein, wird bei jedem Systemstart die aktuelle Zeit vom angegebenen NTP Server abgefragt. So hat man auch direkt nach dem Start immer korrekte Zeiten und Daten zur Verfügung.

ntpd -qn -p 0.openwrt.pool.ntp.org
Share:

Arduino Yún mountet Ordner von SD Karte automatisch

Ein eher kleines, aber sehr nützliches Feature bringt der Arduino Yun von Haus aus mit. Bestimmte Ordnerstrukturen auf der SD Karte werden automatisch im System von Linino gemountet. Ohne weiteren Konfigurationsaufwand bekommt man so sehr schnell Zugriff an den wichtigsten Stellen. Bis jetzt weiß ich von zwei Ordnern die automatisch erkannt werden:

SD Ordner           gemountet unter
/arduino            /mnt/sd bzw. /mnt/sda1
/arduino/www        /www/sd
read more ...
Share:

Automatisch Bilder mit Webcam an Arduino Yún aufnehmen

Nachdem ich mein Problem mit dem Startskript behoben hatte konnte ich auch den eigentlichen Zweck endlich umsetzen. Mit dem Start des Yún sollte auch eine Webcam direkt starten Bilder aufzunehmen und diese auf der SD Karte speichern. Das Ganze soll durchgehend passieren, alle drei Sekunden ein neues Bild.

Nach etwas Suche im Internet fand ich verschiedene Lösungen die mehr oder weniger performant waren. Die beste Idee kam meiner Meinung nach von dem Blogger Luca, der selber ein gutes Tutorial zu dem Thema verfasst hat. Bei mir traten aber ein paar Eigenheiten auf, weshalb ich sein Tutorial gerne etwas erweitern möchte.

read more ...
Share:

Skript beim Start von Arduino Yún ausführen

funktioniert mit allen Linino Linux Distributionen

Für ein Projekt beschäftige ich mich aktuell mit dem Arduino Yún. Anders als die anderen Arduinos kommt das Yún mit der Linux-Distribution Linino daher. Diese bietet mit LuCi gleich eine passende Verwaltungsoberfläche für den Browser basierend auf OpenWRT.

Eines der ersten Dinge die ich für mein Vorhaben brauchte war es, ein Skript immer direkt nach dem Systemstart laufen zu lassen. Bloß was ist der korrekte Weg mit dem Mini-Linux und dem Yún? Nun, ich weiß es nicht. Die für mich am praktikabelsten scheinende Lösung möchte ich aber hier für mich und alle interessierten festhalten.

Da es über die Weboberfläche einen Editor für crontab gibt hatte ich mich anfangs entschiedenen dies zu nutzen, um mein Skript nach dem Start/Reboot auszuführen. Aber das Yún bzw. Linino unterstützt das @reboot Attribut von Crontab nicht. Also ist dies leider keine Option, auch wenn man damit einfach seine Skripte verwalten könnte. Aber es gibt andere Wege, vielleicht nicht ganz so praktisch, führen aber zum Ziel.

read more ...
Share: