Introduction: Bolt Home Automation and Warning System

This is a novel system by Shantam Raj and Me based on the Bolt IOT Platform (www.boltiot.com) to automate and simplify the way humans interact with home appliances and devices in general.

Step 1: What Is It?

It is a collection of intelligent microcontrollers which communicate among themselves to accomplish the aim of providing immediate information about the micro-climate in the vicinity of your home. The wireless sensor node consists of Ambient Light Sensor -> OPT3001, Humidity and Temperature Sensor-> HDC1080, Barometric Pressure and Temperature Sensor-> MPL511832A

All of them are digital sensors running on I2C protocol. The microcontroller is a ATMega32u4 running at 8MHz. The wireless transceiver used for transmitting the data wirelessly form the remote node to the BOLT platform is nRF24L01+. The WSN reads the sensor values and transmits them every 3 seconds.

On the receiver side the BOLT is connected to an Arduino through UART. We also have another nRF24L01+ on the Arduino to receive the transmitted message. The received mesage is then sent to BOLT via UART which is then published to the web UI using a mix of JavaScript and HTML.

Step 2: The Web UI

The Web Server running on the Bolt is the main user interface. The user is shown the immediate readings from the various sensors and also the data acquired from OpenWeatherMap.org's weather API. The data obtained from the API is of two types: Current Conditions and Forecasts to upto 14 days. Severe changes in the temperatures inside and outside a house may lead to Thermal Shocks. The system intimates the user in advance about the possibility of such happenings.

The User can also control various appliances in and around their house using the Web UI. This can be improved upon by integrating Voice Control and other technologies to help interact with users better.

Step 3: Programming the System

The code for the Arduinos are written in C while the code for the Bolt and the Web UI is in HTML and Javascript.

The Arduino code is pretty straight-forward. The RF24 Library has been used to interface the NRF24L01+ and SparkFun Libraries for the Sparkfun Pro Micro. The Sensor Hubs various sensors use I2C to transmit data.

The entire code has been attached below.

Step 4: Practical Implementation and Scope

In Farms the farmers can use them to remotely monitor the microclimte of their farmlands. The current weather data and the forecasts
coming fomr the openweathermap API are compared with the real time data and suitable warnings are issued depending on the difference in valus of parameters like wind speed, max temperature, min temperature sunrise and sunset time etc. The data issued from fore casts are especially important because they will laert the farmers to take preventive measure s to safeguard their corps.

Inside homes and offices the same can be implemented and the employees and the residents can be notified for possible thermal shocks or a sudden change in the conditions that can be potentially harmful for the human body.