tag:blogger.com,1999:blog-76742817929167134332024-03-19T02:47:41.543-07:00RetailIOT-EclipseProjectAmarhttp://www.blogger.com/profile/10167982474835697920noreply@blogger.comBlogger1125tag:blogger.com,1999:blog-7674281792916713433.post-60815146668680548912017-02-25T07:17:00.000-08:002017-02-27T23:51:34.106-08:00<div dir="ltr" style="text-align: left;" trbidi="on">
<h2 style="background-color: white; border-bottom-color: rgb(238, 238, 238); border-bottom-style: solid; border-bottom-width: 1px; box-sizing: border-box; color: #333333; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; line-height: 1.25; margin-bottom: 16px; margin-top: 24px; padding-bottom: 0.3em;">
Overview of the Solution - The Story</h2>
<div style="background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 16px; margin-bottom: 16px;">
<br />
<br class="Apple-interchange-newline" />
<span style="font-size: small;"><u><b>Description of the project </b></u></span><br />
<br />
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.</div>
<div style="background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 16px;">
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.</div>
<div style="background-color: white; box-sizing: border-box;">
<div style="color: #333333; font-size: 16px;">
<br /></div>
<br />
<div style="color: #333333; font-size: 16px;">
<br /></div>
</div>
<div style="background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 16px;">
<br /></div>
<div style="background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 16px;">
The overall high-level architecture is depicted here:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhVqXVNnKUS_difJR8PSUgKmY2MrOJU7A8X8ptm4ieI6Q2JvdC0nP17wsYkT95cOgxK_5V6R5RcDWpTwS-yetCaAC-RhdBNUspk89_eJPc0my3duyDuQKbILrXvcUmeoHjhzDFtdiQo9Y/s1600/blockdig.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="172" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhVqXVNnKUS_difJR8PSUgKmY2MrOJU7A8X8ptm4ieI6Q2JvdC0nP17wsYkT95cOgxK_5V6R5RcDWpTwS-yetCaAC-RhdBNUspk89_eJPc0my3duyDuQKbILrXvcUmeoHjhzDFtdiQo9Y/s400/blockdig.png" width="400" /></a></div>
<div style="background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 16px;">
<br /></div>
<div style="background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 16px;">
<b><u><br /></u></b></div>
<div style="background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 16px;">
<b><u><br /></u></b>
<br />
<div style="color: black; font-size: medium;">
<span style="color: #333333;"><b><u>Open technology and standards that were used</u></b></span></div>
<div style="color: black; font-size: medium;">
<br /></div>
Project Start, hardware & Installations:<br />
<b><u><br /></u></b>
We have started with measuring storage temperature and capture the temperature value.<br />
<br />
<br /></div>
<div style="background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 16px;">
<br /></div>
<div style="background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 16px;">
we have used Raspberry Pi -3 , with Raspian, as our gateway and Installed Kura in it.</div>
<div style="background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 16px;">
so RPi3+Kura2.0 is the gateway that connected to the devices.</div>
<div style="background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 16px;">
<br /></div>
<div style="background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 16px;">
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.</div>
<div style="background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 16px;">
<br /></div>
<div style="background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 16px;">
for Temperature & Humidity value we used I2C (<span style="color: black; font-family: "menlo"; font-size: 11px;">SI7021)</span>temperature & humidity sensor, connected to RPi3.<br />
<style type="text/css">
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000; background-color: #ffffff}
span.s1 {font-variant-ligatures: no-common-ligatures}
</style>
</div>
<div style="background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 16px;">
<br /></div>
<div style="background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 16px;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyDeGPbhcLONJuTTdJcHHDG6K3Qcu-wYSC34YnVfQde0gXxt8b_8znG3GlQGpC2iPxNihlxubNDhy0qqtCehDACGGCgseGBgAtDPp49m9U3Hto1baLFtfszYYgfoK9IO74556G3w9YLR8/s1600/IMG_3258.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyDeGPbhcLONJuTTdJcHHDG6K3Qcu-wYSC34YnVfQde0gXxt8b_8znG3GlQGpC2iPxNihlxubNDhy0qqtCehDACGGCgseGBgAtDPp49m9U3Hto1baLFtfszYYgfoK9IO74556G3w9YLR8/s640/IMG_3258.JPG" width="480" /></a></div>
<br /></div>
<div style="background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 16px;">
<br /></div>
<div style="background-color: white; box-sizing: border-box;">
<div style="color: #333333; font-size: 16px;">
for Proximity sensing we have used 3pin PIR sensor. the above pic shows the connection details.</div>
<div style="color: #333333; font-size: 16px;">
<br /></div>
<div style="color: #333333; font-size: 16px;">
<b><u>Open Source KURA for GATEWAY containing Configurable Sensor Modules:</u></b></div>
<div style="color: #333333; font-size: 16px;">
<br /></div>
<div style="color: #333333; font-size: 16px;">
For controlling the Temperature & Humidity Sensor and the PIR sensors remotely we have made these as configurable components.</div>
<div style="color: #333333; font-size: 16px;">
So these sensors can now be controlled remotely via Kura Admin as can be seen in the below pics.</div>
<div style="color: #333333; font-size: 16px;">
<br /></div>
<div style="color: #333333; font-size: 16px;">
Temperature parameters:</div>
<div class="separator" style="clear: both; color: #333333; font-size: 16px; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjAPi2yH_jvqHWNl1heC-e7s_cavlaXGKoqhMoKcC8wnkRpirR1aSnih63meBBwlzTrVXl3xFwJTpb582oJTxCBoyDDNL7cvTw1MEY_bNC9n26hRBiR_ykkmyrJa_QNULVMSq_u9PSDiE/s1600/Screen+Shot+2017-02-26+at+2.50.21+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjAPi2yH_jvqHWNl1heC-e7s_cavlaXGKoqhMoKcC8wnkRpirR1aSnih63meBBwlzTrVXl3xFwJTpb582oJTxCBoyDDNL7cvTw1MEY_bNC9n26hRBiR_ykkmyrJa_QNULVMSq_u9PSDiE/s640/Screen+Shot+2017-02-26+at+2.50.21+PM.png" width="633" /></a></div>
<div class="separator" style="clear: both; color: #333333; font-size: 16px; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; color: #333333; font-size: 16px; text-align: left;">
and Proximity sensor parameters</div>
<div class="separator" style="clear: both; color: #333333; font-size: 16px; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; color: #333333; font-size: 16px; text-align: center;">
<br /></div>
<div style="color: #333333; font-size: 16px;">
<br /></div>
<div class="separator" style="clear: both; color: #333333; font-size: 16px; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVpdZb8oe9pj4TqSra-tgUjME92L8ogP0rz5R8w66Pt9y6x2KZnd-G23UbPgjj-NoxOv3DZDUeFQICyQ5H97ZTlSYNF-AaZIwAPTX57ibGw7CztohE0QlYsIAvunXas1CRI86H7c7XQdc/s1600/Screen+Shot+2017-02-26+at+2.50.42+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVpdZb8oe9pj4TqSra-tgUjME92L8ogP0rz5R8w66Pt9y6x2KZnd-G23UbPgjj-NoxOv3DZDUeFQICyQ5H97ZTlSYNF-AaZIwAPTX57ibGw7CztohE0QlYsIAvunXas1CRI86H7c7XQdc/s640/Screen+Shot+2017-02-26+at+2.50.42+PM.png" width="590" /></a></div>
<div class="separator" style="clear: both; color: #333333; font-size: 16px; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; color: #333333; font-size: 16px; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; color: #333333; font-size: 16px; text-align: left;">
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.</div>
<div class="separator" style="clear: both; color: #333333; font-size: 16px; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; color: #333333; font-size: 16px; text-align: left;">
<b><u>Integration to Kapua (to be used at Enterprise End)</u></b></div>
<div class="separator" style="clear: both; color: #333333; font-size: 16px; text-align: left;">
<b><u><br /></u></b></div>
<div class="separator" style="clear: both; color: #333333; font-size: 16px; text-align: left;">
Installtion of Kapua is a bit difficult, but could be achieved when we followed the <a href="https://github.com/eclipse/kapua/blob/develop/dev-tools/src/main/vagrant/README.MD#demo-machine-quick-start" target="_blank">Readme QuickStart </a>file , form Kapua git repository. </div>
<div class="separator" style="clear: both; color: #333333; font-size: 16px; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; color: #333333; font-size: 16px; text-align: left;">
We have successfully installed and run KAPUA, but not able to integrate Kura to Kapua as of now.</div>
<div style="color: #333333; font-size: 16px;">
<br /></div>
<div style="color: #333333; font-size: 16px;">
<br /></div>
<div style="color: black; font-size: medium;">
<br /></div>
<div style="color: #333333; font-size: 16px;">
<br /></div>
<div style="color: #333333; font-size: 16px;">
The Enterprise App prototype:</div>
<div style="color: #333333; font-size: 16px;">
<br /></div>
<div style="color: #333333; font-size: 16px;">
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 .<br />
<br />
the prototype can be sen here:<br />
<a data-saferedirecturl="https://www.google.com/url?hl=en&q=https://standard.build.me/api/projects/4bfdd9426137c5ab0d38dea8/prototype/snapshot/latest/index.html&source=gmail&ust=1488350893446000&usg=AFQjCNEFbksfYaqV-cm88-JTFJIy_SHEpQ" href="https://standard.build.me/api/projects/4bfdd9426137c5ab0d38dea8/prototype/snapshot/latest/index.html" style="color: #1155cc; font-family: arial, sans-serif; font-size: 12.8px;" target="_blank">https://standard.build.me/api/<wbr></wbr>projects/<wbr></wbr>4bfdd9426137c5ab0d38dea8/<wbr></wbr><span class="il">prototype</span>/snapshot/latest/<wbr></wbr>index.html</a></div>
<div style="color: #333333; font-size: 16px;">
<br /></div>
<div style="color: #333333; font-size: 16px;">
<b>Open Source Mosquitto Broker </b></div>
<div style="color: #333333; font-size: 16px;">
<br /></div>
<span style="color: #333333; font-size: 16px;">We have used teh Mosquitto broker as our broker server, and used the eclipse mosquitto sandbox , </span><br />
<span style="color: #333333;"><br /></span>
<span style="color: #333333;">mqtt://iot.eclipse.org:1883/</span><br />
<div style="color: #333333; font-size: 16px;">
<br /></div>
<div style="color: #333333; font-size: 16px;">
<br /></div>
<div style="color: #333333; font-size: 16px;">
<b>Open Source Paho Client (Org.eclipse.paho.client.mqttv3) :</b></div>
<div style="color: #333333; font-size: 16px;">
Alternatively we have developed JAVA MQTT client Application , that will consume the sensor data.</div>
<div style="color: #333333; font-size: 16px;">
The same can be then stored in file system ( or BigData NOSQL DB) . The Stored data can be used to create human readable visualizations.</div>
<div style="color: #333333; font-size: 16px;">
<br /></div>
<div style="color: black; font-size: medium;">
<span style="color: #333333;">As of now we have achieved the subscription part of the message.</span><br />
<span style="color: #333333;"><br /></span>
<span style="color: #333333;">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). </span><br />
<span style="color: #333333;"><br /></span>
<span style="color: #333333;">We further need to convert these to proper object and store the in MongoDB to be interpreted in visualizations.</span><br />
<span style="color: #333333;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSee1Pf11-9oPO8iymHWoViUehZfO6YpPTiYzD2nDUOQPQyoFuWz6sPL54toX-a5mBvJmDuBHzhT6vntZEN7h4X5mdJapQOix7dYXXLE6Y7dMG7hiZ3_KDLopyLisTsBpk00Xd-KFRJg0/s1600/Screen+Shot+2017-02-28+at+9.31.05+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="354" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSee1Pf11-9oPO8iymHWoViUehZfO6YpPTiYzD2nDUOQPQyoFuWz6sPL54toX-a5mBvJmDuBHzhT6vntZEN7h4X5mdJapQOix7dYXXLE6Y7dMG7hiZ3_KDLopyLisTsBpk00Xd-KFRJg0/s640/Screen+Shot+2017-02-28+at+9.31.05+AM.png" width="640" /></a></div>
<br />
<span style="color: #333333;"><br /></span>
<span style="color: #333333;"><br />The proximity data is also published to show the Ad when people are near. </span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFe-CyuGfhbozqkozKrSt1K4IaBkwAM3RFXt0FdkcUpO8LVmN9h8_qYeVl_QmXlcpAFigCQUHp6P8ElK_2xTjgtq6Ys-54pNhrV_n_3pdqmkhHj_6Jit6IY37O_xmfmr15Vm_ywzi0spY/s1600/Screen+Shot+2017-02-28+at+9.40.32+AM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="134" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFe-CyuGfhbozqkozKrSt1K4IaBkwAM3RFXt0FdkcUpO8LVmN9h8_qYeVl_QmXlcpAFigCQUHp6P8ElK_2xTjgtq6Ys-54pNhrV_n_3pdqmkhHj_6Jit6IY37O_xmfmr15Vm_ywzi0spY/s640/Screen+Shot+2017-02-28+at+9.40.32+AM.png" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<span style="color: #333333;"><br /></span>
<span style="color: #333333;">the object Model of the sensor values:</span><br />
<span style="color: #333333;"><br /></span>
<span style="color: #333333;">Temperature & Humidity Sensor Data{</span><br />
<span style="color: #333333;">private String clientId;<br /> private Date timestamp;<br /> private double temperature;<br /> private double humidity;</span><br />
<span style="color: #333333;">}</span><br />
<span style="color: #333333;"><br /></span>
<span style="color: #333333;"><br /></span>
<span style="color: #333333;">proximity Sensor data:</span><br />
<span style="color: #333333;">{</span><br />
<span style="color: #333333;"> private String clientId;<br /> private Date timestamp;<br /> private boolean proximity;</span><br />
<span style="color: #333333;">}</span><br />
<span style="color: #333333;"><br /><b><u> Applicability of a solution to a specific industry</u></b></span><br />
<span style="color: #333333;"><br /></span>
<span style="color: #333333;">The Solution can be applied to Retail Industries, for Displaying Ads & remotely monitoring the storage devies like Chillers, Refridgerators, Dairy Products containers etc.</span><br />
<span style="color: #333333;"><br /></span></div>
<div style="color: black; font-size: medium;">
<span style="color: #333333;"><b>- Lessons learned</b></span><br />
<span style="color: #333333;"><b><br /></b></span>
<span style="color: #333333;"><b>Opensource technology can beautifully handle most of the needs of IOT usecases. </b></span><br />
<span style="color: #333333;"><b>Though we are not able to create the industry ready prototype, give more time and effort it can be achieved by opensource technology.</b></span></div>
<div style="color: #333333; font-size: 16px;">
<br /></div>
<div style="color: #333333; font-size: 16px;">
<br /></div>
<div style="color: #333333; font-size: 16px;">
<br /></div>
<div style="color: #333333; font-size: 16px;">
<br /></div>
<div style="color: #333333; font-size: 16px;">
<br /></div>
</div>
<div style="background-color: white; box-sizing: border-box; color: #333333; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 16px;">
<br /></div>
</div>
Amarhttp://www.blogger.com/profile/10167982474835697920noreply@blogger.com0