A Methodology for Building the Internet of Things
-
Upload
tom-collins -
Category
Internet
-
view
15.218 -
download
8
Transcript of A Methodology for Building the Internet of Things
goalTo allow everyone to experience the Internet of Things,by seeing and feeling potentials of common use cases,through iterative prototyping and a ‘lean startup’ mentality.
Ultimately to enable individuals, communities and organizationsto think, imagine and question ‘What’s next?’to inspire the next killer app.
This concerns the services and apps created on top of these common use cases,
in order to build a meaningful Internet of Things
We can build services for people, by people, of people, in the 21st century, if we make it so“ “
@timoreilly
motivation & ethos
Initiatives motivated solely by profit and politics hinder innovation and lackthe creativity, enthusiasm and courage to step into the unknown
In the spirit of the World Wide Web and Open Source communities across the globe,a collaborative effort must be taken to make the Internet of Things a reality
The IoT Methodology aims to provide a loosely structured ecosystem of mutual value for all who participate, driven by sharing, collaboration, community and learning.
An ecosystem made up of tools, design patterns, architecture references and guidelines to build IoT solutions. It’s an iterative methodology, which is developing iteratively.
perspective
The catalyst for the Internet of Things, are the do-ers, the explorers, the early adopters, those ambitious enough to experiment, tinker and trial new technologies
The ‘lowest common denominator’ to promote IoT from a bottom-up approach are makers, which will bring new
technologies and disruptive innovation to industries and markets
What it isn’t An all encompassing master solution.
Nor does it favor any technology, protocol or preferences.
What it is A curated repository of best practices, tried and tested tools, protocols and
solutions, driven by a community who use them in real-world scenarios
CoCreate
Ideate
Q&A
IoT OSI
Prototype
Deploy
iteration steps
Communicate with end users and
stakeholders to identify pain
problem areas, in a non-technical way
Simplify discussions to communicate
requirements with designers,
implementers and project managers
Translate soft concepts into hard requirements, to analyze solutions and brainstorm
options
Requirements map to valid architecture, infrastructure and business frameworks
Standardized toolkit assists building
prototypes, which iterate towards minimum viable
products
Continuous Deployment assists closing the feedback
loop, enhances knowledge sharing and
collaboration opportunities
co-createPurpose
• Assist kickoff sessions to initiate projects and aid communication between end users, stakeholders and implementers
• User centric problem analysis• Conceptual designer approach• Remove complexities and influences that
technically minded individuals bring to the equation
• Narrow the scope of a problem domain to the most practical and impactful use cases
Current works & influencescocreatetheiot.com @nstembert gov.uk/design-principles @benterrettA manifesto for do-it-yourself internet-of-things creation @driesderoeckNext steps Build a repository of flavored techniques for
specific domains and audiences Define concrete deliverables to feed the Ideate
step
A workshop to allow stakeholders from all levels and backgrounds to identify and conceptualize IoT solutions for Smart Cities.
co-create in action@DunavNET Novi Sad, Serbia – 13th April 2014
• Discuss the problem domain using visual props
• Narrow down biggest pain problems• Contextualize with the physical environment• Consider influences and outcomes of these
problems• Identify knowledge areas contributing to
solutions• Triage pressing problem areas• User Interface mockup creation to allow
users to visualize and understand possible solutions
Summary
Tools for the CoCreate IoT Workshop by Nathalie Stembert
In two and a half hours we developed a full IoT concept together with end-users, designers and
developers.
Normally this takes us half a year and then we wouldn’t even have involved people from the target
group yet.
“ “
ideatePurpose
• Provides a common reference for brainstorming and discussing IoT ideas, use cases and projects
• Quick and easy for the prospects and practioneers
• Standardized terminology• Designer or developer centric
approaches• Opens discussions between varied
stakeholders
Current works & influencesLillidots @DriesDeRoeckThe IoT Canvas @snillocmotBusiness Model/Lean Canvas @ericries & @ashmaurya
Next steps Share the IoT Canvas template Publish IoT Canvas & Guide inspired by
Running Lean on how to apply this to IoT projects Analyze how best to extract requirements for
validation which feeds into Q&A Build a web app to digitize the process
The IoT Canvas is an adaptation of the Business Model/Lean Canvas, used in brainstorm sessions with various user groups, it assists validation and identification of MVP requirements for projects.
ideate in action@smartliving_io Gent, Belgium 20th November 2014
• Problem statement summing up user’s pains• Identify Things in the physical
environment(Context)• Consider sensors(inputs), actuators(outputs) &
controllers which make up Endpoints interacting with Things
• Define Data models for Endpoints• Define Middleware requirements for Endpoints
to connect IoT Services• Summarize Third-party-web-services that will
be integrated• Sketch User Interface widgets • Define the key actors (Humans) using the
system
Summary
IoT Canvas for the ‘Smart Greenhouse’ Makers project
Q&A • Closes the gap between idea and
implementation• Validation - What, where, when, why,
how?• Feasibility - For metrics, resources, skills,
practicality, defined problem• Domain Analysis - What else in the
problem domain hasn’t been considered?• Solution & Topology Design - What
other requirements have stakeholders voiced which affect the selection of tools & technologies
Current works & influencesIoT:DB - Repository listing tools, technologies and solutions, that can be searched with project requirementsIoT Analysis Survey @allthingstalk
Next steps
Purpose
Guide for the path from ideation to architecture, to target specific verticals
Define a deliverable ‘report’ to feed the IOT OSI & IOT ARM
Web app survey to allow users to enter requirements
IoT:DB MVP - facilitate adding new solutions and searching the repository
• Project outline - Business value• Feasibility - Validate scope• Practical Considerations - Close scope• Problem Domain Analysis - Solution
summary• Solution & Topology Design - Architecture• Infrastructure Considerations -
Infrastructure
A series of surveys conducted with early user groups to discover the best way of conceptualizing a project and choosing the most appropriate solutions for IOT OSI layers to assist project development.
Summary
@allthingstalk Conducted online – April to August 2014
Results from architecture design preferences for end point devices
Q&A in action
IOT OSIPurpose
• Breaks down and the simplifies the components of the IoT into an ‘Internet as an operating system’ paradigm
• Makes it easy to digest the scale of Internet of Things and all of it’s intricate components
• Define scope areas for domain specialists to focus efforts
• Simplifies communications with end users, stakeholders and development teams
Current works & influencesIoT:DB - Search for solutions based on architecture requirementsThe IoT-Architecture Reference Model @IoT_AOSI Seven layer model
Next steps Map common solutions to the IOT OSI –
Intel IoT Solutions, Eclipse Open IoT Stack, etc Support the creation of new architecture
references for specific verticals Test and validate architectures using the
Prototype step
END POINTS CONNECTIVITY MIDDLEWARE IOT SERVICES APPSaka things
Endpoints have a number of roles
including producing data, receiving
commands, providing services for
management, discovery, persistence and local
logic.
ExamplesTemperature sensor,
LED, Weather service, Email notifications, RFID
Reader, etc
The wire(less) level communication
protocols used to connect Endpoints to
the Middleware.
Includes management of network sessions,
reliability, security and routing protocols.
ExamplesTCP/IP, MQTT, IPv6, CoAP,
REST, XBEE, ZigBee, ZWave, Serial, custom
radios, IPoAC, ..
Standardized layer using connectivity drivers, to translate and connect disparate sources (or
destinations).
Guarantees delivery, QoS, Privacy and Auth*
for IoT Services
ExamplesDowse, OpenHAB,
TheThingSystem, ZIPR, Ponte, WebSphere, RabbitMQ, Dweet
Typically provides the ‘Smarts’ for the IoT and power where processing
on endpoints or middleware is not
sufficient.
All systems require a form of management
for Endpoints, Middleware, Auth*,
IDM, etc
ExamplesPersistence, (E.g
TempoIQ), automation (E.g IFTTT), intelligence, third party integrators
(ERP connectors)
User facing front-end applications that
facilitate using IoT services, in turn can be
used to manage and automate endpoints,
and generally orchestrate an Internet
of Things
ExamplesWidgIoTs, SmartLiving Web & Mobile Apps,
Freeboard
IOT OSI overview
IOT OSI architecture models
Communication between each layer
deals with:
AuthenticationIdentificationManagement
Telemetry
APPS
IOT SERVICES
MIDDLEWARE
CONNECTIVITY
END POINTS
The OSI 7
Layer model
It maps, however..OSI adds unnecessary
complexity
We’re not building protocols
We’re trying to build distributed applications which interact, and can be developed
in a ‘lean’ fashion
Cloud Architecture
model
Distributed Computing
model
IOT OSI in action – IoT canvas mapping
The Smart Greenhouse Project
A Maker project being built with SmartLiving, a consumer centric IoT solution.
The project aims to use IoT to make growing vegetables more efficiently in a sustainable and automated way.
PlantsWindow ventsDoorGlass panesWater catcherSprinklerWatering can
GalileoPlant sensorxbee node
MessageBroker
Xbee Gateway
W: moisture < 80T: sprinkler =1E:sprinler=0
W: temp > xT: servo=50
GardenerFellow gardeners
Smart city initiativesOpen source urban green housing
See mockups
WundergroundGrowing Green cities
Temp – intLux – intMoisture – intAQ – intHumidity intSprinkler - bool
“I'd like to make an automation project that "senses" the weather outside (rain, sun radiation and darkness), takes into account the electricity produced by the solar panels and that than automatizes certain household appliances or the central heating.
I would like to have such a system because I want our house to be smarter and less energy-consuming and thus more environmentally friendly.”
IOT OSI in action – IoT canvas mapping
END POINTS CONNECTIVITY MIDDLEWARE IOT SERVICES APPSSENSORS
Temp Lux Moisture
ACTUATORS
Sprinkler
valve
Servo
WEB SERVICES
END POINT CONNECTIONS
Plant sens
or node
END POINT CONNECTIONS
REST
LOCAL MESH GATEWAY
Galileo Xbee Gateway service
MESSAGE BROKER
INTERNET CONNECTIVITY
CLOUD BASED COMMAND &
CONTROL
Green house
controller
Ethernet
API
XBeeXBee
WiFi Router
MANAGEMENT
TELEMETRY DB
RULE ENGINE
MOBILE APPLICATIONS
TIME SERIES GRAPH
APPLIANCE STATUS
APPLIANCE CONTROL
NOTIFICATIONS
END POINT CONNECTIONS
3RD PARTY INTEGRAITON
END POINTS CONNECTIVITY MIDDLEWARE IOT SERVICES APPS
IOT OSI in action – SmartLiving.io implementers Toolbox
Plenty of existing resources here
DEV TOO
LSSO
LUTIO
NS
Arduino Raspberry Pi
ZWave Devices
AndroidMakers
App
Webservices
Custommicro
controllers
Virtualactuator
Virtual sensors
TCP/IP SERIAL
ZWave ZigBee
433 MhzXBee
IR
ZWaveIPv6
GatewayRaspberry Pi Makers Gateway
Smartlivingpub subBroker
Management
Telemetry DB
Rule Engine
AutomationScripting
Widget Lib
PolymerWidgets
Rule WizardiOS App
WidgetsWeb app
C Lib
Go Lib
PythonLib
Node.jsLib
JSLibJavaLib
ArduinoGateway
AndroidGateway
PUBSUBClients
RESTClients
Widget running in a browser in actuator mode
Management only service required for auth/Identification
Stomp/Websockets
Grove shield with Relay/Servo
APPS
IOT SERVICES
MIDDLEWARE
END POINTS
Node.js libCONNECTIVITY
IOT OSI in action
Actuator control Widget
Galileo – Arduino interface
UI interaction commands from a browser (HTML5 device
API)
Sprinkler and ventilation controller
BROKER
Usecase One – Greenhouse controller
MQTT
Front end user facing App (beta.smartliving.io)
Management only service required for auth/Identification
AMQP
XBee API Mode
Moisture, light, temperature
MQTT
Python Gateway Script
IOT OSI in action
Smart Plant node Galileo Gateway Service
HTML5 Web socketGraph widget
Provides readings for Moisture,
temperature and light lux
Wireless XBee to TCP/IP via serial
Real-time data showing sensor
values
XBEE
BROKER
Usecase Two – Smart Plant Node
APPS
IOT SERVICES
MIDDLEWARE
END POINTS
CONNECTIVITY
Purpose
• Defines an ethos with Lean startup mentality, prototype for POC, test, measure, iterate
• Uses standard building blocks to build IoT products fast
• Allows developers and practitioners to focus on what they’re good at, and using the IoT Toolbox for all other layers
• Use technologies and tools conducive for Rapid Prototyping (web > native, script > bare metal code)
• No major concern for auth*, scalability or UX in early iterations (Exploit SaaS or specialists when you’re ready to scale, deal with this after you learn enough from users)
Current works & influences@SmartLiving _io End-2-end IoT solution for Makers, developers, enthusiasts Every hackerspace, maker community, hackthon, and lean startup out thereNext steps Validate prototyping techniques via SmartLiving
& @iMinds IoT Maker Hackathons and Meetups
Start sharing apps and services via github for people to collaborate and extend
Standardize project structure for Deploy
prototype
deployPurpose• Package up IoT projects to share with the world,
defining a standard IoT project structure• Cuts deployment time• Integrates IoT Unit Testing • Collates code for a whole project with all layers of
the IOT OSI, along with all configurations
Current works & influencesInspiration from every PaaS platform that’s supporting web developers to build what they want, fast. Without dedicated DevOps.
Xively
Next steps1. Find a dream team to start implementing the architecture
and developing a pre-processing scripting language to support projects which feed directly to IoT PaaS, current solutions are still maturing and are driven by commercial needs
• Makes it easy to share, collaborate and build on top of existing solutions
• Incentivized• Enhances knowledge sharing
IBM Bluemix
deploy coming soon
• Platform facilitates continuous integration• Pre-processor (Looks for .iot files), when user
wants to deploy a project it allows them to dynamically add their own resource ID’s at build time
• For widgets/dashboards/scenarios all fully automated and hosted on the web as with PaaS as we know it
• Automation and cloud scripts are deployed as Micro-services
• Microcontroller code/dependencies/startup scripts are auto-generated leaving you to upload to your controller (The dream is OTA updates, anyone for an Electric Imp demo?)
Concept requirements
Houston – mission control for IoT
Strict version control structure for pusing entire IoT project to a CI platform
Next steps1. Analyze Gilliam and Flynn as possible solutions2. Analyze flexibility of IBM Bluemix, it does a lot, practical use cases seem to be lacking
however3. Analyze flexibility of Xively, it claims to be PaaS, but practical use cases also lack and
it’s not all encompassing (Frontend, Automation, intelligence?). They’ve also shut the doors for new users
who needs an IoT MethodologyIgnition Partners - 25 Nov 14 Searching for the missing link:DevOps and the Internet of Thingshttp://res.sys-con.com/session/2597/Rachel_Chalmers%20.pdf
Tim O’Reilly - 20 Nov 14 (Original article Apr 14)The Internet of Things & Humans https://www.youtube.com/watch?v=nBNDfxiaQSQ
Bosch - 17 Nov 145 Lessons Startups have for the old economyhttp://blog.bosch-si.com/categories/internetofthings/2014/11/5-lessons-start-ups-have-for-the-old-economy-iot-entrepreneur
Aeris Communications - 16 Nov 14 Call for Internet of Things practitioners (via LinkedIn)https://evernote.com/shard/s134/sh/b10a2869-5852-4efc-9b5c-b6cfc9ad8680/c1c484b0369eb23547d83d8eea97ce62
This guy… - 16 Nov 14Platform-as-a-Service and Micro-services for the Internet of Things http://cloudbestpractices.net/blog/paas-microservices
Forbes - 13 Nov 14The Internet of Things has an Enthusiasm Gaphttp://forbes.com/sites/michaelhumphrey/2014/11/13/study-the-internet-of-things-has-an-enthusiasm-gap/
Gigaom - 5 Nov 14 The Internet of Things needs developers, so what do developers need?https://gigaom.com/2014/11/05/the-internet-of-things-needs-developers-so-what-do-developers-need/
Gartner - 13 Oct 14Start-Ups - Not 'Enterprise Elephants' Lead the Internet of Thingshttp://cmswire.com/cms/internet-of-things/startups-not-enterprise-elephants-lead-the-internet-of-things-026804.php
Advocates of the IoT MethodologyRob van Kranenburg - @robvankRob van Kranenburg wrote The Internet of Things. A critique of ambient technology and the all-seeing network of RFID, Network Notebooks 02, Institute of Network Cultures. He is co-founder of Bricolabs and the founder of Council. Together with Christian Nold he published Situated Technologies Pamphlets 8: The Internet of People for a Post-Oil World. He currently works as Community Manager at the EU Project Sociotal. He is consultant to IoT China, Shanghai 2014. He Chairs AC8 - Societal Impact and Responsibility in the Context of IoT Applications of the IERC, The European Research Cluster on the Internet of Things.
Lorna Goulden - @lornagouldenLorna Goulden is the founder and director of Creative Innovation Works, a networked innovation consultancy specialised in guiding multi-stakeholder innovation developments with an emphasis on end-user value creation within the often-disruptive context of the Internet of Things. Clients and partners are supported through means of an advanced toolkit that guides them through the translation of technological, business and socio-cultural trends into relevant user experience flows. The most promising value propositions are then extracted and coupled with strategically focused business models for implementation.
Dries De Roeck - @driesderoeckDries works as a designer and researcher at Studio Dott, specializing in the confluence of digital and physical systems, with a focus on human involvement during the design, creation and modification of meaningful connected products for everyday life.
Advocates of the IoT Methodology
Alessandro Bassi - @bassiconsultingAlessandro Bassi graduated in Computer Science from the University in Milan in 1994. He joined Amadeus in January 1997, and he moved to the University of Tennessee in 2000, where he was involved in the seminal work of the Internet Backplane Protocol. From 2002 he then held a Research Visitor position at the Ecole Normale Superieure in Lyon, France. After working one year for RIPE NCC, in November 2004 he joined Hitachi Europe. Since September 2010 an Independent Consultant, working on topics related to Big Data, Internet of Things and Smart Cities technologies.
Tom Collins - @snillocmotAfter being awarded first place for his Graduate Exhibition, and gaining a First with Honors for his work on ‘The Convergence of Cloud Computing, Smart Devices & the Internet of Things’, Tom went on to co-found SmartLiving, assuming a jack-of-all-trades role spanning architecture, DevOps, full stack and mobile development. He’s now set on making the Internet of Things a reality for everyone.