%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#2C3E50', 'primaryTextColor': '#fff', 'primaryBorderColor': '#16A085', 'lineColor': '#16A085', 'secondaryColor': '#E67E22', 'tertiaryColor': '#7F8C8D'}}}%%
flowchart TD
Start(["Select IoT Platform"]) --> Q1{"Primary<br/>Requirement?"}
Q1 -->|"Maximum Scale"| AWS["AWS IoT Core"]
Q1 -->|"Microsoft Enterprise"| Azure["Azure IoT Hub"]
Q1 -->|"Self-Hosted"| OSS["ThingsBoard/FIWARE"]
Q1 -->|"Rapid Prototyping"| Simple["Node-RED/Home Assistant"]
Q1 -->|"Edge Processing"| Edge["Greengrass/EdgeX"]
style Start fill:#2C3E50,stroke:#16A085,color:#fff
style AWS fill:#E67E22,stroke:#2C3E50,color:#fff
style Azure fill:#16A085,stroke:#2C3E50,color:#fff
style OSS fill:#16A085,stroke:#2C3E50,color:#fff
style Simple fill:#16A085,stroke:#2C3E50,color:#fff
style Edge fill:#7F8C8D,stroke:#2C3E50,color:#fff
1578 Software Platforms and Frameworks
1578.1 Learning Objectives
By the end of this section, you will be able to:
- Understand the landscape of IoT software platforms and their architectural roles
- Select appropriate cloud platforms, application frameworks, and edge solutions
- Deploy device management platforms for fleet provisioning, updates, and monitoring
- Make informed platform selection decisions based on project requirements
1578.2 Prerequisites
Before diving into this section, you should be familiar with:
- IoT Reference Models: Understanding the layered IoT architecture provides context for where software platforms fit
- Prototyping Software: Knowledge of development environments helps evaluate platform support
- MQTT Protocol: MQTT is the dominant messaging protocol for IoT platforms
Think of IoT platforms like app stores + operating systems for smart devices.
Just like your phone needs iOS or Android to run apps, your IoT devices need platforms to connect, communicate, and be managed. Platforms give you pre-built tools—authentication, device management, data storage—that would take months to build from scratch.
Three types of platforms you’ll encounter:
| Platform Type | What It Does | Example |
|---|---|---|
| Cloud Platform | Connect devices to internet, store data | AWS IoT, Azure IoT Hub |
| Edge Platform | Process data locally before sending to cloud | Home Assistant, EdgeX |
| Development Framework | Tools for building IoT applications | Node-RED, Arduino IDE |
Start simple: For hobbyists, Node-RED and Home Assistant are friendly entry points. For production, consider AWS IoT Core or Azure IoT Hub.
1578.3 Section Overview
This section covers the complete IoT software platform landscape across four focused chapters:
1578.3.1 Cloud IoT Platforms
Major cloud providers offer managed IoT services for device connectivity, data processing, and analytics:
- AWS IoT Core: Maximum scalability with Lambda, S3, and DynamoDB integration
- Azure IoT Hub: Enterprise Microsoft integration with Digital Twins and IoT Central
- Google Cloud IoT: Deprecated IoT Core, migration to Pub/Sub and partner solutions
- Other platforms: IBM Watson IoT, Oracle IoT, Alibaba Cloud IoT
1578.3.2 Application Frameworks
Higher-level tools for rapid IoT application development:
- Node-RED: Visual flow-based programming with 4,000+ community nodes
- Home Assistant: Smart home automation with 2,000+ device integrations
- Eclipse Kura: Java/OSGi framework for industrial gateways
1578.3.3 Edge Computing Platforms
Local processing for reduced latency and offline operation:
- AWS IoT Greengrass: Edge Lambda functions and ML inference
- Azure IoT Edge: Docker containers as modules with Azure integration
- EdgeX Foundry: Vendor-neutral microservices architecture (Linux Foundation)
1578.3.4 Device Management and Selection
Fleet management, open-source alternatives, and selection criteria:
- Balena: Docker-based fleet management for Raspberry Pi
- Mender: Open-source OTA updates with robust rollback
- ThingsBoard, FIWARE, Mainflux: Self-hosted open-source platforms
- Selection criteria: Scale, budget, expertise, integration needs
1578.4 Platform Selection Quick Reference
| Scale | Recommended Approach |
|---|---|
| < 100 devices | Open-source (Home Assistant, ThingsBoard) or cloud free tiers |
| 100-10,000 | Managed cloud platforms (AWS IoT, Azure IoT) |
| > 10,000 | Enterprise cloud or custom infrastructure |
1578.5 Visual Reference Gallery
RTOS provides a structured foundation for complex IoT firmware, enabling reliable multi-tasking with predictable timing and resource management.
Modern IoT software platforms span edge to cloud, with appropriate frameworks for each tier’s resource constraints and capabilities.
1578.6 Summary
- Cloud platforms (AWS, Azure, GCP) provide managed infrastructure for scalability, security, and enterprise integration
- Application frameworks (Node-RED, Home Assistant) enable rapid development through visual programming and pre-built integrations
- Edge platforms (Greengrass, Azure IoT Edge, EdgeX) bring cloud capabilities to local devices for latency and offline requirements
- Device management (Balena, Mender) solves operational challenges of fleet updates and monitoring
- Open-source options (ThingsBoard, FIWARE, Mainflux) provide flexibility and cost savings for self-hosted deployments
- Platform selection depends on scale, budget, expertise, integration needs, and strategic priorities
Development: - Programming Paradigms - Programming approaches - Simulating Hardware - Development tools
Hardware Platforms: - Prototyping Hardware - Hardware options - Specialized Kits - Development kits
Architecture: - Edge Fog Computing - Deployment targets - IoT Reference Models - Software layers
Protocols: - MQTT - Message brokers - CoAP - RESTful services
1578.7 What’s Next
Continue to Cloud IoT Platforms to learn about AWS IoT Core, Azure IoT Hub, and Google Cloud IoT services for enterprise-scale IoT deployments.