codecamp 7 mai 2011 - azure skies for kinders
DESCRIPTION
Azure Skies for Kinder(s) is a proof-of-concept that demonstrates an interesting combination between an embedded (smart) system powered by Windows CE 7 and web services hosted in the Windows Azure Cloud.TRANSCRIPT
Azure Skies for Kinder(s)Thin Clients & The CloudA Proof of Concept: WinCE 7.0 & Windows Azure
Sandu Buraga, Continental, Iaşi, [email protected] Florin Cardaşim, RomSoft Iaşi, www.twitter.com/cardasim7th of May 2011
Agenda The Internet of Things – Concept and Scenarios Azure Skies for Kinder(s)
The application concept The software architecture
Demo: Azure service and Compact Framework client WinCE 7.0
About the platform Development prerequisites: hardware, toolset,
frameworks Demo: Windows CE 7 Silverlight UI (C++ native code) Pros & Cons – thinks we liked, problems we faced Solution economics: let’s talk about money
The Internet of Things: Concept
A network of Internet-enabled objects, together with web services that interact with these objects.
Based on network ubiquity Ubiquity = omnipresence - present everywhere at
the same time (philosophy)Smart-devices, sensors, RFID build-up the network
It's time to intersect and link them with the cloud.
The Internet of Things: Scenarios
Health: monitored the peacemaker (heart diseases)
Businesses: link business processes (BizTalk, SAP) with production processes
Transportation: monitor the goods moving through RFID
… infinite number of possibilities
All scenarios have in common smart devices geographically spread connected through the internet with a backend
Azure Skies for Kinder(s)Concept
Let’s face a reality children love technology allow them to have it in a controlled
and less dangerous way
Multimedia room for Kindergarten Teacher defines content Educational videos, picture albums Educational applications: learning to pronounce, write, draw Psychological and emotional development lessons and tests Educational games (strategy, chase, …)
Child uses content Device/Station with shock resistant touch screen and a very
limited number of soft keys
http://www.candis.co.uk/parental-and-family-health-news/3743/gadget-guru-teach-children-about
Software Architecture
Web Role/Web
Service
Table storage: media item
infoBlob storage:
media item data
Embedded System Windows CE 7
SilverlightApp.exe
(native)
ProxyApp.exe (.NET CF)
MSMQ
http://azureskies.cloudapp.net/AsfkService.svc
The embedded system Windows CE 7 requests media information from the web service hosted in a Windows Azure web role
30 days free Azure pass: http://windowsazurepass.com
“Talk is cheap. Show me the code.”Linus Torvalds
Demo: Azure web service and a .NET Compact Framework client
Windows Embedded Compact 7
Componentized, real-time OS - symmetrical multiprocessing support
Processors: ARM, MIPS, x86Small Footprint, minimum 500KB, 700 ComponentsSilverlight for Windows Embedded – native UI framework
Internet Explorer EmbeddedTouch, multi-touch and gestureMicrosoft Office and PDF ViewersConnectivity: UART, USB, Ethernet, WiFi, Bluetooth 2.1
Support 10 yearsWin32 application, .NET Compact Framework 3.5
WinCE 7.0 - DevelopmentHardware - a development board is necessary 150 – 300$ GumStix – www.gumstix.com Texas Instruments – ARM ICOP eBox (x86 architectures) http://www.icop.com.tw/ BeagleBoard (TI – ARM Cortex) http://beagleboard.org/ http://www.hawkboard.org/
Toolset Visual Studio 2008 SP1 WinCE 7 - Platform Builder Microsoft Blend 3 Virtual PC 2007/Windows Virtual PC
Application development Silverlight for Windows Embedded Win32 APIs (C++) Media Player
Demo: Silverlight UI on Windows CE 7
A quick UI using Silverlight for EmbeddedCreate and test a simple UI in Microsoft Expression Blend 3
From Visual Studio import the Silverlight solution using WESTWriting codeDeploy on DeviceSample code
Pros & ConsPros:
A lot of hardware available on the market Stable operating system –15 years of evolution Protected memory Support from Microsoft .NET Compact Framework (productivity)
Cons: Incomplete managed API in contrast with Google
Android Java API Not possible to call from a native application
managed code Only C/C++ APIs for connectivity (Bluetooth,
USB…) Productivity issues
Solution economicsOne can build a wide range of embedded systems with relative low costsWindows CE 7 – 20-3.7 USD (based on quantity)
Embedded hardware/board: 150-250 USDOther peripherals: 200 USDTotal: min 160 USD, max 500 USD
The Cloud may cut the costs of hosting your own infrastructure for the backend, while ensuring scalability infrastructure costs (hw + sw), usually underutilized
management costspay as you go
LinksSprechen Sie Cloud?www.windowsazure.comwww.twitter.com/windowsazure Google for Windows Azure SDK and Visual Studio Tools
Google for Windows Azure Training Kithttp://wcfguidanceformobile.codeplex.com/ (Michele Bustamante, WCF expert)
Please fill the evaluation form
Thank you very much!Sandu Buraga, Florin Cardașim, [email protected], www.rms.ro, twitter.com/cardasim
Iași, 7th of May 2011