SlideShare uma empresa Scribd logo
1 de 25
Westminster Impact Hub
London, UK. 29/5/2015
Hack Risk Allianz
Hackathon
Getting started with the
Internet of Things
Tom Collins
@snillocmot
What is IoT?
An extension of the traditional web
providing intelligent features
through embedded computing,
which allows dumb objects
to autonomously react, inform and learn
from the context of Humans and Things
How is IoT?
The convergence of
cheaper and accessible
cloud, network and processing power,
with smaller and smarter computers
and a variety of hardware I/O sources
Where is IoT?
Where is IoT?
Where is IoT?
By 2020...
$7.1 trillion market value
50 billion connected devices
30 million every day
1 in 3 ‘knowledge workers’ will be
replaced by a digital workforce and smart machines
Why IoT?
To improve quality of life and drive new business
through connecting physical, cyber and social domains
Connected devices
Problems
Millions of apps
Still stuck in remote control mode
Siloed solutions (An API doesn’t make it IoT)
Big innovation captures the consumers eye,
but not enough immediate ROI for business
to adopt
SmartLiving
IoT Starter Kit
A Computer (Arduino Ethernet, Intel
Edison or Raspberry PI) & Grove shield
A bunch of sensors and actuators
● Button
● Blue LED (5mm)
● Rotary Angle Sensor (P)
● Light Sensor (P)
● Vibration Motor
● Temperature Sensor
● Infrared receiver
● Infrared emitter
● LED Bar
● PIR Motion sensor
Check out the kits at
http://www.smartliving.io/kits
Examples
TCP/IP, MQTT, IPv6,
CoAP, REST, XBEE,
ZigBee, ZWave, Serial,
custom radios, IPoAC, etc
CONNECTIVITY
Landscape
END POINTS
aka Things
MIDDLEWARE
router
gateways
fog services
cloud bridges
brokers
Examples
OpenHAB,
TheThingSystem, ZIPR,
Dowse, Ponte,
WebSphere, RabbitMQ,
Dweet
IOT SERVICES
SmartLiving
IFTTT
Xively
TempoIQ
InitialState
Waylay.io
Millions of other
single use services...
Examples
Persistence, (E.g TempoIQ),
automation (E.g IFTTT),
intelligence, third party
integrators (ERP
connectors)
APPS
Companion apps
Widgiots
Freeboard
Node red
Wyliodrin
Examples
WidgIoTs, SmartLiving
Web & Mobile Apps,
Freeboard
Custom RF
END POINTS
aka Things
CONNECTIVITY MIDDLEWARE IOT SERVICES APPS
LED
POT
Arduino DBBroker Manage
Widget
Rules
Blinking IoT Led
Trusty
Ethernet cable
Potentiometer Sensor Code
Device.Send(String(potRead), pot); //Reads and
sends pot
LED Actuator code
if (command == "false") {
digitalWrite(led, LOW); //Turns LED off
} else if (command == "true") {
digitalWrite(led, HIGH); //Turns LED on
}
SmartLiving API’s
httpServer = "api.smartliving.io";
mqttServer = "broker.smartliving.io";
Automation Rule
When
Arduino.pot > 500
Then
Arduino.led = true
Else
Arduino.led = false
SmartLiving Toolbox
END POINTS CONNECTIVITY MIDDLEWARE IOT SERVICES APPS
Arduino
Raspberr
y Pi
Android
Makers
App
Virtual
actuator
Virtual
sensors
iOS App
Web app Widgets
ZWave
Devices
SolutionsDevTools
C Lib
Android
Gateway
Arduino
Gateway
PUBSUB
Clients
REST
Clients
Raspberry
Pi Makers
Gateway
Management
Telemetry DB
Rule Engine
Automation
Scripting
Rule
Wizard
SERIALTCP/IP
ZWAVE
XBEE
Python
Lib
JS
Lib
Widget
Lib
Node.js
Lib
Go
Lib
433 Mhz
IR!!?
Polymer
Widgets
Web
Services
ZigBee
Custom
microco
ntrollers
Java
Lib
Plenty of
existing
resources
here
SmartLiving
pub:sub
Broker
ZWave
IPv6
Gateway
Library & API’S
Endpoints (Hardware and libs)
Arduino/C
Python
Node.js
C#
Javascript (HTML5-browser-as-a-sensor)
Middleware
Python Gateway
C++ Gateway
XBee Gateway
IOT Services
REST API - Gateway, Device, Asset, Rules,
Users
Telemetry API - Sensor data, actuator
commands
Automation rules, scripting & API
Apps
Javascript Widgets
Arduino - setup
void setup()
{
pinMode(ledPin, OUTPUT); // initialize the digital pin as an output.
Serial.begin(9600); // init serial link for debugging
byte mac[] = {0x90, 0xA2, 0xDA, 0x0D, 0xE1, 0x3E}; // Adapt to your Arduino MAC Address
if (Ethernet.begin(mac) == 0) // Initialize the Ethernet connection:
{
Serial.println(F("DHCP failed,end"));
while(true); //we failed to connect, halt execution here.
}
delay(1000); //give the Ethernet shield a second to initialize:
if(Device.Connect(&ethClient, httpServer)) //connect the device with the IOT platform.
{
Device.AddAsset(knobPin, "Potentiometer", "A rotary sensor pot",false, "int"); //pin, name, desc, assetType, dataPro
Device.AddAsset(ledPin, "LED", "A blinky light emitting diode", true, "bool"); //pin, name, desc, assetType, dataPro
Device.Subscribe(pubSub);
}
}
Arduino - sensor read loop
void loop()
{
unsigned long curTime = millis();
if (curTime > (time + 1000)) // publish light reading every 5 seconds to sensor 1
{
unsigned int lightRead = analogRead(knobPin); // read from light sensor (photocell)
if(prevVal != lightRead){
Device.Send(String(lightRead), knobPin);
prevVal = lightRead;
}
time = curTime;
}
Device.Process();
}
Arduino - actuator callback
void callback(char* topic, byte* payload, unsigned int length)
{
String msgString;
{
char message_buff[length + 1];
strncpy(message_buff, (char*)payload, length);
message_buff[length] = '0';
msgString = String(message_buff);
}
int* idOut = NULL;
{
int pinNr = Device.GetPinNr(topic, strlen(topic)); //Find what topic hooks to the pin
if (pinNr == ledPin)
{
if (msgString == "false") {
digitalWrite(ledPin, LOW); //led off
idOut = &ledPin;
}
else if (msgString == "true") {
digitalWrite(ledPin, HIGH); //led on
idOut = &ledPin;
}
}
}
Device.Send(msgString, *idOut); //Acknowledges the LED was activated and confirm in the user interface
}
Python Pi - Summary
IOT.connect()
IOT.addAsset(knobPin, sensorName, "Push button", False, "int")
IOT.addAsset(ledPin, actuatorName, "Light Emitting Diode", True, "bool")
IOT.subscribe()
while True:
try:
if grovepi.digitalRead(sensorPin) == 1:
if sensorPrev == False:
IOT.send("true", sensorPin)
sensorPrev = True
elif sensorPrev == True:
IOT.send("false", sensorPin)
sensorPrev = False
sleep(.3)
Node.js - Summary
var a0 = new mraa.Aio(0); //setup access analog input Analog pin #0 (A0)
var d8 = new mraa.Gpio(8); //LED hooked up to digital pin 13 (or built in pin on Galileo Gen1 & Gen2)
d8.dir(mraa.DIR_OUT); //set the gpio direction to output
smartliving.addAsset("2", "Missile launcher", "Fires 10xD missiles at incoming spacecraft, and also a neat LED for some visual feedback...", true, "bool", confirmEnroll());
smartliving.addAsset("3", "Thermoreactor turbine temperature ", "Monitors the temperature of main alpha turbine", false, "int", confirmEnroll());
smartliving.subscribe(smartliving.baseMQTTUrl, 1883);
vloop();
function vloop()
{
var analogValue = a0.read(); //read the value of the analog pin
smartliving.send(analogValue, "3")
setTimeout(vloop,1000);
}
smartliving.registerActuatorCallback("2", function() {
d8.write(ledState?1:0); //if ledState is true then write a '1' (high) otherwise write a '0' (low)
ledState = !ledState; //invert the ledState
});
Rules
FYI
● Rule wizard doesn’t support complex operators like &&, ||
● Create a script and run it in the cloud if you need crazy logic
Hackathon Ethos
Fake it, until you make it
(literally)
Hackathons always have
network issues
Hardware is normally limited or
even shared
Mock data is easy
Things always go wrong
Fancy UI elements always look
good
KISS, Hardware is Hard, Retrofit
● Nest is just a potentiometer,
temp, PIR sensor
● GNL is just a LED & Push
Button
● Hue is just a RGB
● Wemo is just a Relay
MVP Mentality
Build small think big (What’s the
story behind your use case)
High impact features first
Brainstorming IoT
The problem - Short sharp
sentence describing the story of
your problem and how the solution
solves it
Topology diagram - Visualise what
you’re going to build, show the
inputs and outputs and use it to
explain your idea
THINGS - What are the dumb objects?
END POINTS - What computers and sensors are need
to make things smarter?
DATA MODEL - What type of data will the Things
produce? What are the inputs/outputs?
MIDDLEWARE - How will devices communicate? one-
one, one-many?
AUTOMATION - When this event happens then do
this event?
UI - Mockups and wireframes
HUMANS - Who are the most important people using
the solution?
Resources
Get your SmartLiving IoT Starter Kit
www.smartliving.io/kits
The platform
beta.smartliving.io
Documentation
http://docs.smartliving.io/Get_Started
GitHub
https://github.com/allthingstalk
API Reference
http://allthingstalk.github.io/api-docs

