SlideShare a Scribd company logo
Hands-on with the IoT
Daryl Wilding-McBride (DiUS)
Andy Gelme (geekscape.org, m9design.co)
The point(s) of this talk
1. Physical integration through open standards
is the next big thing
2. We should turn our minds to this new class
of application
3. It’s really easy to get started now
Internet Of Things: Hands on: YOW! night
Internet Of Things: Hands on: YOW! night
“It’s only the Internet of Things while it
doesn’t work.
As soon as it works, it’s a thermostat.”
Chris Anderson, 3DRobotics
“Q: What is the Internet Of Things, Mr
Salesman ?
A: Whatever matches my product range.”
Dick Selwood, EE Journal
So what is the Internet of Things... really?
Internet Of Things: Hands on: YOW! night
Why now ?
What has changed?
Software
● Open source
● Ease of use
e.g. Arduino IDE
● Big Data platforms,
tools, technologies
Hardware
● Open source
● Innovation in cost /
power usage /
sophistication
● Maker movement
● 3D printing
● Fabrication services
(e.g. Shapeways)
● Easy-to-use building
blocks (e.g. Arduino)
Culture
● Drive for greater
efficiency / knowledge
/ safety
● Making decisions on
evidence
The confluence enables new classes of
applications to be built
“The best minds of my generation are
thinking about how to make people
click ads.
That sucks.”
Jeff Hammerbacher, Facebook’s first data scientist
From a technology perspective, good web
software delivery is a solved problem
From a technology perspective, good web
software delivery is a solved problem
IoT has lots of unsolved, worthwhile problems
that are very challenging
From a technology perspective, good web
software delivery is a solved problem
IoT has lots of unsolved, worthwhile problems
that are very challenging
We need to get good at solving them
Granularity of IoT building blocks
Generic building blocks …
● Arduino, sensors, actuators
Function specific building blocks
● Quadcopter with autopilot
Complete solutions
● Search & rescue UAVs
Generic building block: MeshThing
Sensors, actuators and controllers
Turning a collection of transducers into a single unit
Designed by John Spencer for the Caravan Of Terror
● ATtiny84 MCU < $1.50
● Linear potentiometer
○ Motorized slider
○ Capacitive touch
● LED display
● RGB LED string
● Multiple units controlled by I2CATtiny84 8-bit MCU
Turning multiple units into a subsystem
Designed by John Spencer for the Caravan Of Terror
Having reached this point the question becomes …
“How do we connect all the subsystems together ?”
and / or
“How do we connect these things to the Internet ?”
Connecting devices
Whenever you can … use cables
○ More bandwidth
○ Less latency
○ More reliable
○ More secure (assume no physical access)
○ Cheaper (for given bandwidth requirement)
○ Ethernet, e.g Freetronics EtherTen
Connecting devices
However, cables not possible in many situations
○ Devices are far apart
○ Devices that move around
○ Uneconomic, e.g retrofit building automation
Wireless networking choices
We are now spoilt with choice
○ 4G modems
○ WiFi, e.g SparkCore
○ Bluetooth Classic / Low Energy
○ Near Field Communication
○ nRF24 (Nordic Semiconductor)
○ 433 MHz e.g garage door opener
○ Mesh network: 802.15.4 + 6LoWPAN
Network design decisions
Driven by requirements
○ Development environment
○ Bandwidth and latency
○ Power consumption
○ Reliability
○ Security
○ Range
○ Cost
Likely outcome
Solution includes variety of different hardware
devices, networking and software stacks
There is no one magic silver bullet
Certainly not mesh networks … so, always read the fine print !
Why IPv6 / 6LoWPAN mesh networks ?
WiFi and Bluetooth LE are often good solutions
What if we require ?
● IP packets end-to-end (no protocol gateways)
● Peer-to-peer transmission (no access points)
● Very low energy consumption (milliWatts)
○ Minimal resources, deep sleep
● Simple discovery, routing, name resolution,
services
○ IETF open standards (RFC)
Some personal criteria
● Open-source hardware and software
● Low cost < $40
● Prototype: Off-the-shelf
● Production: Custom hardware
● Replace existing options, e.g Zigbee
○ Isn’t really open
○ Wasn’t IP based
○ Compatibility over time / between vendors
Network diagram
MeshThing #1
RPL Border Gateway
fd00:0:0:10::1
MeshThing #2
fd00:0:0:10::2
MeshThing #3
fd00:0:0:10::3
MeshThing #4
fd00:0:0:10::4
Raspberry Pi or OpenWRT
IPv6 Router
fd00:0:0:1::1/64 eth0
fd00:0:0:2::1/64 wlan0
fd00:0:0:10::1/64 tun0
SLIPDesktop / Laptop
IPv6 Node
fd00:0:0:1::2/64 eth0
LAN
Mobile device
IPv6 Node
fd00:0:0:2::2/64
WiFi
Everything is an IPv6 connected device
TCP, UDP and ICMP (ping) messages all work between any devices
Mesh network stack
● Message: MQTT or CoAP
● Service discovery: DNS-SD
● Name resolution: mDNS
● Transport: IETF ICMP / UDP / TCP
● Network: IETF IPv6 with 6LoWPAN, RPL (routing)
● Data link: IEEE 802.15.4 MAC (sicslowmac)
● Physical: IEEE 802.15.4 PHY (radio)
MeshThing hardware
● MeshThing
○ ATmega2564RFR2: SoC +
radio
○ XBee header layout
○ 16 I/O pins
○ Contiki OS
● MeshUSB
○ USB serial
○ LiPo battery / charging
○ Micro-SD card slot
○ Solar panel input
● MeshProto (stackable board)
MeshThing Input / Output
● For highly constrained devices …
○ 8-bit MPU, 8 MHz, 40 kB Flash, 8 Kb RAM
● Cisco contributed the uIPv6 stack
● 6LoWPAN header compression, adaption layer
● RPL routing protocol
● Non-premptive tasks
● Cross platform support
● Many contributed examples
● Cooja network simulator
Contiki Operating System
● Compile using avr-gcc (C programming)
● Build Contiki on Linux, MacOS or Windows
○ Raspberry Pi for development and gateway
● MeshThing runs STK500 bootloader (Arduino)
○ Use “avrdude” to download firmware
MeshThing programming
● One host acting as mesh network router
● Enable IPv6 forwarding
● Acquire IPv6 Unique Local Address (ULA)
○ Address prefix fdxx:xxxx:xxxx/48
● IPv6 route advertisement for each interface
○ Run “radv” daemon (Linux)
○ Run “rtadv” daemon (Mac OS X)
● Clients run IPv6 route solicitation damon
Network configuration
StateLess Address Auto Configuration (SLAAC)
● Get mDNS and DNS-SD working
● Port MQTT C client
○ Integration with NodeRed
● Port Firmata for NodeBots
○ Improvements for multiple nodes
● Support Arduino IDE
○ Arduino sketch as a loadable module
Work in progress
Solution : Search & Rescue UAV
About the
UAV Outback Challenge
Internet Of Things: Hands on: YOW! night
Internet Of Things: Hands on: YOW! night
Internet Of Things: Hands on: YOW! night
Internet Of Things: Hands on: YOW! night
4.5 kms
2.3 kms
1.2 kms
Internet Of Things: Hands on: YOW! night
About the
H20-to-Joe Team
Internet Of Things: Hands on: YOW! night
Internet Of Things: Hands on: YOW! night
Internet Of Things: Hands on: YOW! night
Internet Of Things: Hands on: YOW! night
Internet Of Things: Hands on: YOW! night
Internet Of Things: Hands on: YOW! night
Internet Of Things: Hands on: YOW! night
Internet Of Things: Hands on: YOW! night
Internet Of Things: Hands on: YOW! night
Internet Of Things: Hands on: YOW! night
Internet Of Things: Hands on: YOW! night
PX4 Demo
Internet Of Things: Hands on: YOW! night
What we’ve learned so far
Sophistication of open-source hardware & software
What we’ve learned so far
Sophistication of open-source hardware & software
Prototyping with a 3D printer
What we’ve learned so far
Sophistication of open-source hardware & software
Prototyping with a 3D printer
Embedded computing is a lot of fun
What we’ve learned so far
Getting started
Choose a goal / project
Build your own sensor network (home / office)
Connect to Xively, ThingSpeak, SkyNet.IM … or D.I.Y
Build your own robot
NodeBots Days: http://nodebots.io
Build your own quadcopter
http://copter.ardupilot.com/wiki/build-your-own-multicopter
Typical process
● Understand the “problem” … multiple iterations
● Get a microcontroller, e.g Arduino
○ Connect sensors / actuators
○ Connect to LAN / WAN
● Get a Single Board Computer, e.g Raspberry Pi
○ Install MQTT (publish / subscribe message server)
○ Real-time monitor and control
○ Background data aggregation and presentation
● Think about power, networking, packaging
○ Prototyping => Fit For Purpose => Production
● Perfect the “user experience” … multiple iterations
Gadgets #1
https://www.temboo.
com/arduino
● Atheros AR9331, 400 MHz
○ 16 Mb Flash, 64 Mb RAM
○ Running OpenWRT (Linino)
○ Ethernet, WiFi, USB A
○ Micro-SD
● ATmega32u4
○ Arduino Leonardo
○ Serial connection to AR9331
Gadgets #2
● Open-source hardware and software
● 168 MHz Cortex M4F CPU
● 2 MB Flash, 256 KB RAM
● 3-axis accelerometer / gyroscope /
magnetometer
● Barometer
● Backup, override, failsafe processor
● Running NuttX RTOS (Posix)
Hang-out with like-minded people
● Meetup.com: IoT groups
○ http://www.meetup.com/Internet-of-Human-Things-Melbourne
○ http://www.meetup.com/IoT-Melbourne
● HackerSpaces.org …
○ http://hackerspaces.org/wiki/Australia
○ CCHS Hawthorn: http://hackmelbourne.org
○ OpenLab: http://www.medialabmelbourne.com.au/openlab
○ Make-Create Brunswick: http://www.meetup.com/Make-Create
○ Ballarat HackerSpace, Mill Park Library MakerSpace
○ Geelong HackerSpace, East Gippsland HackerSpace
○ Footscray MakerLab ? Northern Suburbs ?
Hang-out with like-minded people
● Meetup.com: IoT groups
○ http://www.meetup.com/Internet-of-Things-Sydney
● HackerSpaces.org …
○ http://hackerspaces.org/wiki/Australia
○ Robots and Dinosaurs: http://robodino.org
○ RoboDojo: https://groups.google.com/forum/#!forum/robodojo
○ OzBerryPi: http://www.ozberrypi.org (nomadic)
○ NewCastle MakerSpace: http://newcastlemakerspace.org/wiki
○ Visit CCHS Melbourne: http://hackmelbourne.org
Hang-out with like-minded people
● Meetup.com: IoT groups
○ http://www.meetup.com/Hack-the-Evening
● HackerSpaces.org …
○ http://hackerspaces.org/wiki/Australia
○ Brisbane HackerSpace: HSBNE
○ Gold Coast TechSpace: http://gctechspace.org
○ Caboolture HackerSpace, Townsville HackerSpace
○ Hack This Coop (Toowoomba)
○ Visit CCHS Melbourne: http://hackmelbourne.org
Space and tools with people who share skills / collaborate
HackerSpaces
Electronics prototyping, diagnosis, manufacturing
HackerSpaces
3D printers, laser-cutter, lathe, CNC mill, ...
HackerSpaces
Making a broad variety of things
HackerSpaces
Hopefully, we’ve convinced you ...
1. Physical integration through open standards
is the next big thing
2. We should turn our minds to this new class
of applications
3. It’s really easy and fun to get started now
Yow! Connect conference
● September 2014
● Internet of Things stream
● Mobile: Android and iOS streams
● Keynotes: Local and international luminaries
● Tentative dates …
○ Call For Papers
○ Open: 31st March, Closes: 30th May
○ Submitters notified: 23rd June
Staying in touch
Daryl Wilding-McBride
dwm@dius.com.au @DarylWMcB
http://dius.com.au
Andy Gelme
andyg@geekscape.org @geekscape
http://geekscape.org http://m9design.co

