SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
Sabato 24 settembre 2022
Connect
a
chips
to
Azure
Mirco Vanini
Sabato 24 settembre 2022
A journary around the Azure SDK
for small device (bare metal)
Grazie ai nostri sponsor
Mirco Vanini
@MircoVanini
https://github.com/MircoVanini
https://www.linkedin.com/in/pr
oxsoft/
Microsoft MVP
Developer Technologies
• MCU/CPU
• Azure IoT SDKs
• Azure SDK for Embedded C
• Tools
• Demo
Agenda
• A Micro Controller Unit (MCU) is a small processor, usually
a synonym for low power consumption, and small size. Modern
ones like STM32F7, ESP32, TI CC1352R are ARM Cortex M based,
embedding few hundreds of kilobytes of RAM, small flash and
a decent few hundred million of hertz clock cadence.
• A Central Processing Unit (CPU) is a larger processor, in
this category, you’ll find all the traditional x86, x64, but
as well other ARM processors like the one used in Raspberry
Pi.
MCU,CPU,what’s the difference?
Azure IoT products and services
• Azure IoT SDK for Python
• Azure IoT SDK for Node.js
• Azure IoT SDK for Java
• Azure IoT SDK for .NET
• Azure IoT SDK for C
• Azure IoT SDK for Embedded C
• Azure IoT middleware for Azure RTOS
• Azure IoT middleware for FreeRTOS
Microsoft Azure IoT SDKs
The Azure IOT Hub Device SDK allows applications written in ANSI C (C99)
or later or C++ to communicate easily with Azure IoT Hub, Azure IoT
Central and to Azure IoT Device Provisioning.
Support Azure IoT TLS over TCP/IP
Support SHA-256 (optional): necessary to generate the secure token for authenticating the
device with the service. Different authentication methods are available and not all require
SHA-256.
Have a Real Time Clock or implement code to connect to an NTP server: necessary for both
establishing the TLS connection and generating the secure token for authentication.
Having at least 64KB of RAM: the memory footprint of the SDK depends on the SDK and protocol
used as well as the platform targeted. The smallest footprint is achieved targeting
microcontrollers.
Azure IoT C SDKs
• Azure IoT SDK for Embedded C is an alternative for constrained devices which
enables the BYO (bring your own) network approach: IoT developers have the
freedom of choice to bring MQTT client, TLS and Socket of their choice to
create a device solution.
• Azure IoT middleware for Azure RTOS builds on top of the embedded SDK and
tightly couples with the Azure RTOS family of networking and OS products.
This gives you very performant and small applications for real-time,
constrained devices.
• Azure IoT middleware for FreeRTOS builds on top of the embedded SDK and takes
care of the MQTT stack while integrating with FreeRTOS. This maintains the
focus on constrained devices and gives users a distilled Azure IoT feature
set while allowing for flexibility with their networking stack.
Azure IoT C SDKs
Azure IoT C SDKs
Application Code
Embedded C SDK
MQTT
TLS
Socket
• Telemetry
• CDC messages
• Device Twin
• Direct Methods
• Device
Provisioning
The core implementation of the SDK
is IoTHubClient library that contains the
implementation of the lowest API layer in the
SDK. The library depends on other open-
source libraries:
The Azure C shared utility library, which
provides common functionality for basic tasks
(such as strings, list manipulation, and IO)
needed across several Azure-related C SDKs.
The Azure uAMQP library, which is a client-
side implementation of AMQP optimized for
resource constrained devices.
The Azure uMQTT library, which is a general-
purpose library implementing the MQTT
protocol and optimized for resource
constrained devices.
• Optimize for size
• Customer choice
• No dynamic memory
• Full embrace MQTT
• BYO Network stack
• Our “Everywhere SDK*”
Azure SDK for Embedded C – Design philosophy.
*on any device that can connect to a network
Azure SDK for Embedded C – IoT client libraries.
The Azure IoT Client library is created
to facilitate connectivity to Azure IoT
services alongside an MQTT and TLS
stack of the user's choice.
This means that this SDK is NOT a
platform but instead is a true SDK
library.
From a functional perspective, this
means that the user's application code
(not the SDK) calls directly to the
MQTT stack of their choice.
The SDK provides utilities (functions,
default values, etc.) that help make the
connection and feature set easier to
use.
Communicate with your IoT hub using the MQTT protocol
Azure IoT Client MQTT State Machine
Azure SDK for Embedded C – Key Features
platformio.org Professional collaborative platform for
embedded development
• A lightweight but powerful cross-platform source code editor
• Smart code completions based on variable types, function definitions,
and library dependencies
• Multi-projects workflow with easy navigation around project
codebase, multiple panes, and themes support
• Seamless integration with PlatformIO Home (UI) with board and
library managers
• Intuitive project wizard and a wide range of example projects
• Built-in Terminal with PlatformIO Core (CLI) and powerful Serial Port
Monitor
ESP32-DevKitC
ESP-Prog
ESP-Prog is one of Espressif’s development and
debugging tools, with functions including automatic
firmware downloading, serial communication, and
JTAG online debugging. ESP-Prog’s automatic
firmware downloading and serial communication
functions are supported on both the ESP8266 and
ESP32 platforms, while the JTAG online debugging is
supported only on the ESP32 platform
Ultrasonic
Ranging Module
HC – SR04
Stepper Motor 5V 4-Phase 5-Wire & ULN2003 Driver Board
DEMO
Sabato 24 settembre 2022
Thanks!
@MircoVanini

