esp32

Example of the component sepfy/libpeer v0.0.2
# ESP32
This guide demonstrates how to stream JPEG images over a WebRTC data channel using ESP32 hardware.

## Supported Devices
| Device |Image|
|---|---|
| [XIAO ESP32S3 Sense](https://wiki.seeedstudio.com/xiao_esp32s3_getting_started/) |<img src="https://files.seeedstudio.com/wiki/SeeedStudio-XIAO-ESP32S3/img/xiaoesp32s3sense.jpg" width="64">|
| [ESP32-EYE](https://github.com/espressif/esp-who/blob/master/docs/en/get-started/ESP-EYE_Getting_Started_Guide.md) |<img src="https://www.espressif.com/sites/default/files/esp-eye-2-190116.png" width="64">|
| [M5Camera](https://github.com/m5stack/M5Stack-Camera) |<img src="https://static-cdn.m5stack.com/resource/docs/products/unit/m5camera/m5camera_01.webp" width="64">|

## Setup Instructions

### Install esp-idf (v5.2 or higher)
```bash
$ git clone -b v5.2.2 https://github.com/espressif/esp-idf.git
$ cd esp-idf
$ source install.sh
$ source export.sh
```

### Download Required Libraries
```bash
$ git clone https://github.com/sepfy/libpeer
$ cd libpeer/examples/esp32
```

### Configure Your Build
```bash
$ idf.py menuconfig
# Choose Example Connection Configuration and change the SSID and password
```

### Build the Project
```bash
$ idf.py build
```

### Flash and Test
```bash
$ idf.py flash
```
Monitor the serial port output:
```
I (10813) Camera: Camera Task Started
I (10813) webrtc: peer_signaling_task started
I (10813) webrtc: peer_connection_task started
I (10823) webrtc: [APP] Free memory: 3882160 bytes
I (10823) webrtc: open https://sepfy.github.io/webrtc?deviceId=esp32-xxxxxxxxxxxx
```
Open your browser and navigate to the URL provided in the serial port output:
![image](https://github.com/sepfy/libpeer/assets/22016807/46df15b1-9e28-4a6b-bf0a-4f676778cf7d)

To create a project from this example, run:

idf.py create-project-from-example "sepfy/libpeer=0.0.2:esp32"

or download archive (~123 bytes)