livebox:hah_hahnode:nanode_gateway

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
livebox:hah_hahnode:nanode_gateway [2013/06/02 05:21] brettlivebox:hah_hahnode:nanode_gateway [2014/01/20 09:11] (current) – [Operation] brett
Line 1: Line 1:
 ====== Nanode Gateway ====== ====== Nanode Gateway ======
  
-{{ :livebox:hah_hahnode:dropshadownanode1.jpg}}+The Nanode is an RF enabled, and Ethernet enabled, AVR328P boards using the same development tools as the Arduino.  The RF chip is the same as that used the JeeNodes so this unit makes an ideal embedded gateway for automation.
  
-What this does is it accepts an RF packet and dump the same format xAP message onto the Ethernet as the [[livebox/xap_serial]] program would do.+They are available for purchase here: http://shop.nanode.eu/shop/nanodes/nanode-gateway/
  
-This one embedded device can replace the base jeenode + xap-serial running on the livebox.  The diagram below shows on the left the traditional livebox solution using a Base node to receive RF communication which is relayed to xap-serial and on the right how this can be done using just a Nanode.+{{:livebox:hah_hahnode:nanode_block.png|}} 
 + 
 +source: {{:livebox:hah_hahnode:rfgateway.zip|}} 
 +===== Architecture ===== 
 + 
 +How we are going to use this is to have it pretend to be an [[livebox/xap_serial]] device.  This way we don't need to constantly change its firmware when new Nodes are added or removed onto the network.  Nor do we need to change its firmware if new types of messages are introduced.  All this backend encoding/decoding will be taken care by our Lua scripting engine. 
 + 
 +This one embedded device can replace the base jeenode + xap-serial running on the livebox.  The diagram below shows on the left the traditional Livebox solution using a Base node to receive RF communication which is relayed to xap-serial and on the right how this can be done using just a Nanode.
  
 {{:livebox:hah_hahnode:nanodegateway.png|}} {{:livebox:hah_hahnode:nanodegateway.png|}}
  
-This device acts as a pseudo xap-serial service and will transmit a packet conforming to the xAP Serial Schema, however as its not been programmed to be a true xap-serial device it will only generate Serial.Received class messages.+It does this by acting as a pseudo xap-serial service, however it will only generate Serial.Received class messages (for now). 
 + 
 +===== Operation =====
  
-Once the firmware is flashed the only details that requires configuration are the NODE ID, Group and RF Frequency these must be done via the serial interface use to flash the device.  The firmware will obtain an IP address via DHCP.+Once the firmware is flashedthe only details that require configuration are the NODE ID, Group and RF Frequency. These must be done via the serial interface used to flash the device.  The firmware will obtain an IP address via DHCP.
  
-Once operational it will transmit onto the Ethernet a xAP heartbeat every minute to let you know its alive.+Once operationalit will transmit onto the Ethernet a xAP heartbeat every minute to let you know it'alive.
 <code> <code>
 xap-hbeat xap-hbeat
Line 27: Line 36:
 </code> </code>
  
-An RF packet that can be decoded will be emitted using the pseudo port /dev/ttyUSB0 this is to allow easier integration into the Livebox LUA plugboard backend.+An RF packet that can be decoded will be emitted using the pseudo port /dev/ttyUSB0 this is to allow easier integration into the Livebox Lua plugboard backend where the full decode of the data stream is performed.
 <code> <code>
 xap-header xap-header
Line 44: Line 53:
 </code> </code>
  
-Integration into the [[livebox/hah_hahnode#configuring_the_jeenodeappletlua|jeenodeApplet.lua]] require a minor change.+Integration into the [[livebox/hah_hahnode#configuring_the_jeenodeappletlua|jeenodeApplet.lua]] requires a minor change.
 <code> <code>
 function init() function init()
    monitor({ target="dbzoo.nanode.gateway", port="/dev/ttyUSB0" },    monitor({ target="dbzoo.nanode.gateway", port="/dev/ttyUSB0" },
-           { [2] = RoomNode{base="dbzoo.nanode.jeenode:2", endpoints={lobat=1,temp=1,light=1},ttl=900}, +           { [2] = RoomNode{deviceid="nanode",instance="jeenode:2", endpoints={lobat=1,temp=1,light=1},ttl=900}, 
-             [3] = RoomNode{base="dbzoo.nanode.jeenode:3", endpoints={lobat=1,temp=1,light=1},ttl=900}, +             [3] = RoomNode{deviceid="nanode",instance="jeenode:3", endpoints={lobat=1,temp=1,light=1},ttl=900}, 
-             [4] = RoomNode{base="dbzoo.nanode.jeenode:4", endpoints={lobat=1,temp=1,light=1},ttl=900}, +             [4] = RoomNode{deviceid="nanode", instance="jeenode:4", endpoints={lobat=1,temp=1,light=1},ttl=900}, 
-             [7] = RoomNode{base="dbzoo.nanode.jeenode:7", endpoints={lobat=1,temp=1,humi=1},ttl=900}+             [5] = RoomNode{deviceid="nanode", instance="jeenode:5", endpoints={temp=1,lobat=1,light=1,humi=0,moved=1}, ttl=900}, 
 +             [7] = RoomNode{deviceid="nanode", instance="jeenode:7", endpoints={lobat=1,temp=1,humi=1},ttl=1800},
            })            })
 end end
  • livebox/hah_hahnode/nanode_gateway.1370150519.txt.gz
  • Last modified: 2013/06/02 05:21
  • by brett