Azure support IoT App
Introduction
I am Peter. In the past few years, I learned few technologies. My experience contains:
- Mathematica Modeling
- Distributed Computing (MPI, Hadoop, etc)
- IDC (Rack, Server, Storage, etc)
- Computer Vision (OpenCV with Python & Java)
- Machine Learning
- Cloud Computing (Ubuntu VPS, CloudFoundry/IBM Bluemix)
- IoT (Arduino/AVR-MCU & ARM/MPU-Board as my embedded devices)
Today, I want to shard my IoT project with you!:)
Agenda
- Overview
- Readiness for Migrating to Azure IoT
- How to do it
- Advantages vs. Disadvantages
- Demo
- We can do more
- Any Question?
Overview
Focus 4 sections.
- Description
- Purpose
- Prototype Design
- Original System Implementation
Description - Overview
In factory, workers always do same operation below:
- Start Machine
- Stop Machine
- Repair Machine
- Supply Material
Managers need to time for these work.
Purpose - Overview
Their needs are as follows:
- Auto time for start & stop machine.
- Time for manual event trigger, such as repair & supply service.
- Event trigger drive ring & light alarm.
So it is a Production Monitoring System using IoT Technology. Let's just call it "PMS".
Prototype Design - Overview
Here is my IoT Basic Model Definition.
It has 5 layouts. From top to bottom, they are:
- Application Service
- Data Service
- Communication
- Sensor
- Physics
Prototype Design - Overview
Based on my model, I designed this prototype architecture.
PMS include 4 parts:
- Sensor Data Collector (SDC)
- Sensor Data Hub (SDH)
- Data Filter & Persistence (DFP)
- Information Visualization
Original System Implementation - Overview
- Based on Arduino Ethernet implements SDC.
- Implement SDH & DFP in Google Go.
- Data stored in MariaDB with manual table partition.
- Visualize Information partly & Alarm are implemented by LED Displayer drived RaspberryPi v2.
- Their communication use socket, 0mq/nanomsg and websocket.
Readiness for Migrating to Azure IoT
Focus Core concepts for IoT.
- Events Hub
- Service Bus
- Storage Service
- SQL Database
- Stream Analytics
- PowerBI
- Web & Mobile App
How to do it
- Event Hubs replaces SDH.
- Stream Analytics replace DFP.
- Azure SQL used for matedata management.
- Block Blob Storage replaces MariaDB with manual partition what used for time series data store.
- Service Bus replaces 0mq/nanomsg PubSub.
- PowerBI will support better visualization.
Advantages vs. DisAdvantages
Advantages
- Take full advantage of Azure Service Components
- Shorten the development cycle
- Supply High-Reliability and High-Availabilty
- Ease to maintenance management
-
Advantages vs. DisAdvantages
Disdvantages
- Arduino Device Configuration limits, not communite directly Event Hubs
- The network environment of customer scenes is unknown: Bandwidth? Consistency?
How to improve reliability - Advantages vs. DisAdvantages
- Cache Event Data Based on Arduino SD file if network offline
- Notify customer through Mobile way to check fault
Demo
Only 2 parts: EventHubs & Stream Analytics
- Create EventHub Instance
- Create Storage Service Instance
- Create Stream Analytics Instance and configure Input, output, query
- Start Stream Analytics Job
- Start Event-Publisher
- Start Arduino-Simulator
- Check Event Data in Blob Storage
We can do more
- Through PowerBI visualize Event Data Chart, such as Time Series Chart
- Quick start IoT from Scaffold Tools
- Support Mobile Notification
Any Question?
Thanks! :)