SlideShare una empresa de Scribd logo
1 de 37
Descargar para leer sin conexión
th
Session 8 Nov 2011

    Intro to Pachube
   and the “Internet of Things”

           Paul Tanner

         Virtual Technologies
@paul_tanner ~ paul@virtual-techno.com
Agenda
●   The “Internet of Things”
●   What's Pachube
●   Why it's important
●   Who's using it
●   How to use it
●   Getting help
●   Questions
Me and You?
●   Independent Systems Consultant, Systems
    Integrator, Maker
●   Background in electronics and software
●   Part of network(s) of implementors
●   Active member of Pachube community

●   How about y'all?
The Internet of Things
●   Internet: Email → Web → IoT
●   Devices: Mainframe → Mini → PC → IoT
●   Where people and things are connected
●   Related issues
    ●   Open Data
    ●   Security and Privacy
    ●   Machine intelligence
●   Scope today: “Smart Object” connectivity
Uni w pachube 111108
IoT Evolution
●   Discoverable devices
●   Devices online
●   Devices controllable
●   Devices interoperate
●   Smart devices
IoT Model
Physical Deployment
What's Pachube
●   A cloud-based aggregation service
●   An “Application Programming Interface (API)”
●   A website based on that API
    ●   Search and find data feeds
    ●   Create and manage your own feeds
        –   Sensors (e.g. thermometer, power meter)
        –   Actuators (e.g. control something)
    ●   Use “Apps” for visualisation and control
        –   Graphs, Dashboards (web and phone) etc.
●   Almost everything can be done via the API
Key Characteristics
●   Open API
●   Ability to handle volume of data
●   Searchable
●   Shareable
●   Built-in privacy controls
●   Range of data formats
●   Large number of connected devices
●   Great user community
The Website
●   www.pachube.com
●   Search and find data feeds
●   Create account(s)
●   Create feeds
●   Add datastreams
    www.pachube.com/feeds/1539
●   Manage privacy settings, triggers etc.
●   Access “Apps” https://apps.pachube.com
The API
●   Basic API (GET/ PUT)
●   REpresentational State Transfer (REST)
●   Data Formats and Metadata
●   Security and Privacy
●   Triggers
●   History
●   Sockets & Websockets
●   Apps
Sensor Example
                       (Uses PUT and GET APIs)



     Proximity
      sensor




     Nanode             Router        Pachube    Web Page


(Arduino + Internet)
Actuator Example
        (Uses PUT and SUBSCRIBE APIs)




                                  MBED w.
Phone            Pachube
                                   Radio




                                  Wireless
                                  Socket
Compatible Devices e.g.
Importance
●   Anyone can put up a server, right?
●   “Internet of Silos” vs. API standards
●   IoT growth is about:
    ●   availability of data
    ●   low cost of implementation
    ●   diversity/ cross-sector capability
●   Pachube ticks all the boxes – and is now free!
Who's Using It
●   Power monitoring/ management
●   Home automation
●   Environmental monitoring
●   Radiation monitoring
●   General automation

●   What would you use it for?
Real Examples
Search Pachube for:
●   Energy Monitors
●   Weather Stations
●   Radiation Monitors
Live on homepage
Uni w pachube 111108
Basic API
●   http://api.pachube.com/v2/
●   GET/ PUT/ POST
●   GET needs URL only
●   /v2/feeds/504 or /v2/feeds/504/datastreams/0
●   .csv/.json/.xml – format selector
●   ?api_key=xxxxxxxxxxxxx (unless logged in)
●   POST needs headers incl. api_key and accept
●   Use curl for testing
GET Example
curl --request GET --header "X-PachubeApiKey: YOUR_API_KEY_HERE"
http://api.pachube.com/v2/feeds/504/datastreams/1

