the iot methodology & an introduction to the intel galileo, edison and smartliving demo -...
TRANSCRIPT
The IoT Methodology &
An introduction to Intel Galileo, Edison & SmartLiving
Tom Collins @snillocmot
intro’
SmartLiving an end-to-end IoT solution for enthusiasts, developers and makers. Connect microcontrollers, smartphones, consumer products or web services, Automate with simple when-then-this rules or an advanced scenario engine
Build compelling HTML5 user interfaces for control and management.
Intel Edison & Galileo, great tool for prototyping IoT, Big push from Intel IoT Roadshow, SBC’s use the same development styles so new controllers should be a breeze to work with
IoT Methodology formed from lessons learnt building SmartLiving and B2B/research initiatives,
Best practices for approaching IoT and attempts to provide abstraction between designers and developers
goal of the iot methodology
To 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 organizations to 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 for Humans.
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 lack the 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 new 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(You!), those ambitious enough to experiment, tinker and try out new technologies
The ‘lowest common denominator’ to promote IoT in verticals are the makers, makers can lead adoption and bring these new
technologies to their industries and specific markets
What it isn’t an all encompassing master solution,
nor does it favor of any technology, protocol or preference.
What it is
curated repository of best practices, tried and tested tools, protocols and solutions, driven by a community who use them in the real-world for 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-create Purpose
• Assist kick off session(s) to initiate projects and
aid communication between end users,
stakeholders and implementers
• User centric problem analysis
• Conceptual designer’s 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 usecases
Current works & influences
cocreatetheiot.com @nstembert
gov.uk/design-principles @benterrett
A manifesto for do-it-yourself internet-of-things creation @driesderoeck Next steps
u Build a repository of flavored techniques for specific domains and audiences
u 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.
“ “
ideate Purpose
• Provides a common reference for
brainstorming and discussing IoT ideas,
usecases and projects
• Quick and easy for the prospects and
practioneers
• Standardized terminology
• Designer or developer centric approaches
• Opens up discussions between varied
stakeholders
Current works & influences
Lillidots @DriesDeRoeck
The IoT Canvas @snillocmot
Business Model/Lean Canvas @ericries & @ashmaurya
Next steps
u Share the IoT Canvas template
u Publish IoT Canvas & Guide inspired by Running Lean on how to apply this to IoT projects
u Analyze how best to extract requirements for validation which feeds into Q&A
u 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 beta-users, it assists to validate and identify 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 • Consider sensors, actuators & controllers which
make up Endpoints interacting with Things • Data models for the Endpoints • Define Middleware requirements for Endpoints to
connect IoT Services • Summarize Third-party-web-services that will be
used • 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 & influences
IoT:DB - Repository listing tools, technologies and solutions, that can be searched with project requirements
IoT Analysis Survey @allthingstalk
Next steps
Purpose
u Guide for the path from ideation to architecture, to target specific verticals
u Define a deliverable ‘report’ to feed the IOT OSI & IOT ARM
u Web app survey to allow users to enter requirements
u 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 OSI Purpose
• 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 & influences
IoT:DB - Search for solutions based on architecture requirements
The IoT-Architecture Reference Model @IoT_A
OSI Seven layer model
Next steps u Map common solutions to the IOT OSI – Intel IoT
Solutions, Eclipse Open IoT Stack, etc
u Support the creation of new architecture references for specific verticals
u Test and validate architectures using the Prototype step
END POINTS CONNECTIVITY MIDDLEWARE IOT SERVICES APPS aka things
Endpoints have a number of roles
including producing data, receiving
commands, providing services for
management, discovery, persistence and local
logic.
Examples Temperature sensor, LED, Weather service,
Email no7fica7ons, RFID Reader, etc
The wire(less) level communica=on protocols used to
connect Endpoints to the Middleware.
Includes management of network sessions, reliability, security and rou=ng protocols.
Examples TCP/IP, MQTT, IPv6, CoAP, REST, XBEE,
ZigBee, ZWave, Serial, custom radios, IPoAC, ..
Standardized layer using connec=vity drivers, to translate and connect disparate sources (or
des=na=ons).
Guarantees delivery, QoS, Privacy and Auth*
for IoT Services
Examples Dowse, 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
Examples Persistence, (E.g
TempoIQ), automa7on (E.g IFTTT), intelligence, third party integrators
(ERP connectors)
User facing front-‐end applica=ons that facilitate using IoT
services, in turn can be used to manage and automate endpoints,
and generally orchestrate an Internet
of Things
Examples WidgIoTs, SmartLiving Web & Mobile Apps,
Freeboard
IOT OSI overview
IOT OSI architecture models
Communication between each layer
deals with:
Authentication Identification Management
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.
Plants Window vents Door Glass panes Water catcher Sprinkler Watering can
Galileo Plant sensor xbee node
Message Broker Xbee Gateway
W: moisture < 80 T: sprinkler =1 E:sprinler=0 W: temp > x T: servo=50
Gardener Fellow gardeners Smart city iniDaDves Open source urban green housing
See mockups
Wunderground Growing Green ci=es
Temp – int Lux – int Moisture – int AQ – int Humidity int Sprinkler -‐ bool
“I'd like to make an automa=on project that "senses" the weather outside (rain, sun radia=on and darkness), takes into account the electricity produced by the solar panels and that than automa=zes certain household appliances or the central hea=ng. 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 APPS SENSORS
Temp Lux Moisture
ACTUATORS
Sprinkler valve
Servo
WEB SERVICES
END POINT CONNECTIONS
Plant sensor 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
XBee XBee
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 – IoT canvas mapping
Plenty of existing resources here
DEV TOOLS
SOLU
TIONS
Arduino Raspberry Pi
ZWave Devices
Android Makers
App
Web services
Custom micro
controllers
Virtual actuator
Virtual sensors
TCP/IP SERIAL
ZWave ZigBee
433 Mhz XBee
IR
ZWave IPv6
Gateway
Raspberry Pi Makers Gateway
Smartliving pub sub Broker
Management
Telemetry DB
Rule Engine
Automation Scripting
Widget Lib
Polymer Widgets
Rule Wizard iOS App
Widgets Web app
C Lib
Go Lib
Python Lib
Node.js Lib
JS Lib
Java Lib
Arduino Gateway
Android Gateway
PUBSUB Clients
REST Clients
Widget running in a browser in actuator mode
Management only service required for auth/Iden=fica=on
Stomp/Websockets
Grove shield with Relay/Servo
APPS
IOT SERVICES
MIDDLEWARE
END POINTS
Node.js lib CONNECTIVITY
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/Iden=fica=on
AMQP
XBee API Mode
Moisture, light, temperature
MQTT
Python Gateway Script
IOT OSI in action
Smart Plant node Galileo Gateway Service
HTML5 Web socket
Graph 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 - Open consumer(Makers, developers, enthusiasts) centric IoT solutions
Every hackerspace, maker community/project, hackthon, ‘lean startup out there
Next steps
u Validate prototyping techniques via SmartLiving & @iMinds IoT Maker Hackathons and Meetups
u Start sharing apps and services via github for people to collaborate and extend
u Standardize project structure for Deploy
prototype in action
1. Startup Weekend Demo of IoT prototyping
2. SmartLiving IoT Hackathon #1
3. SmartLiving IoT Hackathon #2
4. SmartLiving IoT Hackathon #3
5. iMinds IoT Hackathon
6. Ajunlei 1 - IoT Workshops
7. Mons Big Data Week
prototype - Hackathons, Meetups and Workshops
Gent, Belgium – 5th of December 2014
Gent, Belgium – 13th of December 2014
Brussels, Belgium – TBC March 2015
Netherlands– TBC February 2015
Hosting events you want to add a spark of IoT too? Presentations, workshops, seminars, hackathons, conferences?
Get in touch [email protected]
1. Startup Weekend Ghent 2014 A startup has since been founded based in NL based on the project that was built using the SmartLiving IoT Starter Kit. The project also won the “Techiest Startup Award”
2. SmartLiving IoT Hackathon #1 Seven teams of SmartLiving ‘noobies’, built seven successful projects from scratch in just under 10 hours. Project follow ups soon available at projects.smartliving.io for more details
Brussels, Belgium – TBC March 2015
Gent, Belgium – TBC March 2015
Mons, Belgium – TBC March 2015
deploy
Purpose
• 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 & influences
Inspiration from every PaaS platform that’s supporting web developers to build what they want, fast. Without dedicated DevOps.
Xively
Next steps
1. 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 steps
1. Analyze Gilliam and Flynn as possible solutions
2. Analyze flexibility of IBM Bluemix, it does a lot, practical use cases seem to be lacking however
3. 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
take away
Just hack it
Don’t worry about what you don’t know, find somebody who does and trade your skills
You’re the horizontal (The Maker which can build anything)
bring IoT to your vertical (The industry domains that you’re experts in)
Intel Where to start?
1. Wyliodrin -‐ Graphical programming (Scratch) which can generate Python on node.js code (Good for noobies or lazy developers)
2. Arduino style – Arduino Intel IDE, use this exactly like a typical Arduino 3. Intel XDK IoT EdiDon – Nice IDE to program using node.js, nice workflow meaning no SSH required, also very
nice tools for HTML5 Companion app developer and debugging 4. Python – It’s running Linux (Yocto) so Python via SSH is an op=on(Doesn’t seem well supported though) 5. C/C++ SDK -‐ Not my cup of tea…
Galileo Edison Curie
Entry level, high resource comparable to Raspberry Pi. Quark
SoC, IMHO not necessarily IoT Ready (Neither are Arduino or RPI)
IoT Ready – Many usecases, small form factor, breaks away from
typical shield requirements. WiFi BLE onboard
WSN enabler – Button sized, Coin cell powered controller, limited
resources