This page last changed on Nov 10, 2010 by mishoboss.

Hi, recently I have interests in 6loWPAN and I'm thinking of building some test modules. Unfortunately as I read these lossy networks can't handle TCP and therefore the idea is to use UDP. OpenRemote don't have UDP support so far, maybe you didn't thought it's necessary. However I think (and not only I) the 6loWPAN is gonna rule the world and if things don't change much, UDP will be the used protocol there.

que? UDP support is standard in java.

For us to "support" it means replicating the work marcus has done. The whole 2 classes. If you are not up to the task, let me know I can look into it.

What do you need? an IP address? a port? a payload | separated? support for it in designer? Everything but the last one is straightforward.

Posted by marcf at Nov 10, 2010 15:42

Sorry, I'm not a Java guy and didn't know that. It would be really nice if there is protocol option in Designer with all the corresponding fields for IP, port and command. Is OR ready to work with IPv6 out of the box or needs more work?

Posted by mishoboss at Nov 10, 2010 15:52

Let me look into it. At least one way send (connection less so I am not listening to a response) should be straightforward. Do you need 2 way?

Posted by marcf at Nov 10, 2010 15:58

Well, for starting point and tests one way is OK, but in long-term two-way communication is "must have" I think. At least as I understand what you mean, i.e. continuously listening to UDP port.

Don't do this now in a hurry and just for me. Better be done slow, but right.

I think next few months 6loWPAN will make a boom. The only bad thing is that there is no appropriate application protocol right now for low power and lossy networks. You can't use XML, RESTfull, SOAP or other similar beautiful but heavy protocols. Or you could, but it will be far from an optimal solution. There is a working group formed for application layer protocol standardization over 6loWPAN. So, I hope next few months things will change dramatically in that area. However a UDP support is needed for this or other application protocols to work.

Posted by mishoboss at Nov 10, 2010 16:33

I have quite a bit of the ByeByeStandby stuff at home - basically power sockets with a remote control... They also have an online controller that accepts UDP broadcast packets with a certain format.

All that would be needed to support these power sockets would be a protocol that could take 1 value (socket address) and send it a 1 or 0 (from memory send "D:1A01:E" to UDP broadcast will switch socket A01 on etc...)

You only get one way communication to the socket anyway - the controller will respond to messages, so at least you know there is one there.

It could be done with a generic UDP protocol:

  • Server: broadcast
  • Port: 53006 (from memory)
  • Message: "D:1A01:E"

I would be VERY interested in a UDP protocol that allowed this.

Posted by peteralm at Mar 13, 2011 10:10

Anyone still interested in UDP let me know; I have a working protocol for my connection manager branch of the controller that now supports UDP sending and works great for my Keene IR Anywhere modules.

Rich

Posted by kurrazyman at Apr 15, 2011 20:35

Quickly added this to the standard controller as well, I've added it to the telnet branch I created a while back: -

http://openremote.svn.sourceforge.net/svnroot/openremote/branches/feature/Controller_2_0_0_Alpha11_telnet/

Have tested it and works OK. Command format is below, unfortunately you'll have to manually enter this into your controller.xml as the modeller doesn't support it.

<command id="64" protocol="udp">
      <property name="ipAddress" value="192.168.1.64" />
      <property name="port" value="65432" />
      <property name="command" value="K 2622 2150 10BA 0213 063D 0213 0213 0213 063D 0213 0213 0213 0213 0213 063D 0213 0213 0213 063D 0213 0213 0213 063D 0213 0213 0213 063D 0213 063D 0213 0213 0213 063D 0213 0213 0213 0213 0213 063D 0213 0213 0213 0213 0213 063D 0213 0213 0213 0213 0213 0213 0213 063D 0213 0213 0213 063D 0213 063D 0213 0213 0213 063D 0213 063D 0213 063D 0213 2000" />
    </command>

Rich

Posted by kurrazyman at Apr 15, 2011 21:13
Document generated by Confluence on Jun 05, 2016 09:32