char msg[] =                               {
"{"method":"get","resource":"/fee       "current_value":"100",
ds/504/datastreams/1","headers":{"X-       "max_value":"10000.0",
PachubeApiKey":"xxxxxxxxx"}}";
                                               "at":"2010-07-02T10:16:19.270708Z",
                                               "min_value":"-10.0",
Ethernet.begin(mac, ip,gateway,subnet);
                                               "tags":[
Serial.println("Connecting ..");
                                                 "humidity"
if (client.connect()) {
                                               ],
  Serial.println("Connected");
                                               "id":"1"
  client.print(msg);
                                           }
  while (!client.available()) {}
  Serial.print("Receiving:");
  do {
    c = client.read();
    buffer[len++] = c;
    Serial.print(c);
  } while (client.available());
  buffer[len]='0';
  Serial.println();
}
PUT Example
curl --request PUT --data-binary @datafile.txt --header "X-
PachubeApiKey: YOUR_API_KEY_HERE"
http://api.pachube.com/v2/feeds/504/datastreams/1

{                                        char
    "method": "put",                     pld[]="{"method":"put","resource":"
                                         /feeds/38728","headers":{"X-
    "resource": "/feeds/38728",          PachubeApiKey":"my_api_key"}, "body":
    "headers": {                         {"version":"1.0.0","datastreams":
        "X-PachubeApiKey":"my_api_key"   [{"id":"pir","current_value":”1"},
    },                                   {"id":"pot","current_value":"245"}
                                         ]}}";
    "body": {
        "version": "1.0.0",              void post_callback(status,datapos) {
        "datastreams": [                   Serial,println(status);
            {                            }
                "id": "pir",
                "current_value": "1"     es.ES_client_http_post(“/feeds/38728”,"api
            },                           .pachube.com", “”, "PUT", pld,
            {    "id":"pot",             &post_callback);
                "current_value":"245"
            }
        ]
    }
}
Data Formats
●   .csv most compact
●   .xml most flexible
●   .json usually the best compromise
    ●   Not verbose
    ●   Allows access to all fields/ attributes
    ●   Tolerates adding fields etc
    ●   Simple to program
Attributes
●   Feeds: description, location, tags etc
●   Datastreams: id, tags, units
●   Good for searching but, as yet, no standard
    vocab for tags
Security & Privacy
●   By default, all feeds are public for read
●   Pro a/c can restrict to private: key required
●   Your master key: tantamount to giving out your
    password so keep it safe.
●   Restricted keys can be generated for a specific
    feed or datastream:
    ●   Read-only, Write only, Read-write
●   Groups of users can be associated with a key
●   COMING SOON: oauth - additional security
Triggers
●   Make things happen: set a trigger on a feed or
    datastream
●   gt, gte, lt, lte, eq, change
●   Calls your designated URL with the value of the
    data; requires that a server be listening.
●   With appropriate opening in server's firewall
●   Sockets provide an attractive alternative
History
●   All datapoints stored by default
●   Can be created, updated, deleted
●   Various granularities available to pull in bulk
    ●   All datapoints: up to 6 hours worth (start/ end)
    ●   Daily data up to 1 year
●   http://api.pachube.com/v2/ .. for details
●   Multiple calls needed to get more
Sockets/ Websockets
●   Part of the beta API – subject to conditions
●   http://api.pachube.com/v2/beta/
●   TCP sockets very useful for actuators as there
    is no need for polling
●   Websockets (in certain browsers) are perfect
    for visualisations, dashboards etc.
Apps
●   http://apps.pachube.com/ - mostly OK
●   http://beta.apps.pachube.com/ - careful!!
●   Numerous “Apps” provided – mainly
    visualisation components
●   This is gradually being opened up for
    community contributions.
●   Not everything works yet – change of plan
●   Announcement expected Real Soon Now
App types
●   Graphs and Visualisations
●   Dashboards and Controllers
●   Mapping Tools
●   Mashups and Converters
●   Alerts and Plugins
●   Feed discovery
●   Mobile Phone Apps
●   Augmented Reality
●   Energy Apps and Gadgets
IoT Model
IoT Apps Engine
●   Make things happen in response to sensors
●   Make it as easy as possible for non-techies to
    develop and iterate apps.
    ●   Declare a set of sensors and actuators
    ●   Describe actions based on input changes and
        arbitrarily complex calculations
    ●   Include external data and cause external actions
        (eg. Tweet/ call/ mail)
