Introduction: IoT On-the-go

IoT on-the-go is an IoT framework to help automate your living spaces. The frameworks allows controllability/observability of multiple devices remotely. It also supports seamless integration of multiple devices based on proximity of the user.

The hub for each IoT is developed on an Intel Edison platform. The APIs to interact with the hub are based on RESTApi implemented using Python.

Step 1: Server Running on IoT Hub

The server running on IoT hub is written in Python using Flask (for Rest API), Intel MRAA and UPM libraries for controlling devices and sensors, Intel Cloud Analytics for uploading the observed data for future analytics on user profile/habits and possible data for machine learning.

Currently Flask library is used for the Rest API. So that makes it seamless to work with web based applications, mobile applications, standalone apps in any platform and many languages.

For the current project, we are using the GET protocol for all the interfaces defined and return a JSON information for each of the command executed. The current list of apis supported include

1. Get Temperature (gettemp)

2. Get Light Intensity (getlight)

3. Feed pet (feedfish)

4. Power/off devices (poweron/poweroff/powerstate)

5. iBeacon control

6. Get supported device

Tip: Each individual api can be accessed from the browser as

http://hub_name:5000/>

The port# 5000 is needed because Flask uses port 5000 by default, it can change based on the configuration on your system

Step 2: Step 1. Pet Feeder Control

We based our pet feeder on the thingiverse (http://www.thingiverse.com/thing:736693). A stepper motor is used to control the feeding cycle and the amount of food dispensed can be controlled based on the amount of time the motor is turned on.

The components used:

ULN200XA Darlington Stepper driver

https://software.intel.com/en-us/iot/hardware/sens...

Step 3: IoT Analytics

Intel analytics provide a simple easy to upload and let the users monitor the data. In case of this project we uploaded the temperature, the water on/off, light on/off events, fish-feeding done. This way the user can have a real time updates of all the information about the events happening with his/her aquarium.
Once connected with the Intel analytics agent, the code to update the data is a very simple single line. For eg. this is the code to send the temperature data iotkit.send("temp", temp); More information about this can be found in here... https://software.intel.com/en-us/intel-iot-develo...