Skip to main content
Version: 0.0.x

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.

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.

img.png

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.

ViewAudience

Got a Question? Ask us on discord