IoT and WebRTC

365 views

Published on

WebRTC can be about so much more than video chat, and we're just starting to see the potential of WebRTC in the Internet of Things. In this talk we will discuss how WebRTC can be used in IoT applications for a variety of use cases, including remote sensors, telehealth, and integration of Google Glass. To see the blog post and explanation that goes with these slides, please visit: https://webrtc.ventures/2016/03/iot-and-webrtc-presentation/

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
365
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
15
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • WebRTC can be about so much more than video chat, and we're just starting to see the potential of WebRTC in the Internet of Things. Today I want to discuss how WebRTC could be used in IoT applications for a variety of use cases, including remote sensors, telehealth, and integration of Google Glass. My name is Arin Sime, and I’m founder of WebRTC.ventures – we’re a custom design & development shop specializing in WebRTC applications, and I’m also editor of RealTimeWeekly, a newsletter on real time technologies such as WebRTC.
  • Have any of you seen this particular stock photo before? I am personally guilty of using this one in way too many WebRTC talks, and so I’m going to try and minimize the number of generic video chat images in this presentation. When talking about the Internet of Things, there is a lot more going on than video, though obviously video is still a factor in why WebRTC is appealing for IoT apps so we can’t get away from it entirely. My goal in this talk is to give you a little inspiration for the many ways we could incorporate WebRTC into IoT applications.
  • The Data Channel built into WebRTC is one of the big reasons that WebRTC is much more flexible than just video chat.
  • We could use Data Channels for basically anything you want to use WebSockets for – the difference is that anything you send over the data channel will be encrypted and peer to peer. So you have more security than a Web Sockets server, and less traffic on that server since it’s peer to peer. The most common use of the Data Channel in WebRTC apps is to provide the text chat that goes along with the video chat, but we could also use that channel for sending emergency alerts, data sensor measurements, or to send commands to devices that we want to control.
  • Telehealth is one area where I see WebRTC and the Internet of Things colliding in the future. We already see a plethora of wearable personal fitness devices that stream data up to the cloud for your personal use and analysis. It makes sense that in the near future we will see more medical devices that go home with patients which will also stream data back to the hospital or to their doctors. So the Internet of Things and healthcare is already starting.

    Likewise, telehealth is a major industry vertical for WebRTC. The secure and encrypted peer to peer nature of WebRTC has made it very attractive to those looking to connect medical care providers with remote patients.
  • And so an intersection of WebRTC and the IoT, specifically for medical devices, is definitely coming soon. We've had a number of potential clients talk to us about integrating other data into a WebRTC based telehealth session. One quick example that I'd like to show you is our client MedZed, whose PACTVideo solution integrates the typical 1-1 video chat with an additional exam camera and a live audio feed from a digital stethoscope.
  • In addition, we can imagine many other types of sensor data being integrated into these conversations in the future. For example, we experimented last year with the heart rate monitor on an Apple Watch and made a demo app to detect a heart attack and automatically contact your loved ones via SMS and an automated phone call. There was no WebRTC in that prototype we built, but you could easily imagine incorporating a WebRTC video chat into this as well through a native app on the iPhone that your Apple Watch is connected to.
  • If you don’t mind me including Google Glass in the list of “Things” devices, I think it’s important.
  • The first version of the Glass was a flop with consumers, but Google has announced plans to make the next version with a focus on commercial business uses, like in warehouses and factories. A glass has uses in telehealth and remote surgery like this demo video shows. We could also use one for remote support of field technicians.

    HCview Demo by Paul Szotek:
    https://youtu.be/tqxLGf-3imk
  • Developing for the Google Glass with WebRTC is a challenge though. In this video my business partner David is experimenting with live streaming from a Google Glass via WebRTC. In a minute, he’ll mix up a Grasshopper drink while wearing his Google Glass.

    When building this test app, we ran into a lot of technical challenges. The first version of the Glass doesn’t have a lot of processing power, and it overheats quickly. So trying to maintain high quality color video is a real challenge, and the connection often dropped as a result.

    https://vimeo.com/156397171

    Starting point for android: https://github.com/pchab/AndroidRTC
    Startint point for web: https://github.com/pchab/ProjectRTC
  • This is the basic architecture you’ll need to do something similar. The Glass pairs up with an Android phone, and so you need an app for that phone which will handle the signaling back to where ever you are sending video. In our case that’s a NodeJS server, with socket.io based signaling. Visitors to the site will then be established with the Google Glass on a Peer to Peer WebRTC connection.
  • Video annotation is an interesting way to consider the intersection of IoT and WebRTC. This image is from a TokBox announcement of their video annotation library. As shown in the photo, video annotation could be used by a technician in the field and an expert back at the headquarters. The expert at headquarters might want to use annotation to show where they are talking about on the video feed.

    That’s a great use of annotation, but in an IoT scenario, we might want the device to use annotation capabilities to overlay data on top of the video feed or to highlight particular areas of the video feed. Perhaps the video feed is of a wide view security camera, and the IoT device wants to highlight which door was just opened.
  • That brings me to the idea of using WebRTC for home automation or home security….
  • Our colleague Chad Hart used WebRTC to build this fun app for a TADHack – with his ThirdEye app he was able to gather convincing evidence that his daughter is the one leaving the fridge door open.
  • But beyond keeping Chad’s fridge closed, WebRTC certainly has a role in home security. The iCamPro is an example of one commercially available security camera that uses WebRTC, and also incorporates motion detection and tracking of moving objects in the room.
  • I’ve had trouble finding examples of the use of WebRTC in industrial settings. Is that an indication that there’s no valid application of the technology in this case, or that it’s simply an untapped opportunity? I’m not sure to be honest, but combining sensor data and video together with WebRTC makes a lot of sense to me at least. Perhaps using Websockets is just simpler to get real time sensor data from devices out to clients consuming that data. But it seems to me that there is still room for WebRTC in many situations where you want that data to trigger the use of video or augment that video. For example, let’s imagine that a temperature sensor indicates I’ve got a machine overheating on the factory floor. We could use that data to trigger a video camera showing us if the machine is smoking, on fire, or jammed up somehow.
  • On a similar note, there is a lot of opportunity for combining video with data and control in robotics or drones. The video that I’m playing here shows a robot demo that someone built using a Raspberry Pi and an Android phone to control an RC car and turn it into a video streaming car. I’ve left a link here in the slides to the complete tutorial published on Instructables showing how to do this yourself.

    Skedans presented at the KrankyGeek WebRTC event in San Francisco last year, and they are certainly a player to watch in this space. They acquired EasyRTC and are using it to combine WebRTC with an IoT and Robotics platform for use in drones and public safety applications. I think this is an area ripe for growth, so I expect we’ll see more combinations of WebRTC and robotics in the future.

    RC Creeper Drone Video: https://www.youtube.com/watch?v=fUkK5v_VtI0
    Complete Instructable: http://www.instructables.com/id/WebRTC-Creeper-Drone-Browser-Controlled-RC-Car/

    Skedans Acquires EasyRTC:
    https://skedans.com/news/article/skedans-acquires-easyrtc-to-accelerate-communications-collaboration-for-dro
  • One interesting note about the architecture of this creeper drone in the previous video is that when you use something like WebSockets for the signaling to establish a WebRTC video/audio stream, now you have a choice. Should you use WebSockets for commands and other data, or should you use the WebRTC Data Channel? In this particular prototype, the author used WebSockets to send the drive commands. They could have used the WebRTC Data Channel instead. On the one hand, maybe it’s an unnecessary layer of complexity, but it does have the extra Peer to Peer and encrypted benefits of WebRTC. So that’s a choice you’ll need to make, in my opinion, if you are using WebRTC for video/audio in an IoT app, then also using the DataChannel makes a lot of sense.
  • One last fun example that I wanted to show you is this street cleaning prototype, developed by Altanai Bisht, author of the WebRTC Integrators Guide from PACKT publishing. She put together this prototype at a barcamp in Bangalore, and it uses a Raspberry Pi to control the motors for driving the bot from a web browser, and to turn the cleaner brushes. A Raspberry Pi camera unit is used to stream the video back to the driver’s web site.

    https://youtu.be/iZzjLxmx0D8
    https://altanaitelecom.wordpress.com/
    https://barcampbangalore.org/bcb/monsoon-2015/bot-to-do-outdoor-cleaning-iot-webrtc-ai
  • So I hope this little bit of time together has inspired you that there is a lot you can do with WebRTC besides just video chat. The Internet of Things is still in its infancy, just like WebRTC. Typical video chat apps will probably remain the bread and butter for those of us building WebRTC applications for some time, but combining the IoT with WebRTC is going to create lots more opportunity for innovation beyond just browser video chat. So please let me know what sorts of cool things you put WebRTC into!
  • IoT and WebRTC

    1. 1. @ArinSime WebRTC.ventures WebRTC Boston March 2016 Putting WebRTC in Things
    2. 2. The Last Video Chat Stock Photo At least I’ll try…
    3. 3. Data Channel
    4. 4. Data Channel Sensor Measurements Device Control Text Chat Emergency Alerts
    5. 5. Exam Cameras Sound Sources Data Sources WebRTC Things in Telehealth h
    6. 6. WebRTC Things in Telehealth
    7. 7. WebRTC Things in Telehealth https://webrtc.ventures/2015/10/apple-watch-heart-rate-monitor/
    8. 8. That Glass Thing • Warehouses • Industrial Uses • Field Support • Telehealth • Remote Support
    9. 9. Google Glass • Warehouse s • Industrial • Field Support • Telehealth • Remote HCView demo using Google Glass, by Paul Szotek https://youtu.be/tqxLGf-3imk
    10. 10. Glass Challenges • Video Quality • Grayscale video • Device Heat • CPU usage • Keeping the connection open https://vimeo.com/156397171
    11. 11. Glass Livestreaming Architecture • Our livestreaming starting point: AndroidRTC & ProjectRTC from pchab on GitHub • Compiled WebRTC google source code • Socket.io for signaling • Node.js web client Google Glass Android app NodeJS server Browser Viewer Paired devices signaling
    12. 12. Video Annotation • By a person • Or by a device? • Data overlay • Highlight problems
    13. 13. : WebRTC in Home Automation?
    14. 14. WebRTC in Home Automation? http://blog.tadhack.com/2015/07/20/marketing-guy-won-tadhack-thirdeye/
    15. 15. WebRTC in Home Security iCamPro from Amaryllo incorporates motion detection and tracking
    16. 16. Industrial WebRTC Uses Why not use sensor data and video together?
    17. 17. Robotics/Drones • Skedans - IoT/Robotics/WebRTC platform based on acquisition of EasyRTC • Future growth http://www.instructables.com/id/WebRTC-Creeper-Drone-Browser-Controlled-RC-Car/ Android phone, Raspberry Pi, WebRTC Instructables tutorial by vace117
    18. 18. http://www.instructables.com/id/WebRTC-Creeper-Drone-Browser-Controlled-RC-Car/step2/Architecture-and-Design/ Android phone, Raspberry Pi, WebRTC Instructables tutorial by vace117
    19. 19. Street Cleaner Bot • Barcamp Bangalore Project by Altanai Bisht • Raspberry Pi • WebRTC Altanai Bisht, https://youtu.be/iZzjLxmx0D8 altanaitelecom.wordpress.com
    20. 20. @ArinSime WebRTC.ventures Arin@AgilityFeat.com RealTimeWeekly.co What WebRTC Things will you build?

    ×