1:安装homeassitant+esphome+hacs服务器端搭建 1.1第一步基于之前学习的rk3288_ubuntu20版本搭建服务器,修改kernel支持docker。另外集成了海纳斯的rootfs。一键搭建好平台。主板用的firefly的rk3288平台2+8配置,32位ubuntu。功耗峰值4W左右。很适合作为核心,另外在上边搭建了shellclash做旁用。 首先刷写编译好的固件,使用一键安装docker管理平台还有一键安装homeassitant脚本。但是实际并没有使用他提供的版本,目的是网页按钮可用。 1.2安装完成后,使用docker管理平台卸载安装好的homeassitant,两个问题不用他这个版本,1无法安装hacs,会报错。2:版本计较老。所以不用继续尝试。 然后命令行使用该命令自动安装,最新版本。最好有科学,不然后边用hacs也会报错。 docker run -dit -v /opt/ha:/config -v /dev:/dev -e PUID=1000 -e PGID=1000 -e TZ=Asia/Shanghai -p 8123:8123 --name homeassistant --hostname homeassistant --restart unless-stopped homeassistant/home-assistant:latest 执行完之后,执行下方命令执行安装hacs。 docker exec -it homeassistant bash 进入docker的命令行 安装hacs极速版 然后执行下方命令添加集成到homeassitant。添加集成 https://my.home-assistant.io/redirect/config_flow_start/?domain=hacs 这样子homeassitant就配置好了,页面会左侧会增加hcas选项 file:///D:/Personal/Temp/ksohtml4436/wps1.jpg 1.3下一步电脑安装eaphome制作esp32s2的固件 首先下载python3.11.9版本,需要用新版本,不然安装不了新版本的esphome。安装的时候,一定要见关联path。十分重要 file:///D:/Personal/Temp/ksohtml4436/wps2.jpg 安装完python后,win+r打开输入cmd,打开命令行。输入 pip install esphome 等待跑完。(https://blog.csdn.net/weixin_43808708/article/details/133646535)参考这里 后执行下方,命令行会显示版本。确定安装完成。 esphome version 下方命令更新到最新版本 pip3 install --upgrade esphome 使用下方命令启动esphome esphome dashboard 然后在浏览器输入你电脑IP地址:6052 例如192.168.1.66:6052 会弹出esphome的窗口,下面就可以编写程序了 2:客户端程式编写 yaml内容:
esphome: name: sht30 friendly_name: sht30
esp32: board: esp32-s2-saola-1 framework: type: arduino
# Enable logging logger:
# Enable Home Assistant API api: encryption: key: "OLI1rcuRnAseS6po4ZCYHk/dv8X9j2MpGXySu/Xxr84="
ota: - platform: esphome password: "bf8f4ba0bc02cad2aba7e66c2b451014"
wifi: ssid: !secret wifi_ssid password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "Sht30 Fallback Hotspot" password: "RDJR4J2FGbb4"
captive_portal:
i2c: - sda: GPIO8 scl: GPIO9 id: bus_a scan: true
sensor: - platform: sht3xd i2c_id: bus_a address: 0x45 temperature: name: "Living Room Temperature" humidity: name: "Living Room Humidity" update_interval: 60s light: - platform: binary name: "led" output: bin_led #说明: #创建一个名字为led的设备,创建的这个led继承Light组件,属于Light组件中的“binary(二进制)”类型的设备 #因为这个led是通过GPIO输出高低电平实现的,所以定义一个output的ID,与下面output的实现对应起来
output: - id: bin_led platform: gpio pin: GPIO3 #说明: #id对应上面的led这个设备的id,说明这个output是上面led设备的实现 #通过GPIO2来控制led的亮灭 3:程式烧录,最简单,串口链接好之后,打开网页烧录,软件都不需要 https://web.esphome.io/
4:操作教程后补
部分图片在pdf里,后边慢慢补
|