●   Currently at prototype stage
●   Looking for the right partners to evaluate
Example App
Getting Help
●   http://community.pachube.com/
●   Arduino Community http://arduino.org/
●   MBED forum http://mbed.org/forum/
●   Hackspace https://london.hackspace.org.uk/
●   nanode-users@googlegoups.com
●   .. not to mention www.google.co.uk
●   .. leading to numerous blogs
Suppliers
Apologies for an incomplete list ..
●   oomlout.co.uk
●   skpang.co.uk
●   coolcomponents.co.uk
●   rs-components.co.uk
●   nuelectronics.com
●   Via london.hackspace.org.uk
Questions?




http://www.slideshare.net/paul_tanner/uni-w-pachube-111108


  @paul_tanner ~ paul@virtual-techno.com

Más contenido relacionado

Destacado

Sabrosa In The News
Sabrosa In The NewsSabrosa In The News
Sabrosa In The Newssabrosafoods
 
Os hardware meets os software
Os hardware meets os softwareOs hardware meets os software
Os hardware meets os softwarePaul Tanner
 
Measure manage save 120917
Measure manage save 120917Measure manage save 120917
Measure manage save 120917Paul Tanner
 
M & d fractions
M & d fractionsM & d fractions
M & d fractionstiffaneem
 
Exposition Virtuelle Lucand Gillot 2008
Exposition Virtuelle Lucand Gillot 2008Exposition Virtuelle Lucand Gillot 2008
Exposition Virtuelle Lucand Gillot 2008guest80d88c
 
Exposition Virtuelle Fe Bilz 2007
Exposition Virtuelle Fe Bilz 2007Exposition Virtuelle Fe Bilz 2007
Exposition Virtuelle Fe Bilz 2007guest80d88c
 
Maurice de Bevere
Maurice de BevereMaurice de Bevere
Maurice de BevereQuan
 

Destacado (9)

Sabrosa In The News
Sabrosa In The NewsSabrosa In The News
Sabrosa In The News
 
Os hardware meets os software
Os hardware meets os softwareOs hardware meets os software
Os hardware meets os software
 
Measure manage save 120917
Measure manage save 120917Measure manage save 120917
Measure manage save 120917
 
nice
nicenice
nice
 
M & d fractions
M & d fractionsM & d fractions
M & d fractions
 
Exposition Virtuelle Lucand Gillot 2008
Exposition Virtuelle Lucand Gillot 2008Exposition Virtuelle Lucand Gillot 2008
Exposition Virtuelle Lucand Gillot 2008
 
Exposition Virtuelle Fe Bilz 2007
Exposition Virtuelle Fe Bilz 2007Exposition Virtuelle Fe Bilz 2007
Exposition Virtuelle Fe Bilz 2007
 
Unit 1
Unit 1Unit 1
Unit 1
 
Maurice de Bevere
Maurice de BevereMaurice de Bevere
Maurice de Bevere
 

Similar a Uni w pachube 111108

«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...
«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...
«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...it-people
 
Training thethings.iO
Training thethings.iOTraining thethings.iO
Training thethings.iOMarc Pous
 
Apigility introduction v2 (glasgow php)
Apigility introduction v2 (glasgow php)Apigility introduction v2 (glasgow php)
Apigility introduction v2 (glasgow php)Engineor
 
OGCE Project Overview
OGCE Project OverviewOGCE Project Overview
OGCE Project Overviewmarpierc
 
Pywps a tutorial for beginners and developers
Pywps a tutorial for beginners and developersPywps a tutorial for beginners and developers
Pywps a tutorial for beginners and developersJorge Mendes
 
Web api security
Web api securityWeb api security
Web api security9xdot
 
Introduction to back-end
Introduction to back-endIntroduction to back-end
Introduction to back-endMosaab Ehab
 
Headless approach for offloading heavy tasks in Magento
Headless approach for offloading heavy tasks in MagentoHeadless approach for offloading heavy tasks in Magento
Headless approach for offloading heavy tasks in MagentoSander Mangel
 
Session: A Reference Architecture for Running Modern APIs with NGINX Unit and...
Session: A Reference Architecture for Running Modern APIs with NGINX Unit and...Session: A Reference Architecture for Running Modern APIs with NGINX Unit and...
Session: A Reference Architecture for Running Modern APIs with NGINX Unit and...NGINX, Inc.
 
Building FirefoxOS apps with Clojurescript
Building FirefoxOS apps with ClojurescriptBuilding FirefoxOS apps with Clojurescript
Building FirefoxOS apps with ClojurescriptTimo Sulg
 
Apache Deep Learning 101 - ApacheCon Montreal 2018 v0.31
Apache Deep Learning 101 - ApacheCon Montreal 2018 v0.31Apache Deep Learning 101 - ApacheCon Montreal 2018 v0.31
Apache Deep Learning 101 - ApacheCon Montreal 2018 v0.31Timothy Spann
 
Stop Making The Web Harder Than It Is; Real-world REST, HATEOAS, and Hypermed...
Stop Making The Web Harder Than It Is; Real-world REST, HATEOAS, and Hypermed...Stop Making The Web Harder Than It Is; Real-world REST, HATEOAS, and Hypermed...
Stop Making The Web Harder Than It Is; Real-world REST, HATEOAS, and Hypermed...kiphampton
 
OWASP ZAP Workshop for QA Testers
OWASP ZAP Workshop for QA TestersOWASP ZAP Workshop for QA Testers
OWASP ZAP Workshop for QA TestersJavan Rasokat
 
Introduction to Apache NiFi 1.11.4
Introduction to Apache NiFi 1.11.4Introduction to Apache NiFi 1.11.4
Introduction to Apache NiFi 1.11.4Timothy Spann
 
Open Data Science Conference Big Data Infrastructure – Introduction to Hadoop...
Open Data Science Conference Big Data Infrastructure – Introduction to Hadoop...Open Data Science Conference Big Data Infrastructure – Introduction to Hadoop...
Open Data Science Conference Big Data Infrastructure – Introduction to Hadoop...DataKitchen
 
Service Discovery using etcd, Consul and Kubernetes
Service Discovery using etcd, Consul and KubernetesService Discovery using etcd, Consul and Kubernetes
Service Discovery using etcd, Consul and KubernetesSreenivas Makam
 

Similar a Uni w pachube 111108 (20)

«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...
«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...
«Что такое serverless-архитектура и как с ней жить?» Николай Марков, Aligned ...
 
Training thethings.iO
Training thethings.iOTraining thethings.iO
Training thethings.iO
 
Apigility introduction v2 (glasgow php)
Apigility introduction v2 (glasgow php)Apigility introduction v2 (glasgow php)
Apigility introduction v2 (glasgow php)
 
OGCE Project Overview
OGCE Project OverviewOGCE Project Overview
OGCE Project Overview
 
Node.js Course 2 of 2 - Advanced techniques
Node.js Course 2 of 2 - Advanced techniquesNode.js Course 2 of 2 - Advanced techniques
Node.js Course 2 of 2 - Advanced techniques
 
Pywps a tutorial for beginners and developers
Pywps a tutorial for beginners and developersPywps a tutorial for beginners and developers
Pywps a tutorial for beginners and developers
 
Web api security
Web api securityWeb api security
Web api security
 
Introduction to back-end
Introduction to back-endIntroduction to back-end
Introduction to back-end
 
Monkey Server
Monkey ServerMonkey Server
Monkey Server
 
