813浏览
查看: 813|回复: 0

[K10教程] 【行空板K10】Mind+程序如何通过MQTT连接巴法云平台

[复制链接]
本帖最后由 zoey不种土豆 于 2025-1-14 10:19 编辑

【行空板K10】利用Nanomq的桥接转发能力实现接入任意的MQTT服务器 中介绍了行空板K10内置的MQTT组件只支持阿里云、OneNet、EasyIoT和SIoT4种MQTT服务器。这对想使用其他MQTT服务器的用户来说不太方便。今天分享一下如何直接使用内置的MQTT组件来连接巴法云。

巴法云的MQTT认证方式
巴法云的MQTT认证方式有两种:

  • 方式一:用户私钥作为连接MQTT服务器的客户端ID,连接时用户名和密码为空,或随意填写,即设备连接时不需要账号和密码。
  • 方式二:如果客户端ID设置错误或不匹配,系统会使用用户名和密码进行身份验证,其中用户名是appID,密码是secretKey,appID和secretKey的获取方式,可见api接口中用户接口接口<设置新的AppID和secretKey>获取。

一般用户多喜欢使用第一种,但是Mind+提供的MQTT组件不支持修改clientid,会自动生成随机的clientid,所以无法使用第一种方式。我们只能使用第二种方式来实现。

生成巴法云的appID和secretKey
第二种方式需要先生成appID和secretKey。巴法云的相关文档是这样的:

6、设置新的AppID和secretKey​
接口说明:如果调用成功,系统会生成新的新的AppID和secretKey,旧的AppID和secretKey不会失效。

JSON格式 数据类型 "Content-Type": "application/json; charset=utf-8"

POST接口
  1. https://pro.bemfa.com/vs/web/v1/userSecretKey
复制代码

【行空板K10】Mind+程序如何通过MQTT连接巴法云平台图1

正确返回:

  1. {
  2.     "code": 0,
  3.     "msg": "success",
  4.     "data": {
  5.         "appID": "beid_xQjMwcjN0EzNx8VM3UDN3A",
  6.         "secretKey": "7IoRBu2g4kSMywplr9ihofJz4n90HsW9"
  7.     }
  8. }
复制代码

【行空板K10】Mind+程序如何通过MQTT连接巴法云平台图2

巴法云在后台没有提供相应的界面,所以我们只好借助Windows的curl命令实现。
  1. curl -X POST https://pro.bemfa.com/vs/web/v1/userSecretKey -H "Content-Type: application/json; charset=utf-8"  -d "{"openID":"7801e4ba1bf7406593d47250797860fd"}"
复制代码

执行后,curl会返回如下信息:
  1. {"code":0,"msg":"success","data":{"appID":"beid_xQjMwcjN0EzNx8VM3UDN3A","secretKey":"7IoRBu2g4kSMywplr9ihofJz4n90HsW9"}}
复制代码

这样我们就可以得到自己想要的ID了。

测试
我们还是用【行空板K10】利用Nanomq的桥接转发能力实现接入任意的MQTT服务器提供的程序。

【行空板K10】Mind+程序如何通过MQTT连接巴法云平台图3

在设置MQTT参数的部分使用前面生成的ID和KEY。

【行空板K10】Mind+程序如何通过MQTT连接巴法云平台图4

然后烧写程序并运行。

此时在巴法云的后台就可以看到终端登录成功:

【行空板K10】Mind+程序如何通过MQTT连接巴法云平台图5

数据也被正确的上传。

【行空板K10】Mind+程序如何通过MQTT连接巴法云平台图6

结语
虽然比常规使用巴法云的方式多了一个步骤,但整体还是比较容易实现的。不过这种方法不能适用于华为云IotDA,因为华为云对用户名、密码和clientid三者都有严格的要求。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案 沪公网安备31011502402448

© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail