MachinePulse at the November Open Hardware Meetup, Mumbai 2014
-
Upload
machinepulse -
Category
Technology
-
view
1.170 -
download
1
description
Transcript of MachinePulse at the November Open Hardware Meetup, Mumbai 2014
![Page 1: MachinePulse at the November Open Hardware Meetup, Mumbai 2014](https://reader033.fdocuments.net/reader033/viewer/2022052623/559c18af1a28ab1d598b45fe/html5/thumbnails/1.jpg)
November 23, 2014
Open Source Hardware and Software for the Internet of Things November Open Hardware MeetupIIT-Bombay
![Page 2: MachinePulse at the November Open Hardware Meetup, Mumbai 2014](https://reader033.fdocuments.net/reader033/viewer/2022052623/559c18af1a28ab1d598b45fe/html5/thumbnails/2.jpg)
• IOT Architecture
• IOT Gateway
• Gateway Building Blocks
• Sensor Interfaces
• Network Interfaces
• Cloud Data Acquisition
• User Interfaces
Content
![Page 3: MachinePulse at the November Open Hardware Meetup, Mumbai 2014](https://reader033.fdocuments.net/reader033/viewer/2022052623/559c18af1a28ab1d598b45fe/html5/thumbnails/3.jpg)
IoT Architecture
![Page 4: MachinePulse at the November Open Hardware Meetup, Mumbai 2014](https://reader033.fdocuments.net/reader033/viewer/2022052623/559c18af1a28ab1d598b45fe/html5/thumbnails/4.jpg)
We begin by reviewing a few IOT architectures for different use cases. Each of these have sensors that collect data.
This data is then relayed using different protocols to a data collector/ gateway. The gateway also functions as a protocol
translator. The data is now relayed over another set of internet protocols to the cloud data receiver/ gateway.
IoT Architecture
![Page 5: MachinePulse at the November Open Hardware Meetup, Mumbai 2014](https://reader033.fdocuments.net/reader033/viewer/2022052623/559c18af1a28ab1d598b45fe/html5/thumbnails/5.jpg)
The data received at the gateway is first logged, then processed, aggregated and stored. In this use case we have a set
of ATM machines where the devices (push buttons, cash dispenser, display) are integrated with the gateway. The
gateway supports voice, dialup and TCP/IP.
IoT Architecture
![Page 6: MachinePulse at the November Open Hardware Meetup, Mumbai 2014](https://reader033.fdocuments.net/reader033/viewer/2022052623/559c18af1a28ab1d598b45fe/html5/thumbnails/6.jpg)
The data once stored is now available for post-processing. This could include a business application layer, real-time
analytics and batch analytics. The user interface allows viewing real-time, historical and analytics data.
IoT Architecture
![Page 7: MachinePulse at the November Open Hardware Meetup, Mumbai 2014](https://reader033.fdocuments.net/reader033/viewer/2022052623/559c18af1a28ab1d598b45fe/html5/thumbnails/7.jpg)
IoT Gateway
![Page 8: MachinePulse at the November Open Hardware Meetup, Mumbai 2014](https://reader033.fdocuments.net/reader033/viewer/2022052623/559c18af1a28ab1d598b45fe/html5/thumbnails/8.jpg)
So an IOT platform has basically three building blocks
1. Things
2. Gateway
3. Network and Cloud
We now focus IOT gateways
IoT Gateway
![Page 9: MachinePulse at the November Open Hardware Meetup, Mumbai 2014](https://reader033.fdocuments.net/reader033/viewer/2022052623/559c18af1a28ab1d598b45fe/html5/thumbnails/9.jpg)
This is what a typical IoT gateway looks like. It has interfaces like RS485, USB, Zigbee etc for things. It also has cloud
interfaces like Ethernet, Wifi, 3G etc. NodeX1 is one such gateway.
IoT Gateway
![Page 10: MachinePulse at the November Open Hardware Meetup, Mumbai 2014](https://reader033.fdocuments.net/reader033/viewer/2022052623/559c18af1a28ab1d598b45fe/html5/thumbnails/10.jpg)
IoT Gateway Building Blocks
![Page 11: MachinePulse at the November Open Hardware Meetup, Mumbai 2014](https://reader033.fdocuments.net/reader033/viewer/2022052623/559c18af1a28ab1d598b45fe/html5/thumbnails/11.jpg)
The heart of a cloud platform could use open source boards like the Raspberry Pi, Beaglebone Black,
Intel Galileo etc. These are usual Linux boards that run different flavours of Linux like Raspbian on the
Raspberry Pi, Angstrom on the Beaglebone etc. These boards interface with devices on the one hand
and the cloud platform on the other.
IoT Gateway Building Blocks
Beaglebone Back Raspberry Pi Intel Galileo
![Page 12: MachinePulse at the November Open Hardware Meetup, Mumbai 2014](https://reader033.fdocuments.net/reader033/viewer/2022052623/559c18af1a28ab1d598b45fe/html5/thumbnails/12.jpg)
IoT Sensor Interfaces
![Page 13: MachinePulse at the November Open Hardware Meetup, Mumbai 2014](https://reader033.fdocuments.net/reader033/viewer/2022052623/559c18af1a28ab1d598b45fe/html5/thumbnails/13.jpg)
Let’s take a look at the device interfaces. So for example, devices could interface with the Raspberry Pi over RS-485,
Xbee and Wifly. An RS-485 network allows a multi-dropped serial wired network allowing a host of devices to connect.
The Xbee creates a wireless mesh network allowing large number of wireless devices to connect. The Wifly allows
creating a point to point wifi interface. These are open source interfaces and allows creation of a large sensor network.
We could also use the GPIO on the Raspberry Pi for physical inputs.
Sensor Interfaces
Xbee Mesh network
Wifly – P-to-P
Raspberry Pi
RS-485 to Serial
![Page 14: MachinePulse at the November Open Hardware Meetup, Mumbai 2014](https://reader033.fdocuments.net/reader033/viewer/2022052623/559c18af1a28ab1d598b45fe/html5/thumbnails/14.jpg)
IoT Network Interfaces
![Page 15: MachinePulse at the November Open Hardware Meetup, Mumbai 2014](https://reader033.fdocuments.net/reader033/viewer/2022052623/559c18af1a28ab1d598b45fe/html5/thumbnails/15.jpg)
The next interface we look at is the cloud interface. This is achieved using a simple WiFi dongle or a GPRS shield. The
WiFi dongle interfaces over USB and the GPRS shield uses the serial interface. Also available is the ethernet port
which could be used for interface.
Network Interfaces
GPRS shield
Wi-Fi dongle
Raspberry Pi
![Page 16: MachinePulse at the November Open Hardware Meetup, Mumbai 2014](https://reader033.fdocuments.net/reader033/viewer/2022052623/559c18af1a28ab1d598b45fe/html5/thumbnails/16.jpg)
Cloud Data Acquisition
![Page 17: MachinePulse at the November Open Hardware Meetup, Mumbai 2014](https://reader033.fdocuments.net/reader033/viewer/2022052623/559c18af1a28ab1d598b45fe/html5/thumbnails/17.jpg)
Cloud Data Acquisition
Now lets take a look at data acquisition on the Cloud platform. I’d recommend use of a very good open-source
implementation called Ponte, developed by Matteo Collina (@matteocollina). It supports three of the most widely
used protocols for gateway interfaces, namely HTTP, MQTT and COAP. It support multiple databases like
MongoDB, Redis and LevelDB. Also has an inbuilt pub-sub mechanism for publishing and subscribing to other
devices over multiple protocols.
![Page 18: MachinePulse at the November Open Hardware Meetup, Mumbai 2014](https://reader033.fdocuments.net/reader033/viewer/2022052623/559c18af1a28ab1d598b45fe/html5/thumbnails/18.jpg)
User Interfaces
![Page 19: MachinePulse at the November Open Hardware Meetup, Mumbai 2014](https://reader033.fdocuments.net/reader033/viewer/2022052623/559c18af1a28ab1d598b45fe/html5/thumbnails/19.jpg)
Cloud View
The Cloud view requires connecting to a datastore, web server/ framework for handling requests and a robust client-
side library. I’d recommend using the open-source MEAN stack (MongoDB, Expressjs, AngularJS and Node.js)
![Page 20: MachinePulse at the November Open Hardware Meetup, Mumbai 2014](https://reader033.fdocuments.net/reader033/viewer/2022052623/559c18af1a28ab1d598b45fe/html5/thumbnails/20.jpg)
Thank You.
Anand George
Software Developer, MachinePulseMumbai
@anandgeor @machine_pulse