ESPHome 2026.6.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
17
19
21 public:
24
25 void setup() override;
26 void on_shutdown() override;
27 void dump_config() override;
28 float get_setup_priority() const override;
29 void set_port(uint16_t port) { this->port_ = port; }
30 void set_mode(Mode mode) { this->mode_ = mode; }
31 void loop() override;
32
34 void on_camera_image(const std::shared_ptr<camera::CameraImage> &image) override;
35
36 protected:
37 std::shared_ptr<camera::CameraImage> wait_for_image_();
38 esp_err_t handler_(struct httpd_req *req);
39 esp_err_t streaming_handler_(struct httpd_req *req);
40 esp_err_t snapshot_handler_(struct httpd_req *req);
41
42 uint16_t port_{0};
43 void *httpd_{nullptr};
44 SemaphoreHandle_t semaphore_;
45 std::shared_ptr<camera::CameraImage> image_;
46 bool running_{false};
48};
49
50} // namespace esphome::esp32_camera_web_server
51
52#endif // USE_ESP32
BedjetMode mode
BedJet operating mode.
Listener interface for camera events.
Definition camera.h:45
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_()