HANDS-ON WITH THE INTERNET OF THINGS Daryl Wilding-McBride CTO @ - - PowerPoint PPT Presentation

hands on with the internet of things
SMART_READER_LITE
LIVE PREVIEW

HANDS-ON WITH THE INTERNET OF THINGS Daryl Wilding-McBride CTO @ - - PowerPoint PPT Presentation

HANDS-ON WITH THE INTERNET OF THINGS Daryl Wilding-McBride CTO @ DiUS THE POINT(S) OF THIS TALK Integration of physical and digital is a big wave coming THE POINT(S) OF THIS TALK Integration of physical and digital is a big wave coming We should


slide-1
SLIDE 1

HANDS-ON WITH THE

INTERNET OF THINGS

Daryl Wilding-McBride CTO @ DiUS

slide-2
SLIDE 2

THE POINT(S) OF THIS TALK

Integration of physical and digital is a big wave coming

slide-3
SLIDE 3

THE POINT(S) OF THIS TALK

Integration of physical and digital is a big wave coming We should turn our minds to the new class of application

slide-4
SLIDE 4

THE POINT(S) OF THIS TALK

Integration of physical and digital is a big wave coming We should turn our minds to the new class of application It’s really easy to get started now

slide-5
SLIDE 5
slide-6
SLIDE 6
slide-7
SLIDE 7

– Chris Anderson, 3DRobotics

“It’s only the Internet of Things while it doesn’t work.

  • As soon as it works, it’s a thermostat.”
slide-8
SLIDE 8
slide-9
SLIDE 9
slide-10
SLIDE 10

WHY NOW?

  • WHAT HAS CHANGED?
slide-11
SLIDE 11

Software

  • Open source
  • Ease of use


e.g. BBB IDE

  • Big Data platforms,

tools, technologies Hardware

  • Open source
  • Innovation in cost /

power usage / sophistication

  • Maker movement
  • 3D printing
  • Fabrication services
  • Easy-to-use building

blocks (e.g. Arduino) Culture

  • Drive for greater

effjciency / knowledge / safety

  • Making decisions on

evidence

The confluence enables new classes of applications to be built

slide-12
SLIDE 12

WHY DOES IT MATTER?

slide-13
SLIDE 13

–Jefg Hammerbacher, Facebook’s first data scientist

“The best minds of my generation are thinking about how to make people click ads.

  • That sucks.”
slide-14
SLIDE 14

From a technology perspective, good web software delivery is a solved problem

slide-15
SLIDE 15

From a technology perspective, good web software delivery is a solved problem

  • IoT has lots of unsolved, worthwhile problems that are

very challenging

slide-16
SLIDE 16

From a technology perspective, good web software delivery is a solved problem

  • IoT has lots of unsolved, worthwhile problems that are

very challenging

  • We should get good at solving them
slide-17
SLIDE 17

EXAMPLE PROBLEM

slide-18
SLIDE 18

GRANULARITY

radio modem image sensor electro-perm magnet autopilot search & rescue flying robot GPS receiver magnetometer sensors, radios modules solutions

slide-19
SLIDE 19

GRANULARITY

radio modem image sensor electro-perm magnet autopilot search & rescue flying robot GPS receiver magnetometer sensors, radios modules solutions

slide-20
SLIDE 20

GRANULARITY

radio modem image sensor electro-perm magnet autopilot search & rescue flying robot GPS receiver magnetometer sensors, radios modules solutions

slide-21
SLIDE 21

ABOUT THE UAV OUTBACK CHALLENGE

slide-22
SLIDE 22
slide-23
SLIDE 23
slide-24
SLIDE 24

Kingaroy Airport

slide-25
SLIDE 25

4.5 kms

slide-26
SLIDE 26

2.3 kms

slide-27
SLIDE 27

1.2 kms

slide-28
SLIDE 28

Comms Hold

slide-29
SLIDE 29

ABOUT THE H20-TO-JOE TEAM

slide-30
SLIDE 30
slide-31
SLIDE 31

Pixhawk with PX4: Open-source hardware & software 168 MHz Cortex CPU 2 MB Flash, 256 KB RAM 3-axis accelerometer Gyroscope Magnetometer Barometer Backup processor Runs NuttX RTOS (Posix)

slide-32
SLIDE 32
slide-33
SLIDE 33
slide-34
SLIDE 34
slide-35
SLIDE 35
slide-36
SLIDE 36
slide-37
SLIDE 37
slide-38
SLIDE 38
slide-39
SLIDE 39
slide-40
SLIDE 40
slide-41
SLIDE 41
slide-42
SLIDE 42
slide-43
SLIDE 43
slide-44
SLIDE 44
slide-45
SLIDE 45
slide-46
SLIDE 46

LOOKING INSIDE

slide-47
SLIDE 47

uORB / NuttX

GPS PWM Sensors I/O

Drivers Flight Control

Position Estimator Navigation Estimator ESC GPIO LED App 2 App 1

Custom Apps

