承浩 李杰
NB-IoT物联网大学生实践创新计划与教学方案设计探讨
承浩 李杰
(沙洲职业工学院,江苏 张家港 215600)
NB-IoT又称窄带物联网,是由3GPP标准化组织定义的一种技术标准,工作于授权频谱上,是一种专为IoT设计的窄带射频技术,不同于Zigbee、Bluetooth、Wi-Fi等短距离无线通信技术,它属于低功耗广域网(LPWAN)范畴,通信距离可以达到15 km。LPWAN目前还有一种流行的通信方式LoRa,它工作在免授权的ISM频段上,NB-IoT和LoRa极具发展前景,基于这2种通信方式的生态正在快速建立。NB-IoT大学生实践创新项目以及该技术在教学应用方面的方案设计值得探讨。
窄带物联网;低功耗广域网;大学生实践创新;无线通信技术
2018年带领学生成功申报NB-IoT(Narrow Band Internet of Things)物联网的江苏省大学生实践创新项目,项目总体组成框图如图1所示。核心MCU采用低功耗芯片STM32L476[1],使用SH20常规温湿度传感器、环境光传感器,结合GPS+BD双模定位模块、MicroSD卡,以及人机交互按键、LED/TFT屏,通过BC95 NB-IoT物联网模块进行信息与云端的交互,移动端与PC端可以通过访问云端数据,实现数据远程采集与控制。
由于物联网教学平台的多样化,选择合适的通信平台非常重要。短距离通信有Zigbee、Bluetooth、Wi-Fi等,低功耗广域网(LPWAN)有3G、4G、NB-IoT、LoRa等[2],由于NB-IoT[3]作为未来窄带通信的重要模式之一,物联网教学中采用NB-IoT平台通信也是一种非常好的教学模式。本文探讨基于NB-IoT的教学方案设计。
图1 系统总体组成框图
根据大学生实践创新项目计划的目标需求以及研究NB-IoT在教学中的应用,系统硬件平台选用了合适的MCU、传感器、定位模块、NB模块、人机交互等功能模块。
硬件平台除用于物联网NB-IoT课程以外,还可以作为嵌入式MCU基础课程的实训平台,故必须选用市场上主流而且使用率高的MCU。由于NB-IoT平台一般需要低功耗,意法半导体STM32L系列作为首选,最终平台选用STM32L476, 它属于超低功耗Cortex-M4内核的32-bit ARM处理器,外设资源丰富,网络学习资源也较多。
可以用来做实训的传感器[4]种类很多,平台设计了常规温湿度传感器SH20以及模拟量输出光照度传感器,其他传感器或者模块可以通过扩展GPIO口接入,如加速度传感器、人体红外传感器、应变片传感器等。
定位模块主要有GPS定位以及北斗BD定位,基于目前的市场情况采用GPS+BD双模模块是比较经济可靠的设计方案。正点原子GPS+北斗双模定位模块ATK1218-BD采用SKYTRAQ公司的双模定位芯片S1216,外接有源天线,在冷启动时30秒内即可定位,定位精度为2.5 mCEP,更新速率1/2/4/5/8/10/20HZ,串口通信波特率4800-230400 bps,捕获追踪灵敏度-165 dBm,由于模块有后备纽扣电池,可保存星历数据,掉电复位后可以在数秒内迅速实现定位。
测试用人机交互采用128X128像素TFT彩色液晶显示屏模块, 刷新速度快,使用SPI接口通信,同时显示屏也可替换为超低功耗电子墨水屏。板载有4个用户按键与LED,用于相关功能测试与调试。可以通过USB转串口与PC通信,通过串口助手或者其他PC端上位机应用程序获取数据或者控制模块。数据保存采用MicroSD卡,支持FATFS文件系统,可用于NB应用中的固件/数据存储。
目前NB模块比较多,本项目采用上海移远通信的BC95系列NB-IOT模组。模组采用了华为海思NB芯片方案,BC95-B5是电信网络模块,BC95-B8是移动/联通网络模块,电信NB-IOT在2017年7月已经实现商用和全国覆盖,移动虽然晚一些,但是已经实现全国三线以上城市的覆盖。目前电信需要绑定固定IP且只能访问电信平台,而移动则没有任何限制。本系统目前选用的是电信网络BC95-B5模块,工作在850MHZ频段。
由于NB模块使用门槛较高,云平台接入需要资质与一定时间,故创新项目系统暂时使用企业开发的谷雨物联网云平台。云平台支持UDP协议、COAP协议、TCP协议,且带有分组透传功能的轻量级的云透传功能,并支持NB模块数据在线调试,支持设备之间或设备与计算机/服务器之间的数据透传。平台架构如图2企业云平台结构框图所示。后期如果开发产品可以自行接入华为、电信、移动等云平台,更具有安全性和稳定性的保障。
图2 企业云平台结构框图
系统设计方面的主要实践操作流程如图3所示。根据需求分析,研究目前的所有资源、设计原理图与PCB,项目完成后,在电脑上建立Keil与STM32CubeMX开发环境,在IDE上从基础实验开始。完成按键与LED控制、中断、定时、ADC、串口、传感器、TFT、GPS等一系列基础实验,在基础实验过程中,了解STM32L476的硬件资源与基本电路,学会基本编程、查阅文档、网络搜索、代码移植等技能,待有一定基础后,了解NB-IOT的网络附着,UDP通信以及COAP通信的基本原理,完成BC95-B5模块的网络基础实验,掌握NB模块的通信过程,然后通过编程实验NB的高级实验,完成云端温湿度数据采集以及开关量的采集与控制、GPS(或BD)定位信息上报等功能。
图3 实践创新实施操作流程
目前电子类专业或者物联网专业均可以开设此类课程,电子类专业偏向于硬件与下位机程序的编写,物联网专业在下位机编程的基础上增加上位机程序的编写。下位机开发环境一般采用Keil+STM32CubeMX,而上位机可以基于JAVA+AS的体系,或者基于C++或者C#的编程。前者是在Android操作系统下的应用编程,后者侧重于Windows 操作系统上PC端的应用编程。
该硬件平台下可以实施的部分教学方案设计如下:
分析讲解平台硬件资源,根据原理图与相关芯片手册理解ARM系统架构,熟悉电路原理,特别是STM32L476的最小系统、时钟外设等。
下载安装Keil-MDK5以及STM32CubeMX的软件,以及在此环境下的相关芯片库软件安装包。STM32CubeMX是意法半导体公司近几年来大力推荐的STM32芯片图形化配置工具,方便允许用户使用图形化向导生成基于HAL库的初始化代码,然后在KEIL中修改完善代码功能。
平台基础程序包含跑马灯实验、按键输入实验、串口通信实验、外部中断实验、看门狗实验、定时器实验、ADC实验、PWM实验、TFTLCD实验、RTC实时时钟实验、温湿度传感器实验、光环境传感器实验、GPS定位实验等。通过这些基础实验编程,学生可以基本掌握基于STM32L476的C语言编程方法,为后面网络实验打下基础。基础实验也可以作为嵌入式软件开发的课程实验。
基础测试程序包括NB-IoT串口测试实验、按键触发NB网络附着实验、按键触发UDP协议数据实验、按键触发CoAP协议数据实验,通过实验实训来理解NB-IoT的通信过程。
在NB-IoT网络基础实验后,结合传感器与定位模块,基于NB-IoT网络做的实验可以有温湿度上报云平台实验、GPS定位数据上报云平台实验、开关量上报云台实验、数据的周期性上报云平台实验等。
上位机实验可以基于AS或者C++实施相关的云平台数据采集与分析实验,可以开发PC端与移动端应用程序,这里不再详述。
用UDP协议云透传通信说明NB模块的通信过程,如图4所示。实验前先用串口连接NB模块或者编程用MCU通过串口与NB模块通信。本文使用PC的USB转串口直接控制NB模块的方式进行测试,使用工具为谷雨NBTool串口通信工具以及云平台。
图4 NB终端云透传框架图
打开NBTool工具,设置串口参数后,可以一键操作附着网络,内部执行一系列AT指令,也可以通过普通串口助手,查阅附着AT指令后,逐步完成附着,网络显示“Registered”表示网络附着成功,这是所有实验的开始。
UDP采用最简单、最原始的Socket连接,IP地址为115.29.240.46,端口号为6000;然后登陆谷雨云平台,注册账号,登录后新建设备,设置NB模块设备编号、通信密码以及设备名称,过期时间设为0秒,添加成功后,在NBTool上的UDP功能块上发送注册包,内容为ep=设备编号&pw=通信密码,如“ep=WBPSGKPSHG5CW32X&pw=123456”,成功后,NBTool显示“iotxx:ok”,然后NBtool与云端就可以互相发送与接收信息了。如图5所示的UDP通信实验,图中左侧为网页云端,右侧为NBTool本地NB端,实测通信效果甚佳。
图5 UDP通信实验
在项目中可以通过STM32L476编程把附着AT指令通过串口发送给NB模块,附着成功后可以把温湿度数据,GPS定位等数据通过NB发送到云端,从而实现完成NB-IoT通信。
与NB-IoT均属于低功耗广域网,LoRa也在不断推广应用,它理想的有效传输距离可达到15 km,虽然与NB-IoT在硬件上有所区别,但均属于窄带通信,而且工作在免费频段,NB-IoT和LoRa的学习与研究有助于它们在不同场景下的应用推广。高职院校有责任有能力把它们应用在教学中,为我国物联网产业发展贡献力量。目前笔者所在学校已与新大陆教育合作,成立了基于NB-IoT与LoRa的物联网应用技术实训室。该平台为学生实践创新提供了机会,也有助于教师学习新知识,更为学校推广前沿技术应用提供了良好的契机,在多方努力下,基于该项目的教学方案也会持续不断地更新与发展。
[1] 刘军. 原子教你玩STM32 [M]. 北京: 航空航天大学出版社, 2015.
[2] 蒋建峰, 杜梓平. 广域网技术精要与实践[M]. 北京: 电子工业出版社, 2017.
[3] 黄宇红, 杨光, 等. NB-IoT物联网技术解析与案例详解[M]. 北京: 机械工业出版社, 2018.
[4] 王化祥, 张淑英. 传感器原理及应用[M]. 天津: 天津大学出版社, 2014.
Discussion on the College Students’ Practice Innovation Plan and Teaching Plan Design of NB-IoT
Cheng Hao, Li Jie
( Shazhou Professional Institute of Technology, Zhangjiagang 215600, Jiangsu, China )
NB-IoT (Narrow Band Internet of Things), also known as the narrowband Internet of Things, is a technical standard defined by the 3GPP standardization organization. It works on the licensed spectrum and is a narrowband RF technology designed for IoT. It is different from Zigbee. Short-range wireless communication technologies such as Bluetooth and Wi-Fi, which belong to the low-power wide area network (LPWAN) category, and can reach a communication distance of 15km. LPWAN currently is of a popular communication method, LoRa, which works in the license-free ISM band. NB-IoT and LoRa enjoy great development prospects. The ecology based on these two communication methods is rapidly established. This paper mainly concerns some of the conclusions of leading students to participate in NB-IoT students' practical innovation projects and to explore the design of the technology in teaching applications.
NB-IoT; LPWAN; college students practice innovation; wireless communication technology
TP391.44
A
1009-8429(2019)01-0006-05
2019-02-27
2018年江苏省高等学校大学生创新创业训练计划项目(201811288002Y)
承浩(1971-),男,沙洲职业工学院电子信息工程系高级工程师;
李杰(1997-),男,沙洲职业工学院电子信息工程系2016级电子信息工程技术专业学生。