一、使用角色
角色:MQTTFX、微信小程序、百度智能云、STM32F103RET6MCU的开发板(前几篇文章中)

二、快速入门
1. 使用准备
在使用物联网核心套件服务前,您需要创建一个百度智能云账号,请按照下述步骤进行注册和登录。
(1)在百度智能云登录页面,选择百度账号,点击“立即注册”,进入百度账号注册界面。
(2)如果未进行实名认证,请先进行实名认证。
(3)开通IoT Core:开通服务并同意按需计费,可进入“实例列表”。
2. 操作流程

(1)创建IoT Core实例:使用物联网核心套件IoT Core服务需要先创建一个 IoT Core 实例。
(2)创建设备:点击实例名称,进入详情页面,点击设备列表即可创建和管理设备。
(3)获取连接信息:查看连接信息,包含IoTCoreId、DeviceKey 和 DeviceSecret。
(4)使用MQTT客户端连接及收发消息:配置 MQTT 的应用客户端,可以快速验证是否可以实现与IoT Core服务交流发送或者接收消息。
(5)使用规则引擎将设备消息流转到业务服务器:天工平台将设备上报的数据流转至百度kafka中,之后,业务应用服务器可以消费kafka中的数据进行业务处理。
3. 创建IoT实例
(1)已有百度云账号(注册略)
(2)登录IoT Core控制台页面

(3)点击创建实例

(4)填写信息
填写需要创建 IoT Core 的名称、描述(选填),并“提交”即可。创建完成后,即可在列表页看到刚才创建的 IoT Core 实例。其中第一列展示了其名称及 ID。


(5)创建设备
已完成IoT Core实例的创建。使用物联网平台的第一步是在云端创建产品和对应设备,获取设备证书(productKey、deviceName和deviceSecret)。
① 创建设备模板:设备模板当前提供对设备主题的描述。默认的设备模板包含两个主题。

② 增加自定义主题,点击IoT Core实例名称。

③ 点击左侧导航栏中的“模板”并点击“添加模板”。


④ 点击模板名称,添加主题:其中 {deviceName} 为变量,表示使用对应设备连接时,应替换为设备名称。
如:使用 device1的身份信息进行 MQTT 连接,此时可通过这个连接向 $iot/device1/events 主题发布消息,并可云端规则引擎接收及转发。

⑤ 创建设备:左侧点击设备列表,添加设备,配置设备信息,点击秘钥认证方式,选择模板(demo),点击提交后,就会获得一个链接配置弹窗信息。




(6)获取连接信息
在列表中,点击上一步骤中创建设备的名称,进入设备详情页。在连接信息栏目,找到「DeviceSecret」字段,点击右侧小眼睛图标,查看连接信息,包含IoTCoreId、DeviceKey 和 DeviceSecret。
① 生成 MQTT 连接信息
使用MD5算法生成连接信息;快速体验中,也可以在线生成器来进行使用,打开MQTT连接信息生成器,使用拿到的 IoTCoreId、DeviceKey 和 DeviceSecret,生成 MQTT 连接所需的用户名及密码。
② MQTT连接的三种方式及对应的端口

MQTT Broker 连接地址在 IoT Core 详情页可以查看。
(7)获取MQTT三元组信息
打开连接信息生成器并填写信息。

(8)安装MQTT客户端MQTT.fx并测试
① 点击安装包。
百度网盘链接: https://pan.baidu.com/s/1dyFjtU1AauuLf3ogE5XMUg?pwd=8iiy
提取码: 8iiy

② 一直点击NEXT到以下界面。

③ 找到安装路径,文件夹:该文件夹在安装的时候会进行选择,一般安装到默认文件夹。

④ 打开文件夹,找到mqttfx.exe。

⑤ 打开文件夹中的MQTT.fx。

⑥ 小齿轮图片,进行设置。

⑦ 界面的左下角”+“,进行添加新的配置。

⑧ 详细配置。

⑨ 连接测试。

⑩ 发布和订阅测试,发布的内容不能是中文。


(9)微信小程序
① 将mqtt库引入微信小程序工程(SMARTHOME)中:
https://unpkg.com/mqtt@4.1.0/dist/mqtt.min.js
② 在utils下创建mqtt.min.js文件,将上面的链接内容复制粘贴进当前文件。

③ 保存代码后编译,会报错:

这个报错的原因是微信小程序的网络安全策略限制,你使用的MQTT连接域名,没有配置在小程序的合法socket域名列表中。微信小程序为了保障网络通信安全,要求所有发起的网络请求(包括WebSocket连接)的域名,必须先在小程序管理后台的 “合法域名” 中进行配置,否则会被拦截并抛出该错误。
④解决步骤:登录微信小程序管理后台;找到「开发」→「开发管理」→「服务器域名」;在「服务器域名」板块中,找到「socket 合法域名」配置项,点击「修改」;添加 wss://你的百度云实例域名(broker地址) 到合法域名列表中,提交审核(个人小程序需注意:部分域名可能需要完成主体认证后才能配置);审核通过后,打开微信小程序详情,勾选不校验合法域名,重新编译并运行小程序项目即可。



⑤ 发布测试(未完待续...)。
⑥ 订阅测试。






4. AT指令测试
(1)AT
(2)AT+RST:复位

(3)AT+CWMODE=1:WiFi工作模式

(4)AT+CWJAP="WiFi名称","WiFi密码":连接WiFi指令

(5)AT+CIFSR:查看esp8266的ip和mac

(6)ESP8266连接百度云
① AT+MQTTUSERCFG=0,1,"ESP8266","MQTT用户名(连接信息生成器生成)","MQTT密码(连接信息生成器生成)",0,0,"":用于设置 MQTT 用户信息

② AT+MQTTCONN=0,"broker地址",1883,1:用于建立 MQTT 连接

(7)AT+MQTTSUB=0,"$iot/mqtt_smarthome/user/control_led",0:订阅 MQTT 主题


