SlideShare une entreprise Scribd logo
1  sur  44
After Hour 2021
Internet of Things
Building an IoT infrastructure on Edge with .NET that talks with Azure
on Raspberry PI, ESP32, Mini PC
Marco Parenzan
After Hour 2021
Internet of Things
Marco Parenzan
Senior Solution Architect in beanTech
Microsoft Azure MVP
Community Lead 1nn0va // Pordenone
1nn0va After Hour (ogni martedì sera alle 21)
https://www.youtube.com/c/Community1nn0va
Linkedin: https://www.linkedin.com/in/marcoparenzan/
After Hour 2021
Internet of Things
Marco Parenzan
marco_parenzan
marcoparenzan
marcoparenzan
Marco Parenzan
After Hour 2021
Internet of Things
After Hour 2021
Internet of Things
After Hour 2021
Internet of Things
“I’m not a data scientist!
Or a BI Analyst!
After Hour 2021
Internet of Things
“But I’m a .NET developer
After Hour 2021
Internet of Things
.NET for data(science)
• .NET Spark
• .NET Interactive (notebooks)
• Azure Synapse Analytics
• ML.NET…
• All good for IoT scenarios!
After Hour 2021
Internet of Things
After Hour 2021
Internet of Things
“I’m not a field engineer
After Hour 2021
Internet of Things
https://opcfoundation.github.io/UA-.NETStandard/
After Hour 2021
Internet of Things
Real industrial edge/GW with PI
After Hour 2021
Internet of Things
More ARM
After Hour 2021
Internet of Things
.NET for ARM/edge
• .NET (Core)
• Jeff Geerling (You Tube)
After Hour 2021
Internet of Things
Sono contento perchè...
...dalla sessione di... ...ho preso...
Marco Dal Pino Devices on edge
Mirco Vanini .NET e Raspberry PI
Andrea Tosato Message broker
Marco Minerva Minimal API
Riccardo Zamana «Distributed edge»
After Hour 2021
Internet of Things
““Questo matrimonio
non s’ha da fare…”
After Hour 2021
Internet of Things
“ Sì….può….fareeeee!
After Hour 2021
Internet of Things
Edge Scenario
• IoT Edge…quale è lo scenario equivalente OpenSource?
• Non voglio usare i container…voglio sfruttare una rete di rpi
After Hour 2021
Internet of Things
Apache Kafka and Apache Spark
Gateway
(s)
After Hour 2021
Internet of Things
After Hour 2021
Internet of Things
TP-LINK MR6400 4G LENTO!!!!!!!
After Hour 2021
Internet of Things
Edge00 // PI400/4 PiOS
Edge06 // Atom Z8350/2 Win10/64
Edge03 // Pi3B/1 PiOS/32
Edge02 // Pi3B/1 PiOS/32
Edge01 // Pi4B/4 PiOS/32
After Hour 2021
Internet of Things
VNET
The complete vision
Edge00
PI400/4
Edge01
PI4/4
Kafka
Edge02
PI3B+/1
Spark
Edge99
IoTHub
Nano00
ESP32WROOM
Device//GPIO
TP-LINK
MR6400 4G
Edge03
PI3B+/1
Broker)
VPN
Private
Azure
Edge
192.168.2.100 192.168.2.101 192.168.2.102 192.168.2.103
Edge06
Atom Z8350/2
AI
NOT YET
TO BE CHANGED
After Hour 2021
Internet of Things
Enabled SSH and VNC
• DHCP with MAC reservation
• Issues:
• networking: PI does not
broadcast its name out of the
box(?!?!?!)
• Samba/NFS/…
• Reaching (issues with Windows
10)Router!
After Hour 2021
Internet of Things
Install .NET 6.0 on Raspberry PI
wget https://download.visualstudio.microsoft.com/download/pr/1f85b038-
9917-4d0a-8485-5dc86510eec7/a7555924fe292c6c2140893f066abe65/dotnet-
sdk-6.0.100-linux-arm.tar.gz
sudo mkdir -p $HOME/.dotnet
sudo tar zxf dotnet-sdk-6.0.100-linux-arm.tar.gz -C $HOME/.dotnet
echo 'export DOTNET_ROOT=$HOME/.dotnet' >> ~/.bashrc
echo 'export PATH=$PATH:$HOME/.dotnet' >> ~/.bashrc
source ~/.bashrc
• On edge00 and edge03
• edge02 has 3.1 for .net spark
• And JDK
• Edge01only JDK
https://docs.microsoft.com/en-us/dotnet/iot/deployment
After Hour 2021
Internet of Things
Visual Studio Code
• It works!
• And install VSCode
(https://code.visualstudio.com/docs/setup/raspberry-pi)
• sudo apt update
• sudo apt install code
• But...
After Hour 2021
Internet of Things
Ubuntu o RaspiOS?
• Ho provato Ubuntu 20 su PI400/4 64bit
• Lento!
• Sono tornato a RaspiOS/32
• Facile abilitare VNC e SSH
After Hour 2021
Internet of Things
No Containers?
• Not using containers
• More simple manipulation of config files
• Images not ready for ARM
• Speed…not ready to wait more…
After Hour 2021
Internet of Things
The scenario
• WordCount as a Sample (WCaaS )
• Wordsignal, command, event (vote?)
• 19 can become «event1»..»event9»
• In device terms: a button on digital input for each «word»
After Hour 2021
Internet of Things
Edge00: PI400
• Produce events
• Send to Kafka
• Issues:
• Kafka written in Java
• But std .NET package uses native libkafka (C++) from Confluent that is
available only for x86
• Require rebuilding (not found a ready rebuild)
• Used a native implementation
• not maintained
• Not clean working
• MQTT listener on kafka does not exist (only plugins controlled by kafka)
After Hour 2021
Internet of Things
Edge01: PI4/4 Kafka
• Collect events events with Kafka
• Install OpenJDK11
• Issues
• Consumes lot of memory (required PI4)
• Issues with configuration (listeners, also on WSL)
• Complicated configuration (SASL-SCRAM, certificate store)Industrial
scenario (tampering)
After Hour 2021
Internet of Things
Edge02: PI3 Spark
• Aggregating events
• Install OpenJDK8 for 2.4.8 (not 11)
• Issues
• Issues(?) with 3.x (not really tested)
• Alignment between .net spark with spark
• Problems with watermarking that is fundamental on streaming
After Hour 2021
Internet of Things
Edge03: PI3
• Handle processed data and route to the cloud
• Planned installing an MQTT broker (Mosquitto?)
• To implement real MQTT routing
• Installed .NET 6
• Monitor files on a shared folder on edge02
• sudo mkdir /mnt/data
• sudo apt-get install sshfs
• sudo sshfs -o allow_other,default_permissions pi@edge02.local:/home/pi/data
/mnt/data
• Issues
• <empty>?
• Broker not tested
After Hour 2021
Internet of Things
DEMO
After Hour 2021
Internet of Things
.NET NanoFramework
• http://nanoframework.net/
• Open Source, from .net microframework
• no AOT compiling
• Interpreter
• firmware containing IL code
• Promising, not complete
• No async/await and Tasks
• API
• All rewritten
• Focused on devices, not Azure
After Hour 2021
Internet of Things
ESP32-WROOM32 (1x10€, 3x23€)
After Hour 2021
Internet of Things
ESP32 CAM – Waiting for driver (few weeks)
After Hour 2021
Internet of Things
DEMO
After Hour 2021
Internet of Things
After Hour 2021
Internet of Things
Minus/Issues
• PI3 is slowOnly PI4+
• PI4 is slow for desktop
• Kafka is difficult to configure
• Spark has a complex processing/execution model
• In general documentation is sparse and not homogeneus
(PI/Kafka/Spark)
After Hour 2021
Internet of Things
Plus
• .NET 6 works fine
• Works everywhere
• Also Java works fine Kafka and Spark
• PI4 is powerful
• It can be a potential platform for Kafka and Spark on edge
After Hour 2021
Internet of Things
Some links
• https://github.com/dotnet/spark
• https://docs.microsoft.com/en-us/dotnet/spark/tutorials/get-
started?tabs=linux
• https://code.visualstudio.com/docs/setup/raspberry-pi
• https://dotnet.microsoft.com/download/dotnet/thank-you/sdk-3.1.413-
linux-arm32-binaries
• https://github.com/dotnet/spark/releases
• https://docs.microsoft.com/en-us/dotnet/iot/deployment
• https://mvnrepository.com/artifact/org.apache.spark/spark-
streaming_2.12/3.0.1
After Hour 2021
Internet of Things
GRAZIE!
After Hour 2021
Internet of Things
https://www.youtube.com/c/Community1nn0va

Contenu connexe

Tendances

Tendances (20)

Openstack Pakistan Workshop (intro)
Openstack Pakistan Workshop (intro)Openstack Pakistan Workshop (intro)
Openstack Pakistan Workshop (intro)
 
[2015-11월 정기 세미나] Cloud Native Platform - Pivotal
[2015-11월 정기 세미나] Cloud Native Platform - Pivotal[2015-11월 정기 세미나] Cloud Native Platform - Pivotal
[2015-11월 정기 세미나] Cloud Native Platform - Pivotal
 
[OpenStack Day in Korea 2015] Track 3-4 - Software Defined Storage (SDS) and ...
[OpenStack Day in Korea 2015] Track 3-4 - Software Defined Storage (SDS) and ...[OpenStack Day in Korea 2015] Track 3-4 - Software Defined Storage (SDS) and ...
[OpenStack Day in Korea 2015] Track 3-4 - Software Defined Storage (SDS) and ...
 
Eclipse Kura Shoot a-pi
Eclipse Kura Shoot a-piEclipse Kura Shoot a-pi
Eclipse Kura Shoot a-pi
 
[OpenStack 하반기 스터디] DPDK & OpenStack why?
[OpenStack 하반기 스터디] DPDK & OpenStack why?[OpenStack 하반기 스터디] DPDK & OpenStack why?
[OpenStack 하반기 스터디] DPDK & OpenStack why?
 
OpenStack Astara
OpenStack AstaraOpenStack Astara
OpenStack Astara
 
OpenStack and the Transformation of the Data Center - Lew Tucker
OpenStack and the Transformation of the Data Center - Lew TuckerOpenStack and the Transformation of the Data Center - Lew Tucker
OpenStack and the Transformation of the Data Center - Lew Tucker
 
Openstack Workshop (Networking/Storage)
Openstack Workshop (Networking/Storage)Openstack Workshop (Networking/Storage)
Openstack Workshop (Networking/Storage)
 
OpenStack As A Strategy For Future Growth at Cisco
OpenStack As A Strategy For Future Growth at CiscoOpenStack As A Strategy For Future Growth at Cisco
OpenStack As A Strategy For Future Growth at Cisco
 
[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...
[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...
[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...
 
End-to-end IoT solutions with Java and Eclipse IoT
End-to-end IoT solutions with Java and Eclipse IoTEnd-to-end IoT solutions with Java and Eclipse IoT
End-to-end IoT solutions with Java and Eclipse IoT
 
Improving Network Application Performance using Load Aware Libeventdev
Improving Network Application Performance using Load Aware LibeventdevImproving Network Application Performance using Load Aware Libeventdev
Improving Network Application Performance using Load Aware Libeventdev
 
Creator IoT Framework
Creator IoT FrameworkCreator IoT Framework
Creator IoT Framework
 
OpenStack and OpenDaylight Workshop: ONUG Spring 2014
OpenStack and OpenDaylight Workshop: ONUG Spring 2014OpenStack and OpenDaylight Workshop: ONUG Spring 2014
OpenStack and OpenDaylight Workshop: ONUG Spring 2014
 
FIWARE Lab architecture, an open point to start the installation of a new region
FIWARE Lab architecture, an open point to start the installation of a new regionFIWARE Lab architecture, an open point to start the installation of a new region
FIWARE Lab architecture, an open point to start the installation of a new region
 
Introduction to Openstack Network
Introduction to Openstack NetworkIntroduction to Openstack Network
Introduction to Openstack Network
 
Using VPP and SRIO-V with Clear Containers
Using VPP and SRIO-V with Clear ContainersUsing VPP and SRIO-V with Clear Containers
Using VPP and SRIO-V with Clear Containers
 
Quieting noisy neighbor with Intel® Resource Director Technology
Quieting noisy neighbor with Intel® Resource Director TechnologyQuieting noisy neighbor with Intel® Resource Director Technology
Quieting noisy neighbor with Intel® Resource Director Technology
 
OpenStack Enabling DevOps
OpenStack Enabling DevOpsOpenStack Enabling DevOps
OpenStack Enabling DevOps
 
Is OpenStack Neutron production ready for large scale deployments?
Is OpenStack Neutron production ready for large scale deployments?Is OpenStack Neutron production ready for large scale deployments?
Is OpenStack Neutron production ready for large scale deployments?
 

Similaire à Building IoT infrastructure on edge with .net, Raspberry PI and ESP32 to connect to Azure

CCNA Security Lab 9 - Enabling SSH and HTTPS access to Cisco IOS Routers - CLI
CCNA Security Lab 9 - Enabling SSH and HTTPS access to Cisco IOS Routers - CLICCNA Security Lab 9 - Enabling SSH and HTTPS access to Cisco IOS Routers - CLI
CCNA Security Lab 9 - Enabling SSH and HTTPS access to Cisco IOS Routers - CLI
Hoàng Hải Nguyễn
 

Similaire à Building IoT infrastructure on edge with .net, Raspberry PI and ESP32 to connect to Azure (20)

Running Kafka and Spark on Raspberry PI with Azure and some .net magic
Running Kafka and Spark on Raspberry PI with Azure and some .net magicRunning Kafka and Spark on Raspberry PI with Azure and some .net magic
Running Kafka and Spark on Raspberry PI with Azure and some .net magic
 
Windows 10 IoT Core
Windows 10 IoT CoreWindows 10 IoT Core
Windows 10 IoT Core
 
Developers’ mDay u Banjoj Luci - Janko Isidorović, Mainflux – Unified IoT Pl...
Developers’ mDay u Banjoj Luci - Janko Isidorović, Mainflux –  Unified IoT Pl...Developers’ mDay u Banjoj Luci - Janko Isidorović, Mainflux –  Unified IoT Pl...
Developers’ mDay u Banjoj Luci - Janko Isidorović, Mainflux – Unified IoT Pl...
 
The fight for surviving in the IoT world
The fight for surviving in the IoT worldThe fight for surviving in the IoT world
The fight for surviving in the IoT world
 
The fight for surviving in the IoT world - Radu Vunvulea
The fight for surviving in the IoT world - Radu VunvuleaThe fight for surviving in the IoT world - Radu Vunvulea
The fight for surviving in the IoT world - Radu Vunvulea
 
CCNA Security Lab 9 - Enabling SSH and HTTPS access to Cisco IOS Routers - CLI
CCNA Security Lab 9 - Enabling SSH and HTTPS access to Cisco IOS Routers - CLICCNA Security Lab 9 - Enabling SSH and HTTPS access to Cisco IOS Routers - CLI
CCNA Security Lab 9 - Enabling SSH and HTTPS access to Cisco IOS Routers - CLI
 
Introduction to Windows IoT via Raspberry Pi 3
Introduction to Windows IoT via Raspberry Pi 3Introduction to Windows IoT via Raspberry Pi 3
Introduction to Windows IoT via Raspberry Pi 3
 
Introduction to Windows IoT Nov 2017
Introduction to Windows IoT Nov 2017Introduction to Windows IoT Nov 2017
Introduction to Windows IoT Nov 2017
 
Mozilla chirimen firefox os dwika v5
Mozilla chirimen firefox os dwika v5Mozilla chirimen firefox os dwika v5
Mozilla chirimen firefox os dwika v5
 
IOT with Drupal 8 - Webinar Hyderabad Drupal Community
IOT with Drupal 8 -  Webinar Hyderabad Drupal CommunityIOT with Drupal 8 -  Webinar Hyderabad Drupal Community
IOT with Drupal 8 - Webinar Hyderabad Drupal Community
 
Intel ndk - a few Benchmarks
Intel ndk - a few BenchmarksIntel ndk - a few Benchmarks
Intel ndk - a few Benchmarks
 
20151207 - iot strategy
20151207 - iot strategy20151207 - iot strategy
20151207 - iot strategy
 
Volunteer Computing using BOINC
Volunteer Computing using BOINCVolunteer Computing using BOINC
Volunteer Computing using BOINC
 
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...
 
Maker of Things - the open IoT cloud for makers chapter.
Maker of Things - the open IoT cloud for makers chapter.Maker of Things - the open IoT cloud for makers chapter.
Maker of Things - the open IoT cloud for makers chapter.
 
What should you know about Net Core?
What should you know about Net Core?What should you know about Net Core?
What should you know about Net Core?
 
WebRTC Reborn SignalConf 2016
WebRTC Reborn SignalConf 2016WebRTC Reborn SignalConf 2016
WebRTC Reborn SignalConf 2016
 
Twilio Signal 2016 WebRTC Reborn
Twilio Signal 2016 WebRTC RebornTwilio Signal 2016 WebRTC Reborn
Twilio Signal 2016 WebRTC Reborn
 
Sergio González - WiFiSlax 4.0 [RootedCON 2010]
Sergio González - WiFiSlax 4.0 [RootedCON 2010]Sergio González - WiFiSlax 4.0 [RootedCON 2010]
Sergio González - WiFiSlax 4.0 [RootedCON 2010]
 
IoTSummit: Design and architect always disconnected iot system
IoTSummit: Design and architect always disconnected iot systemIoTSummit: Design and architect always disconnected iot system
IoTSummit: Design and architect always disconnected iot system
 

Plus de Marco Parenzan

Plus de Marco Parenzan (20)

Azure IoT Central per lo SCADA engineer
Azure IoT Central per lo SCADA engineerAzure IoT Central per lo SCADA engineer
Azure IoT Central per lo SCADA engineer
 
Azure Hybrid @ Home
Azure Hybrid @ HomeAzure Hybrid @ Home
Azure Hybrid @ Home
 
Static abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptx
Static abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptxStatic abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptx
Static abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptx
 
Azure Synapse Analytics for your IoT Solutions
Azure Synapse Analytics for your IoT SolutionsAzure Synapse Analytics for your IoT Solutions
Azure Synapse Analytics for your IoT Solutions
 
Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central
 
Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT CentralPower BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central
 
Power BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT CentralPower BI Streaming Data Flow e Azure IoT Central
Power BI Streaming Data Flow e Azure IoT Central
 
Developing Actors in Azure with .net
Developing Actors in Azure with .netDeveloping Actors in Azure with .net
Developing Actors in Azure with .net
 
Math with .NET for you and Azure
Math with .NET for you and AzureMath with .NET for you and Azure
Math with .NET for you and Azure
 
Power BI data flow and Azure IoT Central
Power BI data flow and Azure IoT CentralPower BI data flow and Azure IoT Central
Power BI data flow and Azure IoT Central
 
.net for fun: write a Christmas videogame
.net for fun: write a Christmas videogame.net for fun: write a Christmas videogame
.net for fun: write a Christmas videogame
 
Anomaly Detection with Azure and .NET
Anomaly Detection with Azure and .NETAnomaly Detection with Azure and .NET
Anomaly Detection with Azure and .NET
 
Deploy Microsoft Azure Data Solutions
Deploy Microsoft Azure Data SolutionsDeploy Microsoft Azure Data Solutions
Deploy Microsoft Azure Data Solutions
 
Deep Dive Time Series Anomaly Detection in Azure with dotnet
Deep Dive Time Series Anomaly Detection in Azure with dotnetDeep Dive Time Series Anomaly Detection in Azure with dotnet
Deep Dive Time Series Anomaly Detection in Azure with dotnet
 
Azure IoT Central
Azure IoT CentralAzure IoT Central
Azure IoT Central
 
Anomaly Detection with Azure and .net
Anomaly Detection with Azure and .netAnomaly Detection with Azure and .net
Anomaly Detection with Azure and .net
 
Code Generation for Azure with .net
Code Generation for Azure with .netCode Generation for Azure with .net
Code Generation for Azure with .net
 
Time Series Anomaly Detection with Azure and .NETT
Time Series Anomaly Detection with Azure and .NETTTime Series Anomaly Detection with Azure and .NETT
Time Series Anomaly Detection with Azure and .NETT
 
Code Generation for Azure with .net
Code Generation for Azure with .netCode Generation for Azure with .net
Code Generation for Azure with .net
 
Deep dive time series anomaly detection with different Azure Data Services
Deep dive time series anomaly detection with different Azure Data ServicesDeep dive time series anomaly detection with different Azure Data Services
Deep dive time series anomaly detection with different Azure Data Services
 

Dernier

%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
masabamasaba
 

Dernier (20)

OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 

Building IoT infrastructure on edge with .net, Raspberry PI and ESP32 to connect to Azure

  • 1. After Hour 2021 Internet of Things Building an IoT infrastructure on Edge with .NET that talks with Azure on Raspberry PI, ESP32, Mini PC Marco Parenzan
  • 2. After Hour 2021 Internet of Things Marco Parenzan Senior Solution Architect in beanTech Microsoft Azure MVP Community Lead 1nn0va // Pordenone 1nn0va After Hour (ogni martedì sera alle 21) https://www.youtube.com/c/Community1nn0va Linkedin: https://www.linkedin.com/in/marcoparenzan/
  • 3. After Hour 2021 Internet of Things Marco Parenzan marco_parenzan marcoparenzan marcoparenzan Marco Parenzan
  • 6. After Hour 2021 Internet of Things “I’m not a data scientist! Or a BI Analyst!
  • 7. After Hour 2021 Internet of Things “But I’m a .NET developer
  • 8. After Hour 2021 Internet of Things .NET for data(science) • .NET Spark • .NET Interactive (notebooks) • Azure Synapse Analytics • ML.NET… • All good for IoT scenarios!
  • 10. After Hour 2021 Internet of Things “I’m not a field engineer
  • 11. After Hour 2021 Internet of Things https://opcfoundation.github.io/UA-.NETStandard/
  • 12. After Hour 2021 Internet of Things Real industrial edge/GW with PI
  • 13. After Hour 2021 Internet of Things More ARM
  • 14. After Hour 2021 Internet of Things .NET for ARM/edge • .NET (Core) • Jeff Geerling (You Tube)
  • 15. After Hour 2021 Internet of Things Sono contento perchè... ...dalla sessione di... ...ho preso... Marco Dal Pino Devices on edge Mirco Vanini .NET e Raspberry PI Andrea Tosato Message broker Marco Minerva Minimal API Riccardo Zamana «Distributed edge»
  • 16. After Hour 2021 Internet of Things ““Questo matrimonio non s’ha da fare…”
  • 17. After Hour 2021 Internet of Things “ Sì….può….fareeeee!
  • 18. After Hour 2021 Internet of Things Edge Scenario • IoT Edge…quale è lo scenario equivalente OpenSource? • Non voglio usare i container…voglio sfruttare una rete di rpi
  • 19. After Hour 2021 Internet of Things Apache Kafka and Apache Spark Gateway (s)
  • 21. After Hour 2021 Internet of Things TP-LINK MR6400 4G LENTO!!!!!!!
  • 22. After Hour 2021 Internet of Things Edge00 // PI400/4 PiOS Edge06 // Atom Z8350/2 Win10/64 Edge03 // Pi3B/1 PiOS/32 Edge02 // Pi3B/1 PiOS/32 Edge01 // Pi4B/4 PiOS/32
  • 23. After Hour 2021 Internet of Things VNET The complete vision Edge00 PI400/4 Edge01 PI4/4 Kafka Edge02 PI3B+/1 Spark Edge99 IoTHub Nano00 ESP32WROOM Device//GPIO TP-LINK MR6400 4G Edge03 PI3B+/1 Broker) VPN Private Azure Edge 192.168.2.100 192.168.2.101 192.168.2.102 192.168.2.103 Edge06 Atom Z8350/2 AI NOT YET TO BE CHANGED
  • 24. After Hour 2021 Internet of Things Enabled SSH and VNC • DHCP with MAC reservation • Issues: • networking: PI does not broadcast its name out of the box(?!?!?!) • Samba/NFS/… • Reaching (issues with Windows 10)Router!
  • 25. After Hour 2021 Internet of Things Install .NET 6.0 on Raspberry PI wget https://download.visualstudio.microsoft.com/download/pr/1f85b038- 9917-4d0a-8485-5dc86510eec7/a7555924fe292c6c2140893f066abe65/dotnet- sdk-6.0.100-linux-arm.tar.gz sudo mkdir -p $HOME/.dotnet sudo tar zxf dotnet-sdk-6.0.100-linux-arm.tar.gz -C $HOME/.dotnet echo 'export DOTNET_ROOT=$HOME/.dotnet' >> ~/.bashrc echo 'export PATH=$PATH:$HOME/.dotnet' >> ~/.bashrc source ~/.bashrc • On edge00 and edge03 • edge02 has 3.1 for .net spark • And JDK • Edge01only JDK https://docs.microsoft.com/en-us/dotnet/iot/deployment
  • 26. After Hour 2021 Internet of Things Visual Studio Code • It works! • And install VSCode (https://code.visualstudio.com/docs/setup/raspberry-pi) • sudo apt update • sudo apt install code • But...
  • 27. After Hour 2021 Internet of Things Ubuntu o RaspiOS? • Ho provato Ubuntu 20 su PI400/4 64bit • Lento! • Sono tornato a RaspiOS/32 • Facile abilitare VNC e SSH
  • 28. After Hour 2021 Internet of Things No Containers? • Not using containers • More simple manipulation of config files • Images not ready for ARM • Speed…not ready to wait more…
  • 29. After Hour 2021 Internet of Things The scenario • WordCount as a Sample (WCaaS ) • Wordsignal, command, event (vote?) • 19 can become «event1»..»event9» • In device terms: a button on digital input for each «word»
  • 30. After Hour 2021 Internet of Things Edge00: PI400 • Produce events • Send to Kafka • Issues: • Kafka written in Java • But std .NET package uses native libkafka (C++) from Confluent that is available only for x86 • Require rebuilding (not found a ready rebuild) • Used a native implementation • not maintained • Not clean working • MQTT listener on kafka does not exist (only plugins controlled by kafka)
  • 31. After Hour 2021 Internet of Things Edge01: PI4/4 Kafka • Collect events events with Kafka • Install OpenJDK11 • Issues • Consumes lot of memory (required PI4) • Issues with configuration (listeners, also on WSL) • Complicated configuration (SASL-SCRAM, certificate store)Industrial scenario (tampering)
  • 32. After Hour 2021 Internet of Things Edge02: PI3 Spark • Aggregating events • Install OpenJDK8 for 2.4.8 (not 11) • Issues • Issues(?) with 3.x (not really tested) • Alignment between .net spark with spark • Problems with watermarking that is fundamental on streaming
  • 33. After Hour 2021 Internet of Things Edge03: PI3 • Handle processed data and route to the cloud • Planned installing an MQTT broker (Mosquitto?) • To implement real MQTT routing • Installed .NET 6 • Monitor files on a shared folder on edge02 • sudo mkdir /mnt/data • sudo apt-get install sshfs • sudo sshfs -o allow_other,default_permissions pi@edge02.local:/home/pi/data /mnt/data • Issues • <empty>? • Broker not tested
  • 34. After Hour 2021 Internet of Things DEMO
  • 35. After Hour 2021 Internet of Things .NET NanoFramework • http://nanoframework.net/ • Open Source, from .net microframework • no AOT compiling • Interpreter • firmware containing IL code • Promising, not complete • No async/await and Tasks • API • All rewritten • Focused on devices, not Azure
  • 36. After Hour 2021 Internet of Things ESP32-WROOM32 (1x10€, 3x23€)
  • 37. After Hour 2021 Internet of Things ESP32 CAM – Waiting for driver (few weeks)
  • 38. After Hour 2021 Internet of Things DEMO
  • 40. After Hour 2021 Internet of Things Minus/Issues • PI3 is slowOnly PI4+ • PI4 is slow for desktop • Kafka is difficult to configure • Spark has a complex processing/execution model • In general documentation is sparse and not homogeneus (PI/Kafka/Spark)
  • 41. After Hour 2021 Internet of Things Plus • .NET 6 works fine • Works everywhere • Also Java works fine Kafka and Spark • PI4 is powerful • It can be a potential platform for Kafka and Spark on edge
  • 42. After Hour 2021 Internet of Things Some links • https://github.com/dotnet/spark • https://docs.microsoft.com/en-us/dotnet/spark/tutorials/get- started?tabs=linux • https://code.visualstudio.com/docs/setup/raspberry-pi • https://dotnet.microsoft.com/download/dotnet/thank-you/sdk-3.1.413- linux-arm32-binaries • https://github.com/dotnet/spark/releases • https://docs.microsoft.com/en-us/dotnet/iot/deployment • https://mvnrepository.com/artifact/org.apache.spark/spark- streaming_2.12/3.0.1
  • 43. After Hour 2021 Internet of Things GRAZIE!
  • 44. After Hour 2021 Internet of Things https://www.youtube.com/c/Community1nn0va