Lect6-Software Platforms and Services
Lect6-Software Platforms and Services
(ENABLING IOT)
Module 6
Course Outline
3
Software Platforms for IoT
Software Platforms:
Integrated environments that provide tools and services to facilitate the
development, deployment, and management of IoT applications and
devices.
Offer a set of features to streamline the process of connecting devices, processing data,
and creating user interfaces.
Types of Platforms
Device Management Platforms
Data Management Platforms
Application Enablement Platforms
Software Platforms for IoT
Examples:
AWS IoT Device Management
Google Cloud IoT Core
Microsoft Azure IoT Hub
Software Platforms for IoT
Examples:
IBM Watson IoT Platform
Amazon Kinesis
Google BigQuer
Software Platforms for IoT
Examples:
Particle
ThingSpeak
Losant
IoT Platforms
IoT Platforms
Platforms specifically designed for building, managing, and scaling IoT
systems.
Typically handle device connectivity, communication, data collection, and
monitoring.
Key Characteristics:
IoT-specific: Built to handle the unique challenges of IoT systems, including device
connectivity, security, and large-scale data collection.
Integrated services: IoT platforms often provide out-of-the-box services like device
management, data analytics, and security tailored for IoT devices.
IoT Platforms
Examples:
AWS IoT Core: Allows IoT devices to connect securely to the cloud, communicate,
and transmit data.
Microsoft Azure IoT Hub: Manages IoT devices, collects data, and handles messaging
between devices and the cloud.
Google Cloud IoT: Provides device management, real-time data processing, and
machine learning for IoT systems.
Purpose:
Serve as a middleware between IoT devices and other software platforms (like cloud services).
Provide a complete, integrated environment for managing IoT devices, networks, and data pipelines.
Use Case:
AWS IoT Core can be used to connect IoT devices, securely collect sensor data, and route the data to
AWS services like S3 for storage or Lambda for processing.
AWS IoT Core Overview
Message Broker
The AWS IoT Core Message Broker manages communication
between connected devices and cloud applications by providing a
secure and scalable MQTT-based pub/sub messaging system.
Publish/Subscribe Model: Devices publish messages to specific topics, and
other devices or applications can subscribe to these topics to receive
messages. The broker routes messages between devices, applications, and
cloud services.
Topic-Based Routing: Each message is tagged with a topic, and subscribers
that match the topic receive the message. The topics can be fine-tuned
using wildcard patterns to allow for flexible routing.
AWS IoT Core Overview
Device Security
AWS IoT Core provides robust security mechanisms for IoT devices,
ensuring that only authorized devices can connect and
communicate with the service.
X.509 Certificates: Devices use these certificates for mutual authentication
when connecting to AWS IoT Core.
IoT Policies: These policies define what actions a device or user can
perform (e.g., publish, subscribe, connect) and what topics they can
interact with.
TLS Encryption: AWS IoT Core enforces TLS (Transport Layer Security) to
secure data exchanged between devices and AWS IoT.
AWS IoT Core Overview
Device Shadows
A Device Shadow in AWS IoT Core is a JSON document that represents the last
known state of a device. It allows you to track and control the state of a device
even when it is offline.
Persistent State: The shadow stores the device’s state (e.g., on/off, temperature, etc.)
persistently in the cloud.
Desired and Reported State: The shadow maintains a desired state (what you want the
device to do) and a reported state (what the device is currently doing).
Synchronization: When the device reconnects to AWS IoT, it receives any changes to the
desired state that occurred while it was offline and updates the cloud with its reported
state.
AWS IoT Core Overview
Rules Engine
The Rules Engine allows you to define actions that are triggered
when a message is published to a topic. This enables you to process,
transform, and act upon IoT data in real time.
SQL-Like Syntax: The rules engine uses a SQL-based syntax to filter and
transform incoming messages before sending them to AWS services or
third-party applications.
Integration with AWS Services: The rules engine can route data to many
other AWS services, such as Amazon S3, Amazon DynamoDB, AWS Lambda,
Amazon Kinesis, and Amazon SNS.
Data Transformation: You can use the rules engine to transform data, filter
out unnecessary data, or enrich data before routing it to the destination.
AWS IoT Core Overview
Device Registry
The Registry lets you keep track of devices connected to AWS IoT Core. It stores
metadata about each device and can be used to identify and manage large fleets of
devices.
Device Metadata: You can store attributes such as device name, type, and configuration.
Thing Groups: Devices can be organized into groups (e.g., based on location, type) to manage them
collectively and apply policies to groups.
Jobs
AWS IoT Core supports the ability to remotely manage and update fleets of devices
using IoT Jobs. This feature allows you to define and deploy actions to a large number
of devices simultaneously.
Remote Actions: You can update firmware, restart devices, change configuration settings, or
deploy software updates remotely.
Scheduling and Monitoring: Jobs can be scheduled and monitored to ensure they are
successfully completed.
AWS IoT Core Overview
Prerequisites
Basic understanding of IoT concepts.
Familiarity with web applications and APIs.
A computer with internet access.
Duration
2-3 hours
Lab Activity: Exploring IoT Software Platforms
Lab Steps
Create an AWS Account
Go to the AWS Free Tier page.
Navigate to the AWS Management Console (and sign in).
Navigate to AWS IoT Core (you may need to search for it)
Create a Virtual Device (Thing)
In the AWS IoT Core dashboard, click on Manage > All Devices > Things >
Create Things.
Choose Create single thing and click Next.
Enter a name for your Thing (e.g., SmartMeter).
Lab Activity: Exploring IoT Software Platforms
Click on Create Thing. This creates certificates and keys that will be
used for secure communication. Download all the files including:
Certificate (your-certificate.pem.crt)
Private Key (your-private.pem.key)
Root CA (Amazon Root CA 1)
Important: Download these files immediately, as you cannot retrieve them
later.
Lab Activity: Exploring IoT Software Platforms