[ale] Z-Wave or ZigBee

Chris Fowler cfowler at outpostsentinel.com
Wed Aug 5 16:51:24 EDT 2015


----- Original Message -----

> From: "Alex Carver" <agcarver+ale at acarver.net>
> To: ale at ale.org
> Sent: Wednesday, August 5, 2015 10:29:10 AM
> Subject: Re: [ale] Z-Wave or ZigBee

> On 2015-08-05 06:06, Chris Fowler wrote:
> > ----- Original Message -----
> >
> >> From: "Alex Carver" <agcarver+ale at acarver.net>
> >> To: ale at ale.org
> >> Sent: Tuesday, August 4, 2015 8:08:09 PM
> >> Subject: Re: [ale] Z-Wave or ZigBee
> >
> >> Yep, same idea as the Spark Fun versions of the board. However,
> >> remember there's a TTL UART already on the IO header of the RasPi if you
> >> haven't used it already. You can wire that right to an XBee.
> >
> > I have plenty of Pis and BeagleBone Blacks. Okay, ZigBee is simply
> > architecture for IoT that can do automation. I had known about IoT, but I
> > am confusing ZigBee for only being for automation. Automation is just a
> > sample application of IoT. I found some outlet plugs on eBay that support
> > it.
> >
> > I like the idea of the ethernet gateway. The ZB devices can simply be on
> > their own subnet. Are there any support for this gateway architecture in
> > Linux, or am I restricted to a device like what Digi has created?
> >
> > Chris

> Yes, Zigbee is all about local networks for a variety of tasks not just
> home automation. You could put sensors, controls, or communication
> bridges in the Zigbee network (e.g. a very low speed wireless serial
> link between two devices). Since it is a mesh or star topology it is
> slow so the data frames are kept small. It's great for passing around
> tiny packets of data (a sensor reading, a switch command) and a little
> less for serial data but still possible (e.g. reprogramming settings in
> a microcontroller device like a thermostat)

> The gateway is pure TCP/IP so it's going to be OS agnostic. You talk to
> the gateway over its Ethernet port and the gateway connects to the
> Zigbee mesh on its RF port and provides you an in-road to the Zigbee
> network. Zigbee meshes are not normal networks so there's no subnet.
> It is based on 802.15.4 at Layer 1 (Zigbee is Layer 2 and above) so it
> is a MAC/serial number based mesh network, no IP addresses.

> If you use a dongle instead of the gateway you achieve the same goal,
> it's an inroad to the mesh network but in both cases it requires the
> assistance of the dongle or gateway which can act like a master node
> (the "Coordinator"). The Coordinator collects information about the
> state of the network (what nodes have advertised their presence, first
> hop to any particular node, etc.) It must run a specialized version of
> firmware to give it the coordinator status. The rest of the devices use
> use lower capability firmware (Full Function Device or Reduced Function
> Device) and learn what is around them and build up their own routing
> tables. An FFD can do a packet store and forward and can act as a
> middle node in the mesh but an RFD can only be an end node. RFDs use
> less power than FFDs because an RFD can sleep frequently. FFDs must be
> awake almost constantly to handle routing of packets between more
> distant nodes.

What would be the best way to experiment? Maybe get two dongles and then use two Raspberry Pis to communicate? Or, one dongle and an some Arduino goodies and write code for it to communicate? 

My next goal would be to control just one outlet. I guess I need to be careful about 'Pro' vs non-pro. Only stick to one type? 

The outlet control would go like this: 

SOAP on Pi2 -> SOAP on desktop -> USB dongle via some code (maybe I write this using APIs?) -> Outlet. 
Outlet says "I got it!" and that is reported back to the user interface as a return from the SOAP method. The Pi2 can't do the ZigBee because it will travel and move around. I have Pis and Pi2, and BBB so I could create a "gateway". Remove my desktop from the picture. Just write a SOAP interface on that device to interface with the ZigBee hardware. Then who knows where those nodes may be :) To expand X10 buttons on my interface I spend about 5 hours abstracting all that in JQuery/JS in the app. Now all I do to add a room, X10 outlet, etc is just add rows to a SQLite database on my Pi2. It then shows up in the web app. 

As long as I can do it in Linux via either a command line program or an API then I can code whatever it is I need to work. If it only worked in Windows then forget it. I'm not going through that trouble (yet). 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.ale.org/pipermail/ale/attachments/20150805/dfea5843/attachment.html>


More information about the Ale mailing list