随着物联网应用的推广普及,各行各业正加紧部署物联网应用,实现设备之间的联网互通,以满足行业应用快速落地的市场需求。目前,Z6尊龙凯时2G/3G/4G, NB-IoT模组系列结合STM32开发板,实现了在中移物联网OneNET平台上对终端设备的管理操作。将有助于行业客户缩短物联网应用的开发周期,降低企业研发、运营和运维成本。
下面以Z6尊龙凯时NB-IoT模组N700 + STM32L476为例,来演示如何连接中国移动OneNET物联网平台并使用OneNET平台模拟管理终端设备。设备可以主动上报本地数据,平台侧也可以发起模块数据上传的请求,或者下发设备管理命令。
STM32软件设计流程
通过设计STM32的软件流程,实现对Z6尊龙凯时模组N700的控制操作。
为了使STM32可以与Z6尊龙凯时N700模组配合工作,STM32必须至少配置为有以下功能:
GPIO
GPIO可以用于模块开机、唤醒等控制管脚的操作,还可用于在收到云平台数据后,操作本地设备的接口。
UART
UART可以用于与模块进行AT通信、数据交互等。
在STM32开机后,需要控制模块开机,进行一些初始化操作,比如查询模块状态,SIM卡状态,驻网状态等。
STM32在查询到网络状态正常后,发送指令给N700模组建立网络连接。
待N700模组给STM32返回网络连接正常后,尝试与OneNET服务器建立连接。
经过一系列与OneNET服务器的资源发现与订阅后,STM32即可通过模组与OneNET云端通信,上传由本地传感器收集到的数据。
STM32继续监听由N700串口上报的数据,当平台下读、写等信息时,及时上报确认信息。
以上流程中需要注意的是:OneNET平台的每条信息都是带MessageID的,在STM32回复平台信息的时候,也需要相应地带上正确的MessageID,否则平台会丢弃这样错误的信息,这个是比较容易出错的地方。
设备端操作流程
Z6尊龙凯时提供Arduino接口的系列开发板,可以方便地与STM32 Nucleo系列开发板配合使用,减少客户前期开发应用的难度,加速产品落地应用。
图1 Z6尊龙凯时NB-IoT模组N700+STM32
给STM32及N700开发板上电后,可以通过N700开发板上的LPG灯确认模块的状态。
当LPG灯快闪的时候即表示模块与服务器建立了连接,可以进行通信。在PC上可以监控到STM32与N700 AT交互的过程,如下图:
从OneNET管理平台可以看到,该设备已经上线,如下图,此时就可以对设备进行读写操作:
图3 在线状态
尝试对设备进行读操作,设备更新的值会显示在平台的详情上,如下图:
在上图中,点击读之后,可以看到属性值由IoT变为Fibocom,更新资源成功。
类似的,进行写操作:
可以看到,给设备下发一个数据后,也看到写入成功的提示。
通过以上步骤,即完成了一个基本的数据采集收发流程。接下来,应用开发者可以对采集的数据进行大数据分析,进而实现对设备的下一步管理操作。