Open Source Hardware controller

Dang, this discussion (and DollHouse) does sound like AMEE! Now just so everyone knows my DollHouse Project is real. The stuff I listed is what I actually have in my possession and I intend to use as much as possible (as long as it makes sense and works). I've actually been thinking about this since I got my first computer (an Atari 800XL). I hadn't intended to announce my project to the general public until I got further along as I wanted to get all the install scripts in place. Basically there are lot of things that need to be trimmed out (and I intend to let the user pick what they want and don't want). I've already made a lot of design decisions and I have more to make (those pertain to the phase 2, Groovy/Java version).
 
How difficult would it be to get your DollHouse software running on a more mainstream Linux device like a PogoPlug or NAS like Synology or QNAP?

Neil, were those your HA articles in Circuit Cellar years ago?
 
How difficult would it be to get your DollHouse software running on a more mainstream Linux device like a PogoPlug or NAS like Synology or QNAP?
I'm not sure, it depends on the distribution used and the amount of space available. At this moment MisterHouse is still a pig. You must have Perl. I'm still working on getting my cross tools setup (for ARM, MIPS, AVR32 & x86). I figure you want to have at least 200MHz and 32M RAM. It should be able to fit on a 2G flash card (CF, SD, mini-SD). One problem I haven't resolved yet is the database and logging. Both write to storage (in this case flash). That need to be reworked to minimize the writes.
Neil, were those your HA articles in Circuit Cellar years ago?
I doubt it, I've only had one on the HCS II, Steve Ciarcia & Ken Davidson wrote the initial HA articles. Ed Nisley wrote some later ones. I was busy in the forums. I tried to create a new HCS system but that didn't go the way I intended and became a very niche system. I still support the HCS II. It has some inspiration on the DollHouse project as the old systems are now getting hard to get parts for. They've been in service for around 20 years.

Update: I just did a search on the Pogo plug (1.2 GHz, 256M RAM) & the QNAP (800MHz, 256M RAM) both would work. It would venture a guess that the NSLU2 should work also (though I'd probably recommend you clock it at 200MHz rather than 125MHz). I'd like to see more RAM and more CPU for a slight future proofing. Worse comes to worse distribute the load. Sometimes it's just cheaper to add another computer (but I'd like to keep it to one to start). Take advantage of the technologies available.
 
I've found a link to all the HCS articles on the Circuit Cellar site. I actually have those issues as I've been a subscriber since the beginning (I've had them in storage for decades)
HCS II

The NSLU2 has long been discontinued so I'd stay away from it for a new project.

The PogoPlug E02 (the Pink one, the biz one & the Best Buy one) I would consider the best candidate for mainstream as any Linux NAS would be in 2010.
It's inexpensive $99 or less, has a large hacker following. I'm hoping to avoid hacking this and perhaps get Pogo to include some form of serial support as a module, it does have a 3.3V TTL level console port inside but that's going to frighten away any mainstream "real people"

At $99 retail it's cheaper than I could make a low volume product with case, UL power supply, etc... Connect a USB Flash drive and you have scads of storage for all sorts of HA / HVAC tasks sans any moving parts.

Article with links to the API and basic features
http://blog.pogoplug.com/what-happens-if-pogoplug-goes-out-of-business-84/
Open Pogo Linux
 
we've already been playing around a lot with the seagate dockstar. http://www.cocoontech.com/forums/index.php?showtopic=12745 just 128M of ram though, as you can see from the thread, there's a lot that can be done on it.
 
Is there a reason that something like the beagleboard MX or the pandaboard ? Both are fairly reasonable with the price, plus they have quite a bit of memory.
I'm sure there's a reason for them, I just don't know what it is! :rolleyes:

Actually the DollHouse project is CPU agnostic, I just happen to have a Sheeva (though the ARM support for things like Java puts it at the top of my list). If it can run Perl it can run MisterHouse (and DollHouse by extension). For an open source project the issue isn't the CPU it's more the tools. If a full dev kit is easily available then it's not a problem. We just need the convoy to travel in the same direction. They don't need to be in the same vehicle.
 
The Dockstar is a type of PogoPlug. Now here's the rub (isn't there always something) both devices unnecessarily need the PogoPlug servers to work unless hacked. That sort of garbage always burns me up under the collar. I'm sure it was part of the business model to get investors on board as a profit model. Isn't holding back on the source code a violation of the GPL ? Linksys was forced to release the code with their routers after protests by the Linux crowd.

Anyway, for the sake of clarity I'm going to call the hardware I/O extender a HA4RP/E (Home Automation for Real People / Extender) or HARP/E for short. I'm open to suggestions for the name of course but I've got to name it something for now.

So...

Here's a brief overall plan and hardware involved.

HARP/E (embedded Ethernet / Serial / ZigBee with RTCC, I/O, IR & Relays and a level of autonomy but limited front end and may or may not be Linux but will be open source)
This is a complete device by itself, it can be both a controller and a slave (Multi-Master)
Low cost, low power, low part count embedded microcontroller (PIC18F87J60 or PIC32MX695)
It's schematic and source code will be open to the public IMHO this is the key to it's success.
It can have multiple personalities via firmware
It's modular, need more I/O just add another HARP/E it's price point should be between $200 & $300
Although it's limited in computing power it's really a smart peripheral with the focus on connectivity to the physical world
web interface with AJAX for basic HA / HVAC or a HARP/C (see below) for more complex and or fancy setups (of course iOS or Android apps)
Software emulation of various popular HA / HVAC devices is possible (of course) ie: Ocelot, ELK, HAI, Stargate, RCS-TR16...
Two to four IR outputs will have hardware modulation to cover virtually any frequency up to 400kHz
1wire supported
Three to four relays with snubbers (and either four or six GPIOs with transorbs)
built in temperature sensor (not intended for thermostat use but instead as freeze sensor for HVAC use)
It is not intended as an Audio / Video matrix (seriously Sonos, Apple, Squeezebox have some really excellent affordable multi-room playback gear)
It is not intended for IR learning except for 38kHz (really, is this needed anymore? Popular IR protocols are well known and B&O are not known for their Real People hardware)

HARP/C (A LAMP NAS such as a GuruPlug, PogoPlug, Synology, QNAP, Netgear etc.. or your power hungry PC as is traditional but not really a modern and green solution)
This is the outside world WAN bridge. Although it's not an must have part it would have the horsepower & storage to control large numbers of HARP/E devices as multi-master or slave devices
Open source preferred or at the least an open API so extensions can be written.
Has MySQL, Perl, PHP etc...
Expandable storage either USB & SATA (If you've never used a NAS you really ought to look into what they can do try www.smallnetbuilders.com for reviews and benchmarks.
No monthly fees
*Not dependant on an outside server (the PogoPlug does :( the Synology, Netgear & QNAP do not :) )
Edit: yes the beagleboard or pandaboard could work, but they're already more expensive $149 than the PogoPlug $99 and that gets worse once you add a power supply and case... Of course since it's Linux there's no reason any open source software couldn't be ported to it.

Interface (a web browser for use, custom software for initial setup & programming)

* The PogoPlug is interesting because it's cheap $99 and available at many retailers but seems to be tethered to Pogos severs unless hacked, also only external USB storage. The more expensive Synology 110j $180 has both internal SATA HDD storage (I've got a 2TB in mine) and does not rely on external servers.

The HARP/E would be similar but not identical to any of Global Cache series of devices with some Ocelot & Elk Magic thrown in. (plus of course the combined minds of our fellow forum members)
GC-100_range.jpg


Note: In hindsight I don't need RS232 on the PogoPlug...
 
I've found a link to all the HCS articles on the Circuit Cellar site. I actually have those issues as I've been a subscriber since the beginning (I've had them in storage for decades)
HCS II

The NSLU2 has long been discontinued so I'd stay away from it for a new project.

The PogoPlug E02 (the Pink one, the biz one & the Best Buy one) I would consider the best candidate for mainstream as any Linux NAS would be in 2010.
It's inexpensive $99 or less, has a large hacker following. I'm hoping to avoid hacking this and perhaps get Pogo to include some form of serial support as a module, it does have a 3.3V TTL level console port inside but that's going to frighten away any mainstream "real people"

At $99 retail it's cheaper than I could make a low volume product with case, UL power supply, etc... Connect a USB Flash drive and you have scads of storage for all sorts of HA / HVAC tasks sans any moving parts.

Article with links to the API and basic features
http://blog.pogoplug...of-business-84/
Open Pogo Linux

I have Byte magazine since the early days and all the Circuit Cellar magazines. :) I will be writing another article in 2011 I just have to get to it.

Ah, that's right you want to be able to build these things (sorry I forgot about that). At the moment I've decided to stay out of the building portion as that consumes a lot of time.I'm basically trying to use off-the-shelf components as much as possible (I have a few designs for more than just the controller). Right now the software is more important to me, which is why I'm initially using MisterHouse. While I architect phase 2, I have a running phase 1. BTW, I've been running MisterHouse since 1996.

The NSLU2 is not for the final product it's the 5lb bag. :lol: It's meant for testing (I have these too, told ya, lots of hardware).You do your development on a comfortable system, move it over (using the end user instructions, just to check things go correctly) and you make sure that the performance is acceptable. If it works in the 5lb bag then it should work acceptably on the bigger hardware. One of the problems that developers don't take into account is the system performance and the resources available on an embedded system! Oh, don't ask me about the brick test. ;)

