Hallo,
ich habe seit etwa einem Jahr alle meine Rauchmelder vernetzt. Dazu habe ich alle Rauchmelder mit einem RFM22 und ATMEGA382 ausgestattet und ein eigenes sehr abgespecktes bidirektionales Protokoll entworfen. Die Rauchmelder senden nun einmal pro Stunde ihren Status an die Zentrale. Die Zentrale besteht aus einem arduino yun mit Notstromakku. Der ATMEGA32u4 des yun übernimmt nun das ständige Abhören und Bestätigen der gesendeten Botschaften sowie das versenden von SMS, wenn einer der Rauchmelder Alarm gibt. Das Versenden der SMS erfolgt über ein TC35-Modul vom 32u4. Lediglich die Bereitstellung einer Webpage wird durch den Linux-Rechner des arduino yun bewerkstelligt. Dazu nutze ich jedoch eine asynchrone Kommunikation zwischen 32u4 Rechner und Linux mittels des Verfahrens beschrieben von Tavendo-Autobahn. Damit kann Linux ruhig länger benötigen, der 32u4 Prozessor muss nicht auf Linux warten. Ich schaffe damit sehr kurze Antwortzeiten an die Rauchmelder als Acknowledge. Ein Kommunikationsblock von Rauchmelder zur Zentrale inklusive Bestätigung dauer nur etwa 3 Millisekunden.
So und jetzt zu meiner Frage:
Auf Linux am arduino yun habe ich derzeit ein pythonscript (2.7) laufen, dass den Inhalt der seriellen Kommunikation dem Webserver zur Verfügung stellt (empfangen per event, senden per rpc). Nun habe ich FHEM entdeckt und ohnedies einen raspberry pi 2 für eine owncloud-Anwendung am laufen. Mein Wunsch wäre nun am arduino yun das pythonscript so zu erweitern, dass ich Variable (zB.: der Inhalt der seriellen Kommunikation) über WLAN (UDP/TCP?) an den raspberry bidirektional kommuniziere und durch FHEM mittels perlscript auswerte.
Hinweis:
Arduino Yun befindet sich zentral im Erdgeschoss (wegen oOptimierung Funkstrecken) und raspberry befindet sich im Obergeschoss neben dem Router. Arduino Yun ist per WLAN mit dem Router verbunden, der raspberry per Ethernetkabel.
Kann mir jemand Hinweise geben, wie man diese Kommunikation bewerkstelligt?
Habe jetzt mal eine Möglichkeit in Python gefunden per socket-Funktionalität die Daten von einem Rechner zum anderen zu übertragen, kämpfe aber noch mit der Firewall