[智能家居] ESP32+OpenMQTTGateWay自制蓝牙网关 您所在的位置:网站首页 broadlink接入米家 [智能家居] ESP32+OpenMQTTGateWay自制蓝牙网关

[智能家居] ESP32+OpenMQTTGateWay自制蓝牙网关

2023-07-26 20:24| 来源: 网络整理| 查看: 265

文章目录 前言第一部分 HA部署MQTT1. 安装mqtt服务器2. 添加MQTT集成3. 查看MQTT的账户密码等信息 第二部分 蓝牙网关1. 安装开发工具2. PlatformIO工程3. 修改源代码3. 编译下载4. 烧录和配网5. 串口监控5.擦除 第三部分 MQTT配置1.安装MQTT Explorer2. 在HomeAssistant中配置 总结

前言

OpenMQTTGateWay项目是一个开源的多模网关项目,项目支持蓝牙、LoRa、RF433MHz/315MHz、GSM/GPRS、红外 通信方式,支持多个智能家居平台,并且已经适配了大量物联网终端设备,支持的设备列表可以在此处查看

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YB2e0yIi-1617900839581)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/e58687fe-9362-4aa1-b529-f6594355f6da/Untitled.png)]

第一部分 HA部署MQTT 1. 安装mqtt服务器

在Add-on商店中添加mqtt服务器 在这里插入图片描述 点击install安装 在这里插入图片描述 设置登录名和密码,保存后点击Start运行Add-on,这一步是可选的,如果不设置密码的话,可以通过HomeAssistant的用户名和密码登录MQTT服务器 在这里插入图片描述

2. 添加MQTT集成

在配置→集成中添加MQTT,Add-on启动成功后应该可以自动发现,点击配置,点击提交。第一次配置应该可以自动登录,如果需要填写服务器信息的话,就填写 在这里插入图片描述 在这里插入图片描述

3. 查看MQTT的账户密码等信息

点击配置,点击RE-CONFIGURE MQTT 按钮,可以看到自动生成的密码,比较长。在这里插入图片描述 此页面同时也可以对MQTT服务进行简单的调试,不过不是很好用,稍后会介绍更好用的调试工具。 在这里插入图片描述

第二部分 蓝牙网关

本部分配置蓝牙网关可以使用官方预编译的固件,也可以使用源码自行编译,为了可以灵活配置,我们选择第二种方式。

1. 安装开发工具

使用PlatFormIO开发,开发环境比较简单,VSCode中安装PlatformIO IDE插件,然后重启即可。 在这里插入图片描述

2. PlatformIO工程

下载OpenMQTT源代码https://github.com/1technophile/OpenMQTTGateway

如果使用git克隆比较慢的话,依然是通过迅雷下载然后解压,使用VScode打开文件夹,会被自动解析为PlatformIO工程。 在这里插入图片描述

3. 修改源代码

选择开发环境

在platformio.ini文件中,将所选的开发环境取消注释,我使用的开发板是ESP32,因此将esp32dev-ble取消注释 在这里插入图片描述

修改user_config.h

设置AP的密码,用于初次开机的配网 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DJLbCg9h-1617900839591)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/633ab139-3a5c-4d96-9566-ec09b6f19de4/Untitled.png)]

设置MQTT服务器的账号密码和地址 在这里插入图片描述

选择需要的功能

我这里选择了蓝牙、GPIO输入和HomeAssistant的自动发现 三个,可以按照自己的需求去选择。 在这里插入图片描述

修改引脚

如果使能了GPIO输入功能,则可以在config_GPIO文件中修改引脚,这里我们暂时没有用到,可以忽略 在这里插入图片描述

3. 编译下载

编译下载按钮在状态栏中,点击Build后会自动下载需要的包。 在这里插入图片描述 下载时遇到github无法访问 ,下载失败的情况,多重试几次,或者挑一个月黑风高的夜晚,访问Github会比较稳定。 在这里插入图片描述

4. 烧录和配网

使用USB线连接ESP32到PC 点击烧录按钮,等待烧录完成后,ESP32会自动重启 使用手机连接OpenMQTTGateway 热点,配置网络 以上都是常规操作,就没有截图。

5. 串口监控

系统运行日志在串口输出,可以打开串口查看。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yd3zfsjn-1617900839594)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/05a2c884-c922-468f-97d7-12af897c452c/Untitled.png)]

5.擦除

如果上一步配网错误的话,通过重新烧录程序是无法修改的。需要擦除ESP板载Flash。 主要操作流程如下:

安装esptool pip install esptool 安装pyserial。 pip install pyserial

在python/Scripts路径下执行命令

./esptool.py.exe --port /COM3 erase_flash

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uPaUgFES-1617900839595)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/2202e0b1-2b4d-4623-bca0-611f66f919e6/Untitled.png)]

第三部分 MQTT配置 1.安装MQTT Explorer

使用MQTT Explorer方便调试

下载地址:http://mqtt-explorer.com/

创建连接, 输入HomeAssistant的IP地址,用户名和密码 在这里插入图片描述 如果网关配置无误的话,此时应该可以看到Home节点的数据 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ys0TM2a7-1617900839596)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/ef47d128-1928-4813-a679-9d780f648ac3/Untitled.png)] 以小米体脂秤为例,成功获取到体重数据,如果是小米/米家的设备,需要用官方APP绑定后进入正常工作状态后,才能正确解析数据。 在这里插入图片描述

2. 在HomeAssistant中配置

新版本会自动添加以下信息,包括网关的一些配置按钮和状态属性,已经读取到的蓝牙设备信息 在这里插入图片描述 如果需要自定义内容,可以在编辑仪表盘页面中手动添加 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1O9MjUSa-1617900839597)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/d230aed8-9b99-49d8-b084-90583470f7a0/Untitled.png)] 效果如下,6.4Kg是我家猫的体重: 在这里插入图片描述

总结

以上就是本次分享的全部内容了,如果你对智能家居或人工智能感兴趣,欢迎关注我的个人公众号,获取更多精彩内容。 在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有