The Internet of Things

And programming for hardware

Created by Charlie Gerard / @devdevcharlie

About Me

Software Developer @ThoughtWorks

Previously:

  • Creative Developer @NYT in London
  • Software Developer @ThoughtWorks Sydney

I like to make stuff!

What is this talk about?

  • What is the internet of things?
  • Example of devices
  • Tools
  • Projects ideas
  • Demos
  • Code samples
  • Resources

What is the Internet of Things?


Giant network of connected 'things'.

How is it different to web programming?


  • More things to take into account (check for battery life, processing power, etc...)
  • Building the hardware, not only the software.

Examples of devices

Philips Hue

Remote controlled lightbulbs

Amazon Echo / Dot

Google Home

Voice commands to control “smart” appliances in your house. Like “ok google” for your house.

Vodafone's smart jacket

Smart jacket for cyclists indicating direction to drivers behind.

ShiftWear

Smart customizable shoes

Tech Tats

Wearable temporary tattoos tracking body temperature, etc..

How

Hardware

LittleBits

Smart home kit with 14 wireless modules including, mp3 player, temperature sensor, servos, etc...

Arduino

Starter kit with Arduino UNO, breadboard, buttons, LEDs, jumper wires, capacitors, etc...

Raspberry Pi

Credit-card sized computer that can browse the Internet, play games, make spreadsheets, etc...

Particle Photon

Small Wifi development kit for prototyping IoT projects.

Tessel

Wifi development board for prototyping IoT projects.


Software

  • Javascript
  • Ruby
  • Artoo
  • Go
  • Gobot

And if you're lazy...

If This Then That

What can I make?

Arduino Robotic car

PiGRRL

DIY Google Home

Remote controlled light

Magic Mirror

More advanced

VR + Robot

Wearables

New kind of instruments

Augmented shopping cart

Live demo!

But first...

Leap Motion

Sphero

Parrot AR Drone

Myo

Sphero

Parrot AR Drone

Neurosky

Sphero

Parrot AR Drone

Emotiv EPOC

Sphero

Parrot AR Drone

Hand-tracking sign language learning platform

Getting started

"Hello World" example

``` var five = require("johnny-five"); var board = new five.Board(); board.on("ready", function() { // Create an Led on pin 13 var led = new five.Led(13); // Blink every half second led.blink(500); }); ```

Limits

Fail

Motion controlled marble maze (not mine)

Motion controlled marble maze (mine)

Security

Hardware

  • Can be expensive
  • Battery life
  • Hard to debug
  • Resources and additional info

    Events

    Meetups

    Conferences

    Websites

    Where to buy

    Some People to follow

    Repos

    Recap

    • IoT is already here.
    • Possibilities are endless.
    • Accessible to beginners.
    • Great way to learn new skills.
    • YOU CAN DO THIS!

    Thank you!

    Twitter: @devdevcharlie

    Github: charliegerard

    Blog: charliegerard.github.io/blog

    Medium: @devdevcharlie