Schlagwort-Archive: PHP

Mehr Wetter

Ach ja… Feiertag… Endlich etwas Zeit zum Basteln. Heutiges Ziel war ein SHT11, ein Sensor, welcher mir in Zukunkt neben der bereits vorhendenen Temperatur auch die relative Luftfeuchte liefern soll. Hardwareseitig war das SMD-Gehäuse für mich als Groblöter ein Alptraum, aber mit etwas Geduld und einem guten Klecks Heißkleber sollte das ganze fürs erst halten. Softwareseitig bin ich, wie bei den meisten Problemen, bei Mikrocontroller.net schnell fündig geworden. Zwar musste der Code für meinen Mega8 noch etwas angepasst werden (dieser nutzt andere Registernamen und -größen für RS232), aber der Grundcode lief, nach ein paar Tritten gegen den MAX232, einwandfrei. Auf dem PC läuft wie immer ein PHP-Script, welches die Daten entgegen nimmt und in eine RRD verfrachtet. Das ebenfalls in PHP realisierte Frontent bedient sich zudem den Formeln von Wettermail.de und berechnet so aus Temperatur und Luftfeuchte einige Nährungswerte für Taupunkt sowie die Menge des Wassers in Gramm pro m³ Luft – und weils gerade so lustig war darf das Frontend auch noch Datum, Zeit, Sonnenaufgang, Sonnenuntergang und Sonnenhöchststand berechnen.

Jetzt muss ich nurnoch einen passenden Standort für das Gebilde finden – Werte von meinem Schreibtisch nutzen mir nicht all zu viel. Zwar habe ich bereits einen Temperatursensor außen, aber der Befindet sich auf der Südseite des Hauses, was man deutlich an den Temperatur-Peaks gegen 11-12h sehen kann. Naja, bei einer nötigen Datenrate von 8 Byte pro Sekunde sollte die Buslänge schonmal kein Problem darstellen.

90479052

Wir bauen ein Netzteil…

Wie schon geschrieben habe ich mir das DDC-Set von tuxgraphics schicken lassen. Inzwischen steht das ganze mehr oder weniger fertig vor mir und hat seinen ersten Test hinter sich: Mit USB-Buchse ausgestattet durfte sich die Bauteilsammlung als Handylader versuchen. Mein Akku ist voll, das Handy lebt noch und die Temperaturen der Kühlkörper waren ganz erträglich.

8452

An der verwendeten I2C-Kommunikation habe ich jedoch noch einiges auszusetzen:

  • I2C mit dem Rechner zu sprechen mag zwar den Pegelwandler einsparen, aber anscheinend funktioniert die Idee mit der I2C-Emulation auf den Statusleitungen der seriellen Schnittstelle nicht ganz so gut – sowohl USB->RS232-Adaper als auch mein Laptop konnten nicht die erforderlichen Spannungen erreichen, erst mein normaler Rechner war in der Lage mit dem Chip zu sprechen.
  • Die Kommunikationsgeschwindigkeit weit ab von brauchbar – fast eine Sekunde pro Befehl/Abfrage lassen keine richtige „Echtzeitanzeige“ zu.
  • Die eingestellten Limits lassen sich nicht über I2C abfragen -auch keine gute Basis für GUIs – das sollte sich jedoch recht einfach machen lassen.

Auch sonst habe ich noch ein paar Ideen für die Firmware:

  • Maximal/Minimalwerte aufzeichnen
  • Das LCD wird derzeit anscheinend immer vollständig aktualisiert – führt bei mir z.T. zu gehörigem flackern.Hier sollten sich inkrementelle Updates machen lassen
  • Geht man über das Limit der Eingangsspannung hinaus wird die Ausgansspannung (logischerweise) instabil. In einem solchen Fall würde ich den Ausgang eher abschalten oder auf einen „sicheren“ Wert setzen.

Ansonsten scheinen Spannungen und das Stromstärkenlimit gut zu funktionieren. Glaubt man meinen Messgeräten liegt die Schaltung bei 5V (im Leerlauf) um 0,03V daneben, stichweise Proben bei Last sahen auch brauchbar aus. Verstaut werden soll das Ganze in dem Gehäuse eines alten PC-Netzteils. Kaltgerätebuchse, Netzschalter und Lüfter können auch hier gute Dienste verrichten, an der gegenüberliegenden Seite werden einige Kühlrippen für LCD und Tasten entfernt, am Ende kommen noch Buchsen für Messschnüre und eventuell einige Schalter hin. Da mir derzeit noch ein brauchbarer Trafo zur Versorgung der Schaltung fehlt ist noch nichts fest eingebaut.

8467

Obwohl die PC-Anbindung wie oben erwähnt imo nicht so gut gelungen ist habe ich mein PHP mal wieder missbraucht und konnte immerhin den Stromverbrauch meines Handys schön anzeigen, wobei die zeitliche Zuordnung fehlt.

8582

Multimedia Zimmerkontrolle die Erste

Endlich etwas Zeit zum Basteln. Derzeit ist meine Zimmersteuerung wieder an der Reihe. Bereits seit längerem sind viele Geräte über meinen Homeserver steuerbar – und damit auch z.B. über Icons an meinen Workstations, Telefon (asterisk), ssh, Fernbedienung (lirc) etc. allerdings fehlte mir bisher die Multimediakomponente.

