engelhuber.de //blog

Gehirnfürze aus der Sicht eines Nerds

Pollin AVR-NET-IO mit E2000 Firmware über PHP ansteuern

| 1 Kommentar

AVR-NET-IO_E2000_PHP
Ich wollte mich schon seit längerer Zeit mal mit diesen Mini-PCs ala Arduino oder Raspberry PI und Hausautomatisierung beschäftigen, aber irgend wie fehlte mir immer die Zeit. Vor einiger Zeit kam aber dann mein Onkel auf mich zu und bat mich um Hilfe. Er hat eine Heizungssteuerung über ein Pollin AVR-NET-IO mit der Firmware von Elektronik2000 realisiert und möchte nun in bestimmten Zyklen die Vor- und Rücklauftemperatur der Heizung auslesen und speichern.

Irgendwie kam mir in den Sinn das ganze in PHP zu programmieren. Gesagt getan, das Ergebnis gibt es hier zum Download -> E2000_PHP_1.0.rar

Das Script im Detail

Die Ansteuerung erfolgt über Telnet. Da PHP von Haus aus aber keine direkte Telnet Verbindung unterstützt, habe ich mich der fertigen Klasse PHPTelnet von Antone Roundy bedient und diese etwas angepasst, da nur der Standard Telnet Port (23) möglich war.

Das Script baut also eine Telnet Verbindung zu dem in der config.inc.php hinterlegten AVR-NET-IO Board auf und setzt den Befehl „P0“ ab, welcher alle Werte der ersten Seite im Webinterface des AVR auflistet. (die einzelnen Befehle sind auf der E2000 Seite dokumentiert)
Als Antwort erhält man einen String zurück der in etwa so aussieht: P0:026701B800E60104000000000000

Die einzelnen Werte sind jeweils 4 Zeichen lang und hexadezimal codiert. Der erste Wert im o.g. Beispiel entspricht also hex 0267 -> dez 615

Als nächstes werden die Werte von hexadezimal in dezimal umgerechnet und mit Datum und Uhrzeit als CSV in eine .txt-Datei geschrieben und können so später z.B. mit Excel ausgewertet werden.

Das ganze ist natürlich nur ein Beispiel und muss ja nach Anwendungsfall individuell angepasst werden. Ich habe aber denke ich alles recht gut dokumentiert, so dass es selbst PHP Laien kein Problem haben sollten das Script anzupassen und zu erweitern.

Das Script kann nun automatisiert aufgerufen werden, oder als EXE mittels Bamcompile kompiliert und über die „Aufgabenplanung“ regelmäßig aufgerufen werden. (PS: super Tool, kannte ich bisher auch noch nicht. Detailliertere Anleitung folgt.)

Solltet ihr Probleme oder Anregungen haben, hinterlasst ein Kommentar.

Autor: Engelhuber

Wenn dir der Post hilfreich war bzw. er dir gefallen hat, würde ich mich über ein Kommentar freuen. Natürlich ist auch negative Kritik gerne gesehen ;) Du findest mich auch auf Google+...

Ein Kommentar

  1. Hallo,
    schöne Beschreibung zu diesem Thema. Habe mir das Skript von dir mal angesehen und finde es gut gelöst. Finde es immer schön Anwendungsbeispiele unserer Hard- und Software zu sehen.

    Vielleicht ist für dich auch intressant, dass demnächst eine neue Version von E2000 herauskommen wird. Mit E2000-PLUS kann man solche Werte direkt mit loggen lassen.

    mfg
    Tropby
    E2000-Team

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.