glovebox_0-1595639397814.png

 

#JulyOT

This is part of the #JulyOT IoT Tech Community series, a collection of blog posts, hands-on-labs, and videos designed to demonstrate and teach developers how to build projects with Azure Internet of Things (IoT) services. Please also follow #JulyOT on Twitter.


Operating Systems and ARM architectures supported

 

This tutorial has been tested with .NET Core applications running on Raspberry Pi OS and Ubuntu 20.04 (including Ubuntu Mate 20.04) for both 32bit (ARM32) and 64bit (ARM64). The projects also include build tasks for Debug and Release configurations.


Source Code

 

The source and the samples for this tutorial can be found here.


Get started

 

Get started, head to Raspberry Pi .NET Core Developer Learning Path 

 

Learn how to build .NET Core C# and F# apps, connect hardware with the .NET Core IoT library, send telemetry to Azure IoT and IoT Central, control the device with device twins and direct method.


Tips and Tricks for setting up Ubuntu 20.04 on a Raspberry Pi

 

Check out the following Raspberry Pi Tips and Tricks to boot Ubuntu from USB3 SSD, how to overclock, enable WiFi, and support for the Raspberry Pi Sense HAT.

 


Raspberry Pi Hardware

 

.Net Core requires an AMR32v7 processor and above, so anything Raspberry Pi 2 or better and you are good to go. Note, Raspberry Pi Zero is an ARM32v6 processor, and is not supported.

 

 

The Raspberry Pi 3a Plus is a great device for .NET Core. I’m super happy with my Raspberry Pi 4B 4GB and 8GB devices seen here dressed in a heatsink case.
glovebox_2-1595639397823.jpeg glovebox_3-1595639397831.png

 


Why .NET Core

 

It used by millions of developers, it is mature, fast, supports multiple programming languages (C#, F#, and VB.NET), runs on multiple platforms (Linux, macOS, and Windows), and is supported across multiple processor architectures. It is used to build device, cloud, and IoT applications.

.NET Core is an open-source, general-purpose development platform maintained by Microsoft and the .NET community on GitHub.


Learning C#

glovebox_5-1595639397825.png

 

There are lots of great resources for learning C#. Check out the following:

  1. C# official documentation
  2. C# 101 Series with Scott Hanselman and Kendra Havens
  3. Full C# Tutorial Path for Beginners and Everyone Else

The .NET Core IoT Libraries Open Source Project

 

The Microsoft .NET Core team along with the developer community are building support for IoT scenarios. The .NET Core IoT Library is supported on Linux, and Windows IoT Core, across ARM and Intel processor architectures. See the .NET Core IoT Library Roadmap for more information.

System.Device.Gpio

 

The System.Device.Gpio package supports general-purpose I/O (GPIO) pins, PWM, I2C, SPI and related interfaces for interacting with low-level hardware pins to control hardware sensors, displays and input devices on single-board-computers; Raspberry Pi, BeagleBoard, HummingBoard, ODROID, and other single-board-computers that are supported by Linux and Windows 10 IoT Core.

 

 
 

DotNetIotRoadmapComponents.png

 

Iot.Device.Bindings

 

The .NET Core IoT Repository contains IoT.Device.Bindings, a growing set of community-maintained device bindings for IoT components that you can use with your .NET Core applications. If you can’t find what you need then porting your own C/C++ driver libraries to .NET Core and C# is pretty straight forward too.

The drivers in the repository include sample code along with wiring diagrams. For example the BMx280 – Digital Pressure Sensors BMP280/BME280.

 

glovebox_6-1595639397830.png

 


Get started

Get started, head to Raspberry Pi .NET Core Developer Learning Path 

 

Learn how to build .NET Core C# and F# apps, connect hardware with the .NET Core IoT library, send telemetry to Azure IoT and IoT Central, control the device with device twins and direct method.


Have fun and stay safe and be sure to follow us on #JulyOT.