Benutzer-Werkzeuge

Webseiten-Werkzeuge


friedhof:funksteckdosen

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
funksteckdosen-hack [2011-05-09 04:25] – TIAkhLSvgT ::ffff:212.51.207.126friedhof:funksteckdosen [2017-06-15 17:12] (aktuell) – ↷ Seite von funksteckdosen-hack nach friedhof:funksteckdosen verschoben und umbenannt rixx
Zeile 1: Zeile 1:
-10dWEc  <a href="http://hxistmrhmaml.com/">hxistmrhmaml</a>+====== Funksteckdosen-Hack ====== 
 +{{tag>project hardware rc electronics}} 
 + 
 +===== Übersicht ===== 
 + 
 +Funksteckdosen aus dem Baumarkt per Mikrocontroller ansteuern. 
 + 
 + 
 + 
 + 
 +==== Benutzung ==== 
 + 
 +Seit dem 8.12.2010 ist das Projekt endlich auf dem Shackserver installiert. Es ist erreichbar unter 
 +[[http://rfswitch.shack]]. 
 + 
 +=== Webinterface === 
 +{{ http://img695.imageshack.us/img695/5373/pcc.png?240}} 
 +Auf der Seite sieht man alle Funksteckdosen mit Status (ON/OFF), ID und Beschreibung. 
 +Durch Klicken auf ON/OFF wechselt man den aktuellen Schaltzustand der entsprechenden Steckdose. 
 +That's it. 
 + 
 +=== Steckdosen replatzieren === 
 + 
 +Sollte die Position/Anwendung einer Steckdose verändert werden, bitte auch die Beschreibung, die im Webinterface angezeigt wird ändern. Dies geschieht im Moment noch manuell, also einfach mir bescheid sagen. Ich werde aber im Webinterface die Möglichkeit einbauen, die Beschreibungen zu ändern. 
 + 
 +=== XMLRPC/Interfaces === 
 +Coming soon... 
 + 
 +==== Technische Daten ==== 
 +  * Funksteckdosen 
 +    * Muss ich noch genauer rausfinden :) 
 +  * Controller 
 +    * atMega8 
 +    * 32 Lines of C-code + uart library 
 +    * 1338 Bytes in flash 
 +  * USB-RS232-Wandler 
 +    * [[http://www.conrad.de/ce/de/product/197257/USB-TO-RS232-CONVERTER-IC|Modul mit FTDI vom Conrad]] 
 +  * Daemon 
 +    * Python 
 +    * libraries: socket, python-serial, threading 
 +    * 3 classes 
 +    * 5 Methods 
 +    * Thread 1 
 +      * Communication with clients 
 +      * Accepts sockets 
 +      * TODO: XMLRPC "put" 
 +    * Thread 2 
 +      * State-Management 
 +        * Checks for changes made by Thread 1 
 +        * Applies them 
 +        * Notifies Thread 3 
 +      * Communication with microcontroller (serial interface) 
 +      * Refresh every 60 seconds 
 +    * Thread 3 
 +      * Processes the data for external interfaces 
 +      * html-output for the webinterface 
 +      * TODO: XMLRPC "get" 
 +  * Webserver 
 +    * Python-Twisted, module "web" 
 +    * index.html - plain html with some JS with some AJAX 
 +    * set.rpy - establishes connection to "Thread 1" 
 +    * status.html - written by "Thread 3" 
 + 
 +==== TODO ==== 
 +=== Software === 
 +  * XMLRPC 
 +  * andere interfaces 
 +  * Beschreibung ändern im Webinterface 
 +  * Gruppen 
 + 
 +=== Hardware === 
 +  * PS stabilisieren/checken 
 +  * Längeres USB-Kabel, sinnvollere Platzierung 
 +  * Mehr blinken! 
 + 
 + 
 + 
 +===== Entwicklung ===== 
 + 
 +==== Der Plan ==== 
 + 
 +Per Schieberegister und Optokoppler alle 4 Kanäle mit je 3 Steckdosen durch Simulieren der Tastendrücke an den Fernbedienungen ansteuern. **FAIL** 
 + 
 +Nach einiger weiterer Zeit an reverse-engineering der Fernbedienung entstand dann schließlich die 
 +__Lösung für den Erfolg:__ 
 + 
 +Der Kanal in der Fernbedienung wird durch eine einfache Brücke festgelegt. Obwohl eine 12V-Batterie eingelegt wird funktioniert die Logik mit nur 5V - direkt ATmega kompatibel --keine Optokoppler. 
 +4 Pins für die Kanalwahl, 3 Pins für die Steckdosenwahl, 2 pins für an/aus, 1 pin für GND --> 10 Drähte zur Fernbedienung. 
 + 
 +**Wichtig:** Krasserweise unterscheidet der Chip auf der Fernbedienung zwischen High, Low UND tri-state (also kein Kontakt). Man muss mit dem Microcontroller also den Ausgang auf tri-state setzen, anstatt ihn auf low zu ziehen. Laut Datenblatt sind auf diese Weise 3<sup>10</sup= 59049 Adressen anwählbar, da aber irgendeine komische zusatzbeschaltung nur 7 Adresspins zulässt haben wir maximal 3<sup>7</sup> = 2187 Adressen effektiv zur Verfügung. Vorteil: An den Empfängern lassen sich die Brücken auch umlöten, bei Bedarf auch auf Masse um ebenfalls die trinäre Adressierung zu nutzen. 
 + 
 +{{http://img217.imageshack.us/img217/5084/img4736h.jpg?300}} 
 +{{http://img249.imageshack.us/img249/4015/img4741v.jpg?300}} 
 + 
 +==== Credits ==== 
 + 
 +  * **Martin** für die Idee und die Hardware 
 +  * **Robert** für den Hack, und die Software 
 +  * **Chris** für technischen Beistand, vServer-installation (jaja, **Armin** auch...) 
 +  * **Deine Mutter** für die Brotbox 
friedhof/funksteckdosen.1304907937.txt.gz · Zuletzt geändert: 2011-05-09 04:25 von ::ffff:212.51.207.126