Not sure he’s wrong, though. The problem with the Internet of Things is precisely that: the Internet. Most household automation is best handled within the household, and you’ll notice that most of the hobbyists responding here are air-gapping their home automation networks. The Internet itself, however, is still pretty Wild West from a security point of view - security wasn’t baked into the Internet from the start, so IoT is at best as good as its foundation, and that foundation is springing holes on its own. The slipshod workmanship of the network security of so many devices is… icing on the cake.
So… What part of home automation is better handled away from home?
what i want to know is what happens when there are enough devices in your home that your house becomes turing complete. seriously.
one of the great insights of networked systems - that seems obvious now - is that any network can transfer data to another. ultimately, the internet doesn’t care how the hardware works so long as it can be adapted at the endpoints to new endpoints.
get enough nodes and any signal out, and perhaps you could have basic computing at a household or neighborhood level.
air gapping is great, but eventually you’ll want to transfer data - and who can say what data is in those lines, and what information is in the noise.
I think he’s coming from the point of view that most consumers who buy these gadgets aren’t aware of the privacy and security risks. When people are that complacent a tendency toward raising the alarm isn’t uncalled for. Remember that for all the techie commenters on BB there are probably many more non-techie lurkers just reading the articles.
I am implementing my first IoT project this summer, which is figuring out how to poll sensors and have some kind of basic automation for a garden/greenhouse. The thought has occurred to me that it would be easier to make it self-contained, but there is greater advantage to being able to check it remotely, and be alerted to any problems.
To start small, I am aiming first for standalone operation of sensors and pumps for heating/cooling, sensors and pumps for watering, humidity, vents, etc. I have done frivolous artsy programming before, but this will be my first go at anything crucial. Next step will be secure connection with the household network, and after that checking it from off-site.
Meanwhile I am trying to decide between using numerous small Arduino-style microcontrollers, or one smallish industrial celeron computer. And how to power them.
The remote access could be fairly simple. I am thinking a basic secure web page with updating stats maybe every ten seconds or so, and authenticated download of logs as text files. SMS/email alerts for emergency conditions. There seem to be many robust pre-existing solutions for this sort of thing.
I use PIC type controllers but Arduino would do as well. Powering them I do with 18650 rechargeable lithium cells, which are cheap. You can then join them with a 5-wire bus consisting of 0V, 5VDC (e.g. from an ordinary wall wart), and the three signal wires for a simple master/slave bus. Or you can use a 6VDC lead acid cell as the standby and drop the voltage at each unit to around 3.6V using a 78L series IC. To drive power relays I use 12V DC, and switch it using small DIL MOSFETs which can be operated by the output pins of PICs. Obviously, don’t forget suppression so you don’t get Miller effect spikes damaging the gate oxide or the controller!
One thing I am doing with these little controllers is fitting them with a bi-color LED using up 2 output pins. This can be used to show status and is helpful when debugging the network.
These little units use such a tiny amount of power that they can be put into watertight boxes and put close to point of use, thus avoiding running sensor wires all over the place. The PIC 721 (which is cheap) has a region of internally programmable flash to enable the remote setting of configuration which is retained through power cycling.
This isn’t intended to be prescriptive, just a few things I’ve tried that work.
Sounds good to me. I still have around 50x original ATMEGA8 chips from old projects, so it is nice to find uses for them. But I also have some miniature PIII-era PC104 industrial SBCs kicking around. Since I need to run pumps and relays also, I will probably go with 12V lead acid batteries.
On-chip I/O protection has gotten much more robust, but I never count on it.
Absolutely. All gadgets get on their own VLAN\SSID separate from any machine that is used as a full computer.
If possible, get a feel for the baseline amount of communication coming from that segment to your WAN and see if you can put alerting on it in case it goes over a threshold. Also lots of logging.
I wasn’t meaning to insult your intelligence, by the way. When writing this kind of stuff I’m aware it may be read by a naive user and I like to flag obvious pitfalls. I/O protection is something that seems to get treated as an afterthought nowadays whereas at one time you had to ground yourself and the packaging before even looking at an IC. I remember being told the story of a technician taking a new and very expensive CMOS device out of the packaging on a dry day in Arizona and promptly frying it with a spark from his finger, whereupon it didn’t work. His boss asked him what had happened and he said “all I did was walk over to the bench like this (on carpet) and take the thing out of the packaging like this” - and he took the second one and promptly fried that too.
No insult taken! I can appreciate how much easier it has been made to get into microcontrollers. Much more encouraging than 20 years ago when you’d still often need some weird special voltage PSU for programming mode, and spend possibly a few hundred dollars on a bare-bones compiler.
Needing to be less concerned with overvoltage protection, polarity, spikes, static, etc saves a lot of time and money and lowers the bar for entry considerably. But those built-in measures have their limitations.
well… you can loop a finite tape to create an unending program, but i wouldn’t recommend reusing tp.
instead, use your programmable lighting to setup an inital state of ons and offs over time, connect an energy efficiency monitor to translate the rise and fall of lighting power draw to an output to change the timing of the lights and you’re more than halfway there.
though it’d be better if you could incorporate the hyper text coffee pot control protocol.
I have two devices which approach IoT use cases (though they don’t exactly fit): the NAS running Plex I use as a media server, and my phone (which acts as a sort of NAS for some uses).
Both the NAS’s native setup dashboard and Plex desperately want me to set up a cloud account, either with Western Digital or Plex. That way, they assure me, I can play my data over the net without taking the NAS with me.
Uh huh. Even if I leave aside my phone data plan not being able to cover that level of streaming, even if I leave aside that my phone has a 64GB card in it with loads of music already, even not taking into account that the NAS is about the size of two CD jewel cases and super-portable, I don’t see why I should trust either corporation with my data. That’s why I bought a freaking NAS in the first place.
That’s what I find so horrible about the IoT (besides the security part). So many of these items tack on cloud services or access remote services just because, basically forcing users to hand over control and/or data.
Then there’s cases like that rival IoT thermostat Nest bought… and then discontinued support for. Which meant it stopped working, even though there was nothing wrong with the hardware or local software.
This is a pretty simple thermostat, with just a heat set point, a cool set point, and then Heat/Cool/Auto/Off modes. It also has a humidity sensor I can read from.
Just a simple remote switch, although it does report energy consumption as well. I was using it for the Christmas tree during the holidays, but I’m thinking about scheduling the aquarium light.
I also have a few items that I haven’t gotten around to installing/setting up/etc:
I’m planning on using one of these to monitor the aquarium temperature by connecting it to the Raspberry Pi (or maybe a Pi Zero W) and using OWFS.
Out of everything above, only the the Raspberry Pi is connected to the network, via ethernet (not Wi-Fi), so it is somewhat airgapped. I generally try to avoid devices that talk exclusively over TCP/IP, as many of those devices prefer to talk to the internet (usually via a cloud service) even when I’m in my house.
I also have a few Foscam IP cameras which are not accessible outside of the internal network (OpenVPN is on my to do list), although I haven’t been able to integrate them into OpenHAB.
I do have one device that does need to talk to the internet in order to talk to my phone, and that’s my Nomiku. It is not currently configured to connect to Wi-Fi, although I do connect it occaisionally to update its firmware. That device is probably worth a post/article on its own if anyone is interested.
Back to OpenHAB for a moment. Some of the useful things it can do.
Create custom dashboards for displaying data and controlling devices.
Create rules to automate your devices.
These can be something simple like like scheduling lights to turn on/off at specific times
They can also take input from other devices.
You could create a rule to dim the lights (slowly) when you push play on your movie (Kodi is supported)
One I would like to create would go something like this:
If I open a window, turn of the Heat/AC
If I open three windows. turn on the Attic Fan.
And many more…
Store timeseries data that can be used for tables and charts.
This fits well with my aquarium plans.
I could probably write a book about all of this. Maybe if I did I’d actually get most of it working.
Disclaimer: To the best of my knowlege, all of the above amazon links do not include a referral, and they are pointed to Amazon Smile