Prototyping Connected Devices For the Internet of Things

advertisement
Prototyping Connected Devices
For the Internet of Things
1 /22
2008135065 심기성
2008135120 최종민
Prototyping Connected Devices For the Internet of Things
Index
- What is the IoT?
- Connected-Device prototyping tools
- Microsoft.NET gadgeteer design choices
- Building a Web-Connected device with Gadgeteer
- Cloud-base processing for connected devices
- Selecting an IoT development platform
- Conclusion
2 /22
Prototyping Connected Devices For the Internet of Things
What is the IoT?
The Internet of Things (IoT) refers to uniquely identifiable
objects and their virtual representations in an Internet-like structure.
http://www.youtube.com/watch?v=nEVatZruJ7k
3 /22
Prototyping Connected Devices For the Internet of Things
Connected-Device prototyping tools
Arduino
Gadgeteer
Connected Device
prototyping tools
MBED
Etc..
4 /22
Prototyping Connected Devices For the Internet of Things
Connected-Device prototyping tools
Arduino
Arduino
Processor
Shield
Can be programmed
with the C Language
Minimalist IDE
Supported via simple
communications over a
serial line interface
Add-on Circuit board
that extend the
platform’s basic
capabilities
Provide Ethernet,
Wi-Fi etc.
Arduino Developers commonly use the REST technique, With REST,
- Lightweight, easy to debug way to communicate between connected devices such as those built
with Arduino.
- Services are exposed and accessed using HTTP.
- Create, share, and support additional libraries and examples online, further facilitating the
development of new applications.
5 /22
Prototyping Connected Devices For the Internet of Things
Connected-Device prototyping tools
MBED
MBED
The MBED
microcontroller is
a single-board
microcontroller and
associated tools for
programming the
device.
- IDE is accessible via a Web browser without
the need to install any software.
- Extensive documentation and libraries are
available through the IDE.
- Supports the sharing of user-generated code
samples and libraries.
- To support connected-device development,
includes a comprehensive set of networking
libraries and examples.
- Support for debugging code running on the
MBED has been limited to date, but it is
possible to transition to a more traditional PCbased IDE.
6 /22
Prototyping Connected Devices For the Internet of Things
Connected-Device prototyping tools
Gadgeteer
Gadgeteer
Gadgeteer is an Open
Source rapid
prototyping platform
with an emphasis on
creating small
electronic or embedded
hardware devices.
7 /22
- Mainboard Containing several sockets :
Developers can connect different modules such
as sensors, actuators, displays and
communication and storage elements.
- Solder-less : Allows developers to quickly
construct, reconfigure, and extend prototypes.
- Tightly integrated with the Microsoft Visual
Studio IDE : Dynamic syntax checking,
Continually provides hints and prompts to ease
to coding. The IDE also aids debugging via
breakpoints, single step- ping, variable
watches, and execution traces
Prototyping Connected Devices For the Internet of Things
Connected-Device prototyping tools
Etc
Raspberry Pi
A credit-card-sized
single-board computer
developed in the UK
8 /22
BeagleBone
A low-power open-source
hardware single-board
computer produced
by Texas
Prototyping Connected Devices For the Internet of Things
Microsoft.NET gadgeteer design choices
Use
C#, Visual
Basic
Familiar
Event-Based
Model
Managed
Code
Software
Library
Simplify
High-Level
abstraction
Rest-ful
.Net micro
Framework
9 /22
Prototyping Connected Devices For the Internet of Things
Microsoft.NET gadgeteer design choices
Use C#, Visual Basic
- Although using managed code is unusual for embedded device development where
C-like languages are firmly established, in our experience it tends to reduce the time
and expertise needed for prototyping.
Event-Based Model
- Further simplifies the creation of many applications and helps developers familiar
with event-based programming on desktop and mobile platforms to transition to
embedded device development.
Software Library
- A software library encapsulates each physical Gadgeteer module’s functionality
through an intuitive high-level API. The high abstraction level often allows modules
to be used in sophisticated ways with just a few lines of code, enabling users with
relatively little experience to build compelling devices and applications.
10 /22
Prototyping Connected Devices For the Internet of Things
Microsoft.NET gadgeteer design choices
The .NET Micro Framework
- The .NET Micro Framework (http://netmf.com), an open source platform that
underpins Gadgeteer’s similarly open software stack, contains extensive provision for
networking. The Gadgeteer networking API builds on this in a way that supports a
compact, easy-to-understand design pattern for responding to REST-ful Web
requests with text, images, or byte streams.
11 /22
Prototyping Connected Devices For the Internet of Things
Building a Web-Connected device
with Gadgeteer
Simple Webcam
- Attached to a servomotor-controller arm,
allowing remote panning as well as capture
- This device also incorporates wireless zigbee and WiFi
- Supports a connection to lighter-weight Gadgeteer devices
ex) temperature, light-level sensors
Effectively giving them a presence on the Internet
via additional software running on the camera device
that acts as a bridge.
12 /22
Prototyping Connected Devices For the Internet of Things
Building a Web-Connected device
with Gadgeteer
Simple Webcam – Graphical design Tool
-
The process began with a graphical design tool.
It specify the hardware components and how to connect them to a mainboard.
Constructing the corresponding physical
hardware took just a couple of minutes
13 /22
Prototyping Connected Devices For the Internet of Things
Building a Web-Connected device
with Gadgeteer
Simple Webcam – High-level abstracted API
- The developer only needs a single line of code to set up
a webserver once a network connection has been established.
14 /22
Prototyping Connected Devices For the Internet of Things
Cloud-base processing for connected devices
Cloud computing is the use
of computing resources (hardware and
software) which are available in a remote
location and accessible over a network.
How to running the software within the embedded device?
- Be complemented by cloud-based Web-services
leveraging XML, HTTP Web based protocol.
- Embedded processors will routinely leverage sophisticated datasets in the cloud.
Ex) cosm, Project Hawaii
15 /22
Prototyping Connected Devices For the Internet of Things
Cloud-base processing for connected devices
cosm(xively)
cosm?
Cosm is a family of open distributed computing software and protocols
developed in beginning in 1995 lead by Adam Beberg, and currently developed
by Mithral Inc.
Provide APIs for variable platforms, Libraries, REST-ful Services
https://xively.com/dev/libraries/
16 /22
Prototyping Connected Devices For the Internet of Things
Cloud-base processing for connected devices
Project Hawaii
The Hawaii Web service based on Azure
Traditional digital camera, this device captures an image when the shutter
button is pressed. In Hawaii, rather than simply displaying the image and
storing a copy locally, the camera sends the image to the Hawaii Optical
Character Recognition(OCR) service. Any text that is detected is returned and
overlaid on the display.
Very simple Implementation
The Hawaii was configured to make the most recent photo from each
device available to all the other telepresence devices.
http://www.youtube.com/watch?v=hjRi5hWKi88
17 /22
Windows Azure is a cloud computing platform and infrastructure, created by Microsoft, for building,
deploying and managing applications and services through a global network of Microsoft-managed
datacenters.
Prototyping Connected Devices For the Internet of Things
Selecting an IoT development platform
Performance
When we designed Gadgeteer, we chose a highperformance processor which supports managed code
and real-time debugging.
Form factor
Flexibility over form factor was a central
consideration when we were designing Gadgeteer.
Power
consumption
Power consumption was not a focus during the
initial development of the Gadgeteer platform,
but currently exploring this topic.
Cost
A low hurdle
18 /22
The price premium compared to tools like Arduino
and MBED is modest.
Less-experienced users to create useful
applications
Prototyping Connected Devices For the Internet of Things
Selecting an IoT development platform
- No matter which tools are used for prototyping.
eventually it becomes necessary to build and deploy a greater
number of devices, either for lager –scale deployments or ultimately
for mass production.
- IoBridge, Electric Imp
Which specifically designed to facilitate the mass production of
connected devices. The latter includes a programmable processor
and Wi-Fi Radio in a small package and connected to application
through a hosted web service.
19 /22
Prototyping Connected Devices For the Internet of Things
Conclusion
Personal Computers
&
Smartphones
In IoT Vision
Extends Internet
Connectivity
(The IoT is estimated by some to
constitute 100 billion devices as
soon as 2020.)
Very Simplest
electronic devices
Help us manage daily activities,
Provide timely information more conveniently,
Enhance our leisure time
20 /22
Prototyping Connected Devices For the Internet of Things
Conclusion
As the number of network-connected devices continues to grow, it is clear
that no single technology will prevail the IoT’s success is inherently tied to
heterogeneous devices, protocols, services, and applications.
Although some applications will always be outside the scope of a rapidprototyping toolkit, we nonetheless anticipate that those working in this
exciting field will be able to build on the experiences and examples
reported here to explore relevant issues and prototype new applications
quickly, and in doing so bring the IoT vision ever closer to reality.
21 /22
Prototyping Connected Devices For the Internet of Things
Question?
22 /22
Prototyping Connected Devices For the Internet of Things
Download