DEV Community

Discussion on: Do you have any "smart home" projects in the works or in mind?

Collapse
 
imthedeveloper profile image
ImTheDeveloper • Edited

I spent quite a lot of time working through smart home projects.

To name but a few!

  • Internet connected door bell: Using a wireless door bell I attached a small RFID powered arduino, which emits a message to a central receiver on my raspberry pi when the door bell is pressed. Most of these door bells have a light on the front which when ringing emit. It is VERY EASY to run your arduino in parallel through the wiring to the light bulb and wake it from sleep when the voltage goes high on the wire. After the message is emitted over radio I then put the arduino back to sleep. Here is an image of the unit: IoT Door Bell IoT Bell Boxed IoT Bell MQTT

During prototyping the unit:
IoT Bell Prototyping

  • Tweeting thermostat with Pebble App controller: I bought a tado smart thermostat. These are much like the Nest versions that you see publicised however, they have gone heavy on the software and kept the hardware in your home to a minimum. You control everything through their mobile app. The reason I went this route is that I believe hardware has a much shorter shelf life, so by going with a product which treats it's hardware as quite a dumb component there is little turnover with hardware versions. This means I'm not buying tado v2, v3, v4 every few years.You may have seen the number of Nest iterations has been insane, which for me is a waste of money. In this project, I hooked into the Tado mobile API. It's hidden and I had to sniff the API calls but utilising this API and Node-red to wire up the API calls to a MQTT server and Twitter I was able to have my thermostat tweet its temperature every 20 minutes and I was also able to control it through my pebble watch:

Tado Box
IoT Thermostat
IoT Pebble

A project would never be complete without also building it into telegram
Telegram Bot

  • Car Tracker: So I had a run in with my car being potentially stolen one time and it got me thinking about asset trackers/car trackers. I found that there are generally 2 routes to go down. One is to pay someone a subscription and they install a unit which your insurance company will approve of or you can buy yourself a unit, fit it yourself and just use it as a general purpose tracker. Both of these avenues typically require you to wire the unit into the car itself. For any units which are battery powered you typically find small devices that last anywhere from 3 days up to 90 days. These units are inexpensive, some offer subscriptions but generally it's a pay as you go scenario. My issue with these models is that I didn't want to be touching the car internal wiring, I wanted to be able to move the unit between vehicles and at the same time I felt a 90 day maximum without requiring a charge was actually VERY low. As you can see from my previous projects I've worked with Arduinos quite a bit and I have run a barebones arduino on a coin cell for well in excess of 2 years, emitting a simple radio message every hour.

I set about looking into optimising and producing an asset tracking device which met the following criteria:

  • Portable
  • Pay as you go based on SMS plan/ GSM plan tied to no brands
  • Battery life between charges in excess of 1 year
  • Agnostic interface to other devices
  • Does not touch any of the car's wiring
  • Will emit it's location once an hour every hour

I ended up with quite a few months of prototyping, ranging from barebones arduinos to some beta devices like the Espruino and electron/photon ranges. I tested numerous battery setups and I also went through probably 5 or 6 different GSM and GPS modules.

Whilst the barebones arduino was the perfect setup for battery life where I had a theoretical run time of 1.5 years on a 6000mAh battery I actually found the Espruino to be the nicest to work with. This was mainly due to it running JavaScript and was very much more event driven. To cut a long story much shorter! Here's some pictures of the device. I actually housed it in a nice big black box as I could crack this open and wrap the GPS antenna up and place it inside to create a very portable box to carry around and then deploy as needed.

Black box
Inside box
Testing

The first hello world sending my GPS coordinates (Yes I still live there)
Hello world

Dev using the Espruino chrome IDE (Really nice community driven build)
Devving

For good measure, here's how awesome a barebones arduino can look. Just by ensuring you match your voltages without the use of regulators can massively increase battery life. It's quite astonishing how these small changes can have such a good bang for their buck.
Bare bones

Hope this offers some inspiration for others. I've done a few more projects but I don't want to bore out the comments!

Collapse
 
pbouillon profile image
Pierre Bouillon

I would love a small tutorial on how to make that door bell!

Collapse
 
crestiancik profile image
Crestiancik • Edited

I have got in mind a smart home security system. Actually, I have tried to work on it a couple of months ago, however I could not figure out a couple of things, so I abandoned this project. However, it is still on my mind, and I want to realize it! I am ready to test the system on my own house in case I will be able to finish it. At this right moment, I am actually using the services of the best security company online, the services of ccsecurityservices.co.uk/mobile-pa... ,they also have kind of a smart system, but it does not have all the features that I want to integrate into my system.

Collapse
 
peter profile image
Peter Kim Frank

These are brilliant. You should consider converting this comment into its own dev.to post — including the other projects you didn't have space to mention. I'm sure people would have tons of questions.

Collapse
 
imthedeveloper profile image
ImTheDeveloper

Sure thing I'll probably do a write up on the door bell. That one was prior to all the "Smart" doorbells and I had a Raspberry PI cam that would take a photo of the person at the door once the button was pressed and upload it to twitter / pushed to my phone. Very useful!