So for the past 6 years I have been living in an apartment. With the different people who may or may not have keys to my home I have wanted to do a Home Automation System. I have based all the documentation, and process off of one done by Jon Hobbs through his posting on Hackster.io. I am putting my steps and process down here as to assist myself with tracking what i did, and any changes in the future as I expand both process and hardware connections.
Jon's approach was good, but as the Raspberry Pi Foundation has come out with the Raspberry Pi Zero W recently. I wanted to make the hardware changes that allow me to use those devices as part of the HAL System. In the future I will be using them for the SQL Server, Web Server where this is hosted, and for controlling different things down the line. One of my main goals is to use them to control the shades of my apartment, and for security cameras and other AP through out my home.
All the software I am using is Open Source. This way I am able to keep costs down and able to help support the communities that use and work on the software.
As I have stated before I am using the base equipment of the Raspberry Pi for the hardware.
Raspberry Pi 3
Raspberry PI Zero W
This is for the Access Control Point. Also with the ability to connect the Raspberry Pi Touch Screen to view and control through touch everything at home.
These are for the extended devices. For example the Web Server, and SQL Server.
Just a standard WiFi router for networking connectivity for all the devices.
I define the Nodes as the individual connection points. Each of them are different access units. Used for web server or SQL server. Also I use them to control different aspects of the HAL. I describe each of these below or through the process of each build/configuration.
For the web server I am using Apache2. Again this is a free OpenSource software for building and maintaining websites. It doesn't take up much space on the Raspberry Pi Zero W and with the images and settings it leaves a lot of room for my server to operate.
I having to rebuild this. I can't access it from the outside of the Server and I can't upload data stream to it... I will have to work on this in over time. I am not to familiar with SQL, so this will be a learning opportunity.
For the HAL I am using OpenHab2. This will allow me to integrate several different setup and configurations. The more I work on and put together I will add to an updates page. This way I can track my changes and settings in a more processed manner.
Welcome to my home Mr./Mrs. Phillips Hue. It will make my life easier to just use these integrated lights. At some point I will probably build a Zero W or Pi 3 controlled light. Its just for now these lights work for my needs.
OpenHab2 has a built in binding for control of the Chrome Cast system. It also allows voice integration with the OpenHab as well.
Base line install
Web Server Install
This is covered by several different websites and processes. I mostly follow the use of Noobs. This way when I made mistakes (yes it has happened several times) after the install of software or completely spaced out what I was doing I could go back easily and do a fresh restart on the Micro SD Card (the operating system) and start over with little to no down time.
Once I had the software installed I enabled SSH to each device and changed the password, along with the SSH port settings. Changing the password and the port is alway recommended because of security concerns in the IOT community.
OpenHab2 has step-by-step guides for installing the software to a Raspberry Pi device with the operating system. They also have a Raspberry Jessie Lite image for a straight install of the OS through using an image burning software (Win32, Rufus, etc..). I went with the second choice as I could then install any needed support software and makes it easier for operating the devices and adding them when you don't have customized locations of file folders.
I also changed the MOTD, that way as I remotely access the Hardware for any changes or reasons I can alway identify the device based on the displayed data. If you want to see what the MOTD is you can go here. As I have screen shots of the MOTD. If you would also like to use it I do have it up on my GitHub Repository.
For the actual Home Automation processing I followed the step by step guide that OpenHab offers. The software was designed and produced to operate on several different OS platforms. From Windows, Linux, and Mac. As I was using the Raspberry Pi as the hard ware it also gives instructions on how to install on Debian build for the Raspberry Pi.
Here is a link for in the install of OpenHab2 to a Raspberry Pi. It can be pretty straight forward if you have installed software to the Pi before. If not then take your time and be read to re-flash the SD card. I had to on several occasions.
Just follow the simple instructions from the Raspberry Pi web site. You can then change the web site to suit your needs.
For the Web Server I am using Apache2 for the handling and processing of the WebSite you are currently reading. The web pages are free templates from several different sites. I have adjusted or configured them to my needs.
Yea this I have failed on several accounts. I may scrap the SQL server all together. Or try again at a later date.
So in conclusion, this will never be done. You can look a the Update pages for continual updates to everything.