Jones "Working with Scholarly APIs: A NISO Training Series, Session One: Foun...
Jones "Working with Scholarly APIs: A NISO Training Series, Session One: Foun...Jones "Working with Scholarly APIs: A NISO Training Series, Session One: Foun...
Jones "Working with Scholarly APIs: A NISO Training Series, Session One: Foun...
 
Headless approach for offloading heavy tasks in Magento
Headless approach for offloading heavy tasks in MagentoHeadless approach for offloading heavy tasks in Magento
Headless approach for offloading heavy tasks in Magento
 
Session: A Reference Architecture for Running Modern APIs with NGINX Unit and...
Session: A Reference Architecture for Running Modern APIs with NGINX Unit and...Session: A Reference Architecture for Running Modern APIs with NGINX Unit and...
Session: A Reference Architecture for Running Modern APIs with NGINX Unit and...
 
Building FirefoxOS apps with Clojurescript
Building FirefoxOS apps with ClojurescriptBuilding FirefoxOS apps with Clojurescript
Building FirefoxOS apps with Clojurescript
 
Apache Deep Learning 101 - ApacheCon Montreal 2018 v0.31
Apache Deep Learning 101 - ApacheCon Montreal 2018 v0.31Apache Deep Learning 101 - ApacheCon Montreal 2018 v0.31
Apache Deep Learning 101 - ApacheCon Montreal 2018 v0.31
 
Stop Making The Web Harder Than It Is; Real-world REST, HATEOAS, and Hypermed...
Stop Making The Web Harder Than It Is; Real-world REST, HATEOAS, and Hypermed...Stop Making The Web Harder Than It Is; Real-world REST, HATEOAS, and Hypermed...
Stop Making The Web Harder Than It Is; Real-world REST, HATEOAS, and Hypermed...
 
OWASP ZAP Workshop for QA Testers
OWASP ZAP Workshop for QA TestersOWASP ZAP Workshop for QA Testers
OWASP ZAP Workshop for QA Testers
 
Cncf microservices security
Cncf microservices securityCncf microservices security
Cncf microservices security
 
Introduction to Apache NiFi 1.11.4
Introduction to Apache NiFi 1.11.4Introduction to Apache NiFi 1.11.4
Introduction to Apache NiFi 1.11.4
 
Open Data Science Conference Big Data Infrastructure – Introduction to Hadoop...
Open Data Science Conference Big Data Infrastructure – Introduction to Hadoop...Open Data Science Conference Big Data Infrastructure – Introduction to Hadoop...
Open Data Science Conference Big Data Infrastructure – Introduction to Hadoop...
 
Service Discovery using etcd, Consul and Kubernetes
Service Discovery using etcd, Consul and KubernetesService Discovery using etcd, Consul and Kubernetes
Service Discovery using etcd, Consul and Kubernetes
 

Más de Paul Tanner

Polling is for Wimps?
Polling is for Wimps?Polling is for Wimps?
Polling is for Wimps?Paul Tanner
 
MQTT on Raspberry Pi with node.js
MQTT on Raspberry Pi with node.jsMQTT on Raspberry Pi with node.js
MQTT on Raspberry Pi with node.jsPaul Tanner
 
Heading for the cloud
Heading for the cloudHeading for the cloud
Heading for the cloudPaul Tanner
 
Intro to IoT for RG 121110
Intro to IoT for RG 121110Intro to IoT for RG 121110
Intro to IoT for RG 121110Paul Tanner
 
Measure manage save 120917
Measure manage save 120917Measure manage save 120917
Measure manage save 120917Paul Tanner
 
Osh camp 2012 experience with adk
Osh camp 2012 experience with adkOsh camp 2012 experience with adk
Osh camp 2012 experience with adkPaul Tanner
 
Osh camp 2012 experience with adk
Osh camp 2012 experience with adkOsh camp 2012 experience with adk
Osh camp 2012 experience with adkPaul Tanner
 
