Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Example for ESP32-S3-BOX which receives an MJPEG stream from the camera-streamer app over WiFi and displays it on the screen.

License

Notifications You must be signed in to change notification settings

esp-cpp/camera-display

Repository files navigation

camera-display

Example for ESP32-S3-BOX (docs), ESP32-S3-BOX-3(mouser), and LilyGo T-Deck which receives an MJPEG camera stream from the camera-streamer app over WiFi and displays them on the screen.

To facilitate discovery, this sample uses mDNS to find the camera-streamer app (or any RTSP server that advertises itself as _rtsp._tcp.local).

Table of Contents

rtsp_client_server_compressed.mp4

image image

Use

You must first program your hardware. Afterwards, you can configure it via a USB connection using its built-in CLI.

Program

Download the release programmer executable from the latest releases page for windows, macos, or linux - depending on which computer you want to use to perform the one-time programming. There are a few programmers pre-built for either the ESP-BOX or the LilyGo T-Deck.

  1. Download the programmer
  2. Unzip it
  3. Double click the exe (if windows), or open a terminal and execute it from the command line ./camera-display-<hardware>_programmer_v2.0.0_macos.bin, where hardware is one of esp-box or t-deck.

Configure

To configure it, simply connect it to your computer via USB and open the serial port in a terminal (e.g. screen, PuTTY, etc.) at 115200 baud. Once there, you can use it as you would any other CLI - and the help command will provide info about the commands available.

Any SSID/Password you set will be securely saved in the board's NVS, which is managed by the ESP-IDF WiFi subsystem.

CleanShot 2025年06月23日 at 08 19 20

sta> help
Commands available:
 - help
	This help message
 - exit
	Quit the session
 - log <verbosity>
	Set the log verbosity for the wifi sta.
 - connect
	Connect to a WiFi network with the given SSID and password.
 - connect <ssid> <password>
	Connect to a WiFi network with the given SSID and password.
 - disconnect
	Disconnect from the current WiFi network.
 - ssid
	Get the current SSID (Service Set Identifier) of the WiFi connection.
 - rssi
	Get the current RSSI (Received Signal Strength Indicator) of the WiFi connection.
 - ip
	Get the current IP address of the WiFi connection.
 - connected
	Check if the WiFi is connected.
 - mac
	Get the current MAC address of the WiFi connection.
 - bssid
	Get the current BSSID (MAC addressof the access point) of the WiFi connection.
 - channel
	Get the current WiFi channel of the connection.
 - config
	Get the current WiFi configuration.
 - scan <int>
	Scan for available WiFi networks.
 - memory
	Display minimum free memory.
 - stats
	Display RTSP client statistics.

Development

If you wish to modify / recompile the code, you will need to set up your development environment to be able to build and flash your target hardware.

Environment

This project is an ESP-IDF project, currently ESP-IDF v.5.5.1.

For information about setting up ESP-IDF v5.5.1, please see the official ESP-IDF getting started documentation.

Build and Flash

Build the project and flash it to the board, then run monitor tool to view serial output:

idf.py -p PORT flash monitor

(Replace PORT with the name of the serial port to use.)

(To exit the serial monitor, type Ctrl-].)

See the Getting Started Guide for full steps to configure and use ESP-IDF to build projects.

Hardware

This sample is designed to run on the ESP32-S3-BOX, ESP32-S3-BOX-3, and LilyGo T-Deck all of which have a 320x240 LCD (over SPI) running on a ESP32-S3.

Software

This sample has two main tasks:

  1. RTSP client that receives mjpeg frames split into RTP packets, turns them back into JPEG images, and pushes them into a queue.
  2. Display task, which pulls image data from the queue, decodes the jpeg, and displays it on the screen.

It is built with these libraries:

About

Example for ESP32-S3-BOX which receives an MJPEG stream from the camera-streamer app over WiFi and displays it on the screen.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

AltStyle によって変換されたページ (->オリジナル) /