160 likes | 314 Views
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.
E N D
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
Example Industrial Scenarios Fleet Tracking Power Usage Labor Allocation Power generation Inventory Management Predictive Maintenance
The Internet of Things ‘Stack’ Public Cloud Private Cloud Data Analytics Security Privacy Gateway devices Device Management Smart devices – Dumb devices
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) 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 • VB.NET (a collaboration) • Cryptographic Primitives and Object Model • Remote firmware update • IL Optimizations • Bug fixes • SNTP
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
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 HTTP://GET Sensor Actuator
Alterative Architecture www.pachube.com HTTP://GET HTTP://PUT Sensor as Server Actuator as Server