Windows Azure and Embedded Devices


Published on

This talk will demonstrate the Internet of Things with Windows Azure. Using embedded devices that interact with Windows Azure cloud technologies, the Internet of Things ideology is enabled with scalable and resilient cloud systems that imbue the resource constrained devices with elastic, on-demand additional computing power that allows any network connected device to achieve amazing computational feats. The talk features three main device/cloud interactions: persisting unbounded data from sensors, communicating through resilient channels and interacting directly with the Windows Azure cloud to provision and control cloud based infrastructure.

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  •  Web ApiNode.jsTime taken (in s)89.9541.65Requests per second1111.692400.89 silly slide that shows that the number of devices interacting grows
  • A periodic example may be a greenhouse thermometer. The devices may be configured to report hourly, and with some careful control of clock cycles you could predict exactly when traffic will arrive at your services. Ideally in such a case you’d only provision compute resources at a certain time so that you aren’t overpaying for resources. This is a perfect cloud scenario.A frequent retrieval may be a fridge that wishes to show the news headlines – it has to frequently poll, and this constant growth gives a fast per unit growth pattern to the traffic. This growth pattern is unlike a human computer growth pattern where there are rarely constant usage on the client side.When a Device interacts with humans, a far less predictable usage pattern emerges – if a device responds to milk being taken from it (in order to report a reorder request) then it depends how quickly a user is drinking their milk! Very hard to predict.When devices are reporting periodically and growing fast, a differnet pattern emerges – a predictable burst pattern where there is never a true off state.
  • SPOT is Smart Personal Objects Technology .net for Devices, not compact!What if you could use .NET on really small devices?.NET Micro Framework is an open source platform that expands the power and versatility of .NET to the world of small embedded applications. Desktop programmers can harness their existing .NET knowledge base to bring complex embedded concepts to market on time (and under budget). Embedded Developers can tap into the massive productivity gains that have been seen on the Desktop..NET Micro Framework DevicesThe typical .NET Micro-Framework device has a 32 bit processor with or without a memory management unit (MMU) and could have as little as 64K of random-access memory (RAM). The .NET Micro Framework supports rich user experience and deep connectivity with other devices.Such devices include: consumer devices, consumer medical, home automation, industrial automation, automotive, sideshow devices / PC peripherals.Why put .NET on small devices?Up to now, embedded devices have been quite effectively created using mostly C and C++, why do we need C#?  Certainly there will remain applicaitons for which C and C++ are the right technology to use but there are two reasons to consider using a managed environment for these devices. The first is the efficiency of creating and maintaining devices in managed code.  Desktop developers who have made  the move to managed code are typically converted by the productivitiy increases that they experience.  With the increase in 32 bit processors and the need to support higher level functionality like a TCP/IP stacks, an environment like NETMF can make development much less expensive and risky.This is related to the other reason for .NET on small devices.  More and more the devices that we are making are not isolated implementations but parts of much larger solutions that stretch to services and web sites and the cloud.  With .NET, you have a programming model and tool chain that spans that entire solution space.  There is less need to hire different staff and supporit different tools and operating systems for the various parts of the solutions. 
  • The chart shows device capacity framework footprint
  • SHOW THE DEVICESdigital i/o features ● all 20 digital and analog pins: GPIO ● digital pins 0-1: UART 1 RX, TX ● digital pins 2-3: UART 2 RX, TX ● digital pins 5-6: PWM, PWM ● digital pins 7-8: UART 2 RTS, CTS ● digital pins 9-10: PWM, PWM ● digital pins 11-13: SPI MOSI, MISO, SPCK ● analog pins 4-5: I2C SDA, SCLnetworking ● ethernet: 10/100 mbps ● network stack: lwIPstorage ● micro sd (up to 2 GB) ● auto card detectpower ● input: 7.5 - 12.0 VDC or USB powered ● output: 5 VDC and 3.3 VDC regulated ● analog reference: 2.6 - 3.3 VDConly required when using ADC features ● max current: 8 mA per pindigital pins 2, 3, 7: 16 mA per pinanalog pins 0-3: 2 mA per pinmicrocontroller max current: 200 mA total ● digital i/o are 3.3 V--but 5 V tolerant
  • A GPIO port (hardware) can behave as either an input or an output port. Software is used to configure this, and the hardware is then configured to behave in the correct way.
  • Windows Azure and Embedded Devices

    1. 1. Devices and Windows AzureAndy Cross@andybareweb
    2. 2. Time until next coffee
    3. 3. Devices areeverywhere
    4. 4. Time until next coffeeOnly a scalable elastic computinginfrastructure can solve this scalabilitychallenge; such as Windows Azure Devices and Azure ©Copyright 2012 09 / 14 /12 4
    5. 5. Device Classifications Desktop Desktop PC and Laptops Background processes User interactions Background processes Mobile Push notifications requiring Server contexts Location sensitive data Nike+ Embedded Intelligent Housing RFID
    6. 6. Devices illustrated Capacity Cost Potential Capacity Cost Potential Capacity Cost Potential
    7. 7. Desktop Mobile Devices
    8. 8. How does Windows Azure Help Embedded? Compute provisioned on Scalable Resource demand Storage into 100s TBs easily Geo-locatable Mobile Services Infrastructure Services Media Services HPC and Big Data Windows Azure Storage Architectures Windows Azure Service Bus Service Management API
    9. 9. This is no Windows Azure Client forembedded devices. We will have to write ourown.This integration is only possible if the platform istruly open and device agnostic. There is no moreevident test of this than consuming and interactingwith Windows Azure from a device which does nothave an operating system.
    10. 10. Time until next coffee
    11. 11. Development, Devices, Delivery Write in C# or Visual Basic (recent) Open Source Hardware Use Visual Studio (Express inc) Arduino layouts Deploy and debug via USB Custom NETMF boards Debugging WORKS! Breakpoints, Design your own immediates, watches etc Dotnet Gadgeteer /Netduino GOWhen complete, publish your software to a firmwareand distribute to your hardware vendor for delivery
    12. 12. NETMF architecture Who What You User Code Microsoft and community .net Framework classes Device vendors
    13. 13. Notice the class is standard C#with typical namespaces.There are additional usingstatements for device specificlibraries.The class looks almostidentical to a C# console app– but without args[] on theMain()The AnalogInput class willdo most of our work, it takesa hardware address.We Read() to get a voltage –and let whatever is on the pindo the work of generating this.
    14. 14. This class uses anOuputPort set tocommunicate with the onboard LED of the Netduino.We use the Write method tosend a binary (Digital) signalto the output device, in thiscase the on board LED.We use familiarSystem.Threadingnamespace to control theexecution flow, in this case,pausing for 200ms so thatthe LED flashes changingstate 5 times a second
    15. 15.
    16. 16. Time until next coffeeDemo 1
    17. 17. Temperature DeviceWindows Azure Blob Storage Trigger Button
    18. 18. Time until next coffeeDemo 2
    19. 19. Output DeviceWindows AzureQueue Storage
    20. 20. Time until next coffeeDemo 3
    21. 21. Analog Input Device Gateway Windows AzureService Management
    22. 22. Time until next coffeeBig Data
    23. 23. Q&AThanks for Listening!