More Related Content

PDF
Internet Of Things, Smart Energy Groups
KEY
2011 01-24 dragino
PDF
BarCamp Melbourne 2012: Internet of Things
PDF
Internet of things - with routers
PDF
Hardware hacking
PPTX
IoT Hands-On-Lab, KINGS, 2019
PDF
Hardware Hacking area: Make Cool Things with Microcontrollers (and learn to s...
PDF
Linux on Open Source Hardware
Internet Of Things, Smart Energy Groups
2011 01-24 dragino
BarCamp Melbourne 2012: Internet of Things
Internet of things - with routers
Hardware hacking
IoT Hands-On-Lab, KINGS, 2019
Hardware Hacking area: Make Cool Things with Microcontrollers (and learn to s...
Linux on Open Source Hardware

What's hot (20)

PDF
Making wearables with NodeMCU - FOSDEM 2017
PPT
Arduino Meetup with Sonar and 433Mhz Radios
PDF
MediaTek Linkit Smart 7688 Webinar
PDF
lwM2M OTA for ESP8266
PDF
IoT Getting Started with Intel® IoT Devkit
PPTX
Programming esp8266
PPTX
Esp8266 NodeMCU
PPTX
Nodemcu - introduction
PDF
Let's begin io t with $10
PDF
Node MCU Fun
PDF
Esp8266 hack sonoma county 4/8/2015
PPTX
DIY Science using the Intel IoT Developer Kit
PDF
C Cross Compile for Linkit Smart 7688
PDF
IoT simple with the ESP8266 - presented at the July 2015 Austin IoT Hardware ...
PPTX
Esp8266 Workshop
PDF
WiFi SoC ESP8266
PDF
Overview of the Intel® Internet of Things Developer Kit
PPTX
Intel Edison: Beyond the Breadboard
PDF
lesson2 - Nodemcu course - NodeMCU dev Board
PPT
Intro to the Arduino Entrepreneurial System
Making wearables with NodeMCU - FOSDEM 2017
Arduino Meetup with Sonar and 433Mhz Radios
MediaTek Linkit Smart 7688 Webinar
lwM2M OTA for ESP8266
IoT Getting Started with Intel® IoT Devkit
Programming esp8266
Esp8266 NodeMCU
Nodemcu - introduction
Let's begin io t with $10
Node MCU Fun
Esp8266 hack sonoma county 4/8/2015
DIY Science using the Intel IoT Developer Kit
C Cross Compile for Linkit Smart 7688
IoT simple with the ESP8266 - presented at the July 2015 Austin IoT Hardware ...
Esp8266 Workshop
WiFi SoC ESP8266
Overview of the Intel® Internet of Things Developer Kit
Intel Edison: Beyond the Breadboard
lesson2 - Nodemcu course - NodeMCU dev Board
Intro to the Arduino Entrepreneurial System
Ad

Viewers also liked (15)

PDF
Internship end
PPTX
Pengembangan openwrt
PDF
Reglamento
PPTX
I2 c and mpu6050 basics
PDF
IPSN 2009 Contiki / uIP tutorial
PDF
Arduino compatible layer (with 6LoWPAN) on Contiki
PDF
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
PPTX
MPU6050 IMU with Arduino
PPTX
Quadcopter navigation using aakash tablet with on board image processing
PDF
Embedded Programming for Quadcopters
PDF
Quadcopter Talk (Abstractions)
PPTX
Building the Internet of Things with Thingsquare and Contiki - day 1, part 1
PPTX
CoAP Course for m2m and Internet of Things scenarios
PPTX
QUADCOPTER
PDF
OpenWRT manual
Internship end
Pengembangan openwrt
Reglamento
I2 c and mpu6050 basics
IPSN 2009 Contiki / uIP tutorial
Arduino compatible layer (with 6LoWPAN) on Contiki
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
MPU6050 IMU with Arduino
Quadcopter navigation using aakash tablet with on board image processing
Embedded Programming for Quadcopters
Quadcopter Talk (Abstractions)
Building the Internet of Things with Thingsquare and Contiki - day 1, part 1
CoAP Course for m2m and Internet of Things scenarios
QUADCOPTER
OpenWRT manual
Ad

Similar to Internet Of Things: Hands on: YOW! night (20)

PDF
IoT Domain Naming and Pain Points
PPTX
Internet of things - architectureand Design principles.pptx
PDF
Quest for a low powered home hub 120522
PPTX
Chapter_1.pptx
PDF
Internet of Things & Open Hardware (LeanCamp Madrid 2012)
PDF
IoT and Its Application
PDF
IOT_Working_computer_science_business_recap
PDF
YOTG Munich - Simon Mang - SixReasons - Hardware prototyping – Sketching with...
PDF
KNoT Manifesto
PPTX
Null mumbai-iot-workshop
PPT
PDF
Internet of Things Conference - Bogor city
PPTX
PPTX
iot-component-dimensioning
PPTX
VIA IOT Presentation
PDF
Osiot13 IoT buildout
PPTX
KiZAN IoT Workshop - Memphis
PPTX
IoT Workshop Chicago
PPTX
IoT Workshop - Waukesha
PDF
IoT Intro and Demo
IoT Domain Naming and Pain Points
Internet of things - architectureand Design principles.pptx
Quest for a low powered home hub 120522
Chapter_1.pptx
Internet of Things & Open Hardware (LeanCamp Madrid 2012)
IoT and Its Application
IOT_Working_computer_science_business_recap
YOTG Munich - Simon Mang - SixReasons - Hardware prototyping – Sketching with...
KNoT Manifesto
Null mumbai-iot-workshop
Internet of Things Conference - Bogor city
iot-component-dimensioning
VIA IOT Presentation
Osiot13 IoT buildout
KiZAN IoT Workshop - Memphis
IoT Workshop Chicago
IoT Workshop - Waukesha
IoT Intro and Demo

Recently uploaded (20)

PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
Big Data Technologies - Introduction.pptx
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
Cloud computing and distributed systems.
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
NewMind AI Monthly Chronicles - July 2025
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
KodekX | Application Modernization Development
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Modernizing your data center with Dell and AMD
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
The Rise and Fall of 3GPP – Time for a Sabbatical?
Big Data Technologies - Introduction.pptx
CIFDAQ's Market Insight: SEC Turns Pro Crypto
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Cloud computing and distributed systems.
Understanding_Digital_Forensics_Presentation.pptx
NewMind AI Monthly Chronicles - July 2025
Network Security Unit 5.pdf for BCA BBA.
KodekX | Application Modernization Development
Encapsulation_ Review paper, used for researhc scholars
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Modernizing your data center with Dell and AMD
Per capita expenditure prediction using model stacking based on satellite ima...
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx

Internet Of Things: Hands on: YOW! night

  • 1. Hands-on with the IoT Daryl Wilding-McBride (DiUS) Andy Gelme (geekscape.org, m9design.co)
  • 2. The point(s) of this talk 1. Physical integration through open standards is the next big thing 2. We should turn our minds to this new class of application 3. It’s really easy to get started now
  • 5. “It’s only the Internet of Things while it doesn’t work. As soon as it works, it’s a thermostat.” Chris Anderson, 3DRobotics
  • 6. “Q: What is the Internet Of Things, Mr Salesman ? A: Whatever matches my product range.” Dick Selwood, EE Journal So what is the Internet of Things... really?
  • 8. Why now ? What has changed?
  • 9. Software ● Open source ● Ease of use e.g. Arduino IDE ● Big Data platforms, tools, technologies Hardware ● Open source ● Innovation in cost / power usage / sophistication ● Maker movement ● 3D printing ● Fabrication services (e.g. Shapeways) ● Easy-to-use building blocks (e.g. Arduino) Culture ● Drive for greater efficiency / knowledge / safety ● Making decisions on evidence The confluence enables new classes of applications to be built
  • 10. “The best minds of my generation are thinking about how to make people click ads. That sucks.” Jeff Hammerbacher, Facebook’s first data scientist
  • 11. From a technology perspective, good web software delivery is a solved problem
  • 12. From a technology perspective, good web software delivery is a solved problem IoT has lots of unsolved, worthwhile problems that are very challenging
  • 13. From a technology perspective, good web software delivery is a solved problem IoT has lots of unsolved, worthwhile problems that are very challenging We need to get good at solving them
  • 14. Granularity of IoT building blocks Generic building blocks … ● Arduino, sensors, actuators Function specific building blocks ● Quadcopter with autopilot Complete solutions ● Search & rescue UAVs
  • 16. Sensors, actuators and controllers Turning a collection of transducers into a single unit Designed by John Spencer for the Caravan Of Terror ● ATtiny84 MCU < $1.50 ● Linear potentiometer ○ Motorized slider ○ Capacitive touch ● LED display ● RGB LED string ● Multiple units controlled by I2CATtiny84 8-bit MCU
  • 17. Turning multiple units into a subsystem Designed by John Spencer for the Caravan Of Terror
  • 18. Having reached this point the question becomes … “How do we connect all the subsystems together ?” and / or “How do we connect these things to the Internet ?”
  • 19. Connecting devices Whenever you can … use cables ○ More bandwidth ○ Less latency ○ More reliable ○ More secure (assume no physical access) ○ Cheaper (for given bandwidth requirement) ○ Ethernet, e.g Freetronics EtherTen
  • 20. Connecting devices However, cables not possible in many situations ○ Devices are far apart ○ Devices that move around ○ Uneconomic, e.g retrofit building automation
  • 21. Wireless networking choices We are now spoilt with choice ○ 4G modems ○ WiFi, e.g SparkCore ○ Bluetooth Classic / Low Energy ○ Near Field Communication ○ nRF24 (Nordic Semiconductor) ○ 433 MHz e.g garage door opener ○ Mesh network: 802.15.4 + 6LoWPAN
  • 22. Network design decisions Driven by requirements ○ Development environment ○ Bandwidth and latency ○ Power consumption ○ Reliability ○ Security ○ Range ○ Cost
  • 23. Likely outcome Solution includes variety of different hardware devices, networking and software stacks There is no one magic silver bullet Certainly not mesh networks … so, always read the fine print !
  • 24. Why IPv6 / 6LoWPAN mesh networks ? WiFi and Bluetooth LE are often good solutions What if we require ? ● IP packets end-to-end (no protocol gateways) ● Peer-to-peer transmission (no access points) ● Very low energy consumption (milliWatts) ○ Minimal resources, deep sleep ● Simple discovery, routing, name resolution, services ○ IETF open standards (RFC)
  • 25. Some personal criteria ● Open-source hardware and software ● Low cost < $40 ● Prototype: Off-the-shelf ● Production: Custom hardware ● Replace existing options, e.g Zigbee ○ Isn’t really open ○ Wasn’t IP based ○ Compatibility over time / between vendors
  • 26. Network diagram MeshThing #1 RPL Border Gateway fd00:0:0:10::1 MeshThing #2 fd00:0:0:10::2 MeshThing #3 fd00:0:0:10::3 MeshThing #4 fd00:0:0:10::4 Raspberry Pi or OpenWRT IPv6 Router fd00:0:0:1::1/64 eth0 fd00:0:0:2::1/64 wlan0 fd00:0:0:10::1/64 tun0 SLIPDesktop / Laptop IPv6 Node fd00:0:0:1::2/64 eth0 LAN Mobile device IPv6 Node fd00:0:0:2::2/64 WiFi Everything is an IPv6 connected device TCP, UDP and ICMP (ping) messages all work between any devices
  • 27. Mesh network stack ● Message: MQTT or CoAP ● Service discovery: DNS-SD ● Name resolution: mDNS ● Transport: IETF ICMP / UDP / TCP ● Network: IETF IPv6 with 6LoWPAN, RPL (routing) ● Data link: IEEE 802.15.4 MAC (sicslowmac) ● Physical: IEEE 802.15.4 PHY (radio)
  • 28. MeshThing hardware ● MeshThing ○ ATmega2564RFR2: SoC + radio ○ XBee header layout ○ 16 I/O pins ○ Contiki OS ● MeshUSB ○ USB serial ○ LiPo battery / charging ○ Micro-SD card slot ○ Solar panel input ● MeshProto (stackable board)
  • 30. ● For highly constrained devices … ○ 8-bit MPU, 8 MHz, 40 kB Flash, 8 Kb RAM ● Cisco contributed the uIPv6 stack ● 6LoWPAN header compression, adaption layer ● RPL routing protocol ● Non-premptive tasks ● Cross platform support ● Many contributed examples ● Cooja network simulator Contiki Operating System
  • 31. ● Compile using avr-gcc (C programming) ● Build Contiki on Linux, MacOS or Windows ○ Raspberry Pi for development and gateway ● MeshThing runs STK500 bootloader (Arduino) ○ Use “avrdude” to download firmware MeshThing programming
  • 32. ● One host acting as mesh network router ● Enable IPv6 forwarding ● Acquire IPv6 Unique Local Address (ULA) ○ Address prefix fdxx:xxxx:xxxx/48 ● IPv6 route advertisement for each interface ○ Run “radv” daemon (Linux) ○ Run “rtadv” daemon (Mac OS X) ● Clients run IPv6 route solicitation damon Network configuration StateLess Address Auto Configuration (SLAAC)
  • 33. ● Get mDNS and DNS-SD working ● Port MQTT C client ○ Integration with NodeRed ● Port Firmata for NodeBots ○ Improvements for multiple nodes ● Support Arduino IDE ○ Arduino sketch as a loadable module Work in progress
  • 34. Solution : Search & Rescue UAV
  • 59. Sophistication of open-source hardware & software What we’ve learned so far
  • 60. Sophistication of open-source hardware & software Prototyping with a 3D printer What we’ve learned so far
  • 61. Sophistication of open-source hardware & software Prototyping with a 3D printer Embedded computing is a lot of fun What we’ve learned so far
  • 63. Choose a goal / project Build your own sensor network (home / office) Connect to Xively, ThingSpeak, SkyNet.IM … or D.I.Y Build your own robot NodeBots Days: http://nodebots.io Build your own quadcopter http://copter.ardupilot.com/wiki/build-your-own-multicopter
  • 64. Typical process ● Understand the “problem” … multiple iterations ● Get a microcontroller, e.g Arduino ○ Connect sensors / actuators ○ Connect to LAN / WAN ● Get a Single Board Computer, e.g Raspberry Pi ○ Install MQTT (publish / subscribe message server) ○ Real-time monitor and control ○ Background data aggregation and presentation ● Think about power, networking, packaging ○ Prototyping => Fit For Purpose => Production ● Perfect the “user experience” … multiple iterations
  • 65. Gadgets #1 https://www.temboo. com/arduino ● Atheros AR9331, 400 MHz ○ 16 Mb Flash, 64 Mb RAM ○ Running OpenWRT (Linino) ○ Ethernet, WiFi, USB A ○ Micro-SD ● ATmega32u4 ○ Arduino Leonardo ○ Serial connection to AR9331
  • 66. Gadgets #2 ● Open-source hardware and software ● 168 MHz Cortex M4F CPU ● 2 MB Flash, 256 KB RAM ● 3-axis accelerometer / gyroscope / magnetometer ● Barometer ● Backup, override, failsafe processor ● Running NuttX RTOS (Posix)
  • 67. Hang-out with like-minded people ● Meetup.com: IoT groups ○ http://www.meetup.com/Internet-of-Human-Things-Melbourne ○ http://www.meetup.com/IoT-Melbourne ● HackerSpaces.org … ○ http://hackerspaces.org/wiki/Australia ○ CCHS Hawthorn: http://hackmelbourne.org ○ OpenLab: http://www.medialabmelbourne.com.au/openlab ○ Make-Create Brunswick: http://www.meetup.com/Make-Create ○ Ballarat HackerSpace, Mill Park Library MakerSpace ○ Geelong HackerSpace, East Gippsland HackerSpace ○ Footscray MakerLab ? Northern Suburbs ?
  • 68. Hang-out with like-minded people ● Meetup.com: IoT groups ○ http://www.meetup.com/Internet-of-Things-Sydney ● HackerSpaces.org … ○ http://hackerspaces.org/wiki/Australia ○ Robots and Dinosaurs: http://robodino.org ○ RoboDojo: https://groups.google.com/forum/#!forum/robodojo ○ OzBerryPi: http://www.ozberrypi.org (nomadic) ○ NewCastle MakerSpace: http://newcastlemakerspace.org/wiki ○ Visit CCHS Melbourne: http://hackmelbourne.org
  • 69. Hang-out with like-minded people ● Meetup.com: IoT groups ○ http://www.meetup.com/Hack-the-Evening ● HackerSpaces.org … ○ http://hackerspaces.org/wiki/Australia ○ Brisbane HackerSpace: HSBNE ○ Gold Coast TechSpace: http://gctechspace.org ○ Caboolture HackerSpace, Townsville HackerSpace ○ Hack This Coop (Toowoomba) ○ Visit CCHS Melbourne: http://hackmelbourne.org
  • 70. Space and tools with people who share skills / collaborate HackerSpaces
  • 71. Electronics prototyping, diagnosis, manufacturing HackerSpaces
  • 72. 3D printers, laser-cutter, lathe, CNC mill, ... HackerSpaces
  • 73. Making a broad variety of things HackerSpaces
  • 74. Hopefully, we’ve convinced you ... 1. Physical integration through open standards is the next big thing 2. We should turn our minds to this new class of applications 3. It’s really easy and fun to get started now
  • 75. Yow! Connect conference ● September 2014 ● Internet of Things stream ● Mobile: Android and iOS streams ● Keynotes: Local and international luminaries ● Tentative dates … ○ Call For Papers ○ Open: 31st March, Closes: 30th May ○ Submitters notified: 23rd June
  • 76. Staying in touch Daryl Wilding-McBride dwm@dius.com.au @DarylWMcB http://dius.com.au Andy Gelme andyg@geekscape.org @geekscape http://geekscape.org http://m9design.co