Addressing of downstream commands to aiko nodes.

2 views
Skip to first unread message

Luke Weston

unread,
Mar 25, 2010, 9:26:10 AM3/25/10
to Aiko distributed platform
I have an aiko-gateway router, which contains its own aiko-node
arduino and which also contains a non-standard modification that most
of the aiko-gateways don't have, a relay connected to that arduino.

I also have another pebble which is connected to the aiko-gateway via
the Zigbee link.

Both devices are connected to Smart Energy Groups, pushing their
sensor data up onto the web service.

Now, when I use the big button on SEG to change the relay state on the
pebble, it doesn't work - it changes the relay state on the gateway
only.

How do I get SEG to successfully switch the device that I tell it to
switch - but only the device I tell it to switch?

Every upstream expression of environmental sensor data coming from the
aiko-nodes into the gateway and up to a service such as SEG is tagged
with the aiko node name - so everything can keep track of what device
it originates from.

But when a downstream command - such as a relay flip - comes down from
the aiko-gateway, does it have any information identifying which of
the possible multitude of aiko-nodes connected to the Zigbee (or wired
serial) network is the intended recipient of that command?

Sam Sabey

unread,
Mar 25, 2010, 7:59:12 PM3/25/10
to aiko-p...@googlegroups.com
Over to you Andy ;)

There is an enhancement coming to the gateway to make that big button do it's thing moar betteror.

Sam.

> --
> You received this message because you are subscribed to the Google Groups "Aiko distributed platform" group.
> To post to this group, send email to aiko-p...@googlegroups.com.
> To unsubscribe from this group, send email to aiko-platfor...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/aiko-platform?hl=en.
>

andyg (geekscape)

unread,
Mar 25, 2010, 9:23:31 PM3/25/10
to Aiko distributed platform
hi Luke,

On Mar 26, 12:26 am, Luke Weston <reindeerfloti...@gmail.com> wrote:
> Now, when I use the big button on SEG to change the relay state on the
> pebble, it doesn't work - it changes the relay state on the gateway
> only.

This is a known limitation of Aiko-Node.

Most of the software is in place ...

- Node identification (on all messages)
- Downstream communication from the Internet (SEG) to Aiko-Gateway
- Aiko-Gateway forwards messages to the Aiko-Node (over the serial
connection)
- Aiko-Node does have a module for "bridging" serial communications
(in one direction)

What is missing ...
- Improving the serial communications bridge to be bi-directional
(running in the Aiko-Node connected to the Aiko-Gateway serial port)
- Ensuring that Aiko-Nodes only respond to messages specifically
addressed to them

What would be good ...
- Complete round-trip (event based) acknowledgment back to the
Internet (SEG) that the message has been handled
- Message queuing, buffering and re-tries in Aiko-Gateway, in case the
Internet connection is down ... or an Aiko-Node is disconnected or
powered down

I'll be working on these issues ... this weekend at the CCHS meeting.

> How do I get SEG to successfully switch the device that I tell it to
> switch - but only the device I tell it to switch?

Whilst SEG already supports sending messages to a specific Aiko-Node.
Once I've made the Aiko improvements (above), he may want to re-jig
SEG to take advantage of the new capability.

One interesting question is whether to consider the Aiko-Gateway with
built-in Arduino (another Aiko-Node) as one integrated system or as
two separate devices.

Currently, in software, they are implemented as two difference
devices.

However, from an end-user perspective ... they are definitely just one
device in a single case. For example, from SEG you may want to write
something to the LCD connected to the Aiko-Node in the Aiko-Gateway.
Now, that LCD is integrated into the Aiko-Gateway case ... so, it
certainly seems like we are sending a message to be displayed on the
Aiko-Gateway (and that's probably how it should appear to be from the
SEG web page). Same deal with input coming from the touch-panel
(should you want to interact with other devices or SEG remotely from
your Aiko-Gateway).

My current thoughts are that the Aiko-Gateway and Aiko-Node (in the
Aiko-Gateway) should be referred to by the same name, e.g. "fred", i.e
they are one system or combined device (I'm thinking that the Aiko-
Node may have an actual node id of "fred+" or some sort of
distinguishing thing). And, that when you send a command to the Aiko
node called "fred" that the Aiko-Gateway will attempt to handle the
command first ... and, if it doesn't have a handler for the command,
that it will then pass the command on to it's attached Aiko-Node.

> Every upstream expression of environmental sensor data coming from the
> aiko-nodes into the gateway and up to a service such as SEG is tagged
> with the aiko node name - so everything can keep track of what device
> it originates from.

Yes, that's correct.

> But when a downstream command - such as a relay flip - comes down from
> the aiko-gateway, does it have any information identifying which of
> the possible multitude of aiko-nodes connected to the Zigbee (or wired
> serial) network is the intended recipient of that command?

Yes, as mentioned above, all Aiko messages are prepended with the node
id, e.g. (node NODE_ID TIMESTAMP (COMMAND VALUE UNIT)) ... in both
directions.

So, the pieces are in place ... just need to finish it off (this
weekend).

cheers andyg (@geekscape)

Reply all
Reply to author
Forward
0 new messages