@anders94

Yeah, I came from a micro controller / FPGA background as well. Being able to leverage all the standard Linux tools as well as having a true multitasking environment for $35 are huge benefits.

With node js you have JavaScript, a very popular and fairly easy to pick up language for most. Functional programming isn't ideal for the simplest of situations but the libraries available through npm are extremely extensive, and I think about home automation as an inherently event driven system.

@alfaraz8901

Admire yo creativity, been watching a lotta Raspberry Pi videos lately and i'm amazed what this little piece of equipment is capable of! Great Hardware!

@anders94

Yeah, great call. This is exactly where I want to go with this. What you are suggesting is that things like home security are just "apps" that run on your network. The Raspberry Pi gives you a standard set of tools already (mic/speaker) so adding a few more (motion detection/temperature) and defining that as a platform so apps can depend on certain capabilities is the way I'm thinking about this.

Thanks for the comment!

@anders94

True - which is why I got SSRs that are rated roughly double what I will see. Worst case we make the box out of metal and screw them in. For running lamps, they don't get any warmer than room temperature, but I'm not opposed to traditional relays outside of the clicking sound they make when they change state.

@anders94

It might not be for everyone YET but I think in time, something like a complete computer in every socket, light switch, fridge, thermostat, door, etc. will be normal. The costs will come down and the network effect of having smarts in everything will grow. I think it is similar to the feature phone / smart phone transformation. Back in the day, people didn't think you would ever need a computer in your pocket. These days they are starting to replace desktops.

Might as well build a home OS now.

@anders94

I'm working on it - I'll post here when I get everything together. I'll probably also do a follow-on video about the network side of the system.

@anders94

Agreed. I've gone some ways past this at this point but would love to see it really mature. Please get involved - I could use all the help I can get!

@anders94

Good point - no reason data over power wouldn't be possible. I have circuit diagrams available on the GitHub page if you follow the link in the description.

Best of luck with your setup!

@anders94

Well, you could. Many people do that and it does have the benefit of being a bit cheaper. However, there is a lot to gain by leveraging a real multiprocessing platform with a rich networking ecosystem. For example, even just SSL over encrypted WiFi represents probably an order of magnitude more security to a system that will likely eventually control things that cost you money. (like a heating / cooling system) Add to that a great programming environment and for me it becomes an easy choice.

@anders94

That's awesome! Thanks for watching.

@anders94

Yes, you are correct. The right way to do this might be to wait on the pin state change and handle the events as they come. This was more of a "quick and dirty" example - I'll fix that.

@anders94

The Raspberry Pi's USB WiFi device connects to an access point. It can be made to run in AdHoc mode though where peers connect directly.

In the end game, I don't "remote control" the devices. That's what the switches are for. When a switch changes state, it broadcasts that fact. Any power sockets that are subscribed to that switch can change state if they are configured to do that. That's what I was attempting to demonstrate with the multi-light-switch example.

Hope this helps.

@MaruAdventurer

Mr. Brownworth, I liked the video. But your cat in the background..... What can I say, I was watching the cat while you were talking and it was like the cat was sending body language -- "Oh Dear, he doing THAT again!" Enjoyed it. Have a great day.

@anders94

The idea is to run MQTT on every device. If a device is interested in the state of another device, it would make the outgoing connection to that device's MQTT server. Granted, that is a bit beyond the scope of the video, but good point. My dev setup isn't a good "finished product" analog.

@ProfessorDMA

Your setup is simple and elegant. My only suggestion would be to consider powerline network adapters in some places.  Some houses (like mine) don't allow wireless signals to travel very far.
Also, if you could put up some wire diagrams of what you have on the breadboard, I would be grateful. I am considering doing something like this and could certainly use the assistance.

@ChrisEllerby

Love it.  I've been thinking of doing something along the same lines, and love your implementation.  Can't wait to see where you take this.

@anders94

I could name a few features that would be nice to have (built-in WiFi for example) but I'm generally fairly content with what the Raspberry Pi has. Performance, on the other hand, is what you might expect from a $35 computer. It usually doesn't matter but filesystem access can be agonizingly slow at times. That's probably most annoying but it gets there eventually.

@anders94

I'd imagine that might work if the drives are powered externally. If not, maybe you could look into spinning down the drive via a "parking" command. It would remain connected but not taking up the power. Presumably you could programmatically fire it back up on demand.

@Multiversemediagroup

Well, the lights are all up on a grid above our talents heads, so turning them on and off presents a challenge. We run extension cords down with switches, but it would be really neat to just control them with something you've created. We're dealing with about 8 lights now, it would be neat to have them all on one switch or app. I am sure there is a market for this besides just us. :)

@anders94

If that were the only thing you were going to do then maybe, but you have so many more options this way. For example, what if you wanted to create a home intercom system on this as a platform? Or what about adding home security features? With a platform like this, these things are just "software upgrades".