Mais conteúdo relacionado

Semelhante a Connect a chips to Azure

Tokyo Azure Meetup #4 - Build 2016 Overview
Tokyo Azure Meetup #4 -  Build 2016 OverviewTokyo Azure Meetup #4 -  Build 2016 Overview
Tokyo Azure Meetup #4 - Build 2016 OverviewTokyo Azure Meetup
 
Global Azure boot camp 2015 - Microsoft IoT Solutions with Azure
Global Azure boot camp 2015 - Microsoft IoT Solutions with AzureGlobal Azure boot camp 2015 - Microsoft IoT Solutions with Azure
Global Azure boot camp 2015 - Microsoft IoT Solutions with AzureVinoth Rajagopalan
 
IoT cloud system implemented based on Azure services
IoT cloud system implemented based on Azure servicesIoT cloud system implemented based on Azure services
IoT cloud system implemented based on Azure servicesSzymon Włodarczyk
 
Architecting IoT solutions with Microsoft Azure
Architecting IoT solutions with Microsoft AzureArchitecting IoT solutions with Microsoft Azure
Architecting IoT solutions with Microsoft AzureAlon Fliess
 
IoT Device Fleet Management: Create a Robust Solution with Azure
IoT Device Fleet Management: Create a Robust Solution with AzureIoT Device Fleet Management: Create a Robust Solution with Azure
IoT Device Fleet Management: Create a Robust Solution with AzureICS
 
Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...
Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...
Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...MediaTek Labs
 
From IoT Central to IoT Hub
From IoT Central to IoT HubFrom IoT Central to IoT Hub
From IoT Central to IoT HubMarco Parenzan
 
TM4C-IoT-Gateway-with-Security-Protection_0.pdf
TM4C-IoT-Gateway-with-Security-Protection_0.pdfTM4C-IoT-Gateway-with-Security-Protection_0.pdf
TM4C-IoT-Gateway-with-Security-Protection_0.pdfssuser8b324e
 
Internet of things (IoT) with Azure
Internet of things (IoT) with AzureInternet of things (IoT) with Azure
Internet of things (IoT) with AzureVinoth Rajagopalan
 
Are you ready for Microsoft Azure Sphere?
Are you ready for Microsoft Azure Sphere?Are you ready for Microsoft Azure Sphere?
Are you ready for Microsoft Azure Sphere?Mirco Vanini
 
