livebox:hah_hahnode:outputnode

This is an old revision of the document!


Output Node

The OutputNode sketch, and matching Lua class, exposes the digital ports 1-4 as I/O controllable xAPBSC endpoints. If not all ports are not being used they can be individually disabled by leaving them out of the endpoint definition or by setting their value to 0 (zero).

Snippet of configuration information needed in the jeenodeApplet.lua source. Here we are sending to an RF node configured as unit 7.

OutputNode = require("xap.outputnode")

local nodes = {
  [7]=OutputNode{instance="jeenode:attic",endpoints={p1=1,p2=1,p3=1,p4=1}}
}

So now we can simply use a xAPBSC.cmd class message to control these newly created endpoints. Here is an example of turning on JeeNode Port 1 from the above configuration.

xap-header
{
v=12
hop=1
uid=FF000F00
class=xAPBSC.cmd
source=dbzoo.livebox.demo
target=dbzoo.livebox.jeenode:attic.p1
}
output.state.1
{
id=*
state=on
}

This would result in the OutputNode lua code sending to xap-serial the following

xap-header
{
uid=FF00D800
source=dbzoo.livebox.Plugboard
hop=1
class=Serial.Comms
target=dbzoo.livebox.serial
v=12
}
Serial.Send
{
data=1,1,7 s
port=/dev/ttyUSB0
}

Controlling an OutputNode from the Joggler in this video we simply toggle 4x LEDs on/off.

HAH remote control of JeeNodes using a Joggler

This node provides the following endpoints (p1,p2,p3,p4) for example:

dbzoo.livebox.jeenode:attic.p1
dbzoo.livebox.jeenode:attic.p2
dbzoo.livebox.jeenode:attic.p3
dbzoo.livebox.jeenode:attic.p4

We can rename them like this to produce dbzoo.livebox.jeenode:attic.port1 etc..

local nodes = {
  [ID]=OutputNode{instance="jeenode:attic",endpoints={p1="port1",p2="port2",p3="port3",p4="port4"}}
}

Debugging

Flash the HAHCentral and Output nodes sketches, tethering each to your computer. Connect to each @ 57600 baud.

When powered on the following should be displayed

[HAHCentral.1]1 g212 @ 868Mhz
OK 8 0
[outputNode.1] i8 g212 @ 868Mhz
OUTPUT 0 0 0 0 0
  • livebox/hah_hahnode/outputnode.1422956842.txt.gz
  • Last modified: 2015/02/03 09:47
  • by brett