Building a Raspberry Pi Robot with Dot NET 8, Blazor and SignalR - Slides Only.pptx

PGallagher69 50 views 37 slides Jun 04, 2024
Slide 1
Slide 1 of 37
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37

About This Presentation

In this session delivered at Leeds IoT, I talk about how you can control a 3D printed Robot Arm with a Raspberry Pi, .NET 8, Blazor and SignalR.

I also show how you can use a Unity app on an Meta Quest 3 to control the arm VR too.

You can find the GitHub repo and workshop instructions here;

https...


Slide Content

Building a Raspberry Pi Robot Arm with .NET 8, Blazor and SignalR Pete Gallagher Petecodes.co.uk

About Me Pete Gallagher @pete_codes www.PeteCodes.co.uk [email protected] Full Stack Dev Manager at Avanade UK Microsoft Certified Trainer & Azure MVP, Pluralsight Author Decades of Desktop, Web & Embedded Software experience, Meetup Organiser, STEM Ambassador, Code Club Organiser … Gadget Addict Father of two inquisitive girls

Hello World (In the world of IoT) Device Bindings and Driving Servos Raspberry Pi GPIO and the Circuit .NET 8 and Installing on the Pi Final Demos Blazor and SignalR What we’re going to be doing…

.NET 8

COMPILERS LANGUAGES RUNTIME COMPONENTS .NET 8 INFRASTRUCTURE .NET STANDARD .NET everywhere TOOLS VISUAL STUDIO CODE COMMAND LINE INTERFACE VISUAL STUDIO VISUAL STUDIO FOR MAC ASP.NET WEB Azure CLOUD ARM32 ARM64 IoT ML.NET .NET for Apache Spark AI WPF Windows Forms UWP Maui DESKTOP Xamarin Maui MOBILE Unity GAMING

What’s new in .NET 8? https://bit.ly/pjgdotnet8new ARM64 Performance Improvements Garbage Collector Enhancements JSON Enhancements .NET Aspire Publish to a Container Maui / ASP.NET / EF Improvements

.NET Ecosystem Momentum > 6.1M Monthly Active Users In Visual Studio #1 Most Admired Framework .NET Core Top 5 Highest velocity OSS Projects github.com/dotnet github.com/aspnet Top 5 Language on GitHub C# 15x Faster than Node.js ASP.NET Core 40% New to .NET are students* dot.net download survey .NET Conf 2023 Keynote - https://bit.ly/pjgdotnetconf2023

Raspberry Pi Install

Raspberry Pi Install Single Line Install wget -O - https://raw.githubusercontent.com/pjgpetecodes/dotnet8pi/main/install.sh | sudo bash http://bit.ly/dotnet8pi

.NET 8 & GPIO

System.Device.Gpio https://www.nuget.org/packages/System.Device.Gpio Very Limited Support for Raspberry Pi 5 Supports Linux and Windows 10 IoT Supports Raspberry Pi, Beagleboard , Hummingboard , Odroid etc Supports I/O, SPI, PWM, I2C

Raspberry Pi GPIO Board Numbering BCM Numbering

Raspberry Pi Circuit 1 Pin 10 Pin 26

Raspberry Pi Demo 1 Hello World (In the world of IoT)

https://www.nuget.org/packages/Iot.Device.Bindings Explorer Hat Sense Hat MCP23xxx I/O Expander BME280 Temperature / Humidity Sensor Much More! Servos Iot.Device.Bindings

Raspberry Pi Circuit 2

Servo Control Board Pin 25 Pin 35 Pin 13 Pin 12

Servos Control Power Ground

Servos

Raspberry Pi Demo 2 Servo Demo

Blazor

“Blazor is a single-page app framework for building interactive client-side Web apps with .NET” Scott Hanselman Blazor

https://bit.ly/pjgblazor No Javascript !* Server Side or Client Side WebAssembley Web UI Framework based in C# / Razor and HTML Steve Sanderson’s Pet Project Support in All Major Browsers Client Side .NET with no plugins Blazor

SignalR

“ASP.NET SignalR is a library for ASP.NET developers to add real-time web functionality to their applications” Wikipedia SignalR

https://bit.ly/pjgsignalr Open Source Supports Web Sockets, Server-Sent Events, Long Polling Enables Bi-directional Real-Time communications Created by David Fowler and Damian Edwards in 2011 SignalR

Raspberry Pi Demo 3 Drive the Arm!

Uno Platform

“The Uno Platform is a Universal Windows Platform Bridge that allows UWP-based code to run on iOS, Android, WebAssembly, Mac & Linux” Uno Uno Platform

Uno Platform UWP – XAML – C# Created by Jérôme Laban Open Source & Cross Platform Uno Platform 4.0 WinUI 3 Skia and GTK for Linux UI https://bit.ly/pjgunoplatform

Raspberry Pi Demo 4 UI with UNO!

Unity and VR

“Unity is a Cross-Platform Game Engine… Unity gives users the ability to create games and experiences in both 2D and 3D” Wikipedia Unity and VR

https://unity.com/ Scripting using .NET Standard 2.0 or C# 8 Support for Virtual and Mixed Reality Cross Platform Founded in 2002 by Nicholas Francis, Joachim Ante & David Helgason Adding NuGet Packages can be painful Build and Deploy Directly to the Headset Unity and VR

Raspberry Pi Demo 4 VR Robots!

Bonus Section!

.NET everywhere