Embedded WebRTC for IoT Applications
WebRTC is a real-time communication protocol that is widely used by internet browsers. Browsers that support WebRTC are able to use a java script API to establish audio and video sessions with other devices that support the WebRTC protocol. Because the protocol is open, it can be implemented on any device with enough computing resources to handle real-time communication. There are many small embedded processors that meet the requirements, so WebRTC can be integrated into internet of things (IoT) applications. With the right supporting infrastructure, real-time communication sessions can be opened directly between internet browsers and embedded devices.
This article presents one possible architecture for an embedded WebRTC system. The goal is to allow someone using a standard PC web browser that supports WebRTC to establish two-way communication with an embedded device. The communication is facilitated by an HTML server with a known address. The embedded device must periodically register with the HTML server so its address is known to the server. To start a session, the PC web browser requests a webpage from the server. The webpage contains the java script necessary to start the WebRTC session, and the address of the embedded device. When the browser runs the java script, two-way communication is established.