Qt Oss to Commercial 2019-09-10
Qt Oss to Commercial 2019-09-10Qt Oss to Commercial 2019-09-10
Qt Oss to Commercial 2019-09-10FedericoGuerinoni
 
Building IoT Mashups for Industry 4.0 with Eclipse Kura and Kura Wires
Building IoT Mashups for Industry 4.0 with Eclipse Kura and Kura WiresBuilding IoT Mashups for Industry 4.0 with Eclipse Kura and Kura Wires
Building IoT Mashups for Industry 4.0 with Eclipse Kura and Kura WiresEclipse Kura
 
Building IoT Mashups for Industry 4.0 with Eclipse Kura and Kura Wires
Building IoT Mashups for Industry 4.0 with Eclipse Kura and Kura WiresBuilding IoT Mashups for Industry 4.0 with Eclipse Kura and Kura Wires
Building IoT Mashups for Industry 4.0 with Eclipse Kura and Kura WiresEurotech
 
Athens IoT meetup #7 - Open Source Industrial IoT - Manolis Nikiforakis (Ex M...
Athens IoT meetup #7 - Open Source Industrial IoT - Manolis Nikiforakis (Ex M...Athens IoT meetup #7 - Open Source Industrial IoT - Manolis Nikiforakis (Ex M...
Athens IoT meetup #7 - Open Source Industrial IoT - Manolis Nikiforakis (Ex M...Athens IoT Meetup
 
A pure Java MQTT Stack for IoT
A pure Java MQTT Stack for IoTA pure Java MQTT Stack for IoT
A pure Java MQTT Stack for IoTDominik Obermaier
 
Azure Sphere - GAB 2019
Azure Sphere - GAB 2019Azure Sphere - GAB 2019
Azure Sphere - GAB 2019Mirco Vanini
 
Gustavo Zastrow - Introduction to AWS IoT Core and MQTT
Gustavo Zastrow - Introduction to AWS  IoT Core and MQTTGustavo Zastrow - Introduction to AWS  IoT Core and MQTT
Gustavo Zastrow - Introduction to AWS IoT Core and MQTTGustavoRuizZastrow
 

Semelhante a Connect a chips to Azure (20)

Tokyo Azure Meetup #4 - Build 2016 Overview
Tokyo Azure Meetup #4 -  Build 2016 OverviewTokyo Azure Meetup #4 -  Build 2016 Overview
Tokyo Azure Meetup #4 - Build 2016 Overview
 
Global Azure boot camp 2015 - Microsoft IoT Solutions with Azure
Global Azure boot camp 2015 - Microsoft IoT Solutions with AzureGlobal Azure boot camp 2015 - Microsoft IoT Solutions with Azure
Global Azure boot camp 2015 - Microsoft IoT Solutions with Azure
 
IoT cloud system implemented based on Azure services
IoT cloud system implemented based on Azure servicesIoT cloud system implemented based on Azure services
IoT cloud system implemented based on Azure services
 
Architecting IoT solutions with Microsoft Azure
Architecting IoT solutions with Microsoft AzureArchitecting IoT solutions with Microsoft Azure
Architecting IoT solutions with Microsoft Azure
 
IoT Device Fleet Management: Create a Robust Solution with Azure
IoT Device Fleet Management: Create a Robust Solution with AzureIoT Device Fleet Management: Create a Robust Solution with Azure
IoT Device Fleet Management: Create a Robust Solution with Azure
 
Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...
Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...
Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...
 
From IoT Central to IoT Hub
From IoT Central to IoT HubFrom IoT Central to IoT Hub
From IoT Central to IoT Hub
 
TM4C-IoT-Gateway-with-Security-Protection_0.pdf
TM4C-IoT-Gateway-with-Security-Protection_0.pdfTM4C-IoT-Gateway-with-Security-Protection_0.pdf
TM4C-IoT-Gateway-with-Security-Protection_0.pdf
 
Internet of things (IoT) with Azure
Internet of things (IoT) with AzureInternet of things (IoT) with Azure
Internet of things (IoT) with Azure
 
