network methods, home automation, and security
I keep thinking, I would like to network all my devices/modules, so that other members of the household, locally, or remotely, can change things. I keep debating between serial networks, and Ethernet. I like the idea of home runs of cable, which for serial, means I would have to make a hub of sorts. I already have an Intel Ethernet hub, I bought for $15. The problem with Ethernet is the cost per device.
Ethernet interfaces seem to be two types, easy to attach to all processors, easy to use(form like), but limited by variables, or something like that, but high cost per unit. Others DIY like, some easy, some not to attach, need powerful/fast processors to make it work, limited by your programming skill, and program space, much cheaper.
I've played with pyserial in linux to send stuff to the serial port, getting it back out, wasn't something I figured out, before the motherboard died.
What about security? Can they do ssl, to protect the passwords? What about DOS attacks?
Ethernet interfaces seem to be two types, easy to attach to all processors, easy to use(form like), but limited by variables, or something like that, but high cost per unit. Others DIY like, some easy, some not to attach, need powerful/fast processors to make it work, limited by your programming skill, and program space, much cheaper.
I've played with pyserial in linux to send stuff to the serial port, getting it back out, wasn't something I figured out, before the motherboard died.
What about security? Can they do ssl, to protect the passwords? What about DOS attacks?
Comments
In the US where we have 110 VAC mains, I'd use the X-10 system and dispense with the externally wired network idea altogether. If in other parts of the world where 220 VAC mains are the norm, I'd look into the following system which you can customize yourself: http://www.hth.com/plm-24/
Regards,
Bruce Bates
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
The computers involved in this were not fancy. They used the equivalent of an Intel 8008 processor and had as little as 8K of memory, so even a Stamp could handle this.
Ethernet is always a good way of connecting your project to the internet. I tend to stay away from PC servers because of power consumption and the fact that it relies on an OS that supplies much more than I need. Therefore I would recommend some sort of embedded device server or embedded webserver like Parallax's PINK. If you have the time then you may want to dabble in designing your own device server from the ground up. It is quite time consuming, but it allows you ultimate control.
Security is always important. SSL is great, but it is difficult to implement unless you buy a device that handles it. One such device that comes to mind is the XPort from Lantronix. DoS and other network attacks are another issue, but much harder to solve since virtually any device can be DoSed so that it virtually goes offline. Either your device will be unreachable or your connection will be overloaded.
In the end, it depends on what you are comfortable with. If you like linux then you may want to explore embedded linux boards (a good source of these are routers like the WRT54GL). Using linux will probably give much more stability and security then a device server. Not to mention you get access to ssl, php, python, php, etc.
Harrison
The network has to be bidirectional, I want it so when someone selects a change, they can view actual conditions. A delay is ok.
I'm not planning to build it all at once, as I complete a project, I'll add it to the network.
Will one pink, or similar hold/display enough variables?
You can use the PINK inbetween the two. If you are going to automate your home, it is best to use a small net that doesn't depend on the internet or a LAN to work. You will use less power, be more secure [noparse][[/noparse]you can always disconnect it from the web] and have a lot less work to set it up.
I don't understand the variables in PINK, so I am not sure how many is enough. Larger and more complex 'Big NET to Small net' boards can actually hold many pages of HTML text [noparse][[/noparse]megabytes to gigabytes] and these can have embedded web page code [noparse][[/noparse]php] to connect and control to various 'Small nets'. You have to either know how to program them in Linux, Java, C, or Assembly.
The PINK offers an easier learning curve, a place to begin.
The 'Small NETs' can be RS-232/RS-485; CanBus; One Wire; WiFi, Bluetooth; X-10 and so on. Or a combination that depends on the purposes.
For the 485 network to use 128 nodes, you need to avoid collisions - and that is why CANbus is· handy. There is one exception and that is to have Only one Unit broadcast to all the others.
I personally like CANbus with the 39-bit addressing and 8 byte packets, but it is quite a bit to learn. I have built a board [noparse][[/noparse]I had 25 made] for the MCP2515/MCP2551 chipset that connects to BasicStamps, the SXes, and the Propeller via SPI interface.
Parallax has its own complete CANbus board that uses the RS-232 i/o to communicate. As you see, the CANbus is able to mix and use all the various microprocessors you have available -nothing wasted.· But, nodes can begin to get costly unless you build your own.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
PLEASE CONSIDER the following:
Do you want a quickly operational black box solution or the knowledge included therein?······
Post Edited (Kramer) : 10/31/2007 3:31:19 PM GMT
how well does the '2515 work with the stamp? what type of crystal did you use? any problems getting the spi to work?
Joel
I, too, have become interested in home networking and did a project for the January 2008 issue of Nuts & Volts using the SX and full-duplex RS-485 buss. I took a page from PJMonty's book and used RJ-45 connectors in and out of the modules. I also borrowed from his protocol (he defined it for his networked animatronic control system) to keep things straightforward. So far I'm having a blast with it now that the framework is in place I will start working on a home control system. I used VB as my PC test node, but any language that supports general serial comms could be used.