Connecting Devices to the Cloud on Open Source Hardware and Software
description
Transcript of Connecting Devices to the Cloud on Open Source Hardware and Software
Connecting Devices to the Cloud on Open Source Hardware and Software
Colin Miller – MicrosoftChris Walker – Secret Labs LLC
Connected Devices – The Internet of Things The connection of the physical world with the virtual world. eg - Thames water (replacing Victorian Cast Iron water mains with
new plastic pipes and instrumenting all of it.) Don’t wait for the sink hole, send a crew before the failure. Eliminate waste in many parts of all of our infrastructure systems.
Not just new applications but new business models Perspective
- 1.5B Internet connected PCs
- <1B Internet connected phones
- By 2020 – 50B Internet connected Devices
“But the bandwagon is not just rolling for the benefit of technology companies and ambitious politicians. It has gained momentum because there is a real need for such systems. In many countries the physical infrastructure is ageing, health-care costs are exploding and money is tight. Using resources more intelligently can make taxpayers’ money go further. Monitoring patients remotely can be much cheaper and safer than keeping them in hospital. A bridge equipped with the right sensors can tell engineers when it needs to be serviced. “ The Economist
Imagine Cup 2011 winning team – Team Hermes
Example Industrial Scenarios
Fleet Tracking
Predictive Maintenance
Power Usage
Power generation
Inventory Management
Labor Allocation
Public Cloud Private Cloud
Data Analytics
The Internet of Things ‘Stack’
Device Management
Smart devices – Dumb devices
Gateway devices Secu
rity
Pri
vacy
Why managed code on Devices
It’s not the ‘embedded’ development environment we are used to Changes to the embedded development landscape
- Before mostly no OS or proprietary OS
- Lower cost/power of 32 bit processors
- Connected applications more complex and require a stack
- Moving to standard OS options Productivity Uniformity
- A single programming model and tool chain throughout connected solutions
The NETMF Open Source Project Smallest .NET implementation
Targets small 32 bit processors (ARM 7-9, Cortex M(x), Analog Devices Blackfin, Renesas SH2)
Currently used in consumer products, industrial automation, energy management, health/eldercare, and lots of new categories.
First Open Source release – Nov 2009
- Apache 2.0
Community based model
- Motivation
- Avoid fragmentation
- Develop a clear collaborative direction
- Core Tech Team
- Microsoft Development Team
- netmf.codeplex.com
- netmf.com
The NETMF Version 4.2
From Microsoft Resources:
VB.NET (a collaboration)
Cryptographic Primitives and Object Model
Remote firmware update
IL Optimizations
Bug fixes
SNTP
From the community:
VB.NET (a collaboration)
New Platform builder
FTP – client (desktop compatible) and server (NETMF only)
Regular Expressions
StringBuilder Type
PWM and Analog/Digital Conversion
Bug fixes
Secure Hardware (SIM Card) drivers
Netduino Open Source Project Company Background (Secret Labs LLC)
- Electronics and software company
- 4+ years of experience with .NET Micro Framework
- Designs consumer and industrial electronics using .NET Micro Framework
- Also creates Netduino, an open source electronics platform for .NET Micro Framework
Open Source Licenses
- Firmware/SDK: Apache 2.0 license (BSD for networking) (LGPL-style)
- Hardware: Creative Commons – Attribution (LGPL-style)
Open Source Hardware
- Netduino
- Netduino Mini
Netduino Open Source Project Netduino Plus
- lwIP network stack (BSD OSS)
- MMC “SPI” SD card support (open protocol) with community SDHC enhancements
- 64KB for .NET MF code
- 40KB RAM
- 8KB of on-chip storage (.NET MF 4.2)
Cross-platform development tools (Mac/Linux support)
- Mono Compiler
- MetaDataProcessor runs under WINE
- MFDeploy/MFDeployEngine run under Mono Runtime on Mac/Linux
- MonoDevelop (in progress)
Netduino Open Source Project Netduino Community Contributions
- OneWire support – CW2
- C# to ARM/THUMB native code interpreter – Corey Kosak
- Enhanced SD support -- KodeDaemon
- I2C repeated start bit
- Extended SPI configurations
- Hardware feedback for open source hardware roadmap
- Bug fixes
NETMF Community Contributions (as Colin mentioned)
- Regular Expressions
- StringBuilder
- Bug fixes
Demo
Connecting Devices to the Cloud First Wine Cellar application PDC 2009
- Sensor to local interface device via 802.15.4 ($$$)
- DPWS (Web Services)
- Discovery
- Eventing Second Wine Cellar app – 2011
- REST-ful Interface Netduino Plus
- Pachube
Demo Architecture
Sensor Actuator
HTTP://PUT HTTP://GET
www.pachube.com
Alterative Architecture
Sensor as Server Actuator as Server
HTTP://GET HTTP://PUT
www.pachube.com
Questions