C# on a CHIPs
C# on a CHIPsC# on a CHIPs
C# on a CHIPs
 
Are you ready for Microsoft Azure Sphere?
Are you ready for Microsoft Azure Sphere?Are you ready for Microsoft Azure Sphere?
Are you ready for Microsoft Azure Sphere?
 
Qt Oss to Commercial 2019-09-10
Qt Oss to Commercial 2019-09-10Qt Oss to Commercial 2019-09-10
Qt Oss to Commercial 2019-09-10
 
Building IoT Mashups for Industry 4.0 with Eclipse Kura and Kura Wires
Building IoT Mashups for Industry 4.0 with Eclipse Kura and Kura WiresBuilding IoT Mashups for Industry 4.0 with Eclipse Kura and Kura Wires
Building IoT Mashups for Industry 4.0 with Eclipse Kura and Kura Wires
 
Building IoT Mashups for Industry 4.0 with Eclipse Kura and Kura Wires
Building IoT Mashups for Industry 4.0 with Eclipse Kura and Kura WiresBuilding IoT Mashups for Industry 4.0 with Eclipse Kura and Kura Wires
Building IoT Mashups for Industry 4.0 with Eclipse Kura and Kura Wires
 
Open source industrial IoT
Open source industrial IoTOpen source industrial IoT
Open source industrial IoT
 
Athens IoT meetup #7 - Open Source Industrial IoT - Manolis Nikiforakis (Ex M...
Athens IoT meetup #7 - Open Source Industrial IoT - Manolis Nikiforakis (Ex M...Athens IoT meetup #7 - Open Source Industrial IoT - Manolis Nikiforakis (Ex M...
Athens IoT meetup #7 - Open Source Industrial IoT - Manolis Nikiforakis (Ex M...
 
Developers Safari into the Internet of Things (IoT) with Pi
Developers Safari into the Internet of Things (IoT) with PiDevelopers Safari into the Internet of Things (IoT) with Pi
Developers Safari into the Internet of Things (IoT) with Pi
 
A pure Java MQTT Stack for IoT
A pure Java MQTT Stack for IoTA pure Java MQTT Stack for IoT
A pure Java MQTT Stack for IoT
 
Azure Sphere - GAB 2019
Azure Sphere - GAB 2019Azure Sphere - GAB 2019
Azure Sphere - GAB 2019
 
Gustavo Zastrow - Introduction to AWS IoT Core and MQTT
Gustavo Zastrow - Introduction to AWS  IoT Core and MQTTGustavo Zastrow - Introduction to AWS  IoT Core and MQTT
Gustavo Zastrow - Introduction to AWS IoT Core and MQTT
 

Mais de Mirco Vanini

.NET 7 Performance Improvements_10_03_2023.pdf
.NET 7 Performance Improvements_10_03_2023.pdf.NET 7 Performance Improvements_10_03_2023.pdf
.NET 7 Performance Improvements_10_03_2023.pdfMirco Vanini
 
Debugging a .NET program after crash (Post-mortem debugging)
Debugging a .NET program after crash (Post-mortem debugging)Debugging a .NET program after crash (Post-mortem debugging)
Debugging a .NET program after crash (Post-mortem debugging)Mirco Vanini
 
How to modernise WPF and Windows Forms applications with Windows Apps SDK
How to modernise WPF and Windows Forms applications with Windows Apps SDKHow to modernise WPF and Windows Forms applications with Windows Apps SDK
How to modernise WPF and Windows Forms applications with Windows Apps SDKMirco Vanini
 
.NET Conf 2021 - Hot Topics Desktop Development
.NET Conf 2021 - Hot Topics Desktop Development.NET Conf 2021 - Hot Topics Desktop Development
.NET Conf 2021 - Hot Topics Desktop DevelopmentMirco Vanini
 
Async Debugging A Practical Guide to survive !
Async Debugging A Practical Guide to survive !Async Debugging A Practical Guide to survive !
Async Debugging A Practical Guide to survive !Mirco Vanini
 
