当前位置: 首页 > news >正文

ESP32CAM通过ESPHome接入HomeAssistant(含无线刷固件等)

参考了不少教程,有些教程说的不够明白,而且很多教程都设置了vip (╯‵□′)╯︵┻━┻,还是自己整理一份好了
我的上一篇关于HomeAssistant安装教程可以看这里
ESP32CAM用的是安信可的,也就是和这篇文章的相同

1.安装ESPHome

  • 很多教程没说清楚HomeAssistant和ESPHome的关系,大部分教程的HA都是Supervised版本的,也就是直接安装在物理机上的,如果不是Supervised版本,对于刚玩ESPHome的会一脸懵,怎么找半天没有【加载项】呢?
  • ESPHome是一个单独的服务,需要单独运行的,而Supervised版本的HA可以在HA中直接安装、运行ESPHome,而对于其他的版本的如容器版本,就需要单独跑一个ESPHome了
  • 为了图方便,我将HA装在了docker中,就意味着阉割了一部分功能,包括在【加载项】中安装ESPHome,如果你的HA是Supervised版本那直接搜索安装即可,我这里就以安装在docker为例
  • HA各版本区别可以看这个图在这里插入图片描述

docker ESPHome安装命令:

docker pull esphome/esphome
docker run -itd  -v /xxxx/esphome/config:/config -v /etc/localtime:/etc/localtime:ro -e USERNAME=设置帐号 -e PASSWORD=设置密码 -p 6052:6052 --restart=always --name esphome esphome/esphome

-v /xxxx/esphome/config:/config根据自己实际情况改路径
-e USERNAME=设置帐号 -e PASSWORD=设置密码设置ESPHome的登录账户

2.ESP32CAM配置文件

ESPHome安装完毕后,输入帐号密码进入首页,点【New device】新增设备,第一次登录会让你输入你的wifi用户名和密码,后面固件的配置文件会自动带入

在这里插入图片描述
点CONTINUE,然后输入设备名字,根据自己喜好去写即可
在这里插入图片描述
选择设备,选ESP32,下面的Use recommended settings取消勾选的话,可以选择详细设备,其实这里勾选什么都无所谓,反正配置文件我们会去修改它
在这里插入图片描述

选择后点SKIP,不要INSTALL,还需要修改配置
这是我的配置,如果是用安信可的ESP32CAM模块,基本上不用改

在这里插入图片描述

详细配置如下

esphome:name: esp32camfriendly_name: esp32camesp32:board: esp32camframework:type: arduino# Enable logging
logger:# Enable Home Assistant API
api:encryption:key: "自动生成的key"ota:- platform: esphomepassword: "自动生成的password"wifi:ssid: !secret wifi_ssidpassword: !secret wifi_password# Enable fallback hotspot (captive portal) in case wifi connection failsap:ssid: "如果wifi链接失败的热点"password: "热点密码"captive_portal:esp32_camera:external_clock:pin: GPIO0frequency: 20MHzi2c_pins:sda: GPIO26scl: GPIO27data_pins: [GPIO5, GPIO18, GPIO19, GPIO21, GPIO36, GPIO39, GPIO34, GPIO35]vsync_pin: GPIO25href_pin: GPIO23pixel_clock_pin: GPIO22power_down_pin: GPIO32name: Camera01 #连接HomeAssistant后显示的名称,可以更改#####FrameSettings帧设置#max_framerate:10#最大帧速率,最大60,默认10fps#idle_framerate:0.1#无请求时帧速率,默认0.1fps#####Imagesettings图片设置#resolution:640x480#分辨率默认640*480#jpeg_quality:10#图片质量默认10,10最好63最差vertical_flip: false #是否垂直翻转图像,默认值为truehorizontal_mirror: false #是否水平镜像图像,默认值为true#contrast:0#对比度,-2到2,默认为0brightness: 1 #亮度默认为0,-2到2#saturation:0#饱和度默认为0,-2到2#special_effect:none#图片效果默认为none#####ExposureSettings曝光设置#aec_mode:auto#曝光模块的模式,默认auto#aec2:false#是否启用自动曝光控制,默认false#ae_level:0#自动曝光级别,默认为0,-2到2#aec_value:300#曝光值,0到1200,默认300####SensorGainSettings传感器增益设置:#agc_mode:auto#增益控制模块的模式,默认值auto#agc_value:0:#应用于图片的增益值,默认0,0到30#agc_gain_ceiling:2x#似乎充当“ISO”设置,默认值2x,相机灵敏度低,画面干净无噪点,最大128x####WhiteBalanceSetting白平衡设置:#wb_mode:auto#白平衡模式,默认值为auto####Automations自动化:#on_stream_start#在流启动时执行的自动化。#on_stream_stop#在流停止时执行的自动化。####TestSetting测试设置#test_pattern:false#出于测试目的,可以用测试颜色模式替换从传感器获取的图片,默认false

这里的配置主要是根据这篇文章里的,关于摄像头的配置很全了,可以根据需要进行修改
和ESPHome自动生成的配置相比,主要就是增加esp32_camera配置,其他的根据自己实际情况改即可

3.烧写固件

选择Install