Da ich Fernbedienungen bei einer solchen Funktionsanzahl eher suboptimal finde musste ein 15“ TFT dran glauben. Ausgestattet mit Touchscreen und 1024er Auflösung sollte er als Bildschirm des Mediacenters brauchbare Ergebnisse liefern. Bleibt nur die Frage nach der Software.

Ursprünglich wollte ich mit LinuxMCE bzw. MythTV ansehen, aber beide entsprechen nicht dem, was ich suche. LinuxMCE setzt defaultmäßig eigene Netze voraus – eins LAN, eins Multimedia. Nicht ganz das, was ich vor hatte. MythTV legt großen wert auf TV, aber weitere Funktionen sind eher bescheiden. Scheint, als ob ich selber etwas basteln muss.

Bild: http://adlersa.yotaweb.de/blog/wp-content/uploads/2008/03/bildschirmfoto.thumbnail.pngDa sich meine Kenntnisse rund um OpenGL & Co in Grenzen halten habe ich sie simpelste Methode gewählt: Firefox im Fullscreen. Mit etwas HTML, einem PHP Backend und Tonnen von Javascript lässt sich bereits ein simples UI erahnen. Datum und Uhrzeit sind Pflicht, den Bereich mit den Temperaturen werde ich noch mit weiteren Wetterinfos bestücken, über die Einträge Licht und Sound lassen sich die wichtigsten Systeme per Klick bzw. Touch ein- und ausschalten. Diese aktualisieren sich auch dynamisch, sodass z.B. nach Betätigung eines Lichtschalters die Anzeige aktualisiert wird.

Problematischer wird es natürlich bei den Multimediainhalten – hier ist HTML eigentlich die total falsche Sprache. Für Audio habe ich es erst einmal bei Amarok belassen – diesen Player habe ich auch auf meinen Desktops. Sammlung und Playlists lassen sich durch Drag’n’Drop bzw. ziehen auf dem Touchscreen recht komfortabel bedienen, die zahlreichen Metainfos wie Cover, Liedtexte und Bandinfos sind auch ganz praktisch. Lediglich eine Bildschirmtastatur wäre hier zur Suche wünschenswert, etwas simples für diesen Job konnte ich aber noch nicht finden.

Bei Podcasts stehe ich noch ganz am Anfang – zwar würde Miro hier funktionieren, da aber deren Datenbankdesign alle externe Zugriffe nahezu unmöglich macht werde ich hier wohl auch selber etwas basteln müssen. (Zur Erklärung: Ich nutze Podcasts auf 3 Rechnern und 2 Mobilgeräten – macht wenig Sinn auf allen einzel runterzuladen und die „Gesehen“-Markierungen per Hand zu synchronisieren.)

Video stellte ich mir einfach vor, aber leider machte mir die Hardware hier Probleme. Um unnötigen Stromverbrauch zu sparen sollte mein Server den Monitor beliefern – der Server ist immer in Betrieb und hat mit 4x550MHz und 4GB RAM eigentlich genug Rechenleistung um die gängigen Codecs zu decodieren. Woran ich nicht dachte war die Grafikkarte – ein Chip aus den 90ern mit mit paar MB RAM ohne Overlay-Support – sowas findet sich onboard. Zwar wäre eine neue PCI-Karte noch drin, aber derzeit habe ich keine zur Hand. Wie sich die Hardware anhört, so ist auch das Bild: Auf der Maximalauflösung von 1024×768 brachte mplayer nicht viele Bilder auf den Bildschirm. Nach etwas gebastel laufen nun aber fast alle Videos mit 720x576er Auflösung ruckelfrei – Software-Skalierung machts möglich. Und mein 720p HDTV-Logo könnte ich mir damit wohl auch verdienen. Wie auch immer – für die DVDs reichts.

Fehlen noch Metadaten – also alle DVDs mit IDs versehen, Titel in eine MySQL-DB gesteckt und dann das IMDB-Script von MythTV missbraucht – schon gibt’s auch Cover, Regisseur und als Gimick entsprechende USK/whatever-Zeichen.

Wie ich das ganze ins GUI bastel weiß ich noch nicht – bisher beschränkt sich die Video-Sektion auf eine „Coverparade“.

Zwischen Heiß und Kalt – mein Tempraturmesssystem

Endlich fertig – mein letzter rumfliegender ATMega 8 hat eine sinnvolle Aufgabe gefunden. Auf Basis des Sensormodul2 von S.Huehn werden 4 Dallas 1-Wire-Busse ausgelesen und per RS232 an meinen Homeserver weitergegeben. Im Gegensatz zum Original hat meine Version allerdings mehr Alarmeingänge und zusätzlich Alarmausgänge für die Ansteuerung eines Piezo-Alarmgebers. Dafür musste das LCD dran glauben. Was noch fehlt ist die Ausgabe auf TWI, denn die RS232-Anschlüsse am Server neigen sich langsam dem Ende zu. Die Auswertung des Servers läuft über ein (na, wer erräts?) PHP-Script in Verbindung mit einer RRD. Derzeit ist alles noch im Testbetrieb, aber scheint alles stabil zu laufen.

Bild: http://adlersa.yotaweb.de/blog/wp-content/uploads/2007/09/temp_sm.thumbnail.png