Sensordaten via UDP empfangen

Begonnen von Guest, 24 November 2012, 11:12:34

Vorheriges Thema - Nächstes Thema

Guest

Originally posted by: <email address deleted>

Mal eine Frage in die Runde,

ich möchte einen Arduino an FHEM anbinden. Dieser soll primär
Sensordaten an FHEM schicken.

Die bereits vorhandene Methode die Daten per HTTP abzufragen finde
ich nicht so toll, da sie hohe Latenzen und relativ hohe Last verursacht
und es eben eine Polling Logik ist. Kann man zwar auch umdrehen
aber das braucht alles viel Konfig Aufwand.

Jetzt kenne ich Protokolle wie EIB/IP oder DMX IP.

Diese Arbeiten alle mit UDP und das fände ich auch ganz sexy.

Am besten wäre es den Arduino die Sensordaten via UDP Multicast
schicken zu lassen und auf FHM Seite einen Listener so aehnlich wie
den eibd zu haben.

Damit ich das Rad nicht zwingend neu erfinden muss gibts da schon
was in der Richtung? Insbesondere die FHEM-Seite. Oder gibt es irgendeinen
Standard mit libs den man verwenden kann und von dem ich nichts weiss.

Gruss
      Ekkehard

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Hi, das wäre interessante Idee mit UDP. Nachdem es schon öfter Ansätze gab
eigene Sensoren an FHEM anzubinden und meist für die Datenübertragung
Ethernet verwendet werden soll (flexibles Funkprotokoll mit günstigen
Transceivern, großer Reichweite, Unterstützung von Arduino und einem
USB-Empfänger für FHEM ist mir noch nicht untergekommen)

Könnte man sich ja wirklich sparen das Rad neu zu verfinden und einmal
etwas definieren inkl. passendem FHEM-Modul, was dann Eigenentwicklungen
verwenden können. Ich bastle zB derzeit an einer Multi-Sensor/Aktor-Device:
https://groups.google.com/forum/?fromgroups=#!searchin/fhem-users/arduino/fhem-users/rDBV3ANdoUs/2n_THB82EGc.
Ähnlicher Ansatz auch hier:
https://groups.google.com/forum/#!msg/fhem-users/RPKxTsNccQ0/RwmVM2QSlZkJ