在这里插入图片描述

ESPHome提供了几种固件烧录方式(从上到下)

  • 无线刷固件,需要你的ESP32CAM模块已接入了和你的ESPHome同一个网络,并有IP了才能够使用,第一次通常不会用这个方式(ESP32CAM模块都还没能连上wifi呢=。=)
  • 将模块连接到现在在用的电脑上刷固件,即连接到客户端刷固件
  • 将模块连接到跑ESPHome的电脑上刷固件,即连接到服务端刷固件。这个和上面的区别在于:假设你的ESPHome跑在群晖或者树莓派上,如果你想把ESP32CAM模块连接到群晖或者树莓派上刷固件,那么就选择这一项;如果你想把ESP32CAM模块连接到自己的电脑,然后浏览器访问ESPHome来刷固件,就选择上面那项(第二项)
  • 下载固件自己手动通过刷固件工具去刷

这里我仅演示第一种和第二种方式,因为第二种和第三种类似,所以不赘述了,第四种网上教程很多,也可以参考这篇文章,挺全的了,也不赘述

在这里插入图片描述

Plug into this computer方式

第一次刷固件,建议采用这个方式,把ESP32CAM模块连接到自己的电脑上就可以了,挺方便的,因为我的ESPHome是跑在群晖里,群晖在另一个房间里,懒得跑来跑去,而且相比手动刷固件还省了下载工具啥的,所以这个方式最方便了

选择这个方式后,先要等待圈圈下载完成,Download project变蓝色后,点击下载bin文件保存

建议先点Manual download,让ESPHome把编译的相关工具下载好进行编译,国内网络最少也要四五十分钟,否则这里的圈圈会转很久很久…

在这里插入图片描述

下载完成后,点击第二个Open ESPHome Web,会跳转到另一个页面

在这里插入图片描述

CONNECT,左上角会出现你本机的设备,选择ESP32CAM模块的串口,我这里是COM5,根据实际情况选,如果不知道可以打开设备管理器查看

在这里插入图片描述
连接上了会出现这个页面

在这里插入图片描述
点击INSTALL,然后选择刚刚下载的bin文件,点INSTALL等待把固件刷进去就可以了

在这里插入图片描述
刷好后,重新上电,可以进行下一步了

Wirelessly方式

这里是提供了无线刷固件的方式,一般第一次刷固件可以用上面的方式,后面再刷固件就可以用这个方式了,把ESP32CAM模块通电联网就可以刷了,很方便

首先需要修改配置文件,很简单,就是再wifi这一项增加一行use_address: 192.168.xx.xx,这里的ip要去路由器查ESP32CAM模块的ip填进来

...上面省略...
wifi:ssid: !secret wifi_ssidpassword: !secret wifi_passworduse_address: 192.168.xx.xx # 如果需要无线ota,需要填上它的ip
...下面省略...

保存,然后选择Wirelessly刷固件,等待完成即可

4.接入HA

一般来说,ESP32CAM刷好固件并成功连上wifi后,HA会自动探测到这个设备,填入配置文件中的key就能够接入了
在这里插入图片描述

如果没有自动探测到设备,可以到设备与服务添加集成,然后填入ESP32CAM模块的ip

在这里插入图片描述

成功接入后的页面

在这里插入图片描述

http://www.dtcms.com/a/266997.html

相关文章:

  • Python-GUI-wxPython-控件
  • 语音大模型速览(一)F5-TTS
  • 《汇编语言:基于X86处理器》第6章 复习题和练习,编程练习
  • Selenium 安装使用教程
  • Python 量化交易安装使用教程
  • 深度学习3(向量化编程+ python中实现逻辑回归)
  • 遗传算法的原理与实现示例
  • XION:玩转您的第一个智能合约
  • Seq2seq+Attention 机器翻译
  • Go中使用国家新闻出版署实名认证
  • [C++] # 深入理解C++继承:从原理到实现
  • 通过网页调用身份证阅读器http websocket方法-华视电子————仙盟创梦IDE
  • 结构型智能科技的关键可行性——信息型智能向结构型智能的转换(提纲)
  • CSS知识复习2
  • 3-1 PID算法改进(积分部分)
  • Softhub软件下载站实战开发(十二):软件管理编辑页面实现
  • 科学的第五范式:人工智能如何重塑发现之疆
  • 力扣打卡第二十一天 中后遍历+中前遍历 构造二叉树
  • 【Qt】QxORM无法删除和更改主键值为0的行,否则报错:invalid primary key
  • Docker学习笔记:Docker网络
  • DotNetBrowser 2.27.14 版本发布啦!
  • Python 制作 pyd(Windows 平台的动态链接库)
  • 力扣:70. 爬楼梯
  • [Terence Tao访谈] 无限 | 关注模型 | 矢量场 | 策略性“作弊” | Lean
  • 【Prometheus 】通过 Pushgateway 上报指标数据
  • 408第三季part1 - 操作系统 - 输入输出管理
  • pyproject.toml 有什么作用呢?
  • Java对象哈希值深度解析
  • vue/微信小程序/h5 实现react的boundary
  • 汽车功能安全概念阶段开发【相关项定义HARA】2