Mais conteúdo relacionado

Mais procurados

Data Modelling and Knowledge Engineering for the Internet of Things
Data Modelling and Knowledge Engineering for the Internet of ThingsData Modelling and Knowledge Engineering for the Internet of Things
Data Modelling and Knowledge Engineering for the Internet of ThingsCory Andrew Henson
 
WoT 2016 - Seventh International Workshop on the Web of Things
WoT 2016 - Seventh International Workshop on the Web of ThingsWoT 2016 - Seventh International Workshop on the Web of Things
WoT 2016 - Seventh International Workshop on the Web of ThingsSimon Mayer
 
Iot–a unique combination of biz ux-tech-sandhi bhide oct29-2014- semi pnw bre...
Iot–a unique combination of biz ux-tech-sandhi bhide oct29-2014- semi pnw bre...Iot–a unique combination of biz ux-tech-sandhi bhide oct29-2014- semi pnw bre...
Iot–a unique combination of biz ux-tech-sandhi bhide oct29-2014- semi pnw bre...sandhibhide
 
Meetup 11 here&now_megatriscomp design methodpartii_v0.2
Meetup 11 here&now_megatriscomp design methodpartii_v0.2Meetup 11 here&now_megatriscomp design methodpartii_v0.2
Meetup 11 here&now_megatriscomp design methodpartii_v0.2Francesco Rago
 