I want this system to be like the HCS II but better and definitely more up to date. It should be relatively small, quiet, flexible and support the 3 user groups, the end user (like my wife - SAF is very important!), the administrator (easy to admin and program for the beginner, flexible for advanced users), and the developers (flexible and easy to develop for). This means lots-o-documents and examples at each level. If you take a look at the MisterHouse WIki (another reason for MisterHouse in Phase 1) you'll see a good example. It can be improved and every module I touch I've done just that (see the Floor Plan page).

I wouldn't worry about the serial port issue, it's not as big an issue as you make it out to be. I know a lot of people are screaming about it but there are ways to fix that issue (rules: use this, not that, and/or use a powered USB hub). I have devices in my work lab (not HA related) that date back to the 80's that work fine with the USB dongles. I also work with much newer equipment that works fine with the dongles. My friends work with much older equipment and we've solved those problems. One issue that might be of concern is the latency of USB. We'll see how that goes.

The Pogo looks nice (I like the extra USBs, I wonder how many busses they have). If we do this right the hardware won't matter as long as we have the correct I/O. You'd be surprised at how much you don't need. BTW, if you need more serial, think terminal server (I've got more than 75 ports available to me ;) ). The issue of local IO and remote IO is important. Sometimes a delay can not be afforded.

One thing to note, I am advocating that eventually this project will need it's own small distribution. The reasoning is that the vendors of these products have needs of their own and they won't match our needs. We can drop some tools/apps and we need to add others (like POTM - Phase of the Moon, Sun rise/sun set and tides). Also various kernel device drivers (like USB HID) will be needed and or libraries (like libUSB). Also it allows us to control the upgrade process. Using something akin to debian pkg means you can do upgrades for the end user without them knowing a lot of Linux gobble-d-goop.

