HomeAssistant挖坑第二步,ESP8266温湿度计

in bme280 •  6 years ago 



挖坑第一步里已经给树莓派装好了mqtt,那么这次就是要让温湿度传感器通过esp8266这个无线模块,把数据传给树莓派,以便后续在HomeAssistant中的自动化处理。


与ESP8266作MQTT协议传输温湿度数据,根据室内外温度情况自动开启空调或配合天气情况开关房间顶灯等。。。
ESP8266模块有很多种,其中esp-01最小巧,但是这个小东西如果要让其深度休眠的话必须自己焊一个线到芯片一脚,因为实在太小很是难焊。但是如果不需要电池驱动这个深度休眠作用就不大了,所以这次用的是ESP8266NodeMCU版,虽然个头大了那么一点点但针脚都引出了,怎么插随便你很方便。我把他们放一个小盒子里,插上个线5V供电搁在电视柜旁边一角,盒子上挖几个洞洞通气。

 

ESP8266固件与设置

  1. Espeasy这个固件比较设置上都比较简单,刷的时候也完全脱离Arduino,有不少刷写应用,插上USB,选择好端口和要刷的固件就可以了。
  2. 刷完后按一下RST键,电脑或手机重新选择wifi链接,SSID为esp_0,之后浏览器打开192.168.4.1,输入家里无线密码重启就可以了。
  3. 一般情况,它会在页面上告知连上家里路由后的IP的地址,那么只要打开这个IP就可以进行下一步设置(如果没有显示IP地址的话,就需要自己去路由器上查看)
  4. 点击Config菜单,Unit Name这里填写这个设备名称
  5. Devices菜单中,edit新建一个设备,下拉菜单中选择设备然后设置名称,各值的名称,小数点后保留几位(默认2位)等。如果设备已经插上esp8266,则保存后会有数据显示出来。



  6. 如果不知道BME280的I2C怎么和ESP8266连,打开Hardware菜单,可以看I2C Interface,照着连就可以了

  7. 选择Controllers菜单,填写mqtt broker的ip的地址、端口、用户名和密码。要在默认路径这有可能需要加home。说明下,%sysname%就是前面填写的esp8266这个设备名称,%tskname%是指插上设备的名称,这里指BME280,%valname%是BME280里几个数值名称,Temperature,Humidity,Pressure。


 

Home Assistant中设置 打开configuration.yaml文件,在sensor下添加内容:
sensor:
  - platform: mqtt
    name: "Temperature"
    state_topic: "home/ESP_Easy1/BME280/Temperature"
    qos: 0
    unit_of_measurement: "°C"
  • platform: mqtt
    name: "Humidity"
    state_topic: "home/ESP_Easy1/BME280/Humidity"
    qos: 0
    unit_of_measurement: "%"
 

这里气压我不需要,就不写了,保存重启下HA,就可以在页面上看到这些数据了。之后我们就可以根据房间内的温度做一些自动化处理,这个放在之后再说了。


 

 


Posted from my blog with SteemPress : https://otichi.com/homeassistant-2nd-step-esp8266-bme280-dht22-weather-station.html

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!