License

Copyright © 2016 Michael Schloh von Bennewitz
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the document entitled “fdl-1.3.txt”

IoT Demos and
Happy Hacking

Presented by: Michael Schloh von Bennewitz
Download at: lect.europalab.com/mozleadsg

In this hour…

  • Promoting cause
  • Becoming devices
  • Devices showcase
  • IoT word definitions
  • Sensors & actuators

Leadership activities

  • Please promote open WoT!

Q: What does a ‘BAN’ connect?

 

Q: What does a ‘BAN’ connect?

A: BAN == Body Area Network

CCC frontline report

  • Connected pacemakers
  • Connected Japan cats

MQTT cat client sample 0



$ mosquitto_pub -h mqtt.devlol.org -t "devlol/winkekatze" -m "WINK"
$

Publishing to cat using mosquitto_pub(1)

Web history


  • Web 1.0
  • Web 2.0
  • Social web
  • Mobile web
  • Ubiquitous web

Connected devices

Smart utility metre

Connected devices

Smart Nest thermostat

Connected devices

Autonomous personal drone

Connected devices

Streetlight communication device Streetlight communication device

Connected devices

Smart wristwatch

Connected devices

Wearable headset

Connected devices

Creepy molecular (blood and other things) scanner

Connected devices

Sensor prototype hardware

Connected devices

Philips Hue smart lightbulb

Connected devices

Texas Instruments Sensortag WiFi

Connected devices

Qualcomm Dragonboard 410c

Connected devices

ESP 8266 chip and power circuit

Connected devices

Arduino Uno Ethernet

Connected devices

Firefox OS handset terminal

Connected devices

Streamy Firefox OS media streamer

Connected devices

Chirimen community open hardware B2G device

Connected devices

Makeymakey Classic (Arduino based)

Connected devices

Particle Photon WiFi boards

Connected devices

Raspberry Pi 2 with Piglow and case

Connected devices

Beaglebone Black computer

Connected devices

Freescale FRDM development board

Connected devices

Freescale FRDM development board

Connected devices

Nordic Semiconductor Bluetooth development board

Connected devices

Nordic Semiconductor Bluetooth development dongle

Connected devices

Estimote beacon

Beacon construction

Estimote beacon

Connected devices

Glimworm beacon

Not a connected device

Thats just wrong
Right arrow

Put them together

MSvB IoT mobile laboratory

Put them together

MSvB IoT mobile laboratory

The Physical Web

Device terms


  • Connected devices!
  • Internet of Thingies
  • (Open) Web of Things
  • Industrial walled gardens

Device relations


  • Sensors produce telemetry
  • Actuators consume telecommands
  • Computers route, store, forward
  • IoT ~= WoT ~= Connected devices

Defining telemetry


NASA: “the highly automated communications process by which measurements are made and other data collected at remote or inaccessible points and transmitted to receiving equipment for monitoring.”

Defining telecommand


Wikipedia: “A telecommand is a command sent to control a remote system or systems not directly connected (e.g. via wires) to the place from which the telecommand is sent.”

Protocols


  • MQTT (OASIS spec)
  • CoAP (RFC 7252)
  • AMQP (ISO/IEC 19464)
  • LWM2M (OMA LWM2M)
  • ZeroMQ (Nospec)

Transports


  • Bluetooth 2/3
  • Bluetooth LE
  • Zigbee
  • Z-Wave
  • Internet

Q: Which IM app uses MQTT?

 

Q: Which IM app uses MQTT?

A: Facebook Messenger!      

MQTT

MQTT JavaScript code sample 1



// Simple subscribe client (use test.mosquitto.org?)      

var mqtt = require('mqtt'), locli = mqtt.connect('mqtt://host/');
locli.subscribe('messages');
locli.on('message', function(topic, message) {
  console.log(message.toString());
});

Subscribing topics via MQTT from the broker

MQTT JavaScript code sample 2



// Simple publish client (use test.mosquitto.org?)

var mqtt = require('mqtt'), locli = mqtt.connect('mqtt://host/');
locli.publish('messages', 'Mqtt is pretty cool');
locli.end();

// Other MQTT features like last will
// testament, data retention, or QoS

Publishing messages via MQTT to the broker

Network topologies

P2P topology

Point to point network topology

Tree topology

Tree network topology

Mesh topology

Mesh network topology

Star topology

Star network topology

Bluetooth logo piconets

Bluetooth piconetworking

Master operates on only one Bluetooth logo mode

Dissecting Bluetooth logo

Bluetooth address encoding

BD_ADDR  00:06:66:42:21:52

Dissecting Bluetooth logo

Bluetooth channel hopping Bluetooth channel hopping

Bluetooth logo BLE applications


  • Heart rate monitors
  • Blood pressure monitors
  • Beacon geography targets
  • Industrial monitoring sensors
  • Public transportation apps

Bluetooth logo demonstrations

Live demonstrations and experiments

Dirty tricks

Android HCI capture

Capture straight from Android HCI

/etc/bluetooth/bt_stack.conf

Free telem book

Redbooks book: Building with MQTT

IBM Redbooks (Ebook, 2014)
Building... with MQTT, Boyd et al

Free IoT book

APress Open book: Rethinking the Internet of Things

APress Open (Online Ebook, 2014)
Rethinking the IoT, Francis daCosta

IoT Demos And
Happy Hacking

Michael Schloh von Bennewitz

Promoting cause
Becoming devices
Devices showcase
IoT word definitions
Sensors & actuators