本节给出无须终端(UE)硬件情况下测试NB-IoT通信过程,读者不需要备有终端(UE)硬件,借助于苏州大学嵌入式系统与物联网研究所长期运行的几套终端(UE),读者可亲自运行本书网上光盘提供的PC源程序,达到直观体会NB-IoT通信过程之目的。
在下面的叙述中,把您的工作计算机称为用户服务器(User Server,US),负责侦听终端(UE)上行数据并转发的计算机被称为云平台(云服务器),云平台的逻辑抽象就是一个IP地址与端口(可以把它视为MPO中的云服务器的对外接口)。
1.运行准备
(1)安装运行环境:Visual Studio 2013(将使用C#语言开发PC软件,安装方法参考附录C.1)。
(2)下载网上光盘:打开网址“http://sumcu.suda.edu.cn/”,单击“教学与培训”→“教学资料”→“金葫芦IoT-GEC”,选择与硬件型号相对应的网上光盘并下载到您的计算机中。
(3)确保您的计算机接入互联网。
2.直接运行可执行文件观察NB-IoT数据通信情况
直接运行网上光盘的可执行程序即可观察苏州大学嵌入式系统与物联网研究所NB-IoT 终端数据上行的情况。找到网上光盘中“..\04-Soft\02-HCI\01-US-Monitor\bin\Debug\AHL-IoT.exe”文件 ,双击该文件即可,运行页面如图3-1所示。
图3-1 AHL-IoT.exe的运行页面
图 3-1 中左上区显示的是在苏州大学嵌入式系统与物联网研究所长期运行的几套终端(UE)设备的IMSI(这些IMSI 在不同阶段可能会变动,但会包含在AHL.xml 文件中);右上区为收到一帧数据的十六进制显示区;中间区为数据分解显示区域;右下区显示的是连接的云转发平台地址与端口。
若运行正常,远程终端(UE)将会通过云转发平台每30 s左右发送一次数据给用户服务器(US,即读者的计算机),数据将显示在US上,如图3-2所示。观察页面上数据可以得知终端(UE)的IMSI、芯片温度及其所处环境的光线强度等。
3.常见问题及处理方法
在正确安装Visual Studio 2013开发环境的前提下,若运行上述程序后收不到数据,可能原因主要有:计算机尚未联网、与云平台转发程序断开连接等。
图3-2 AHL-NB-IoT有数据通信情况
(1) 计算机尚未联网 。若计算机未联网,在运行该软件时,将会弹出“金葫芦友情提示:”对话框,提示您的计算机尚未联网,请联网后重新启动本程序。此时,用户需要检查网络情况,确保计算机正常联网。
(2) 与云平台转发程序断开连接 。本机数据由终端(UE)向云平台发送,云平台转发程序负责侦听程序并向本机转发,若本机未能正确连接到云平台或云平台转发程序未正常工作,则会出现错误。此种情况,可能是连接的云平台IP地址及端口被改错了(在AHL.xml文件中)、云平台转发程序未打开或者计算机未接入网关。在运行过程中,若出现这种情况,则会提示与云平台转发程序断开连接,请检查网络。
4.运行模板工程源程序观察NB-IoT数据通信情况
安装 Visual Studio 2013 开发环境后,双击“..\04-Soft\02-HCI\01-US-Monitor\AHL-IoT.sln”这个C#解决方案文件,可进入Visual Studio 2013开发环境,并打开利用C#语言编写的 AHL-IoT 工程源代码。若未学习过 C#语言的读者,也可以通过运行该工程,逐步快速入门(后续将会给出基本执行流程,网上光盘的“06-Other”文件夹中也给出了C#快速应用指南及样例)。AHL-IoT源代码工程结构见图3-3。若未出现“解决方案资源管理器”窗口,可通过“视图”菜单栏进行设置。单击顶部菜单栏图标“ ”可运行该工程。
若出现错误,可重新生成该工程的可执行文件。方法是:双击“解决方案资源管理器”栏目下“Program.cs”文件,右侧则显示该文件内容。此时单击顶部菜单栏的“ ”,出现其子菜单,单击“ ”即可。
运行结果与直接运行可执行文件相同。
图3-3 AHL-IoT源代码工程结构