在利用这个模块进行开发,发现官方给的资料让我看得头大,网上资料也不多,就跟大家分享一下。
一、模块介绍
NB模块选择的是稳恒插针式NB—73,资料相对来说有点少,介绍的也不是很全,网页搜索也少有人用这家公司的NB芯片进行开发。
通信方式:
根据官方介绍该通信方式是利用串口发送AT指令进行通信,如下图
二、模块原理图
利用串口进行通信,那么就选择串口1就行了,官方文档也说了,串口2不能用来通信,只能利用串口2进行信息打印输出,然后接通电源,这里建议接vcc时选择16引脚较好(电压不稳定,模块会不断重启产生乱码)。
三、模块连接
选择的通讯底版是stm32F103C8T6,串口连接方式,TX怼RX,RX怼TX,这里就不贴图了。模块接通信底版的电源脚,共地。
四、代码移植
拷贝官方提供的stm32L系列源码中的wh-nb73.c和wh-nb73.h两个文件(本人改动了其源文件,所以下面的流程图是自己代码的),串口通信设置为DMA方式。以数据帧格式进行中断接收。
五、模块通信流程
六、测试
数据每隔五秒上报一次(程序设置测试数据自加一)
底版输出信息信息
云平台信息
控制就不演示了。
七、待解决问题
1.发现数据在上传一段时间后,在激活网络过程中程序死机。
2.没有实现控制多个终端的效果。