Internet of Things: What it is, where it is going and how it is being applied.
Internet of Things: What it is, where it is going and how it is being applied.Internet of Things: What it is, where it is going and how it is being applied.
Internet of Things: What it is, where it is going and how it is being applied.Justin Grammens
 
Semantics for the Web of Things
Semantics for the Web of ThingsSemantics for the Web of Things
Semantics for the Web of ThingsSimon Mayer
 
VET4SBO Level 1 module 3 - unit 1 - v1.0 en
VET4SBO Level 1   module 3 - unit 1 - v1.0 enVET4SBO Level 1   module 3 - unit 1 - v1.0 en
VET4SBO Level 1 module 3 - unit 1 - v1.0 enKarel Van Isacker
 
Soldatos io t-academy-cosmote-231117-v-final
Soldatos io t-academy-cosmote-231117-v-finalSoldatos io t-academy-cosmote-231117-v-final
Soldatos io t-academy-cosmote-231117-v-finalJohn Soldatos
 
Defining the IoT Stack
Defining the IoT StackDefining the IoT Stack
Defining the IoT StackPubNub
 
IoT and machine learning - Computational Intelligence conference
IoT and machine learning - Computational Intelligence conferenceIoT and machine learning - Computational Intelligence conference
IoT and machine learning - Computational Intelligence conferenceAjit Jaokar
 
What if Things Start to Think - Artificial Intelligence in IoT
What if Things Start to Think - Artificial Intelligence in IoTWhat if Things Start to Think - Artificial Intelligence in IoT
What if Things Start to Think - Artificial Intelligence in IoTMuralidhar Somisetty
 
IOT and Big Data - The Perfect Marriage
IOT and Big Data - The Perfect MarriageIOT and Big Data - The Perfect Marriage
IOT and Big Data - The Perfect MarriageDr. Mazlan Abbas
 