I told you I've been thinking about this since 1978. :) I've given this a lot of thought and I have lots of notes.
 
The wife factor, I agree is a must. This is why I have an AppleTV and SageTV they may not be the most powerful but they IMO have a terrific wife friendly interface. DLNA is interesting but a very dumb interface as on the PS3. The WD Live is simply horrible although it can playback almost anything it's awful interface means it'll never be welcome at my house.

As for the PogoPlug I only want it for it's storage and computing power (plus Linux of course). It can remain a brain in a jar as it's the extender HARP/E that'll do all the physical work. Even the HARP/E needs more such as X10, Z-Wave, Powerline, thermostats, curtains, sprinklers, etc... but all these can be connected to its various ports.

PS Neil I got your book. Kindle has it and it looks pretty on my iPad. Giving it a read now.
 
The Dockstar is a type of PogoPlug. Now here's the rub (isn't there always something) both devices unnecessarily need the PogoPlug servers to work unless hacked. That sort of garbage always burns me up under the collar. I'm sure it was part of the business model to get investors on board as a profit model. Isn't holding back on the source code a violation of the GPL ? Linksys was forced to release the code with their routers after protests by the Linux crowd.

Anyway, for the sake of clarity I'm going to call the hardware I/O extender a HA4RP/E (Home Automation for Real People / Extender) or HARP/E for short. I'm open to suggestions for the name of course but I've got to name it something for now.

So...

Here's a brief overall plan and hardware involved.

HARP/E (embedded Ethernet / Serial / ZigBee with RTCC, I/O, IR & Relays and a level of autonomy but limited front end and may or may not be Linux but will be open source)
This is a complete device by itself, it can be both a controller and a slave (Multi-Master)
Low cost, low power, low part count embedded microcontroller (PIC18F87J60 or PIC32MX695)
It's schematic and source code will be open to the public IMHO this is the key to it's success.
It can have multiple personalities via firmware
It's modular, need more I/O just add another HARP/E it's price point should be between $200 & $300
Although it's limited in computing power it's really a smart peripheral with the focus on connectivity to the physical world
web interface with AJAX for basic HA / HVAC or a HARP/C (see below) for more complex and or fancy setups (of course iOS or Android apps)
Software emulation of various popular HA / HVAC devices is possible (of course) ie: Ocelot, ELK, HAI, Stargate, RCS-TR16...
Two to four IR outputs will have hardware modulation to cover virtually any frequency up to 400kHz
1wire supported
Three to four relays with snubbers (and either four or six GPIOs with transorbs)
built in temperature sensor (not intended for thermostat use but instead as freeze sensor for HVAC use)
It is not intended as an Audio / Video matrix (seriously Sonos, Apple, Squeezebox have some really excellent affordable multi-room playback gear)
It is not intended for IR learning except for 38kHz (really, is this needed anymore? Popular IR protocols are well known and B&O are not known for their Real People hardware)

