67
Running C# on my Table Saw Raspberry Pi 3, .NET, and a Web Server

Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

Embed Size (px)

Citation preview

Page 1: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

Running C# on my Table SawRaspberry Pi 3, .NET, and a Web Server

Page 2: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

Ben Brandt

Husband & Father

Manufacturing

Engineer

Microsoft

Developer

YouTube “Maker”

www.B2Builds.com

Page 3: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

Raspberry Pi

Page 4: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker
Page 5: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

SD Card Storage

5v Power

(USB)

HDMI Video

Composite

Audio/Video

Ethernet

USB

GPIO Pins

Page 6: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker
Page 7: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

Windows on Raspberry Pi

Page 8: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker
Page 9: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

Windows 10 IoT Core

Page 10: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

Windows 10 IoT Core

+

Universal Windows Platform (UWP) apps

=>

Page 11: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

Business Applications

Page 12: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker
Page 13: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker
Page 14: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker
Page 15: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker
Page 16: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

C#

Page 17: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

C#

Page 18: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

Raspberry Pi Setup

www.WindowsOnDevices.com

Page 19: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

Development Environment

+

Page 20: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker
Page 21: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

C#

Page 22: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

Building a Box Joint Jig

+ +

Page 23: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

Box Joint

Page 24: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker
Page 25: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker
Page 26: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

Cutting Box Joints

Usually cut with a wide (“dado”) saw blade

Page 27: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

* only supports a normal narrow blade

My Table Saw

Page 28: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

Cutting Box Joints

Normal blade requires many precision cuts

Page 29: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

GPIO

General purpose Input & Output

Page 30: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

General purpose Input & Output

GPIO

Page 31: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

Accessing GPIO From Code

Page 32: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

Initializing Pins

• Set up your pins once

• Keep your pin variables referenced

Page 33: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

GPIO

Input

Ground

GPIO Pin

Page 34: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

Initializing Pins: Input

Page 35: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

Initializing Pins: Input

Page 36: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

Initializing Pins: Input

Page 37: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

Initializing Pins: Input

Page 38: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

Initializing Pins: Input

Page 39: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

GPIO

Output

+3.3 volts

GPIO Pin

High (5v) or Low (0v)

Page 40: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

Initializing Pins: Output

Page 41: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

Initializing Pins: Output

Page 42: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

Initializing Pins: Output

Page 43: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

Initializing Pins: Output

Page 44: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

Motion Control

Lead Screw

Page 45: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

Motion Control

Stepper Motor

200 Steps

Page 46: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

Motion Control

Stepper Motor Driver

EasyDriver

Page 47: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

Motion Control

Stepper Motor Driver

1600 Positions

1/8 Micro-stepping

Page 48: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

Stepping the Motor

Page 49: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

Stepping the Motor

Page 50: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

Stepping the Motor

= 1.6 seconds

25 seconds ?

Page 51: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

Stepping the Motor

Page 52: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

Stepping the Motor

Page 53: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

User Interface

LCD Screen and Buttons?

Page 54: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

User Interface

LCD Screen and Buttons?

- Adds complexity to hardware & software

- Limited user experience

Page 55: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

User Interface

Touch Screen?

Page 56: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

User Interface

Touch Screen?

- Adds cost and complexity

- Not ideal for all situations

Page 57: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

User Interface

Why not web based?

Page 58: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

C# Web Server in UWP

?

Page 59: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

C# Web Server in UWP

OWIN

Asp.Net

Page 60: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

Build our own

web server?

Page 61: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

Restup

Open source .Net Web Server for UWP

www.nuget.org/packages/Restup

Page 62: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

{ }

Restup

Static files JSON data

Page 63: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

Serving Static Files

Page 64: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

Serving Static Files

Page 65: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

Box Joint Jig & Code

Page 66: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker
Page 67: Raspberry Pi 3, .NET, and a Web Server Pi 3, .NET, and a Web Server. Ben Brandt Husband & Father Manufacturing Engineer Microsoft Developer YouTube “Maker

Thank You

Ben Brandt

www.B2Builds.com

github.com/benbrandt22