773
|
1 # device is https://www.amazon.com/ESP32-CAM-Bluetooth-Camera-Module-Development/dp/B07S5PVZKV/ref=sr_1_3
|
|
2
|
|
3 # has no rst pin, so
|
|
4 # 1. connect DTR to IO0
|
|
5 # 2. inv monitor-usb --board office_back_cam
|
|
6 # 3. press reset button
|
|
7 # 4. ctrl-c, inv program-board-over-usb --board office_back_cam
|
|
8
|
|
9 # mosquitto_sub -v -t office_back_cam/status
|
|
10
|
|
11 # bang(pts/15):/my/proj/homeauto/espNode% catchsegv ./readcam.py --cam office_back_cam --port 10021
|
|
12
|
|
13
|
|
14
|
|
15 esphome:
|
|
16 name: office_back_cam
|
|
17 platform: ESP32
|
|
18 board: esp32cam
|
|
19 build_path: build
|
|
20
|
|
21 wifi:
|
|
22 ssid: !secret wifi_ssid
|
|
23 password: !secret wifi_password
|
|
24 domain: ''
|
|
25 use_address: '10.2.0.35'
|
|
26
|
|
27 mqtt:
|
|
28 broker: '10.2.0.1'
|
|
29 port: 1883
|
|
30 username: ''
|
|
31 password: ''
|
|
32
|
|
33 logger:
|
|
34 baud_rate: 115200
|
|
35 level: DEBUG
|
|
36
|
|
37 ota:
|
|
38
|
|
39 api:
|
|
40 port: 6053
|
|
41 password: 'MyPassword'
|
|
42
|
|
43 # https://randomnerdtutorials.com/esp32-cam-ai-thinker-pinout/
|
|
44 esp32_camera:
|
|
45 external_clock:
|
|
46 pin: GPIO0
|
|
47 frequency: 20MHz
|
|
48 i2c_pins:
|
|
49 sda: GPIO26
|
|
50 scl: GPIO27
|
|
51 data_pins: [GPIO5, GPIO18, GPIO19, GPIO21, GPIO36, GPIO39, GPIO34, GPIO35]
|
|
52 vsync_pin: GPIO25
|
|
53 href_pin: GPIO23
|
|
54 pixel_clock_pin: GPIO22
|
|
55 power_down_pin: GPIO32
|
|
56
|
|
57 name: camera
|
|
58
|
|
59 # https://github.com/esphome/esphome/blob/dev/esphome/components/esp32_camera/esp32_camera.cpp#L265 says a 'stream' is 5 sec long
|
|
60
|
|
61 # setting to 5 causes 'Setup Failed: ERROR'
|
|
62 max_framerate: 4 fps
|
|
63 # https://github.com/raphaelbs/esp32-cam-ai-thinker#capabilities says camera
|
|
64 # is likely ov2640 with these native resolutions:
|
|
65 # uxga=1600x1200 svga=800x600 cif=400x296
|
|
66
|
|
67 # 160x120 (QQVGA) 'Got invalid frame', then no more
|
|
68 # 128x160 (QQVGA2)
|
|
69 # 176x144 (QCIF) fps: 25 jpg: 20 img: 2KB burst of frames then stopped.
|
|
70 # fps: 20 jpg: 20 no frames
|
|
71 # 240x176 (HQVGA)
|
|
72 # 320x240 (QVGA) fps: 10 jpg: 20 some frames, 4.5KB
|
|
73 # 400x296 (CIF)
|
|
74 # 640x480 (VGA) fps: 4 jpg: 10 works, 20KB
|
|
75 # 800x600 (SVGA)
|
|
76 # 1024x768 (XGA)
|
|
77 # 1280x1024 (SXGA) fps: 1 works
|
|
78 # 1600x1200 (UXGA)
|
|
79
|
|
80 resolution: 640x480
|
|
81
|
|
82 # 10 to 63. default=10. higher is
|
|
83 # worse. https://github.com/esphome/esphome/blob/6682c43dfaeb1c006943ae546145e5f22262cadb/esphome/components/esp32_camera/__init__.py#L84
|
|
84 # sets the lower limit to 10, but
|
|
85 # https://github.com/raphaelbs/esp32-cam-ai-thinker/blob/master/components/ov2640/sensors/ov2640.c#L345
|
|
86 # suggests that it might be 0 (for an ov2640, anyway).
|
|
87 jpeg_quality: 10
|
|
88
|
|
89 output:
|
|
90 - platform: gpio
|
|
91 pin: GPIO4
|
|
92 id: gpio_4
|
|
93
|
|
94 light:
|
|
95 - platform: fastled_clockless
|
|
96 chipset: WS2812B
|
|
97 pin: GPIO13
|
|
98 num_leds: 1
|
|
99 rgb_order: GRB
|
|
100 name: "strip"
|
|
101 # - platform: monochromatic
|
|
102 # name: "flash"
|
|
103 # output: flash_out
|
|
104 - platform: binary
|
|
105 output: gpio_4
|
|
106 name: flash
|
|
107
|
|
108
|
|
109 dallas:
|
|
110 - pin: GPIO15
|
|
111 update_interval: 10s
|
|
112
|
|
113 sensor:
|
|
114 - platform: dallas
|
|
115 index: 0
|
|
116 name: temperature
|
|
117
|
|
118 # output:
|
|
119 # - platform: ledc
|
|
120 # id: flash_out
|
|
121 # pin: GPIO4
|
|
122 # frequency: 19531Hz
|