ESPHome 2026.1.0-dev
Loading...
Searching...
No Matches
camera_web_server.h
Go to the documentation of this file.
1#pragma once
2
3#ifdef USE_ESP32
4
5#include <cinttypes>
6#include <freertos/FreeRTOS.h>
7#include <freertos/semphr.h>
8
13
14struct httpd_req; // NOLINT(readability-identifier-naming)
15
16namespace esphome {
17namespace esp32_camera_web_server {
18
20
22 public:
25
26 void setup() override;
27 void on_shutdown() override;
28 void dump_config() override;
29 float get_setup_priority() const override;
30 void set_port(uint16_t port) { this->port_ = port; }
31 void set_mode(Mode mode) { this->mode_ = mode; }
32 void loop() override;
33
35 void on_camera_image(const std::shared_ptr<camera::CameraImage> &image) override;
36
37 protected:
38 std::shared_ptr<camera::CameraImage> wait_for_image_();
39 esp_err_t handler_(struct httpd_req *req);
40 esp_err_t streaming_handler_(struct httpd_req *req);
41 esp_err_t snapshot_handler_(struct httpd_req *req);
42
43 uint16_t port_{0};
44 void *httpd_{nullptr};
45 SemaphoreHandle_t semaphore_;
46 std::shared_ptr<camera::CameraImage> image_;
47 bool running_{false};
49};
50
51} // namespace esp32_camera_web_server
52} // namespace esphome
53
54#endif // USE_ESP32
BedjetMode mode
BedJet operating mode.
Listener interface for camera events.
Definition camera.h:46
void on_camera_image(const std::shared_ptr< camera::CameraImage > &image) override
CameraListener interface.
std::shared_ptr< camera::CameraImage > image_
std::shared_ptr< camera::CameraImage > wait_for_image_()
Providing packet encoding functions for exchanging data with a remote host.
Definition a01nyub.cpp:7