bhide_connected_raleigh2016 (1)
bhide_connected_raleigh2016 (1)bhide_connected_raleigh2016 (1)
bhide_connected_raleigh2016 (1)sandhibhide
 
Meetup 10 here&now: Megatris Comp design method (Part 1)
Meetup 10 here&now: Megatris Comp design method (Part 1)Meetup 10 here&now: Megatris Comp design method (Part 1)
Meetup 10 here&now: Megatris Comp design method (Part 1)Megatris Comp
 
Arpan pal u world2012
Arpan pal u world2012Arpan pal u world2012
Arpan pal u world2012Arpan Pal
 
Internet das Coisas e o Paradigma Software-Defined Everything (SDE)
Internet das Coisas e o Paradigma Software-Defined Everything (SDE)Internet das Coisas e o Paradigma Software-Defined Everything (SDE)
Internet das Coisas e o Paradigma Software-Defined Everything (SDE)Antonio Marcos Alberti
 

Mais procurados (20)

Internet of Things: Trends and challenges for future
Internet of Things: Trends and challenges for futureInternet of Things: Trends and challenges for future
Internet of Things: Trends and challenges for future
 
Data Modelling and Knowledge Engineering for the Internet of Things
Data Modelling and Knowledge Engineering for the Internet of ThingsData Modelling and Knowledge Engineering for the Internet of Things
Data Modelling and Knowledge Engineering for the Internet of Things
 
WoT 2016 - Seventh International Workshop on the Web of Things
WoT 2016 - Seventh International Workshop on the Web of ThingsWoT 2016 - Seventh International Workshop on the Web of Things
WoT 2016 - Seventh International Workshop on the Web of Things
 
Iot–a unique combination of biz ux-tech-sandhi bhide oct29-2014- semi pnw bre...
Iot–a unique combination of biz ux-tech-sandhi bhide oct29-2014- semi pnw bre...Iot–a unique combination of biz ux-tech-sandhi bhide oct29-2014- semi pnw bre...
Iot–a unique combination of biz ux-tech-sandhi bhide oct29-2014- semi pnw bre...
 
Introduction to IoT
Introduction to IoTIntroduction to IoT
Introduction to IoT
 
Meetup 11 here&now_megatriscomp design methodpartii_v0.2
Meetup 11 here&now_megatriscomp design methodpartii_v0.2Meetup 11 here&now_megatriscomp design methodpartii_v0.2
Meetup 11 here&now_megatriscomp design methodpartii_v0.2
 
Internet of Things: What it is, where it is going and how it is being applied.
Internet of Things: What it is, where it is going and how it is being applied.Internet of Things: What it is, where it is going and how it is being applied.
Internet of Things: What it is, where it is going and how it is being applied.
 
Semantics for the Web of Things
Semantics for the Web of ThingsSemantics for the Web of Things
Semantics for the Web of Things
 
IoT Geeks & Internet of Things
IoT Geeks & Internet of ThingsIoT Geeks & Internet of Things
IoT Geeks & Internet of Things
 
VET4SBO Level 1 module 3 - unit 1 - v1.0 en
VET4SBO Level 1   module 3 - unit 1 - v1.0 enVET4SBO Level 1   module 3 - unit 1 - v1.0 en
VET4SBO Level 1 module 3 - unit 1 - v1.0 en
 
Soldatos io t-academy-cosmote-231117-v-final
Soldatos io t-academy-cosmote-231117-v-finalSoldatos io t-academy-cosmote-231117-v-final
Soldatos io t-academy-cosmote-231117-v-final
 
Defining the IoT Stack
Defining the IoT StackDefining the IoT Stack
Defining the IoT Stack
 
IoT and machine learning - Computational Intelligence conference
IoT and machine learning - Computational Intelligence conferenceIoT and machine learning - Computational Intelligence conference
IoT and machine learning - Computational Intelligence conference
 
What if Things Start to Think - Artificial Intelligence in IoT
What if Things Start to Think - Artificial Intelligence in IoTWhat if Things Start to Think - Artificial Intelligence in IoT
What if Things Start to Think - Artificial Intelligence in IoT
 
IOT and Big Data - The Perfect Marriage
IOT and Big Data - The Perfect MarriageIOT and Big Data - The Perfect Marriage
IOT and Big Data - The Perfect Marriage
 
