[ale] semiOT: home automation

Alex Carver agcarver+ale at acarver.net
Tue May 20 15:30:37 EDT 2014


On 2014-05-20 11:51, Jim Lynch wrote:
> On 05/20/2014 12:38 PM, Jim Kinney wrote:
>> Big Linux system with Internet access and killer firewall with USB to
>> RaspberryPi and/or Arduino. Those IO pins are quite capable.
>>
> I'd skip the Big Linux system and just communicate directly to a Pi. 
> Use a Teensy 3.1 instead of the Arduino.  Many more I/O pins, more
> flexible, lots more memory, much faster.  Communications with the Pi
> over usb is dead simple.  The Teensy is a 3.1 v part but it is 5 V
> tolerant.  You have digitial I/O pins, ADC, DAC, I2C, SPI, and PWM on
> the Teensy 3.1.  Oh did I mention it's cheaper than the Arduino, can be
> programmed using the Arduino IDE and has a smaller footprint?
> 
> If you need a bit more power/memory and want a real disk drive, Consider
> the Cubie2 instead of the Pi.  It has SATA support on the board. 
> There's a "baseboard" available that will give you lots of breakout and
> VGA if you need it.  The Cubie2 has HDMI though.  It's a bit more
> expensive at about $60 vs the Pi at $35.  Depending on what you want to
> do, it may be a better choice.
> 
> I'm using a Pi and Teensy to control some aspects of a FIRST FRC robot.

One critical thing to ask about any home automation project is where the
items to be controlled are located.  It's a much different problem than
a robot where everything is within a small volume.

For example, suppose I want to control some lights and also the
sprinklers.  Well the light switches and the solenoid valves are not in
the same place (most likely).  Now you ask the next question, do I want
to run a bundle of large gauge wires from the switch and the solenoids
to a central location where the controller (Cubie, Pi, whatever) is
mounted or do I prefer to run something easier (communication drops) to
the locations that need control.

The latter is more often what happens in building automation which
results in a distributed control system with a central command computer
but remotely controlled I/O devices.  Low voltage signalling cable goes
around for the drops (could be serial, could be Ethernet).

Now this could technically be done by putting something like a Pi at
each location and then writing a daemon for the I/O that listens on a
socket and uses some custom protocol of your own design to translate
packets into I/O controls/reads.  Alternatively you have purpose built
devices that are already COTS which can do some of this work (for
example, see the products at controlbyweb.com as an example but there
are less expensive options).  A distributed system lets you use any
computer on your spare junk pile as the master controller.


My current home automation experiment is using Digi Xbee WiFi modules.
There are almost no brains on board, only data in/data out.  The boards
have a couple PWM pins, some digital pins, some analog pins (12 inputs
total, mix and match across the types) plus a UART.  Communication is by
UDP broadcast or unicast.  It can broadcast all of its input states at a
programmable interval and you can send commands to its outputs (or the
UART) on demand.  Later I'll be adding some modules (like those on
controlbyweb) for other controls.  I already do something like this with
temperature and humidity monitoring by using Ethernet modules from Omega
Engineering (the iTHX modules).



More information about the Ale mailing list