IoT support for .NET (Core/5/6)
IoT support for .NET (Core/5/6)IoT support for .NET (Core/5/6)
IoT support for .NET (Core/5/6)Mirco Vanini
 
Async Debugging - A Practical Guide to survive !
Async Debugging - A Practical Guide to survive !Async Debugging - A Practical Guide to survive !
Async Debugging - A Practical Guide to survive !Mirco Vanini
 
IoT support for .NET Core
IoT support for .NET CoreIoT support for .NET Core
IoT support for .NET CoreMirco Vanini
 
IoT support for .NET Core - IoT Saturday 2020
IoT support for .NET Core - IoT Saturday 2020IoT support for .NET Core - IoT Saturday 2020
IoT support for .NET Core - IoT Saturday 2020Mirco Vanini
 
.NET Conf 2020 - Hot Topics Desktop Development
.NET Conf 2020 - Hot Topics Desktop Development.NET Conf 2020 - Hot Topics Desktop Development
.NET Conf 2020 - Hot Topics Desktop DevelopmentMirco Vanini
 
IoT Day 2019 Naples - Microsoft Azure Shpere
IoT Day 2019 Naples - Microsoft Azure ShpereIoT Day 2019 Naples - Microsoft Azure Shpere
IoT Day 2019 Naples - Microsoft Azure ShpereMirco Vanini
 
Debugging with VS2019
Debugging with VS2019Debugging with VS2019
Debugging with VS2019Mirco Vanini
 
Optimising code using Span<T>
Optimising code using Span<T>Optimising code using Span<T>
Optimising code using Span<T>Mirco Vanini
 
Xe OneDay - Modernizing Enterprise Apps
Xe OneDay - Modernizing Enterprise AppsXe OneDay - Modernizing Enterprise Apps
Xe OneDay - Modernizing Enterprise AppsMirco Vanini
 
IoT Day - Introducing Azure Sphere
IoT Day -  Introducing Azure SphereIoT Day -  Introducing Azure Sphere
IoT Day - Introducing Azure SphereMirco Vanini
 
Introducing Azure Sphere
Introducing Azure SphereIntroducing Azure Sphere
Introducing Azure SphereMirco Vanini
 
Debugger Tips and Tricks for .Net developers with Microsoft Visual Studio 2017
Debugger Tips and Tricks for .Net developers with Microsoft Visual Studio 2017 Debugger Tips and Tricks for .Net developers with Microsoft Visual Studio 2017
Debugger Tips and Tricks for .Net developers with Microsoft Visual Studio 2017 Mirco Vanini
 
Xe One Day - Adaptive Code
Xe One Day - Adaptive CodeXe One Day - Adaptive Code
Xe One Day - Adaptive CodeMirco Vanini
 

Mais de Mirco Vanini (20)

.NET 7 Performance Improvements_10_03_2023.pdf
.NET 7 Performance Improvements_10_03_2023.pdf.NET 7 Performance Improvements_10_03_2023.pdf
.NET 7 Performance Improvements_10_03_2023.pdf
 
Debugging a .NET program after crash (Post-mortem debugging)
Debugging a .NET program after crash (Post-mortem debugging)Debugging a .NET program after crash (Post-mortem debugging)
Debugging a .NET program after crash (Post-mortem debugging)
 
How to modernise WPF and Windows Forms applications with Windows Apps SDK
How to modernise WPF and Windows Forms applications with Windows Apps SDKHow to modernise WPF and Windows Forms applications with Windows Apps SDK
How to modernise WPF and Windows Forms applications with Windows Apps SDK
 
.NET Conf 2021 - Hot Topics Desktop Development
.NET Conf 2021 - Hot Topics Desktop Development.NET Conf 2021 - Hot Topics Desktop Development
.NET Conf 2021 - Hot Topics Desktop Development
 