bhide_connected_raleigh2016 (1)
bhide_connected_raleigh2016 (1)bhide_connected_raleigh2016 (1)
bhide_connected_raleigh2016 (1)
 
Meetup 10 here&now: Megatris Comp design method (Part 1)
Meetup 10 here&now: Megatris Comp design method (Part 1)Meetup 10 here&now: Megatris Comp design method (Part 1)
Meetup 10 here&now: Megatris Comp design method (Part 1)
 
Arpan pal u world2012
Arpan pal u world2012Arpan pal u world2012
Arpan pal u world2012
 
Introduction to IoT Architecture
Introduction to IoT ArchitectureIntroduction to IoT Architecture
Introduction to IoT Architecture
 
Internet das Coisas e o Paradigma Software-Defined Everything (SDE)
Internet das Coisas e o Paradigma Software-Defined Everything (SDE)Internet das Coisas e o Paradigma Software-Defined Everything (SDE)
Internet das Coisas e o Paradigma Software-Defined Everything (SDE)
 

Semelhante a Getting Started with the Internet of Things - Allianz Hackrisk Hackathon 29/5/15 #IoT

Pre meetup intel® roadshow london
Pre meetup intel® roadshow londonPre meetup intel® roadshow london
Pre meetup intel® roadshow londonHugo Espinosa
 
Physical Computing and IoT
Physical Computing and IoTPhysical Computing and IoT
Physical Computing and IoTEduardo Oliveira
 
Hack the Real World with ANDROID THINGS
Hack the Real World with ANDROID THINGSHack the Real World with ANDROID THINGS
Hack the Real World with ANDROID THINGSDevFest DC
 
Internet of things - The Present & The Future
Internet of things - The Present & The FutureInternet of things - The Present & The Future
Internet of things - The Present & The Futureiotians
 
jeevan ppt anits ecec.pptx
jeevan ppt anits ecec.pptxjeevan ppt anits ecec.pptx
jeevan ppt anits ecec.pptxNickKumar17
 
Internet of things
Internet of thingsInternet of things
Internet of thingsBrockanurag
 
Introduction to Arduino Hardware and Programming
Introduction to Arduino Hardware and ProgrammingIntroduction to Arduino Hardware and Programming
Introduction to Arduino Hardware and ProgrammingEmmanuel Obot
 
IoT Based Home Automation System Presantation
IoT Based Home Automation System PresantationIoT Based Home Automation System Presantation
IoT Based Home Automation System PresantationFarhan Ahmed Rahee
 
iot1presentation-191219142803.pdf
iot1presentation-191219142803.pdfiot1presentation-191219142803.pdf
iot1presentation-191219142803.pdfBharathReddy615859
 
Sensors and Journalism Seminar, University of British Columbia - Day 1
Sensors and Journalism Seminar, University of British Columbia - Day 1Sensors and Journalism Seminar, University of British Columbia - Day 1
Sensors and Journalism Seminar, University of British Columbia - Day 1ferguspitt
 
IoT based home automation
IoT based home automationIoT based home automation
IoT based home automationEyaminulHoq
 
Microsoft's view of the Internet of Things (IoT) by Imran Shafqat
Microsoft's view of the Internet of Things (IoT) by Imran ShafqatMicrosoft's view of the Internet of Things (IoT) by Imran Shafqat
Microsoft's view of the Internet of Things (IoT) by Imran ShafqatAllied Consultants
 
Internet of Things (IoT) reference architecture using Azure -MIC - Lahore
Internet of Things (IoT) reference architecture using Azure -MIC - LahoreInternet of Things (IoT) reference architecture using Azure -MIC - Lahore
Internet of Things (IoT) reference architecture using Azure -MIC - LahoreInformation Technology University
 
Get in Touch with Internet of Things
Get in Touch with Internet of ThingsGet in Touch with Internet of Things
Get in Touch with Internet of ThingsCodePolitan
 
Arduino embedded systems and advanced robotics
Arduino embedded systems and advanced roboticsArduino embedded systems and advanced robotics
Arduino embedded systems and advanced roboticsShubham Bhattacharya
 
How To Electrocute Yourself using the Internet
How To Electrocute Yourself using the InternetHow To Electrocute Yourself using the Internet
How To Electrocute Yourself using the InternetAlexander Roche
 
