激动!!!!
早就想着分享一些知识但是一直不知道该写些什么,最近在做基于home assistant +树莓派的只能家居,所以将这个过程的收获和知识记录下来分享给大家,这次就分享一个大致的过程。
在Home assistant在添加一个小灯并且控制小灯的亮灭。
首先给大家介绍一种协议,学过网络技术的应该知道常用的协议有:TCP,UDP,HTTP等等 。 MQTT是通过主题对消息进行分类的,本质就是一个UTF-8的字符串,每个主题都有自己的生产者(producer)和消费者(consumer).消费者订阅了只要相关主题,在生产者在该主题上发布消息时就会收到消息。
esp8266和h a 同时作为MQTT客户端,对于不同的主题充当着不同的角色。
例如本次的控制小灯实验:对于state主题来说,8266就是producer,h a是consumer。
8266把小灯的状态发到服务器上,h a以此为依据判断小灯的状态。对于switch主题来说
h a 就是producer,8266是consumer。
编辑h a 配置文件添加一个小灯的组件,默认开关状态是”on”,”off”。首先是点击ha上添加的组件,执行开或者关的操作,h a 会自动将命令通过switch主题发送给服务器,8266订阅该主题并执行相应操作,然后通过state主题将现在的状态发给h a 。h a 上小灯状态的信息完全由state主题传来的信息决定。
在arduino IDE上进行编程定义的引脚号与nodemcu上标注的引脚号并不一致,所以使用是要注意。(例:编程中的2号引脚对应nodemcu 上的D4引脚)。
程序分析:
cl