Async Debugging A Practical Guide to survive !
Async Debugging A Practical Guide to survive !Async Debugging A Practical Guide to survive !
Async Debugging A Practical Guide to survive !
 
IoT support for .NET (Core/5/6)
IoT support for .NET (Core/5/6)IoT support for .NET (Core/5/6)
IoT support for .NET (Core/5/6)
 
Async Debugging - A Practical Guide to survive !
Async Debugging - A Practical Guide to survive !Async Debugging - A Practical Guide to survive !
Async Debugging - A Practical Guide to survive !
 
IoT support for .NET Core
IoT support for .NET CoreIoT support for .NET Core
IoT support for .NET Core
 
IoT support for .NET Core - IoT Saturday 2020
IoT support for .NET Core - IoT Saturday 2020IoT support for .NET Core - IoT Saturday 2020
IoT support for .NET Core - IoT Saturday 2020
 
.NET Conf 2020 - Hot Topics Desktop Development
.NET Conf 2020 - Hot Topics Desktop Development.NET Conf 2020 - Hot Topics Desktop Development
.NET Conf 2020 - Hot Topics Desktop Development
 
IoT Day 2019 Naples - Microsoft Azure Shpere
IoT Day 2019 Naples - Microsoft Azure ShpereIoT Day 2019 Naples - Microsoft Azure Shpere
IoT Day 2019 Naples - Microsoft Azure Shpere
 
Debugging with VS2019
Debugging with VS2019Debugging with VS2019
Debugging with VS2019
 
Azure Sphere
Azure SphereAzure Sphere
Azure Sphere
 
Optimising code using Span<T>
Optimising code using Span<T>Optimising code using Span<T>
Optimising code using Span<T>
 
Azure Sphere
Azure SphereAzure Sphere
Azure Sphere
 
Xe OneDay - Modernizing Enterprise Apps
Xe OneDay - Modernizing Enterprise AppsXe OneDay - Modernizing Enterprise Apps
Xe OneDay - Modernizing Enterprise Apps
 
IoT Day - Introducing Azure Sphere
IoT Day -  Introducing Azure SphereIoT Day -  Introducing Azure Sphere
IoT Day - Introducing Azure Sphere
 
Introducing Azure Sphere
Introducing Azure SphereIntroducing Azure Sphere
Introducing Azure Sphere
 
Debugger Tips and Tricks for .Net developers with Microsoft Visual Studio 2017
Debugger Tips and Tricks for .Net developers with Microsoft Visual Studio 2017 Debugger Tips and Tricks for .Net developers with Microsoft Visual Studio 2017
Debugger Tips and Tricks for .Net developers with Microsoft Visual Studio 2017
 
Xe One Day - Adaptive Code
Xe One Day - Adaptive CodeXe One Day - Adaptive Code
Xe One Day - Adaptive Code
 

Último

Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 

Último (20)

Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 

