一、背景
最近接触了一下PCDN,大家对PCDN的态度各有千秋,我这里不对这个技术做评价。在开启了路由器的UPnP后,HomeAssistant里面自动出现了“UPnP/IGD”这个插件,添加了以后发现可以显示上传和下载速度,单位也可以选择B或者是bit,这就很方便了,可以使用一个卡片来显示网速,但是我想一直显示,那我就得一直开着HA的网页在桌面上,于是我有了制作一个显示网速硬件的想法。
技术定位:初级
所需软硬件:
必须:HomeAssistant、ESPHome、esp8266、lcd1602。
非必须:PCF8574 lcd转iic转接板、烧录器
整体思路:
主要利用ESPHome中的“Home Assistant Sensor”,把HA中的实体当作传感器使用,再利用自带的显示组件自定义显示信息在显示到屏幕上,理论上可以使用任何显示设备显示任何传感器信息。在这里我只做了网速显示的例子,其他显示设备或者数据都是大同小异,但是需要注意的是,一开始我的思路是使用文本传感器,我单纯的认为显示屏显示的都是字符,所以使用了文本传感器“Text Sensor”,编译时候才发现无法对字符串进行格式化,后改用上述的“Home Assistant Sensor”,采集的数据变成浮点型才可以格式化输出。
二、操作步骤
2.1 开发前的准备工作
- 请安装好HomeAssistant、ESPHome。安装过程不再赘述,只要可以正常运行即可。注意在编译固件的时候,ESPHome需要良好的公网现下载所需依赖,否则会编译很长时间。
- 确认好esp8266的管脚,此例子使用的是PCF8574转接过的1602,所以需要使用iic进行通信,请查阅芯片手册确认可以进行iic通信的引脚。我使用的是esp-12f,接到了默认的iic引脚上,即: sda--->GPIO2、scl--->GPIO14,检查好供电,然后调整lcd电位器。在没有进行