Connecting Devices to the Cloud on Open Source Hardware and Software
Download
Report
Transcript Connecting Devices to the Cloud on Open Source Hardware and Software
Connecting Devices
to the Cloud on Open
Source Hardware and
Software
Colin Miller – Microsoft
Chris 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
Power Usage
Labor Allocation
Power generation
Predictive Maintenance
Inventory Management
The Internet of Things ‘Stack’
Public Cloud
Private Cloud
Device Management
Smart devices – Dumb devices
Privacy
Gateway devices
Security
Data Analytics
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:
From the community:
VB.NET (a collaboration)
VB.NET (a collaboration)
Cryptographic Primitives and Object Model
New Platform builder
Remote firmware update
IL Optimizations
FTP – client (desktop compatible) and server (NETMF
only)
Bug fixes
Regular Expressions
SNTP
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
www.pachube.com
HTTP://PUT
Sensor
HTTP://GET
Actuator
Alterative Architecture
www.pachube.com
HTTP://GET
HTTP://PUT
Sensor as Server
Actuator as Server
Questions