c# powered robots, c# powered mobile apps

25
Who’s this guy? James Montemagno Developer Evangelist [email protected] http://motz.codes @JamesMontemagno

Upload: james-montemagno

Post on 16-Jul-2015

377 views

Category:

Engineering


5 download

TRANSCRIPT

Who’s this guy?

JamesMontemagno

DeveloperEvangelist

[email protected]://motz.codes@JamesMontemagno

The World of Robots!

We are going to build this!

Programing Said Robots

• Arduino– Runs Arduino Software– Code in C/C++– IDE: open-source Ardunio

Software IDE• Windows/OS X/Linux

• Netduino– Compatible with Arduino

Hardware Ecosystem– Much more powerful– Runs Netduino Software– .NET Micro Framework!!!– Code in C# with .NET– Code in Visual Studio or

Xamarin Studio!

Robot Coding in Visual Studio!

• Step 1: – Install .NET Micro Framework SDK

• Step 2: – Install VS 2015 .NET Micro Framework Project System

• Step 3: – Install Netduino SDK v4.3.1

http://forums.netduino.com/index.php?/topic/10201-­beta-­visual-­studio-­2013-­support/

We did it!

Interacting with the netduino

• Built in– User LED– Button

• You can add more!– BLE– Wi-Fi– DC Motors– Accelerometers– Other awesome stuff

http://www.netduino.com/netduino2/specs.htm

Access “Ports”

• InputPort– Read only– Is LED on?– Digital

• OutputPort– Write Only– Turn LED

On– Digital

• InterruptPort– Input Port– Notified on

Change• Events!

• Analog Port– Input Port– Analog

(values 0 –1000)

– Microphone

Blink that light!

Tim  &  Eric

Robots in C#

Introducing Monkey.Robotics

What’s Included

• Micro Stack– Runs on Netduino– Follows “Reactive

Programming”– Low-level Hardware

Abstraction– Sensor & Peripheral Library

Built on Blocks

• Everything is a Block• C# Class• Represent Devices

– Sensors– Motors– Generators– Specialized Blocks

LED

Buttonin

out

in

outDC  Motor

in

out

Blocks in Block in Blocks

Buttonin

out

My  Block

in

out

LEDin

outLeft  Motor

in

out

Right  Motorin

out

Scopes

• Scope : Block– Listen in on signals– Do interesting things– Like:

• Log Data• Transform Data• Etc.

SimplifiedRobots in C#

Xamarin’s Unique  Approach

Native withCode Sharing

What’s Included

• Mobile Stack– Low-level BLE API– Messaging Framework– Peripheral Libraries

On Netduino – Create Server, Expose Variables

On Mobile – Find Devices

On Mobile – Connect to Devices

On Mobile – Send Variable Updates

Controlling Robots from C# Powered Apps!

Resources

• Slides– www.slideshare.net/jamesmontemagno

• Netduino– www.netduino.net

• Monkey.Robotics– www.github.com/xamarin/monkey.robotics

• Code from Demo– www.github.com/jamesmontemagno/CSharpRobots

Get StartedXamarin.com