本帖最后由 q2316367743 于 2022-12-4 19:30 编辑
esphome学习 - 安装与基本使用
ESPHome 是一个通过简单而强大的配置文件控制您的 ESP8266/ESP32 并通过家庭自动化系统远程控制它们的系统。
这篇文章主要讲一下怎么安装和基本使用,网上的教程大部分是使用home assistant安装,他们的home assistant版本一般是hassOS,但是我的home assistant是使用Docker安装的,而另外一种是使用Docker安装,我试了试,没搞明白,所以我这里讲的是命令行安装,官网:Getting Started with the ESPHome Command Line — ESPHome。
前提安装esphome首先需要安装python环境
安装esphomepython安装成功后,使用下面命令安装esphome
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple esphome
复制
等待安装完成,使用下面命令验证
$ esphome version
Version: 2022.11.4
显示版本号,就代表安装成功
基本使用使用esphome -h查看全部命令
$ esphome -h
usage: esphome [-h] [-v] [-q] [-s key value] command ...
positional arguments:
command Command to run:
config 验证配置并将其输出.
compile 读取配置并编译程序.
upload 验证配置并上载最新的二进制文件.
logs 验证配置并显示所有日志.
run 验证配置、创建二进制文件、上载并启动日志.
clean-mqtt 帮助程序清除MQTT主题中保留的消息.
wizard 一个有用的设置向导,将指导您设置ESPHome.
mqtt-fingerprint 从MQTT代理获取SSL指纹.
version 打印ESPHome版本并退出.
clean 删除所有临时生成文件.
dashboard 为仪表板创建一个简单的web服务器.
rename 在YAML中重命名设备,编译二进制文件并上传.
options:
-h, --help show this help message and exit
-v, --verbose Enable verbose ESPHome logs.
-q, --quiet Disable all ESPHome logs.
-s key value, --substitution key value
Add a substitution
例子:点亮一个灯
本例子使用开发版未ESP-12F,开发文档:https://explorer.esion.xyz/s/WpTL
我们首先创建一个文件夹,用于存放esphome的配置文件,比如创建一个文件夹esphome,进入到文件夹中,创建一个yaml文件,比如叫test.yaml
创建好文件后,我们使用编辑器打开文件,将下面代码复制进去
# esphome项目节点
esphome:
name: test
# 开发版
esp8266:
# 开发版版型
board: esp01_1m
# wifi节点
wifi:
ssid: <wifi名称>
password: <wifi密码>
ap:
ssid: <如果wifi连接失败,热点名称>
password: <如果wifi连接失败,热点密码>
# 如果wifi连接失败,启动热点
captive_portal:
# web服务器,生产环境建议禁用
web_server:
port: 80
# 是否打印日志
logger:
level: debug
# home assistant连接开发版的密码
api:
password: '123456'
# ota升级的密码
ota:
password: '123456'
# 对外输出
output:
# ID,全局唯一
- id: gpio_13
# 开发版平台
platform: gpio
# 输出的gpio口
pin: 13
# 灯组件
light:
# 平台,二进制
- platform: binary
# 输出,此处指向初始的ID
output: gpio_13
# 随便七个名字
name: "Kitchen Light"
将wifi名、密码、AP名、AP密码修改为自己的
编写完成后,在文件所在文件夹打开终端,收入运行命令
esphome run ./test.yaml -device=COM5
注意:后面的COM5改成自己的COM口,可以在设备管理器 -> 端口(COM和APT)中查看
第一次需要下载一些库,如果没有梯子,可能会很慢,下载后,以后就不需要下载了
编译完成后,会在当前文件夹创建文件夹.esphome
等待上传,上传成功后,会在终端显示
[13:00:09][C][wifi:504]: WiFi:
[13:00:09][C][wifi:362]: Local MAC: ********
[13:00:09][C][wifi:363]: SSID: '********'
[13:00:09][C][wifi:364]: IP Address: 192.168.31.113
[13:00:09][C][wifi:365]: BSSID: ********
[13:00:09][C][wifi:367]: Hostname: 'electric-blanket'
[13:00:09][C][wifi:369]: Signal strength: -61 dB ▂▄▆█
[13:00:09][C][wifi:373]: Channel: 1
[13:00:09][C][wifi:374]: Subnet: 255.255.255.0
[13:00:09][C][wifi:375]: Gateway: 192.168.31.1
[13:00:09][C][wifi:376]: DNS1: 192.168.31.1
[13:00:09][C][wifi:377]: DNS2: 0.0.0.0
[13:00:09][C][logger:293]: Logger:
[13:00:09][C][logger:294]: Level: DEBUG
[13:00:09][C][logger:295]: Log Baud Rate: 115200
[13:00:09][C][logger:296]: Hardware UART: UART0
[13:00:09][C][gpio.output:010]: GPIO Binary Output:
[13:00:09][C][gpio.output:011]: Pin: GPIO13
[13:00:09][C][light:104]: Light 'Kitchen Light'
[13:00:09][C][captive_portal:088]: Captive Portal:
[13:00:09][C][web_server:125]: Web Server:
[13:00:09][C][web_server:126]: Address: electric-blanket.local:80
[13:00:09][C][mdns:103]: mDNS:
[13:00:09][C][mdns:104]: Hostname: electric-blanket
[13:00:09][C][ota:093]: Over-The-Air Updates:
[13:00:09][C][ota:094]: Address: electric-blanket.local:8266
[13:00:09][C][ota:097]: Using Password.
[13:00:09][C][api:138]: API Server:
[13:00:09][C][api:139]: Address: electric-blanket.local:6053
[13:00:09][C][api:143]: Using noise encryption: NO
其中第四排哪个IP Address就是开发版地址,使用浏览器打开
通过上面的开关,就可以控制灯的亮灭
|