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 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
“It’s only the Internet of Things while it doesn’t work. � As soon as it works, it’s a thermostat.” – Chris Anderson, 3DRobotics
WHY NOW? � WHAT HAS CHANGED?
Software Hardware Culture • Open source • Open source • Drive for greater • Ease of use • Innovation in cost / e ffj ciency / e.g. BBB IDE power usage / knowledge / safety • Big Data platforms, • Making decisions on sophistication • Maker movement tools, technologies evidence • 3D printing • Fabrication services • Easy-to-use building blocks (e.g. Arduino) The confluence enables new classes of applications to be built
WHY DOES IT MATTER?
“The best minds of my generation are thinking about how to make people click ads. � That sucks.” –Je fg 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 should get good at solving them
EXAMPLE PROBLEM
GRANULARITY search & solutions rescue flying robot modules autopilot magnetometer sensors, image sensor radio modem radios electro-perm magnet GPS receiver
GRANULARITY search & solutions rescue flying robot modules autopilot magnetometer sensors, image sensor radio modem radios electro-perm magnet GPS receiver
GRANULARITY search & solutions rescue flying robot modules autopilot magnetometer sensors, image sensor radio modem radios electro-perm magnet GPS receiver
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
Flight Control Custom Apps Position Position Navigation Navigation Navigator App 1 App 2 Estimator Controller Estimator Controller uORB / NuttX GPS PWM Sensors I/O ESC GPIO LED Drivers
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 � offboard_control_setpoint.h �� � vehicle_local_position_setpoint.h � omnidirectional_flow.h � � � � � vehicle_rates_setpoint.h � optical_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)); � orb_set_interval(sensor_sub_fd, 1000); � � /* subscribe to vehicle_attitude topic */ � int veh_att_sub_fd = orb_subscribe(ORB_ID(vehicle_attitude)); � orb_set_interval(veh_att_sub_fd, 1000); � � /* subscribe to telemetry_status topic */ � int telemetry_status_sub_fd = orb_subscribe(ORB_ID(telemetry_status)); � orb_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 */ � � orb_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
BUILD STUFF Quadcopter http://copter.ardupilot.com/wiki/build-your-own-multicopter � � Wireless Sensor Network Microcontroller Low-power mesh radio Camera Some other sensors Battery powered
http://dius.com.au/2013/03/06/getting-my-hands-dirty-with-the-internet-of-things/
HANG OUT WITH LIKE-MINDED PEOPLE Meetups West Coast Makers � Hacker Spaces The Perth Artifactory � Forums RCGroups.com DIY Drones
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
Recommend
More recommend