Bare metal Javascript & GPIO programming in Linux
Bare metal Javascript & GPIO programming in LinuxBare metal Javascript & GPIO programming in Linux
Bare metal Javascript & GPIO programming in LinuxAlexander Vanwynsberghe
 

Semelhante a Getting Started with the Internet of Things - Allianz Hackrisk Hackathon 29/5/15 #IoT (20)

Pre meetup intel® roadshow london
Pre meetup intel® roadshow londonPre meetup intel® roadshow london
Pre meetup intel® roadshow london
 
Physical Computing and IoT
Physical Computing and IoTPhysical Computing and IoT
Physical Computing and IoT
 
Hack the Real World with ANDROID THINGS
Hack the Real World with ANDROID THINGSHack the Real World with ANDROID THINGS
Hack the Real World with ANDROID THINGS
 
Internet of things - The Present & The Future
Internet of things - The Present & The FutureInternet of things - The Present & The Future
Internet of things - The Present & The Future
 
jeevan ppt anits ecec.pptx
jeevan ppt anits ecec.pptxjeevan ppt anits ecec.pptx
jeevan ppt anits ecec.pptx
 
Internet of things
Internet of thingsInternet of things
Internet of things
 
Introduction to Arduino Hardware and Programming
Introduction to Arduino Hardware and ProgrammingIntroduction to Arduino Hardware and Programming
Introduction to Arduino Hardware and Programming
 
Presentation on INTERNET OF THINGS
Presentation on INTERNET OF THINGSPresentation on INTERNET OF THINGS
Presentation on INTERNET OF THINGS
 
IoT with Arduino
IoT with ArduinoIoT with Arduino
IoT with Arduino
 
IoT Based Home Automation System Presantation
IoT Based Home Automation System PresantationIoT Based Home Automation System Presantation
IoT Based Home Automation System Presantation
 
iot1presentation-191219142803.pdf
iot1presentation-191219142803.pdfiot1presentation-191219142803.pdf
iot1presentation-191219142803.pdf
 
Sensors and Journalism Seminar, University of British Columbia - Day 1
Sensors and Journalism Seminar, University of British Columbia - Day 1Sensors and Journalism Seminar, University of British Columbia - Day 1
Sensors and Journalism Seminar, University of British Columbia - Day 1
 
IoT based home automation
IoT based home automationIoT based home automation
IoT based home automation
 
Microsoft's view of the Internet of Things (IoT) by Imran Shafqat
Microsoft's view of the Internet of Things (IoT) by Imran ShafqatMicrosoft's view of the Internet of Things (IoT) by Imran Shafqat
Microsoft's view of the Internet of Things (IoT) by Imran Shafqat
 
Internet of Things (IoT) reference architecture using Azure -MIC - Lahore
Internet of Things (IoT) reference architecture using Azure -MIC - LahoreInternet of Things (IoT) reference architecture using Azure -MIC - Lahore
Internet of Things (IoT) reference architecture using Azure -MIC - Lahore
 
Get in Touch with Internet of Things
Get in Touch with Internet of ThingsGet in Touch with Internet of Things
Get in Touch with Internet of Things
 
Arduino embedded systems and advanced robotics
Arduino embedded systems and advanced roboticsArduino embedded systems and advanced robotics
Arduino embedded systems and advanced robotics
 
How To Electrocute Yourself using the Internet
How To Electrocute Yourself using the InternetHow To Electrocute Yourself using the Internet
How To Electrocute Yourself using the Internet
 
iot presentation.pptx
iot presentation.pptxiot presentation.pptx
iot presentation.pptx
 
Bare metal Javascript & GPIO programming in Linux
Bare metal Javascript & GPIO programming in LinuxBare metal Javascript & GPIO programming in Linux
Bare metal Javascript & GPIO programming in Linux
 

Último

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 

Último (20)

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 