Connect a chips to Azure

  • 1. Sabato 24 settembre 2022 Connect a chips to Azure Mirco Vanini Sabato 24 settembre 2022 A journary around the Azure SDK for small device (bare metal)
  • 4. • MCU/CPU • Azure IoT SDKs • Azure SDK for Embedded C • Tools • Demo Agenda
  • 5. • A Micro Controller Unit (MCU) is a small processor, usually a synonym for low power consumption, and small size. Modern ones like STM32F7, ESP32, TI CC1352R are ARM Cortex M based, embedding few hundreds of kilobytes of RAM, small flash and a decent few hundred million of hertz clock cadence. • A Central Processing Unit (CPU) is a larger processor, in this category, you’ll find all the traditional x86, x64, but as well other ARM processors like the one used in Raspberry Pi. MCU,CPU,what’s the difference?
  • 6. Azure IoT products and services
  • 7. • Azure IoT SDK for Python • Azure IoT SDK for Node.js • Azure IoT SDK for Java • Azure IoT SDK for .NET • Azure IoT SDK for C • Azure IoT SDK for Embedded C • Azure IoT middleware for Azure RTOS • Azure IoT middleware for FreeRTOS Microsoft Azure IoT SDKs
  • 8. The Azure IOT Hub Device SDK allows applications written in ANSI C (C99) or later or C++ to communicate easily with Azure IoT Hub, Azure IoT Central and to Azure IoT Device Provisioning. Support Azure IoT TLS over TCP/IP Support SHA-256 (optional): necessary to generate the secure token for authenticating the device with the service. Different authentication methods are available and not all require SHA-256. Have a Real Time Clock or implement code to connect to an NTP server: necessary for both establishing the TLS connection and generating the secure token for authentication. Having at least 64KB of RAM: the memory footprint of the SDK depends on the SDK and protocol used as well as the platform targeted. The smallest footprint is achieved targeting microcontrollers. Azure IoT C SDKs
  • 9. • Azure IoT SDK for Embedded C is an alternative for constrained devices which enables the BYO (bring your own) network approach: IoT developers have the freedom of choice to bring MQTT client, TLS and Socket of their choice to create a device solution. • Azure IoT middleware for Azure RTOS builds on top of the embedded SDK and tightly couples with the Azure RTOS family of networking and OS products. This gives you very performant and small applications for real-time, constrained devices. • Azure IoT middleware for FreeRTOS builds on top of the embedded SDK and takes care of the MQTT stack while integrating with FreeRTOS. This maintains the focus on constrained devices and gives users a distilled Azure IoT feature set while allowing for flexibility with their networking stack. Azure IoT C SDKs
  • 10. Azure IoT C SDKs Application Code Embedded C SDK MQTT TLS Socket • Telemetry • CDC messages • Device Twin • Direct Methods • Device Provisioning The core implementation of the SDK is IoTHubClient library that contains the implementation of the lowest API layer in the SDK. The library depends on other open- source libraries: The Azure C shared utility library, which provides common functionality for basic tasks (such as strings, list manipulation, and IO) needed across several Azure-related C SDKs. The Azure uAMQP library, which is a client- side implementation of AMQP optimized for resource constrained devices. The Azure uMQTT library, which is a general- purpose library implementing the MQTT protocol and optimized for resource constrained devices.
  • 11. • Optimize for size • Customer choice • No dynamic memory • Full embrace MQTT • BYO Network stack • Our “Everywhere SDK*” Azure SDK for Embedded C – Design philosophy. *on any device that can connect to a network
  • 12. Azure SDK for Embedded C – IoT client libraries. The Azure IoT Client library is created to facilitate connectivity to Azure IoT services alongside an MQTT and TLS stack of the user's choice. This means that this SDK is NOT a platform but instead is a true SDK library. From a functional perspective, this means that the user's application code (not the SDK) calls directly to the MQTT stack of their choice. The SDK provides utilities (functions, default values, etc.) that help make the connection and feature set easier to use. Communicate with your IoT hub using the MQTT protocol Azure IoT Client MQTT State Machine
  • 13. Azure SDK for Embedded C – Key Features
  • 14. platformio.org Professional collaborative platform for embedded development • A lightweight but powerful cross-platform source code editor • Smart code completions based on variable types, function definitions, and library dependencies • Multi-projects workflow with easy navigation around project codebase, multiple panes, and themes support • Seamless integration with PlatformIO Home (UI) with board and library managers • Intuitive project wizard and a wide range of example projects • Built-in Terminal with PlatformIO Core (CLI) and powerful Serial Port Monitor
  • 16. ESP-Prog ESP-Prog is one of Espressif’s development and debugging tools, with functions including automatic firmware downloading, serial communication, and JTAG online debugging. ESP-Prog’s automatic firmware downloading and serial communication functions are supported on both the ESP8266 and ESP32 platforms, while the JTAG online debugging is supported only on the ESP32 platform
  • 18. Stepper Motor 5V 4-Phase 5-Wire & ULN2003 Driver Board
  • 19. DEMO
  • 20. Sabato 24 settembre 2022 Thanks! @MircoVanini