MQTT接入腾讯云
Mqtt控件支持MQTT协议3.1.1和3.1,可以连接MQTT的代理服务器(如腾讯云物联网),下面以腾讯云物联网为例介绍一下Mqtt控件的使用。
1、注册/登录腾讯云物联网平台,产品列表>创建新产品 rtc_3231_init-1024x746
创建完产品后,点击产品条目的“管理”,进入到管理页面,CA证书“点击下载”,保存证书到本地目录(如C:/tmp/cert/)。
再点击”设备列表“TAB, 添加新设备
点击设备条目的操作”管理“,进入设备管理页面,点设备证书“下载”,设备私钥“下载”,保存证书和私钥到本地目录(如C:/tmp/cert/)。
2、运行WeStudio, 新建一工程,从控件列表拖入一个Mqtt控件到主界面main, 设置mqtt控件的属性值
MQTT参数值配置请参考腾讯云MQTT.fx接入物联网平台
服务器地址:ssl://${产品ID}.iotcloud.tencentdevices.com:8883
客户端标识:${产品ID}+${设备名}
用户名:${产品ID};${设备名};${SDKAppID};${connid}, 后面两个参数使用固定测试值即可,如"P**DxM-1000;12010126;12345"
密码:填写一个任意的非空字符串作为密码
选中mqtt控件,代码编辑,添加如下图中的代码
3、在步骤1中保存设备证书的目录(C:/tmp/cert/)下新建一个名为init.rc的空文件,然后点击Studio左侧工具栏的“配置”按钮,在配置对话框中,选择“原生程序目录”为C:/tmp/cert/。原生程序目录在工程构建生成App时会打包到App中,烧写到ExpOS设备后,解压后的目录为/app/native/
4、在界面中选中“连接”按钮,代码编辑,添加如下图中的代码。步骤3中打包的证书,在烧写完App后,会解压到设备路径 /app/native/下,在模拟器中我们使用前面步骤1保存的证书路径C:/tmp/cert/。
5、在界面中选中“断开”按钮,代码编辑,添加如下图中的代码
6、在界面中选中“订阅消息”按钮,代码编辑,添加如下图中的代码
7、在界面中选中“发布消息”按钮,代码编辑,添加如下图中的代码
8、运行模拟器,点击连接按钮,等待多行文本框显示onSucess: connect后,再点订阅消息,然后在腾讯云物联网平台中打开对应设备的调试页面。通过下面的截图可以看到,模拟器发布的消息,设备的调试页面会显示接收,调试页面发布的消息,在模拟器中也会接收成功。
9、注意:主题(Topic)必须是合法的才能正常订阅和发布,在腾讯云物联网平台的设备权限列表里面能查看所支持的主题