Quest for a low powered home hub 120522
Quest for a low powered home hub 120522Quest for a low powered home hub 120522
Quest for a low powered home hub 120522Paul Tanner
 
Wireless hacking 20120126
Wireless hacking 20120126Wireless hacking 20120126
Wireless hacking 20120126Paul Tanner
 
Social measurement energy 2.0
Social measurement   energy 2.0Social measurement   energy 2.0
Social measurement energy 2.0Paul Tanner
 
Knowledge is Power (saving)
Knowledge is Power (saving)Knowledge is Power (saving)
Knowledge is Power (saving)Paul Tanner
 
Social Media Practicalities NfP
Social Media Practicalities NfPSocial Media Practicalities NfP
Social Media Practicalities NfPPaul Tanner
 
Social Media Value
Social Media ValueSocial Media Value
Social Media ValuePaul Tanner
 
Social Media Practicalities
Social Media PracticalitiesSocial Media Practicalities
Social Media PracticalitiesPaul Tanner
 
Metering Story - Homecamp 0903
Metering Story - Homecamp 0903Metering Story - Homecamp 0903
Metering Story - Homecamp 0903Paul Tanner
 

Más de Paul Tanner (16)

Polling is for Wimps?
Polling is for Wimps?Polling is for Wimps?
Polling is for Wimps?
 
MQTT on Raspberry Pi with node.js
MQTT on Raspberry Pi with node.jsMQTT on Raspberry Pi with node.js
MQTT on Raspberry Pi with node.js
 
Heading for the cloud
Heading for the cloudHeading for the cloud
Heading for the cloud
 
Intro to IoT for RG 121110
Intro to IoT for RG 121110Intro to IoT for RG 121110
Intro to IoT for RG 121110
 
Measure manage save 120917
Measure manage save 120917Measure manage save 120917
Measure manage save 120917
 
Osh camp 2012 experience with adk
Osh camp 2012 experience with adkOsh camp 2012 experience with adk
Osh camp 2012 experience with adk
 
Osh camp 2012 experience with adk
Osh camp 2012 experience with adkOsh camp 2012 experience with adk
Osh camp 2012 experience with adk
 
Quest for a low powered home hub 120522
Quest for a low powered home hub 120522Quest for a low powered home hub 120522
Quest for a low powered home hub 120522
 
Wireless hacking 20120126
Wireless hacking 20120126Wireless hacking 20120126
Wireless hacking 20120126
 
Oshug 110929
Oshug 110929Oshug 110929
Oshug 110929
 
Social measurement energy 2.0
Social measurement   energy 2.0Social measurement   energy 2.0
Social measurement energy 2.0
 
Knowledge is Power (saving)
Knowledge is Power (saving)Knowledge is Power (saving)
Knowledge is Power (saving)
 
Social Media Practicalities NfP
Social Media Practicalities NfPSocial Media Practicalities NfP
Social Media Practicalities NfP
 
Social Media Value
Social Media ValueSocial Media Value
Social Media Value
 
Social Media Practicalities
Social Media PracticalitiesSocial Media Practicalities
Social Media Practicalities
 
Metering Story - Homecamp 0903
Metering Story - Homecamp 0903Metering Story - Homecamp 0903
Metering Story - Homecamp 0903
 

Último

9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfinfogdgmi
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPathCommunity
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaborationbruanjhuli
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.YounusS2
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfAijun Zhang
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDELiveplex
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureEric D. Schabell
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Will Schroeder
 

Último (20)

9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdf
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
 
201610817 - edge part1
201610817 - edge part1201610817 - edge part1
201610817 - edge part1
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
20150722 - AGV
20150722 - AGV20150722 - AGV
20150722 - AGV
 
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online CollaborationCOMPUTER 10: Lesson 7 - File Storage and Online Collaboration
COMPUTER 10: Lesson 7 - File Storage and Online Collaboration
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdf
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
 

Uni w pachube 111108

  • 1. th Session 8 Nov 2011 Intro to Pachube and the “Internet of Things” Paul Tanner Virtual Technologies @paul_tanner ~ paul@virtual-techno.com
  • 2. Agenda ● The “Internet of Things” ● What's Pachube ● Why it's important ● Who's using it ● How to use it ● Getting help ● Questions
  • 3. Me and You? ● Independent Systems Consultant, Systems Integrator, Maker ● Background in electronics and software ● Part of network(s) of implementors ● Active member of Pachube community ● How about y'all?
  • 4. The Internet of Things ● Internet: Email → Web → IoT ● Devices: Mainframe → Mini → PC → IoT ● Where people and things are connected ● Related issues ● Open Data ● Security and Privacy ● Machine intelligence ● Scope today: “Smart Object” connectivity
  • 6. IoT Evolution ● Discoverable devices ● Devices online ● Devices controllable ● Devices interoperate ● Smart devices
  • 9. What's Pachube ● A cloud-based aggregation service ● An “Application Programming Interface (API)” ● A website based on that API ● Search and find data feeds ● Create and manage your own feeds – Sensors (e.g. thermometer, power meter) – Actuators (e.g. control something) ● Use “Apps” for visualisation and control – Graphs, Dashboards (web and phone) etc. ● Almost everything can be done via the API
  • 10. Key Characteristics ● Open API ● Ability to handle volume of data ● Searchable ● Shareable ● Built-in privacy controls ● Range of data formats ● Large number of connected devices ● Great user community
  • 11. The Website ● www.pachube.com ● Search and find data feeds ● Create account(s) ● Create feeds ● Add datastreams www.pachube.com/feeds/1539 ● Manage privacy settings, triggers etc. ● Access “Apps” https://apps.pachube.com
  • 12. The API ● Basic API (GET/ PUT) ● REpresentational State Transfer (REST) ● Data Formats and Metadata ● Security and Privacy ● Triggers ● History ● Sockets & Websockets ● Apps
  • 13. Sensor Example (Uses PUT and GET APIs) Proximity sensor Nanode Router Pachube Web Page (Arduino + Internet)
  • 14. Actuator Example (Uses PUT and SUBSCRIBE APIs) MBED w. Phone Pachube Radio Wireless Socket
  • 16. Importance ● Anyone can put up a server, right? ● “Internet of Silos” vs. API standards ● IoT growth is about: ● availability of data ● low cost of implementation ● diversity/ cross-sector capability ● Pachube ticks all the boxes – and is now free!
  • 17. Who's Using It ● Power monitoring/ management ● Home automation ● Environmental monitoring ● Radiation monitoring ● General automation ● What would you use it for?
  • 18. Real Examples Search Pachube for: ● Energy Monitors ● Weather Stations ● Radiation Monitors
  • 21. Basic API ● http://api.pachube.com/v2/ ● GET/ PUT/ POST ● GET needs URL only ● /v2/feeds/504 or /v2/feeds/504/datastreams/0 ● .csv/.json/.xml – format selector ● ?api_key=xxxxxxxxxxxxx (unless logged in) ● POST needs headers incl. api_key and accept ● Use curl for testing
  • 22. GET Example curl --request GET --header "X-PachubeApiKey: YOUR_API_KEY_HERE" http://api.pachube.com/v2/feeds/504/datastreams/1 char msg[] = { "{"method":"get","resource":"/fee "current_value":"100", ds/504/datastreams/1","headers":{"X- "max_value":"10000.0", PachubeApiKey":"xxxxxxxxx"}}"; "at":"2010-07-02T10:16:19.270708Z", "min_value":"-10.0", Ethernet.begin(mac, ip,gateway,subnet); "tags":[ Serial.println("Connecting .."); "humidity" if (client.connect()) { ], Serial.println("Connected"); "id":"1" client.print(msg); } while (!client.available()) {} Serial.print("Receiving:"); do { c = client.read(); buffer[len++] = c; Serial.print(c); } while (client.available()); buffer[len]='0'; Serial.println(); }
  • 23. PUT Example curl --request PUT --data-binary @datafile.txt --header "X- PachubeApiKey: YOUR_API_KEY_HERE" http://api.pachube.com/v2/feeds/504/datastreams/1 { char "method": "put", pld[]="{"method":"put","resource":" /feeds/38728","headers":{"X- "resource": "/feeds/38728", PachubeApiKey":"my_api_key"}, "body": "headers": { {"version":"1.0.0","datastreams": "X-PachubeApiKey":"my_api_key" [{"id":"pir","current_value":”1"}, }, {"id":"pot","current_value":"245"} ]}}"; "body": { "version": "1.0.0", void post_callback(status,datapos) { "datastreams": [ Serial,println(status); { } "id": "pir", "current_value": "1" es.ES_client_http_post(“/feeds/38728”,"api }, .pachube.com", “”, "PUT", pld, { "id":"pot", &post_callback); "current_value":"245" } ] } }
  • 24. Data Formats ● .csv most compact ● .xml most flexible ● .json usually the best compromise ● Not verbose ● Allows access to all fields/ attributes ● Tolerates adding fields etc ● Simple to program
  • 25. Attributes ● Feeds: description, location, tags etc ● Datastreams: id, tags, units ● Good for searching but, as yet, no standard vocab for tags
  • 26. Security & Privacy ● By default, all feeds are public for read ● Pro a/c can restrict to private: key required ● Your master key: tantamount to giving out your password so keep it safe. ● Restricted keys can be generated for a specific feed or datastream: ● Read-only, Write only, Read-write ● Groups of users can be associated with a key ● COMING SOON: oauth - additional security
  • 27. Triggers ● Make things happen: set a trigger on a feed or datastream ● gt, gte, lt, lte, eq, change ● Calls your designated URL with the value of the data; requires that a server be listening. ● With appropriate opening in server's firewall ● Sockets provide an attractive alternative
  • 28. History ● All datapoints stored by default ● Can be created, updated, deleted ● Various granularities available to pull in bulk ● All datapoints: up to 6 hours worth (start/ end) ● Daily data up to 1 year ● http://api.pachube.com/v2/ .. for details ● Multiple calls needed to get more
  • 29. Sockets/ Websockets ● Part of the beta API – subject to conditions ● http://api.pachube.com/v2/beta/ ● TCP sockets very useful for actuators as there is no need for polling ● Websockets (in certain browsers) are perfect for visualisations, dashboards etc.
  • 30. Apps ● http://apps.pachube.com/ - mostly OK ● http://beta.apps.pachube.com/ - careful!! ● Numerous “Apps” provided – mainly visualisation components ● This is gradually being opened up for community contributions. ● Not everything works yet – change of plan ● Announcement expected Real Soon Now
  • 31. App types ● Graphs and Visualisations ● Dashboards and Controllers ● Mapping Tools ● Mashups and Converters ● Alerts and Plugins ● Feed discovery ● Mobile Phone Apps ● Augmented Reality ● Energy Apps and Gadgets
  • 33. IoT Apps Engine ● Make things happen in response to sensors ● Make it as easy as possible for non-techies to develop and iterate apps. ● Declare a set of sensors and actuators ● Describe actions based on input changes and arbitrarily complex calculations ● Include external data and cause external actions (eg. Tweet/ call/ mail) ● Currently at prototype stage ● Looking for the right partners to evaluate
  • 35. Getting Help ● http://community.pachube.com/ ● Arduino Community http://arduino.org/ ● MBED forum http://mbed.org/forum/ ● Hackspace https://london.hackspace.org.uk/ ● nanode-users@googlegoups.com ● .. not to mention www.google.co.uk ● .. leading to numerous blogs
  • 36. Suppliers Apologies for an incomplete list .. ● oomlout.co.uk ● skpang.co.uk ● coolcomponents.co.uk ● rs-components.co.uk ● nuelectronics.com ● Via london.hackspace.org.uk