HARP/C (A LAMP NAS such as a GuruPlug, PogoPlug, Synology, QNAP, Netgear etc..)
This is the outside world WAN bridge. Although it's not an must have part it would have the horsepower & storage to control large numbers of HARP/E devices as multi-master or slave devices
Open source preferred or at the least an open API so extensions can be written.
Has MySQL, Perl, PHP etc...
Expandable storage either USB & SATA (If you've never used a NAS you really ought to look into what they can do try www.smallnetbuilders.com for reviews and benchmarks.
No monthly fees
*Not dependant on an outside server (the PogoPlug does :( the Synology, Netgear & QNAP do not :) )
Edit: yes the beagleboard or pandaboard could work, but they're already more expensive $149 than the PogoPlug $99 and that gets worse once you add a power supply and case... Of course since it's Linux there's no reason any open source software couldn't be ported to it.

Interface (a web browser for use, custom software for initial setup & programming)

* The PogoPlug is interesting because it's cheap $99 and available at many retailers but seems to be tethered to Pogos severs unless hacked, also only external USB storage. The more expensive Synology 110j $180 has both internal SATA HDD storage (I've got a 2TB in mine) and does not rely on external servers.
  1. We really need to work on the name, DollHouse, HARPE, etc. really stink. How about Smart Home Information Technology? Like I said we really gotta work on that! B)
  2. Both the Sheeva and the Pogo look the same, similar specs and IO. So use either (as I said hardware is not the issue).
  3. Those devices you mentioned about (e.q. snubbers etc.) are not going to be familiar to the end user unless your limiting your scope to engineers. Start small, think expandable and as much OTS (off the shelf) as possible. We might be able to take advantage of SparkFun's DIY hardware service (you do the design, they sell the kits).
  4. Try to move away from hard drives as much as possible. SD cards of class 6 or better give good performance and are quiet.
  5. The requirement on the hack for the Pogo can be a show stopper unless we can automate it for the end user.
  6. Anything to do with graphics or editors or the like need to be moved out to the browser. SVG, AJAX/Javascript, HTML5 all need to be taken advantage of. NO SUPPORT FOR IE6! That doesn't mean it won't work for IE6 but trying to be compatible with that brain-dead load is annoying and unnecessary. Use Firefox if you must use an old computer.
 
The wife factor, I agree is a must. This is why I have an AppleTV and SageTV they may not be the most powerful but they IMO have a terrific wife friendly interface. DLNA is interesting but a very dumb interface as on the PS3. The WD Live is simply horrible although it can playback almost anything it's awful interface means it'll never be welcome at my house.

As for the PogoPlug I only want it for it's storage and computing power (plus Linux of course). It can remain a brain in a jar as it's the extender HARP/E that'll do all the physical work. Even the HARP/E needs more such as X10, Z-Wave, Powerline, thermostats, curtains, sprinklers, etc... but all these can be connected to its various ports.

PS Neil I got your book. Kindle has it and it looks pretty on my iPad. Giving it a read now.

My wife has the Tivo, excellent interfacebut recent upgrade have made it must slower to respond (very bad!).

My x86 machine that runs my MisterHouse handles, local DNS, caching, print serving, SAMBA, email, web services, in-house hosting (with replication out to the internet), DHCP, NTP, IPV4 & V6, DLNA and UPNP Servers, other stuff (I can't remember everything) and Firefox with 64 tabs (don't ask).

Thanks for buying the book, I don't it's a bad book but it wasn't exactly the one I wanted to write. I did manage to talk them out of the BGP chapter (BGP with HA?).
 
Oh, one postscript to the conversation: as long as the linux system can communicate with the other system (such as the Ocelot the Elk, the OmniPro, etc. ) we can interface to it. Just need the appropriate 'device driver'. That's one of the documents that's needed (lacking in the MisterHouse docs).
 
Back
Top