Position Controller Navigation Controller Navigator

slide-48
SLIDE 48

actuator_armed.h

  • position_setpoint_triplet.h

actuator_controls.h

  • rc_channels.h

actuator_controls_effective.h safety.h actuator_outputs.h

  • sensor_combined.h

airspeed.h

  • servorail_status.h

battery_status.h

  • subsystem_info.h

debug_key_value.h

  • system_power.h

differential_pressure.h

  • telemetry_status.h

encoders.h

  • vehicle_attitude.h

esc_status.h

  • vehicle_attitude_setpoint.h

estimator_status.h

  • vehicle_bodyframe_speed_setpoint.h

fence.h

  • vehicle_command.h

filtered_bottom_flow.h

  • vehicle_control_debug.h

home_position.h

  • vehicle_control_mode.h

manual_control_setpoint.h

  • vehicle_global_position.h

mission.h

  • vehicle_global_velocity_setpoint.h

mission_result.h

  • vehicle_gps_position.h

navigation_capabilities.h

  • vehicle_local_position.h
  • ffboard_control_setpoint.h
  • vehicle_local_position_setpoint.h
  • mnidirectional_flow.h
  • vehicle_rates_setpoint.h
  • ptical_flow.h
  • vehicle_status.h

parameter_update.h

  • vehicle_vicon_position.h
slide-49
SLIDE 49

/* subscribe to sensor_combined topic */ int sensor_sub_fd = orb_subscribe(ORB_ID(sensor_combined));

  • rb_set_interval(sensor_sub_fd, 1000);
  • /* subscribe to vehicle_attitude topic */

int veh_att_sub_fd = orb_subscribe(ORB_ID(vehicle_attitude));

  • rb_set_interval(veh_att_sub_fd, 1000);
  • /* subscribe to telemetry_status topic */

int telemetry_status_sub_fd = orb_subscribe(ORB_ID(telemetry_status));

  • rb_set_interval(telemetry_status_sub_fd, 1000);
slide-50
SLIDE 50
  • struct pollfd fds[] = {
  • { .fd = sensor_sub_fd,
  • .events = POLLIN },
  • { .fd = veh_att_sub_fd,
  • .events = POLLIN },
  • { .fd = telemetry_status_sub_fd, .events = POLLIN },
  • };
slide-51
SLIDE 51

int poll_ret = poll(fds, 1, 1000); … if (fds[1].revents & POLLIN) {

  • /* obtained data for the first file descriptor */
  • struct vehicle_attitude_s raw;
  • /* copy sensors raw data into local buffer */
  • rb_copy(ORB_ID(vehicle_attitude), veh_att_sub_fd, &raw);
  • printf("[test_app] Attitude:\t%8.4f\t%8.4f\t%8.4f\n",
  • (double)raw.roll,
  • (double)raw.pitch,
  • (double)raw.yaw);

}

slide-52
SLIDE 52

OpenGrab: Carry up to 1kg PWM signal Steady-state power <1mW

slide-53
SLIDE 53

RFD900: Long range >40km 1 Watt (+30dBm) transmit power Open source firmware Small, light weight License free use

slide-54
SLIDE 54

Pixy: ARM Cortex CPUs 1280x800 sensor Tracks 7 colours Minimum object is 4x1 pixels Processes frame every 20ms

slide-55
SLIDE 55

PIXY DEMO

slide-56
SLIDE 56
slide-57
SLIDE 57

WHAT WE’VE LEARNED SO FAR

Resilience is important

  • Prototyping with a 3D printer is liberating
  • Integrating the digital and physical worlds is a whole new

ball game

slide-58
SLIDE 58

GETTING STARTED

slide-59
SLIDE 59

Quadcopter

http://copter.ardupilot.com/wiki/build-your-own-multicopter

  • Wireless Sensor Network

Microcontroller Low-power mesh radio Camera Some other sensors Battery powered

BUILD STUFF

slide-60
SLIDE 60

http://dius.com.au/2013/03/06/getting-my-hands-dirty-with-the-internet-of-things/

slide-61
SLIDE 61

Meetups West Coast Makers

  • Hacker Spaces

The Perth Artifactory

  • Forums

RCGroups.com DIY Drones

HANG OUT WITH LIKE-MINDED PEOPLE

slide-62
SLIDE 62

Arduino Yun: 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

slide-63
SLIDE 63

Arduino Environment Linux Environment

slide-64
SLIDE 64

HOPEFULLY, I’VE CONVINCED YOU ...

Integration of physical and digital is a big wave coming We should turn our minds to the new class of application It’s really easy to get started now

slide-65
SLIDE 65

YOW! CONNECTED

September 8-9 2014 in Melbourne

  • Streams:

Internet of Things Mobile, Android and iOS

  • Call For Papers Closes: 30th May
  • http://connected.yowconference.com.au
slide-66
SLIDE 66

STAYING IN TOUCH

Daryl Wilding-McBride

  • dwm@dius.com.au

@DarylWMcB

  • http://dius.com.au