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 @ - - 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
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 turn our minds to the new class of application
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
– Chris Anderson, 3DRobotics
“It’s only the Internet of Things while it doesn’t work.
- As soon as it works, it’s a thermostat.”
WHY NOW?
- WHAT HAS CHANGED?
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
WHY DOES IT MATTER?
–Jefg Hammerbacher, Facebook’s first data scientist
“The best minds of my generation are thinking about how to make people click ads.
- That sucks.”
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 should get good at solving them
EXAMPLE PROBLEM
GRANULARITY
radio modem image sensor electro-perm magnet autopilot search & rescue flying robot GPS receiver magnetometer sensors, radios modules solutions
GRANULARITY
radio modem image sensor electro-perm magnet autopilot search & rescue flying robot GPS receiver magnetometer sensors, radios modules solutions
GRANULARITY
radio modem image sensor electro-perm magnet autopilot search & rescue flying robot GPS receiver magnetometer sensors, radios modules solutions
ABOUT THE UAV OUTBACK CHALLENGE
Kingaroy Airport
4.5 kms
2.3 kms
1.2 kms
Comms Hold
ABOUT THE H20-TO-JOE TEAM
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)
LOOKING INSIDE
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
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
/* 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);
- struct pollfd fds[] = {
- { .fd = sensor_sub_fd,
- .events = POLLIN },
- { .fd = veh_att_sub_fd,
- .events = POLLIN },
- { .fd = telemetry_status_sub_fd, .events = POLLIN },
- };
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);
}
OpenGrab: Carry up to 1kg PWM signal Steady-state power <1mW
RFD900: Long range >40km 1 Watt (+30dBm) transmit power Open source firmware Small, light weight License free use
Pixy: ARM Cortex CPUs 1280x800 sensor Tracks 7 colours Minimum object is 4x1 pixels Processes frame every 20ms
PIXY DEMO
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
GETTING STARTED
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
http://dius.com.au/2013/03/06/getting-my-hands-dirty-with-the-internet-of-things/
Meetups West Coast Makers
- Hacker Spaces
The Perth Artifactory
- Forums
RCGroups.com DIY Drones
HANG OUT WITH LIKE-MINDED PEOPLE
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
Arduino Environment Linux Environment
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
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
STAYING IN TOUCH
Daryl Wilding-McBride
- dwm@dius.com.au
@DarylWMcB
- http://dius.com.au