熟悉GeekOpen智能设备的朋友都知道,GeekOpen智能设备支持接入客户自建的平台,或者接入阿里云、天翼云、腾讯云等第三方云平台,不需要依赖于特定平台进行业务集成开发和设备管控,下面小编给大家介绍GeekOpen智能设备如何接入客户自建的MQTT平台:
第一步:搭建MQTT平台
方式一:使用“EMQX”搭建 MQTT 服务自建平台
EMQX支持搭建大规模分布式 MQTT 消息服务器。拥有高效可靠连接海量物联网设备,实时处理分发消息与事件流数据的优点,助力构建关键业务的物联网与云应用。
具体搭建步骤可以参考EMQX官方文档,下载地址 产品概览 | EMQX 5.0 文档
方式二:使用“阿里云物联网平台”MQTT服务自建平台
阿里云物联网平台适合快速开发物联网项目,提供了全面的设备连接与管理服务,开发者只需简单配置,即可快速上手搭建自己的物联网应用。具体的搭建步骤可以参考小编的另一篇文章“GeekOpen智能设备10分钟接入阿里云物联网平台并实现远程管控”
当然还有更多的其他方式,普通环境下,推荐大家充分使用第三方云平台资源,开发速度快,性能稳定,伙伴们可以自行摸索,现在平台已经搭建好了,下面就要介绍设备怎么接入平台。
第二步:自定义GeekOpen设备的 MQTT 参数
方式一:配网时直接设置MQTT自定义参数
长按GeekOpen智能设备的配网功能键,进入配网模式;
电脑连接设备热点,浏览器打开 http://192.168.4.1 ,进入GeekOpen配网界面;
在页面点击 “自定义设置”按钮 → 然后选择"MQTT"选项卡,填写MQTT相关参数保存即可。
以阿里云为例
阿里云物联网平台 - 设备MQTT参数:
{
"clientId":"a18VyElLe8c.a4cf12be81a8|securemode=2,signmethod=hmacsha256,timestamp=1709274050367|", // 客户ID
"username":"a4cf12be81a8&a18VyElLe8c", // 用户名
"mqttHostUrl":"a18VyElLe8c.iot-as-mqtt.cn-shanghai.aliyuncs.com", // MQTT地址
"passwd":"2bc7a7b7a3f13d1c39f11e4c6b6593d5c5c7f67....", // 密码
"port":1883 //MQTT端口
}
阿里云物联网平台 - 产品自定义Topic:
/a18VyElLe8c/${deviceName}/user/get //发布主题
/a18VyElLe8c/${deviceName}/user/update //订阅主题
方式二:通过工具或代码修改MQTT自定义参数
向主题 /${appId}/${deviceKey}/${deviceMAC}/publish 发布以下MQTT自定义参数数据:
GeekOpen配网成功后默认会连接GeekOpen云服务,如果设备已连接到GeekOpen云服务,可以通向设备发送指令,修改MQTT服务参数连接自定义服务器:
发送json
{
"type":"custom",
"protocol":"mqtt",
"server": "192.168.0.195",
"port":"1883",
"clientId":"custum",
"username": "username",
"password": "password",
"publish": "/topic/qos0",
"subcribe": "/topic/qos1"
}
规则如下:
第三步 重启设备
设备在通过MQTT自定义MQTT后,用户需要根据返回值,确认后需要断电重启或者向设备发送重启命令才可生效。重启指令为:
发送json
{
"type":"setting",
"system":"restart"
}
重启成功后,设备就脱离了GeekOpen云平台的控制,成功连接到我们自建的平台上去了,有兴趣的朋友可以试试,下面这些设备都支持对接自建MQTT平台:
86型智能插座10Ahttp://vi.geek-open.com/Fwqit86型智能插座16Ahttp://vi.geek-open.com/gPN7J迷你智能转换器10Ahttp://vi.geek-open.com/mH0re迷你智能转换器16Ahttp://vi.geek-open.com/Lc5Ot
GeekOpen智能设备10分钟接入阿里云物联网平台并实现远程管控86型智能开关(一开、二开、三开)http://vi.geek-open.com/9t7s5