Saturday, February 25, 2017

Overview of the Solution - The Story

Description of the project 

To start with I will describe the intended solution & the initial architecture that we have in mind. Retail is a fast moving industry and consumers have a negative sentiment about products which are not kept in proper storage condition & which are about to expire or already expired. The products which are improperly stored & are close to expiry or has expired are not sold. This not only means lost sales but also negative consumer sentiment on the store, on the product & on the Brand as a whole.
The manual effort needed to solve this problem will be too laborious, prone to human error and lacks transparency & visibility to the product/brand owner level. The solution we are proposing will use IOT based technology to solves these problems.

The overall high-level architecture is depicted here:

Open technology and standards that were used

Project Start, hardware & Installations:

We have started with measuring storage temperature and capture the temperature value.

we have used Raspberry Pi -3 , with Raspian, as our gateway and Installed Kura in it.
so RPi3+Kura2.0 is the gateway that connected to the devices.

We have tried to use DHT sensor ( as it is lowest cost), but reading data from it via JAVA is quite difficult , and due to time constraint we used I2C sensor instead.

for Temperature & Humidity value we used I2C (SI7021)temperature & humidity sensor, connected to RPi3.

for Proximity sensing we have used 3pin PIR sensor. the above pic shows the connection details.

Open Source KURA for  GATEWAY containing Configurable  Sensor Modules:

For controlling the Temperature & Humidity Sensor and the PIR sensors remotely we have made these as configurable components.
So these sensors can now be controlled remotely via Kura Admin as can be seen in the below pics.

Temperature parameters:

and Proximity sensor parameters

So we have done the part with sensors , on capturing the temperature & humidity conditions of the food storage units. This data need to be sent to the enterprise , so that the end users can monitor them and take decisions.

Integration to Kapua (to be used at Enterprise End)

Installtion of Kapua is a bit difficult, but could be achieved when we followed the Readme QuickStart file , form Kapua git repository. 

We have successfully installed and run KAPUA, but not able to integrate Kura to Kapua as of now.

The Enterprise App prototype:

The enterprise people, ( say the retail Business Manager) will be provided with the application ( preferably desktop app)  to enable them to monitor the retail channel Partners' performance & how they maintain food items .

the prototype can be sen here:

Open Source Mosquitto Broker 

We have used teh Mosquitto broker as our broker server, and used the eclipse mosquitto sandbox , 


Open Source Paho Client (Org.eclipse.paho.client.mqttv3) :
Alternatively we have developed JAVA MQTT client Application , that will consume the sensor data.
The same can be then stored in file system ( or BigData NOSQL DB) . The Stored data can be used to create human readable visualizations.

As of now we have achieved the subscription part of the message.

We have used the Mosquitto sand box from eclipse org to use as our broker. We have subscribed to the topics, to which we are publishing. We received the  messages from those queues ( with QOS=1). 

We further need to convert these to proper object and store the in MongoDB to be interpreted in visualizations.

The proximity data is also published to show the Ad when people are near. 

the object Model of the sensor values:

Temperature & Humidity Sensor Data{
private String clientId;
 private Date timestamp;
 private double temperature;
 private double humidity;


proximity Sensor data:
 private String clientId;
 private Date timestamp;
 private boolean proximity;


 Applicability of a solution to a specific industry

The Solution can be applied to Retail Industries, for Displaying Ads & remotely monitoring the storage devies like Chillers, Refridgerators,  Dairy Products containers etc.

- Lessons learned

Opensource technology can beautifully handle most of the needs of IOT usecases. 
Though we are not able to create the industry ready prototype, give more time and effort it can be achieved by opensource technology.