乐趣区

关于物联网:技术实践丨手把手教你使用MQTT方式对接华为IoT平台-华为云开发者社区

摘要:本文次要讲述应用 MQTT 形式对接华为云 IoT 平台的具体过程。

应用的计划:指标板为 STM32L431BearPI(带 E53 扩大板); TCPIP 性能由开发板的 ESP8266 提供;MQTT 应用 Paho-Client-Embeded;IoT 对接接口采纳 V5 版本接口;Demo 抉择 target 的 MQTTdemo。

整个开发分为两个局部:云端开发、设施侧开发。云端开发包含创立产品、创立设施;设施侧开发包含依据计划配置性能、编译烧录、调试。

云端开发

创立产品模型

产品模型其实就是用户设施的形象。用编程术语来解释就是产品模型是 Class,设施是对象。对于产品模型的介绍以及如何创立产品模型能够参考创立产品。

本文最初创立的产品模型如下:

设施属性包含:温度、湿度、光照强度、LED 状态、Motor 状态。设施命令包含两条:管制 LED ON/OFF, 管制 Motor ON/OFF。

创立设施

当产品模型创立结束之后,咱们能够创立基于该产品模型的设施。设施 –> 注册设施。依据对话框填写对应的信息。本文为了不便创立的设施标识为 demoTest, 秘钥为 012345678(该设施曾经删除,请勿连贯)。后果如下:

注册胜利之后如下:

至此,咱们曾经注册了端侧设施,并能够在咱们的设施 –> 所有设施中看到咱们新注册的设施。

设施端开发

设施端的开发次要包含配置工程、编译烧录、调试几个步骤。下文基于此逐个进行介绍。

工程配置

因为 SDK 是一个全栈的软件,蕴含所有的代码,因而咱们须要告知编译器哪些文件须要编译、怎么编译这些文件,这个工作次要是由 menuconfig 实现。对于工程配置领导能够参考工工程配置示范 [](https://link.zhihu.com/?targe…。

进入到 target/STM32L431_BearPi 目录下,输出 menuconfig(macos 或者 linux 输出 menuconfig.py) 即可进入到配置界面。

确认进入 SDK 的配置。

开发板的串口以及 DEMO 抉择

设置 AT 串口波特率和模组匹配;设置设施 ID 和秘钥,其和在 IoT 平台上创立设施时候的设置统一。

TCPIP 配置

在 Network 下,抉择 TCPIP 性能,并设置 esp8266 模式,并设置热点的 SSID 和 PWD。

配置 SSL

配置 MBEDTLS 的次要起因是,IoT 平台生成 MQTT 的三元组的时候须要应用到 HMAC 算法。使能 TLS 并抉择 mbedtls 并配置为 CERT 模式。

配置 MQTT 协定

在 Network 菜单下使能 MQTT。此处配置的 MQTT 为规范 MQTT 协定。

配置 IoT MQTT 接入服务

在 OC 菜单下,使能 OC MQTT(能够抉择敞开 OC COAP 以及 OC LWM2M)。

此处咱们配置的为 MQTT 接入 IOT 的流程;没有使能规范 DEMO 是因为咱们应用 target 下的 demo.

输出 Q 并保留退出,会发现咱们方才的配置会保留在.config 文件中。

再输出 genconfig(genconfig.py) 会生成或者更新 iot_config.h 文件。Makefile 根据.config 文件抉择哪些组件编译;编译器会依据 iot_config.h 文件决定怎么编译这个组件。

至此咱们对于工程的配置曾经实现。

编译烧录调试

编译

性能源码采纳的是 Makefile 进行组织,实践上你有 Make 工具以及对应的穿插编译器都能够进行编译。本文应用的是 AC6 公司的 SW4ST 这个工具(基于 Eclipse 的一款工具)。其应用能够参考 SW4ST 应用_Guide.md)

在 SW4ST 的菜单 Project–>Clean 下勾选革除后编译即可编译,并能够在 Console 下看到编译后果。

如果呈现 FLASH 溢出行为,能够将不须要的组件(stime shell)通过配置禁用;或者在 Makefile 中批改优化等级从 -O0 - g 批改为 -Os。

烧录

在 SW4ST 的菜单中 Run–>Debug Configurations。

创立一个 Ac6 STM32Debugging(应用的 stlink)。

只须要保障 MCU 的型号统一即可。

对于 BearPI 而言,还须要设置重启模式,设置为软模式即可。

点击 apply 并 debug,能够看到烧录结束并进入调试界面。

调试

进入 debug 页面之后,咱们能够像其余的 IDE 一样 step into/step over/step out/run 等调试。

同时能够接入串口,设置正确的波特率,会看到零碎的输入信息。(wifi 连贯上并获取 IP,向 IoT 平台订阅主题胜利)。

联结调试

设施在线并上报信息

当端侧显示连贯 OK 时候,咱们在 IoT 平台能够看到对应的设施应该曾经在线,并接管到对应数据。

IoT 平台下发命令

在命令中抉择同步命令下发,能够观测到端侧设施能够接管到相干的命令。

至此,咱们将设施端和 IoT 平台的数据交互通道买通。

点击关注,第一工夫理解华为云陈腐技术~

退出移动版