Auf Seite von FHEM müsste es ein Modul geben, dass 1. UDP-Server ist (
http://docstore.mik.ua/orelly/perl/cookbook/ch17_06.htm ) und 2. über TCP
Daten holen bzw. schalten kann.






2012/11/24 E. Burkon

> Mal eine Frage in die Runde,
>
> ich möchte einen Arduino an FHEM anbinden. Dieser soll primär
> Sensordaten an FHEM schicken.
>
> Die bereits vorhandene Methode die Daten per HTTP abzufragen finde
> ich nicht so toll, da sie hohe Latenzen und relativ hohe Last verursacht
> und es eben eine Polling Logik ist. Kann man zwar auch umdrehen
> aber das braucht alles viel Konfig Aufwand.
>
> Jetzt kenne ich Protokolle wie EIB/IP oder DMX IP.
>
> Diese Arbeiten alle mit UDP und das fände ich auch ganz sexy.
>
> Am besten wäre es den Arduino die Sensordaten via UDP Multicast
> schicken zu lassen und auf FHM Seite einen Listener so aehnlich wie
> den eibd zu haben.
>
> Damit ich das Rad nicht zwingend neu erfinden muss gibts da schon
> was in der Richtung? Insbesondere die FHEM-Seite. Oder gibt es irgendeinen
> Standard mit libs den man verwenden kann und von dem ich nichts weiss.
>
> Gruss
>      Ekkehard
>
> --
> To unsubscribe from this group, send email to
> fhem-users+unsubscribe@**googlegroups.com
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

startpunkt wäre sicher netio
http://www.fhemwiki.de/wiki/AVR-NET-IO#Funktionen_in_Verbindung_mit_FHEM


2012/11/25 Alexander Petrovic

> Hi, das wäre interessante Idee mit UDP. Nachdem es schon öfter Ansätze gab
> eigene Sensoren an FHEM anzubinden und meist für die Datenübertragung
> Ethernet verwendet werden soll (flexibles Funkprotokoll mit günstigen
> Transceivern, großer Reichweite, Unterstützung von Arduino und einem
> USB-Empfänger für FHEM ist mir noch nicht untergekommen)
>
> Könnte man sich ja wirklich sparen das Rad neu zu verfinden und einmal
> etwas definieren inkl. passendem FHEM-Modul, was dann Eigenentwicklungen
> verwenden können. Ich bastle zB derzeit an einer Multi-Sensor/Aktor-Device:
> https://groups.google.com/forum/?fromgroups=#!searchin/fhem-users/arduino/fhem-users/rDBV3ANdoUs/2n_THB82EGc. Ähnlicher Ansatz auch hier:
> https://groups.google.com/forum/#!msg/fhem-users/RPKxTsNccQ0/RwmVM2QSlZkJ
>
> Auf Seite von FHEM müsste es ein Modul geben, dass 1. UDP-Server ist (
> http://docstore.mik.ua/orelly/perl/cookbook/ch17_06.htm ) und 2. über TCP
> Daten holen bzw. schalten kann.
>
>
>
>
>
>
> 2012/11/24 E. Burkon
>
> Mal eine Frage in die Runde,
>>
>> ich möchte einen Arduino an FHEM anbinden. Dieser soll primär
>> Sensordaten an FHEM schicken.
>>
>> Die bereits vorhandene Methode die Daten per HTTP abzufragen finde
>> ich nicht so toll, da sie hohe Latenzen und relativ hohe Last verursacht
>> und es eben eine Polling Logik ist. Kann man zwar auch umdrehen
>> aber das braucht alles viel Konfig Aufwand.
>>
>> Jetzt kenne ich Protokolle wie EIB/IP oder DMX IP.
>>
>> Diese Arbeiten alle mit UDP und das fände ich auch ganz sexy.
>>
>> Am besten wäre es den Arduino die Sensordaten via UDP Multicast
>> schicken zu lassen und auf FHM Seite einen Listener so aehnlich wie
>> den eibd zu haben.
>>
>> Damit ich das Rad nicht zwingend neu erfinden muss gibts da schon
>> was in der Richtung? Insbesondere die FHEM-Seite. Oder gibt es irgendeinen
>> Standard mit libs den man verwenden kann und von dem ich nichts weiss.
>>
>> Gruss
>>      Ekkehard
>>
>> --
>> To unsubscribe from this group, send email to
>> fhem-users+unsubscribe@**googlegroups.com
>>
>
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Servus,

Wenn ich mir das so ansehe ist das zwar eleganter gelöst als es über
HTTP zu pollen aber FHEM muss
sich um den Aufbau der TCP Session kümmern und die Kommandos abfragen usw...

Meine Idee wäre es analog zum eibd aufzubauen. Ein EIB Router schickt
die vom Bus empfangenen Daten
als UDP Datagramme an eine Multicast Adresse. Der eibd lausch an der
Multicastgruppe und empfängt die
Datagramme und setzt sie entsprechend um.

Vorteil wäre sehr wenig Konfigurationsaufwand Sender und Empfänger
müssen sich nicht "kennen".
Was mir noch nicht so klar ist wie die Kommunikation zwischen dem Daemon
und FHEM funktionieren soll.

Kann mir da mal jemand weiterhelfen.

Gruss
    Ekkehard

Am 25.11.2012 13:45, schrieb Alexander Petrovic:
> startpunkt wäre sicher netio
> http://www.fhemwiki.de/wiki/AVR-NET-IO#Funktionen_in_Verbindung_mit_FHEM
>
>
> 2012/11/25 Alexander Petrovic > >
>
>     Hi, das wäre interessante Idee mit UDP. Nachdem es schon öfter
>     Ansätze gab eigene Sensoren an FHEM anzubinden und meist für die
>     Datenübertragung Ethernet verwendet werden soll (flexibles
>     Funkprotokoll mit günstigen Transceivern, großer Reichweite,
>     Unterstützung von Arduino und einem USB-Empfänger für FHEM ist mir
>     noch nicht untergekommen)
>
>     Könnte man sich ja wirklich sparen das Rad neu zu verfinden und
>     einmal etwas definieren inkl. passendem FHEM-Modul, was dann
>     Eigenentwicklungen verwenden können. Ich bastle zB derzeit an
>     einer Multi-Sensor/Aktor-Device:
>     https://groups.google.com/forum/?fromgroups=#!searchin/fhem-users/arduino/fhem-users/rDBV3ANdoUs/2n_THB82EGc
>     <https://groups.google.com/forum/?fromgroups=#%21searchin/fhem-users/arduino/fhem-users/rDBV3ANdoUs/2n_THB82EGc>
>     . Ähnlicher Ansatz auch hier:
>     https://groups.google.com/forum/#!msg/fhem-users/RPKxTsNccQ0/RwmVM2QSlZkJ
>     <https://groups.google.com/forum/#%21msg/fhem-users/RPKxTsNccQ0/RwmVM2QSlZkJ>
>
>     Auf Seite von FHEM müsste es ein Modul geben, dass 1. UDP-Server
>     ist ( http://docstore.mik.ua/orelly/perl/cookbook/ch17_06.htm )
>     und 2. über TCP Daten holen bzw. schalten kann.
>
>
>
>
>
>
>     2012/11/24 E. Burkon >     >
>
>         Mal eine Frage in die Runde,
>
>         ich möchte einen Arduino an FHEM anbinden. Dieser soll primär
>         Sensordaten an FHEM schicken.
>
>         Die bereits vorhandene Methode die Daten per HTTP abzufragen finde
>         ich nicht so toll, da sie hohe Latenzen und relativ hohe Last
>         verursacht
>         und es eben eine Polling Logik ist. Kann man zwar auch umdrehen
>         aber das braucht alles viel Konfig Aufwand.
>
>         Jetzt kenne ich Protokolle wie EIB/IP oder DMX IP.
>
>         Diese Arbeiten alle mit UDP und das fände ich auch ganz sexy.
>
>         Am besten wäre es den Arduino die Sensordaten via UDP Multicast
>         schicken zu lassen und auf FHM Seite einen Listener so
>         aehnlich wie
>         den eibd zu haben.
>
>         Damit ich das Rad nicht zwingend neu erfinden muss gibts da schon
>         was in der Richtung? Insbesondere die FHEM-Seite. Oder gibt es
>         irgendeinen
>         Standard mit libs den man verwenden kann und von dem ich
>         nichts weiss.
>
>         Gruss
>              Ekkehard
>
>         --
>         To unsubscribe from this group, send email to
>         fhem-users+unsubscribe@googlegroups.com
>        
>
>
>
> --
> To unsubscribe from this group, send email to
> fhem-users+unsubscribe@googlegroups.com

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Matthias Gehre

                                                       

Kannst du nicht in FHEM einen UDP Socket aufmachen, und in MODULNAME_Read
davon lesen?

Wg. perl UDP Socket:
http://www.thegeekstuff.com/2010/07/perl-tcp-udp-socket-programming/
Für Multicast braucht man mglw. IO::Socket::Multicast (?)

Wg. lesen in MODULNAME_Read:
Das macht z.B. das MAXLAN Modul so, nur eben von einer TCP Verbindung.


Am 27. November 2012 22:27 schrieb E. Burkon :
>
> Servus,
>
> Wenn ich mir das so ansehe ist das zwar eleganter gelöst als es über HTTP
zu pollen aber FHEM muss
> sich um den Aufbau der TCP Session kümmern und die Kommandos abfragen
usw...
>
> Meine Idee wäre es analog zum eibd aufzubauen. Ein EIB Router schickt die
vom Bus empfangenen Daten
> als UDP Datagramme an eine Multicast Adresse. Der eibd lausch an der
Multicastgruppe und empfängt die
> Datagramme und setzt sie entsprechend um.
>
> Vorteil wäre sehr wenig Konfigurationsaufwand Sender und Empfänger müssen
sich nicht "kennen".
> Was mir noch nicht so klar ist wie die Kommunikation zwischen dem Daemon
und FHEM funktionieren soll.
>
> Kann mir da mal jemand weiterhelfen.
>
> Gruss
>    Ekkehard
>
> Am 25.11.2012 13:45, schrieb Alexander Petrovic:
>
> startpunkt wäre sicher netio
http://www.fhemwiki.de/wiki/AVR-NET-IO#Funktionen_in_Verbindung_mit_FHEM
>
>
> 2012/11/25 Alexander Petrovic
>>
>> Hi, das wäre interessante Idee mit UDP. Nachdem es schon öfter Ansätze
gab eigene Sensoren an FHEM anzubinden und meist für die Datenübertragung
Ethernet verwendet werden soll (flexibles Funkprotokoll mit günstigen
Transceivern, großer Reichweite, Unterstützung von Arduino und einem
USB-Empfänger für FHEM ist mir noch nicht untergekommen)
>>
>> Könnte man sich ja wirklich sparen das Rad neu zu verfinden und einmal
etwas definieren inkl. passendem FHEM-Modul, was dann Eigenentwicklungen
verwenden können. Ich bastle zB derzeit an einer Multi-Sensor/Aktor-Device:
https://groups.google.com/forum/?fromgroups=#!searchin/fhem-users/arduino/fhem-users/rDBV3ANdoUs/2n_THB82EGc.
Ähnlicher Ansatz auch hier:
https://groups.google.com/forum/#!msg/fhem-users/RPKxTsNccQ0/RwmVM2QSlZkJ
>>
>> Auf Seite von FHEM müsste es ein Modul geben, dass 1. UDP-Server ist (
http://docstore.mik.ua/orelly/perl/cookbook/ch17_06.htm ) und 2. über TCP
Daten holen bzw. schalten kann.
>>
>>
>>
>>
>>
>>
>> 2012/11/24 E. Burkon
>>
>>> Mal eine Frage in die Runde,
>>>
>>> ich möchte einen Arduino an FHEM anbinden. Dieser soll primär
>>> Sensordaten an FHEM schicken.
>>>
>>> Die bereits vorhandene Methode die Daten per HTTP abzufragen finde
>>> ich nicht so toll, da sie hohe Latenzen und relativ hohe Last verursacht
>>> und es eben eine Polling Logik ist. Kann man zwar auch umdrehen
>>> aber das braucht alles viel Konfig Aufwand.
>>>
>>> Jetzt kenne ich Protokolle wie EIB/IP oder DMX IP.
>>>
>>> Diese Arbeiten alle mit UDP und das fände ich auch ganz sexy.
>>>
>>> Am besten wäre es den Arduino die Sensordaten via UDP Multicast
>>> schicken zu lassen und auf FHM Seite einen Listener so aehnlich wie
>>> den eibd zu haben.
>>>
>>> Damit ich das Rad nicht zwingend neu erfinden muss gibts da schon
>>> was in der Richtung? Insbesondere die FHEM-Seite. Oder gibt es
irgendeinen
>>> Standard mit libs den man verwenden kann und von dem ich nichts weiss.
>>>
>>> Gruss
>>>      Ekkehard
>>>
>>> --
>>> To unsubscribe from this group, send email to
>>> fhem-users+unsubscribe@googlegroups.com
>>
>>
>
> --
> To unsubscribe from this group, send email to
> fhem-users+unsubscribe@googlegroups.com
>
>
> --
> To unsubscribe from this group, send email to
> fhem-users+unsubscribe@googlegroups.com

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Am 25.11.2012 13:44, schrieb Alexander Petrovic:
> Hi, das wäre interessante Idee mit UDP. Nachdem es schon öfter Ansätze
> gab eigene Sensoren an FHEM anzubinden und meist für die
> Datenübertragung Ethernet verwendet werden soll (flexibles Funkprotokoll
> mit günstigen Transceivern, großer Reichweite, Unterstützung von Arduino
> und einem USB-Empfänger für FHEM ist mir noch nicht untergekommen)
>
> Auf Seite von FHEM müsste es ein Modul geben, dass 1. UDP-Server ist (
> http://docstore.mik.ua/orelly/perl/cookbook/ch17_06.htm ) und 2. über
> TCP Daten holen bzw. schalten kann.

Ich hatte mir mal für mich selbst aufgeschrieben mir ZeroMQ anzuschauen.
In anderen Projekten setze ich es bereits ein, allerdings noch nicht
unter fhem und perl.

Gruß
Florian

--
Florian Frank - www.ffrank.net

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

tostmann

                                                 

Am 28.11.2012 um 10:18 schrieb Florian Frank:

>  ZeroMQ anzuschauen

Na das ist eine gute Idee. Da sehe ich viel Potential ...

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com