Concept and Architecture - IoT
The IoT SDK provides tools and APIs for enabling real-time communication directly through IoT devices. It allows a user to join meetings, share and receive audio streams, and interact with other participants, including AI agents, using lightweight devices such as ESP boards.
Concepts
1. Meeting / Room
Meeting or Room object in the VideoSDK provides a virtual place for participants to interact and engage in real-time audio session. The object is in charge of handling media streams and participant communication.
- To create a meeting room refer
Meeting Initialization
2. Participant
-
A participant represents a user in the meeting and can share or receive audio streams via the IoT SDK.
-
2.1
Local Participant
:- The local participant represents the user on the ESP device using the IoT SDK.
- The user on the ESP device controls their own audio streams and can also receive audio from others in real time.
-
2.2
Remote Participant
:- A remote participant is any other participant in the meeting apart from the user.
- The user can subscribe to the audio stream of the remote participant.
-
Each participant is uniquely identified by a ParticipantId in the meeting.
3. Session
- A Session is the instance of an ongoing meeting/room which has one or more participants in it. A single room or meeting can have multiple sessions.
- Each session can be uniquely identified by
sessionId
.
4. AudioStream
- An audio stream is a continuous flow of sound data transmitted in real time, allowing participants to hear and communicate instantly in a meeting.
- Publish Audio
- The user captures audio through the ESP device and shares it in real time.
- To publish audio refer this
Publish_Audio
- Subscribe Audio
- The user receives audio and plays it through the ESP device.
- To Subscribe audio refer this
Subscribe_Audio
Architecture
This diagram illustrates the complete interaction of a user joining a meeting through the IoT SDK on an ESP device. It covers sending a join request to the server, publishing and subscribing to audio streams, and leaving the meeting, showing how the SDK and server coordinate to enable seamless real-time communication.

Got a Question? Ask us on discord