摘要:本文次要讲述应用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平台的数据交互通道买通。

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