SlideShare a Scribd company logo
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

More Related Content

What's hot (20)

PDF
Openstack Pakistan Workshop (intro)
Affan Syed
 
PPTX
[2015-11월 정기 세미나] Cloud Native Platform - Pivotal
OpenStack Korea Community
 
PDF
[OpenStack Day in Korea 2015] Track 3-4 - Software Defined Storage (SDS) and ...
OpenStack Korea Community
 
PDF
Eclipse Kura Shoot a-pi
Eclipse Kura
 
PPTX
[OpenStack 하반기 스터디] DPDK & OpenStack why?
OpenStack Korea Community
 
PDF
OpenStack Astara
Kiran Murari
 
PPTX
OpenStack and the Transformation of the Data Center - Lew Tucker
Lew Tucker
 
PDF
Openstack Workshop (Networking/Storage)
Affan Syed
 
PPTX
OpenStack As A Strategy For Future Growth at Cisco
Lew Tucker
 
PDF
[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...
OpenStack Korea Community
 
PDF
End-to-end IoT solutions with Java and Eclipse IoT
Benjamin Cabé
 
PDF
Improving Network Application Performance using Load Aware Libeventdev
Michelle Holley
 
PPTX
Creator IoT Framework
Paul Evans
 
PPTX
OpenStack and OpenDaylight Workshop: ONUG Spring 2014
mestery
 
PPTX
FIWARE Lab architecture, an open point to start the installation of a new region
Fernando Lopez Aguilar
 
PPTX
Introduction to Openstack Network
salv_orlando
 
PDF
Using VPP and SRIO-V with Clear Containers
Michelle Holley
 
PDF
Quieting noisy neighbor with Intel® Resource Director Technology
Michelle Holley
 
PPTX
OpenStack Enabling DevOps
Cisco DevNet
 
PPTX
Is OpenStack Neutron production ready for large scale deployments?
Елена Ежова
 
Openstack Pakistan Workshop (intro)
Affan Syed
 
[2015-11월 정기 세미나] Cloud Native Platform - Pivotal
OpenStack Korea Community
 
[OpenStack Day in Korea 2015] Track 3-4 - Software Defined Storage (SDS) and ...
OpenStack Korea Community
 
Eclipse Kura Shoot a-pi
Eclipse Kura
 
[OpenStack 하반기 스터디] DPDK & OpenStack why?
OpenStack Korea Community
 
OpenStack Astara
Kiran Murari
 
OpenStack and the Transformation of the Data Center - Lew Tucker
Lew Tucker
 
Openstack Workshop (Networking/Storage)
Affan Syed
 
OpenStack As A Strategy For Future Growth at Cisco
Lew Tucker
 
[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...
OpenStack Korea Community
 
End-to-end IoT solutions with Java and Eclipse IoT
Benjamin Cabé
 
Improving Network Application Performance using Load Aware Libeventdev
Michelle Holley
 
Creator IoT Framework
Paul Evans
 
OpenStack and OpenDaylight Workshop: ONUG Spring 2014
mestery
 
FIWARE Lab architecture, an open point to start the installation of a new region
Fernando Lopez Aguilar
 
Introduction to Openstack Network
salv_orlando
 
Using VPP and SRIO-V with Clear Containers
Michelle Holley
 
Quieting noisy neighbor with Intel® Resource Director Technology
Michelle Holley
 
OpenStack Enabling DevOps
Cisco DevNet
 
Is OpenStack Neutron production ready for large scale deployments?
Елена Ежова
 

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

PPTX
Running Kafka and Spark on Raspberry PI with Azure and some .net magic
Marco Parenzan
 
PPTX
Open Source for the 4th Industrial Revolution
Liz Warner
 
PDF
The Considerations for Internet of Things @ 2017
Jian-Hong Pan
 
PDF
Edge Computing for the Industry
William Liang
 
PDF
IoT Story: From Edge to HDP
DataWorks Summit
 
PDF
IIOT STUDY MAT WEEK WISE 1-IIOT STUDY MAT WEEK WISE 1
kesavraj14
 
PDF
GK6Sept2024 for education purpose in eng
blessyannieflora
 
PDF
15CS81 Module1 IoT
Ganesh Awati
 
PPTX
HiPEAC 2022_Marcelo Pasin presentation
VEDLIoT Project
 
PDF
Edge Computing Standardisation and Initiatives
Axel Rennoch
 
PDF
Iot vupico-damien-contreras-2018-05-17-light-v3
Damien Contreras
 
PDF
Internet Of Things: Hands on: YOW! night
Andy Gelme
 
PDF
Developers’ mDay u Banjoj Luci - Janko Isidorović, Mainflux – Unified IoT Pl...
mCloud
 
PDF
Dynamic IoT data, protocol, and middleware interoperability with resource sli...
Hong-Linh Truong
 
PDF
Introduction to IoT & Project IoT Field
Mario Kušek
 
PPTX
Internet of things case studies of edge computing
KhoonSeang (Richard) Kang
 
PDF
IoTWorld 2016 OSS Keynote Param Singh, Ian Skerrett
Param Singh
 
PDF
lecture_1.pdf
MahendraShukla27
 
PPTX
Gab 2015 aymeric weinbach azure iot
Aymeric Weinbach
 
PDF
IIOT STUDY MAT WEEK WISE IIOT STUDY MAT WEEK WISE 2
kesavraj14
 
Running Kafka and Spark on Raspberry PI with Azure and some .net magic
Marco Parenzan
 
Open Source for the 4th Industrial Revolution
Liz Warner
 
The Considerations for Internet of Things @ 2017
Jian-Hong Pan
 
Edge Computing for the Industry
William Liang
 
IoT Story: From Edge to HDP
DataWorks Summit
 
IIOT STUDY MAT WEEK WISE 1-IIOT STUDY MAT WEEK WISE 1
kesavraj14
 
GK6Sept2024 for education purpose in eng
blessyannieflora
 
15CS81 Module1 IoT
Ganesh Awati
 
HiPEAC 2022_Marcelo Pasin presentation
VEDLIoT Project
 
Edge Computing Standardisation and Initiatives
Axel Rennoch
 
Iot vupico-damien-contreras-2018-05-17-light-v3
Damien Contreras
 
Internet Of Things: Hands on: YOW! night
Andy Gelme
 
Developers’ mDay u Banjoj Luci - Janko Isidorović, Mainflux – Unified IoT Pl...
mCloud
 
Dynamic IoT data, protocol, and middleware interoperability with resource sli...
Hong-Linh Truong
 
Introduction to IoT & Project IoT Field
Mario Kušek
 
Internet of things case studies of edge computing
KhoonSeang (Richard) Kang
 
IoTWorld 2016 OSS Keynote Param Singh, Ian Skerrett
Param Singh
 
lecture_1.pdf
MahendraShukla27
 
Gab 2015 aymeric weinbach azure iot
Aymeric Weinbach
 
IIOT STUDY MAT WEEK WISE IIOT STUDY MAT WEEK WISE 2
kesavraj14
 
Ad

More from Marco Parenzan (20)

PPTX
Azure IoT Central per lo SCADA engineer
Marco Parenzan
 
PPTX
Azure Hybrid @ Home
Marco Parenzan
 
PPTX
Static abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptx
Marco Parenzan
 
PPTX
Azure Synapse Analytics for your IoT Solutions
Marco Parenzan
 
PPTX
Power BI Streaming Data Flow e Azure IoT Central
Marco Parenzan
 
PPTX
Power BI Streaming Data Flow e Azure IoT Central
Marco Parenzan
 
PPTX
Power BI Streaming Data Flow e Azure IoT Central
Marco Parenzan
 
PPTX
Developing Actors in Azure with .net
Marco Parenzan
 
PPTX
Math with .NET for you and Azure
Marco Parenzan
 
PPTX
Power BI data flow and Azure IoT Central
Marco Parenzan
 
PPTX
.net for fun: write a Christmas videogame
Marco Parenzan
 
PPTX
Anomaly Detection with Azure and .NET
Marco Parenzan
 
PPTX
Deploy Microsoft Azure Data Solutions
Marco Parenzan
 
PPTX
Deep Dive Time Series Anomaly Detection in Azure with dotnet
Marco Parenzan
 
PPTX
Azure IoT Central
Marco Parenzan
 
PPTX
Anomaly Detection with Azure and .net
Marco Parenzan
 
PPTX
Code Generation for Azure with .net
Marco Parenzan
 
PPTX
Time Series Anomaly Detection with Azure and .NETT
Marco Parenzan
 
PPTX
Code Generation for Azure with .net
Marco Parenzan
 
PPTX
Deep dive time series anomaly detection with different Azure Data Services
Marco Parenzan
 
Azure IoT Central per lo SCADA engineer
Marco Parenzan
 
Azure Hybrid @ Home
Marco Parenzan
 
Static abstract members nelle interfacce di C# 11 e dintorni di .NET 7.pptx
Marco Parenzan
 
Azure Synapse Analytics for your IoT Solutions
Marco Parenzan
 
Power BI Streaming Data Flow e Azure IoT Central
Marco Parenzan
 
Power BI Streaming Data Flow e Azure IoT Central
Marco Parenzan
 
Power BI Streaming Data Flow e Azure IoT Central
Marco Parenzan
 
Developing Actors in Azure with .net
Marco Parenzan
 
Math with .NET for you and Azure
Marco Parenzan
 
Power BI data flow and Azure IoT Central
Marco Parenzan
 
.net for fun: write a Christmas videogame
Marco Parenzan
 
Anomaly Detection with Azure and .NET
Marco Parenzan
 
Deploy Microsoft Azure Data Solutions
Marco Parenzan
 
Deep Dive Time Series Anomaly Detection in Azure with dotnet
Marco Parenzan
 
Azure IoT Central
Marco Parenzan
 
Anomaly Detection with Azure and .net
Marco Parenzan
 
Code Generation for Azure with .net
Marco Parenzan
 
Time Series Anomaly Detection with Azure and .NETT
Marco Parenzan
 
Code Generation for Azure with .net
Marco Parenzan
 
Deep dive time series anomaly detection with different Azure Data Services
Marco Parenzan
 
Ad

Recently uploaded (20)

PDF
How to Hire AI Developers_ Step-by-Step Guide in 2025.pdf
DianApps Technologies
 
PDF
Driver Easy Pro 6.1.1 Crack Licensce key 2025 FREE
utfefguu
 
PDF
Download Canva Pro 2025 PC Crack Full Latest Version
bashirkhan333g
 
PPTX
Foundations of Marketo Engage - Powering Campaigns with Marketo Personalization
bbedford2
 
PPTX
Homogeneity of Variance Test Options IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PDF
AI + DevOps = Smart Automation with devseccops.ai.pdf
Devseccops.ai
 
PDF
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
PDF
Wondershare PDFelement Pro Crack for MacOS New Version Latest 2025
bashirkhan333g
 
PDF
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pdf
Varsha Nayak
 
PDF
iTop VPN With Crack Lifetime Activation Key-CODE
utfefguu
 
PDF
MiniTool Partition Wizard Free Crack + Full Free Download 2025
bashirkhan333g
 
PDF
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
PDF
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
PPTX
Change Common Properties in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PDF
HiHelloHR – Simplify HR Operations for Modern Workplaces
HiHelloHR
 
PDF
Unlock Efficiency with Insurance Policy Administration Systems
Insurance Tech Services
 
PDF
The 5 Reasons for IT Maintenance - Arna Softech
Arna Softech
 
PPTX
Finding Your License Details in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PPTX
Agentic Automation Journey Series Day 2 – Prompt Engineering for UiPath Agents
klpathrudu
 
PPTX
Hardware(Central Processing Unit ) CU and ALU
RizwanaKalsoom2
 
How to Hire AI Developers_ Step-by-Step Guide in 2025.pdf
DianApps Technologies
 
Driver Easy Pro 6.1.1 Crack Licensce key 2025 FREE
utfefguu
 
Download Canva Pro 2025 PC Crack Full Latest Version
bashirkhan333g
 
Foundations of Marketo Engage - Powering Campaigns with Marketo Personalization
bbedford2
 
Homogeneity of Variance Test Options IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
AI + DevOps = Smart Automation with devseccops.ai.pdf
Devseccops.ai
 
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
Wondershare PDFelement Pro Crack for MacOS New Version Latest 2025
bashirkhan333g
 
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pdf
Varsha Nayak
 
iTop VPN With Crack Lifetime Activation Key-CODE
utfefguu
 
MiniTool Partition Wizard Free Crack + Full Free Download 2025
bashirkhan333g
 
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
Change Common Properties in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
HiHelloHR – Simplify HR Operations for Modern Workplaces
HiHelloHR
 
Unlock Efficiency with Insurance Policy Administration Systems
Insurance Tech Services
 
The 5 Reasons for IT Maintenance - Arna Softech
Arna Softech
 
Finding Your License Details in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Agentic Automation Journey Series Day 2 – Prompt Engineering for UiPath Agents
klpathrudu
 
Hardware(Central Processing Unit ) CU and ALU
RizwanaKalsoom2
 

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 [email protected]:/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