hi All,
I've been working on improving both the Aiko-Gateway (Lua) and Aiko-
Node (Arduino C/C++) software ...
http://github.com/geekscape/Aiko/tree/master/aiko_gateway
http://github.com/geekscape/Aiko/tree/master/aiko_node
... and when this is complete, the release version will be called V0.2
(will use same version numbers on Gateway and Node, so that we know
what works together).
The major push has been to get a basic level of completeness, in terms
of hardware support, networking (particularly ZigBee and WiFi),
configuration and generally making it robust. Right now, a lot of
code has been added and it now needs to be consolidated, cleaned-up
and slimmed down.
Please feel free to try it out ... and provide feed-back. You'll need
to check-out and update both the Aiko-Gateway Lua code and Aiko-Node
Arduino firmware ... and don't forget to change /etc/ser2net.conf
"2000:raw:0:/dev/tts/0:38400".
If you have a second (external) Arduino ... you can connect the ZigBee
explorer (break-out) board to it ... and have both the internal
Arduino Pro (inside the Aiko-Gateway) plus the external Arduino acting
as a small ZigBee network. I've had up-to four Aiko-Nodes
participating, so far.
Some recent changes ...
- Separate Aiko-Gateway configuration into a separate file ...
- Updating "aiko_gateway.lua" won't trash your configuration
(gateway name, site_token, etc).
- Updated Aiko-Node to support Aiko-Gateway Arduino and devices (LCD,
TouchScreen, ...).
- Support for Aiko-Node in the Aiko-Gateway, Pebble and Stone hardware
versions.
- Official LCA Pebble shield supported, e.g. LCD display without 4094
8-bit shift reg.
- Updated Aiko-Node message parser to be much better and handle
multiple nodes.
- Aiko-Gateway now receives messages from other Aiko-Nodes over
ZigBee.
- Default baud rate is now 38,400 (update ser2net configuration file).
- Forwards commands send by web service to just the directly connected
Aiko-Node ...
- Still working on pushing the commands out to the rest of the
ZigBee network.
- Replace confusing Aiko-Gateway serial "timeout" message with the
number of bytes received.
- Initial support for Amplus LED sign (will be migrated into Aiko-
Node).
- Initial support for Twitter search delivered to the LED sign.
- Starting to use LuaRocks (desktop / laptop only).
- If your Aiko-Node has a speaker, a simple tune will be played when
the relay is activated.
Work still in progress ...
- Put Aiko-Node configuration into EEPROM.
- Provide different update rates for LCD screen, local network update
and remote (web service) updates.
- Aiko-Gateway reconnect to ser2net port 2000 after failure.
- Push messages from Aiko-Gateway out to all Aiko-Nodes on the ZigBee
network.
- Make the Aiko-Gateway code more modular, less of a single monolithic
file.
- Make the Aiko-Node code more modular, less of a single monolithic
file.
- Integrate Ethernet and WiFi transport layers into Aiko-Gateway and
Aiko-Node.
- Documentation on how to run the Aiko-Gateway (Lua) on your desktop /
laptop.
- Aiko-Gateway / LuCI web server integration (just some initial
steps).
The Pebble PCB (Arduino shield and yet another Aiko-Node) has been
assembled and tested okay (h/w and s/w). The next step is to get some
number of them manufactured for LCA and have some left over for other
interested people.
I've also thought through the interaction between the Aiko-Gateway and
the internal Aiko-Node, in relation to how the LCD screen and
TouchPanel on the Aiko-Node will be both updated by the Arduino (for
responsiveness) and updated by the Aiko-Gateway (for flexibility and
greater functionality). At a low level, the Aiko-Gateway and internal
Aiko-Node are clearly two separate (and quite different) devices.
However, at an end-user level (and perhaps from the perspective of
interaction via an external web service) ... they are just a single
device, in the same box. More on that ... later.
cheers andyg (@geekscape)