WMS 1
WMS 1
WMS 1
Behavior: End nodes collect data from sensors at regular intervals say every 15 seconds to the
cloud. Where the data is collected and analyzed.
Read Sensor
Store Value
WAIT 5 MINS
Step 3: Domain model Specification
Invokes User
Subscribers
Application
exposes
Associated
Resource With hosts
Device
minicomputer
Attached to Attached to
Derived From the highlighted portions of process and information model – service Model –
Controller Service that runs as a native service on the device and monitors parameters every
15 seconds. The controller service calls the REST service to store these measurements in the
cloud.
Service
Name: Controller
Type: Native
Output Schedule
Temperature Interval: Every 15
Pressure Seconds
Humidity
Light
The system has multiple nodes placed in different locations for monitoring – temperature ,
pressure, light, humidity. The end nodes are equipped with sensors – send data to the
cloud, data is stored in the cloud database. Analysis done in cloud to aggregate data and
make predictions. Cloud based applications for visualizing data. The centralized controller
on the cloud can send control commands to the end nodes for e.g. to change monitoring
intervals.
Step 7: Functional View Specification
Step 8: Operational View Specification
Device: Raspberry PI, Sensors (Light, Temperature, pressure, Humidity, wind speed*, wind
direction*, Rainfall*, Solar Radiations*)
API: RESTFUL
Services:
Controller – Native – Python
Why Python
1) Minimalistic Language- English like keywords, fewer syntactical constructions- easier
to learn
2) Compact – when compared to other languages.
3) Interpreted Language – does not require compilation python interpreter converts
python code to intermediate byte code specific to system.
4) Python supported on wide range of platforms – hence portable
5) Wide Library support
6) Can be used for End-to-End development of IoT systems – device code, native
service, web service, web applications, analytics
Applications
Web Applications – Django
Application Server – Django
Why Django?
The Django framework that is designed to support web apps including web services,
resources and web APIs alleviate the overhead associated with common activities
performed with web development. It allows clean and rapid development of pragmatic
design without reinventing the wheel.
Advantages of Django
• Based on Python
• Open Source – Works on any Platform
• Transparent & High Quality code writing
Disadvantage of Django
• Does not allow RT Web Applications
Database – MySQL
Advantages of MySQL (Structured Query Language)
• Support for Deeply Embedded Systems
• 1 MB footprint – even when data is in TB
• Data Protection Mechanism via Authentication Built -in
• Allows high speed and large data accesses.
Analytics – Hadoop
Advantages of Hadoop
• Robust even when there is some failure in the cloud.
• Two Parts – a data processing framework and distributed file system for storage
• Has component built in for a distributed system.
Security
Authentication: Web Application, Database
Authorization: Web application, Database
Management
Application: Django
Database: MySQL
Device: Raspberry Device Management.
Step 9: Device & Component Integration
This involves the embedded system design of the local device – the weather monitoring
system that has the microcontroller and the sensors connected to it. The system is built
around Raspberry PI with sensors for light, temperature, pressure and humidity. Data is
collected from these sensors at regular intervals of 15 seconds and is sent to the cloud. The
figure shows the schematic of this system. Though currently the system only monitors four
parameters other sensors can be added later.
Step 10: Application Development
The figure is a screenshot of a Weather Monitor System (This is one possible application Interface)
The application shows the temperature, pressure, humidity, wind direction & speed, solar radiation
as well as the current weather forecast. The application allows the user to select from which site he
wants the data – based on the site it displays the parameters on the screen- While displaying the
parameters of (current value) of all sites on the left pane. The parameter to be displayed can be
selected by the user from the list of weather parameters.