Getting Started with the Internet of Things - Allianz Hackrisk Hackathon 29/5/15 #IoT

  • 1. Westminster Impact Hub London, UK. 29/5/2015 Hack Risk Allianz Hackathon Getting started with the Internet of Things Tom Collins @snillocmot
  • 2. What is IoT? An extension of the traditional web providing intelligent features through embedded computing, which allows dumb objects to autonomously react, inform and learn from the context of Humans and Things
  • 3. How is IoT? The convergence of cheaper and accessible cloud, network and processing power, with smaller and smarter computers and a variety of hardware I/O sources
  • 7. By 2020... $7.1 trillion market value 50 billion connected devices 30 million every day 1 in 3 ‘knowledge workers’ will be replaced by a digital workforce and smart machines
  • 8. Why IoT? To improve quality of life and drive new business through connecting physical, cyber and social domains
  • 9.
  • 11. Problems Millions of apps Still stuck in remote control mode Siloed solutions (An API doesn’t make it IoT) Big innovation captures the consumers eye, but not enough immediate ROI for business to adopt
  • 12. SmartLiving IoT Starter Kit A Computer (Arduino Ethernet, Intel Edison or Raspberry PI) & Grove shield A bunch of sensors and actuators ● Button ● Blue LED (5mm) ● Rotary Angle Sensor (P) ● Light Sensor (P) ● Vibration Motor ● Temperature Sensor ● Infrared receiver ● Infrared emitter ● LED Bar ● PIR Motion sensor Check out the kits at http://www.smartliving.io/kits
  • 13. Examples TCP/IP, MQTT, IPv6, CoAP, REST, XBEE, ZigBee, ZWave, Serial, custom radios, IPoAC, etc CONNECTIVITY Landscape END POINTS aka Things MIDDLEWARE router gateways fog services cloud bridges brokers Examples OpenHAB, TheThingSystem, ZIPR, Dowse, Ponte, WebSphere, RabbitMQ, Dweet IOT SERVICES SmartLiving IFTTT Xively TempoIQ InitialState Waylay.io Millions of other single use services... Examples Persistence, (E.g TempoIQ), automation (E.g IFTTT), intelligence, third party integrators (ERP connectors) APPS Companion apps Widgiots Freeboard Node red Wyliodrin Examples WidgIoTs, SmartLiving Web & Mobile Apps, Freeboard Custom RF
  • 14. END POINTS aka Things CONNECTIVITY MIDDLEWARE IOT SERVICES APPS LED POT Arduino DBBroker Manage Widget Rules Blinking IoT Led Trusty Ethernet cable Potentiometer Sensor Code Device.Send(String(potRead), pot); //Reads and sends pot LED Actuator code if (command == "false") { digitalWrite(led, LOW); //Turns LED off } else if (command == "true") { digitalWrite(led, HIGH); //Turns LED on } SmartLiving API’s httpServer = "api.smartliving.io"; mqttServer = "broker.smartliving.io"; Automation Rule When Arduino.pot > 500 Then Arduino.led = true Else Arduino.led = false
  • 15. SmartLiving Toolbox END POINTS CONNECTIVITY MIDDLEWARE IOT SERVICES APPS Arduino Raspberr y Pi Android Makers App Virtual actuator Virtual sensors iOS App Web app Widgets ZWave Devices SolutionsDevTools C Lib Android Gateway Arduino Gateway PUBSUB Clients REST Clients Raspberry Pi Makers Gateway Management Telemetry DB Rule Engine Automation Scripting Rule Wizard SERIALTCP/IP ZWAVE XBEE Python Lib JS Lib Widget Lib Node.js Lib Go Lib 433 Mhz IR!!? Polymer Widgets Web Services ZigBee Custom microco ntrollers Java Lib Plenty of existing resources here SmartLiving pub:sub Broker ZWave IPv6 Gateway
  • 16. Library & API’S Endpoints (Hardware and libs) Arduino/C Python Node.js C# Javascript (HTML5-browser-as-a-sensor) Middleware Python Gateway C++ Gateway XBee Gateway IOT Services REST API - Gateway, Device, Asset, Rules, Users Telemetry API - Sensor data, actuator commands Automation rules, scripting & API Apps Javascript Widgets
  • 17. Arduino - setup void setup() { pinMode(ledPin, OUTPUT); // initialize the digital pin as an output. Serial.begin(9600); // init serial link for debugging byte mac[] = {0x90, 0xA2, 0xDA, 0x0D, 0xE1, 0x3E}; // Adapt to your Arduino MAC Address if (Ethernet.begin(mac) == 0) // Initialize the Ethernet connection: { Serial.println(F("DHCP failed,end")); while(true); //we failed to connect, halt execution here. } delay(1000); //give the Ethernet shield a second to initialize: if(Device.Connect(&ethClient, httpServer)) //connect the device with the IOT platform. { Device.AddAsset(knobPin, "Potentiometer", "A rotary sensor pot",false, "int"); //pin, name, desc, assetType, dataPro Device.AddAsset(ledPin, "LED", "A blinky light emitting diode", true, "bool"); //pin, name, desc, assetType, dataPro Device.Subscribe(pubSub); } }
  • 18. Arduino - sensor read loop void loop() { unsigned long curTime = millis(); if (curTime > (time + 1000)) // publish light reading every 5 seconds to sensor 1 { unsigned int lightRead = analogRead(knobPin); // read from light sensor (photocell) if(prevVal != lightRead){ Device.Send(String(lightRead), knobPin); prevVal = lightRead; } time = curTime; } Device.Process(); }
  • 19. Arduino - actuator callback void callback(char* topic, byte* payload, unsigned int length) { String msgString; { char message_buff[length + 1]; strncpy(message_buff, (char*)payload, length); message_buff[length] = '0'; msgString = String(message_buff); } int* idOut = NULL; { int pinNr = Device.GetPinNr(topic, strlen(topic)); //Find what topic hooks to the pin if (pinNr == ledPin) { if (msgString == "false") { digitalWrite(ledPin, LOW); //led off idOut = &ledPin; } else if (msgString == "true") { digitalWrite(ledPin, HIGH); //led on idOut = &ledPin; } } } Device.Send(msgString, *idOut); //Acknowledges the LED was activated and confirm in the user interface }
  • 20. Python Pi - Summary IOT.connect() IOT.addAsset(knobPin, sensorName, "Push button", False, "int") IOT.addAsset(ledPin, actuatorName, "Light Emitting Diode", True, "bool") IOT.subscribe() while True: try: if grovepi.digitalRead(sensorPin) == 1: if sensorPrev == False: IOT.send("true", sensorPin) sensorPrev = True elif sensorPrev == True: IOT.send("false", sensorPin) sensorPrev = False sleep(.3)
  • 21. Node.js - Summary var a0 = new mraa.Aio(0); //setup access analog input Analog pin #0 (A0) var d8 = new mraa.Gpio(8); //LED hooked up to digital pin 13 (or built in pin on Galileo Gen1 & Gen2) d8.dir(mraa.DIR_OUT); //set the gpio direction to output smartliving.addAsset("2", "Missile launcher", "Fires 10xD missiles at incoming spacecraft, and also a neat LED for some visual feedback...", true, "bool", confirmEnroll()); smartliving.addAsset("3", "Thermoreactor turbine temperature ", "Monitors the temperature of main alpha turbine", false, "int", confirmEnroll()); smartliving.subscribe(smartliving.baseMQTTUrl, 1883); vloop(); function vloop() { var analogValue = a0.read(); //read the value of the analog pin smartliving.send(analogValue, "3") setTimeout(vloop,1000); } smartliving.registerActuatorCallback("2", function() { d8.write(ledState?1:0); //if ledState is true then write a '1' (high) otherwise write a '0' (low) ledState = !ledState; //invert the ledState });
  • 22. Rules FYI ● Rule wizard doesn’t support complex operators like &&, || ● Create a script and run it in the cloud if you need crazy logic
  • 23. Hackathon Ethos Fake it, until you make it (literally) Hackathons always have network issues Hardware is normally limited or even shared Mock data is easy Things always go wrong Fancy UI elements always look good KISS, Hardware is Hard, Retrofit ● Nest is just a potentiometer, temp, PIR sensor ● GNL is just a LED & Push Button ● Hue is just a RGB ● Wemo is just a Relay MVP Mentality Build small think big (What’s the story behind your use case) High impact features first
  • 24. Brainstorming IoT The problem - Short sharp sentence describing the story of your problem and how the solution solves it Topology diagram - Visualise what you’re going to build, show the inputs and outputs and use it to explain your idea THINGS - What are the dumb objects? END POINTS - What computers and sensors are need to make things smarter? DATA MODEL - What type of data will the Things produce? What are the inputs/outputs? MIDDLEWARE - How will devices communicate? one- one, one-many? AUTOMATION - When this event happens then do this event? UI - Mockups and wireframes HUMANS - Who are the most important people using the solution?
  • 25. Resources Get your SmartLiving IoT Starter Kit www.smartliving.io/kits The platform beta.smartliving.io Documentation http://docs.smartliving.io/Get_Started GitHub https://github.com/allthingstalk API Reference http://allthingstalk.github.io/api-docs