本帖最后由 陈工-创龙科技 于 2025-8-27 14:45 编辑
?前 言本文档主要介绍基于TLT113-EVM评估板的物联网模块开发案例,适用开发环境: Windows开发环境:Windows 7 64bit、Windows 10 64bit 虚拟机:VMware15.5.5 Linux开发环境:Ubuntu18.04.4 64bit U-Boot:U-Boot-2018.07 Kernel:Linux-5.4.61、Linux-RT-5.4.61 LinuxSDK:T113_Tina5.0-V1.0(Linux) 无特殊说明情况下,本文默认使用USB TO UART0作为调试串口,使用Linux系统启动卡(Micro SD方式)启动系统。 本文档对应案例的测试接口、测试结果说明如下表所示。
NB-IoT模块案例案例说明案例功能:评估板通过串口发送AT指令至NB-IoT模块,创建通信实例,实现NB-IoT模块与NB-IoT物联网平台通信。 案例使用的NB-IoT模块型号为:亿佰特EA01-D,详细参考资料请查看产品资料“6-开发参考资料\其他参考文档\”目录下的《EA01-D_Usermanual_CN_v1.1》文档。 硬件连接请将NB-IoT物联网卡插至NB-IoT模块Micro SIM卡槽,将2.4G天线连接至模块天线接口。请按照下表,使用杜邦线将NB-IoT模块与评估板的TTL UART4接口、EXPORT接口进行连接,具体如下图所示。 备注:EXPORT接口的pin1引脚为NB-IoT模块提供5V电源,pin16用于NB-IoT模块复位。"/"表示引脚无需连接。
图 1
图 2 NB-IoT模块机械尺寸
图 3 NB-IoT模块引脚定义
图 4 TTL UART4接口引脚定义
图 5 EXPORT接口引脚定义
案例测试获取IMEI和IMSI评估板上电启动,进入评估板文件系统,执行如下命令配置串口,等待接收模块信息。 Target# stty -F /dev/ttyS4 ispeed 9600 ospeed 9600 cs8 -echo Target# cat /dev/ttyS4 &
图 6
执行如下命令,获取IMEI码和IMSI码。 Target# echo "AT+CGSN=1" > /dev/ttyS4 //获取IMEI码 Target# echo "AT+CIMI" > /dev/ttyS4 //获取IMSI码
图 7
本次获取的IMEI码为"864624050086604",获取的IMSI码为"460085855508110"。 创建云端NB-IoT设备账号登录成功,进入如下界面,点击右上角“开发者中心”。
图 8
进入如下界面,点击“创建产品”。
图 9
进入如下界面,根据实际情况选择产品品类,选择智能化方式为“设备接入”,填写“产品名称”,节点类型选择“直连设备”,接入协议选择"LwM2M",数据协议选择"IPSO",联网方式选择"NB",自动发现资源选择“开启”。
图 10
成功创建产品后,点击设备管理,再点击添加设备,然后在弹出界面填写所属产品、设备名称、IMEI码和IMSI码等相关信息。
图 11
图 12
添加设备完成后,可看到目前设备处于未激活状态。点击“详情”,可查看设备PSK码,在弹出的窗口中输入自定义Auth_Code:Tronlong。至此,云端NB-loT设备创建完成。
图 13
图 14
至此云端设备准备就绪,测试完成后,可删除设备绑定信息,以便后续其他设备测试。
图 15
创建通信套件实例本小节主要演示NB-IoT模块的通信实例,详细参考资料请查看产品资料“6-开发参考资料\其他参考文档\”目录下的《EA01-S+3GPP和运营商云平台标准指令手册》文件。 1.生成配置参数
将产品资料“4-软件资料\Tools\Windows\”目录下的cfg_tool.zip和Sublime-Text-Build-3211_x64.zip压缩包拷贝至Windows非中文目录下并解压。
图 16
进入Sublime-Text-Build-3211_x64目录,双击sublime_text.exe程序进行安装。
图 17
进入cfg_tool目录,使用文本工具打开test.xml文件。
图 18
根据前文获取的信息,修改AuthCode为Tronlong,修改PSK为UQ4lMgNGTQRzgszS,如下图所示。
图 19 修改前
图 20 修改后
打开Windows命令行CMD,输入如下命令进入ctg_tool目录,生成配置文件。 CMD# cd /d E:\Tools\cfg_tool\ CMD# cis_cgtool.exe test.xml out.bin
图 21
执行完成后,将会在ctg_tool目录下生成新的out.bin文件。
图 22
使用Sublime Text软件打开out.bin文件,可看到设备配置参数以16进制显示。同时鼠标右击点击out.bin文件可查看该文件大小为93Byte。
图 23
图 24
2.创建实例
(1)创建OneNET通信套件实例
测试命令为:echo AT+MIPLCREATE=<total size>,<config>,<index>,<currentsize>,<flag> > /dev/ttyS4 参数解析: <total size>:配置文件的总长度。即out.bin文件大小,本次测试文件为93Byte。 <config>:配置文件内容,16进制数的形式。 <index>:配置文件的序号。考虑到AT指令长度有限,一个完整的配置文件未必能在一条AT指令中发送完成,可将内容切分成多段。比如分为N段,则从前到后按照降序依次分配序号为N-1~0,按照从大到小序号的顺序每段调用一次AT指令。如当index为0时,意味着该条指令为最后一条配置消息。 <currentsize>:当前命令所包含的配置文件长度。本次测试为93Byte。 <flag>:消息标识,1:第一条消息,2:中间消息,0:最后一条消息。 进入评估板文件系统,执行如下命令,返回OK表示创建成功。 Target# echo "AT+MIPLCREATE=93, 13005df10003f2004f040011800005434d494f540000000000123138332e3233302e34302e33393a35363833002741757468436f64653a54726f6e6c6f6e673b50534b3a5551346c4d674e475451527a67737a533bf30008e400c80000,0,93,0" >/dev/ttyS4
图 25
(2)创建LwM2M协议实例
测试命令为:echo AT+MIPLADDOBJ=<ref>,<objectid>,<instancecount>,<instancebitmap>,<attributecount>,<actioncount> > /dev/ttyS4 参数解析: <ref>:基础通信套件的一个实例标识,类型为一个无符号整数。 <objectid>:对象ID。 <instancecount>:实例个数。 <instancebitmap>:实例位图,字符串格式,每一个字符表示为一个实例,其中1表示可用,0表示不可用。例如添加的Object有5个实例,其中1、3可用,则实例位图为00101。 <attributecount>:属性个数。 <actioncount>:操作个数。 执行如下命令,返回OK表示创建成功。 Target# echo AT+MIPLADDOBJ=0,3311,1,1,1,4 > /dev/ttyS4
图 26
(3)发起注册请求
测试命令为:ehco AT+MIPLOPEN=<ref>,<lifetime>,<timeout> > /dev/ttyS4 <ref>:基础通信套件的一个实例标识,类型为一个无符号整数。 <lifetime>:生命周期,单位为秒。 <timeout>:注册的超时时长,单位为秒。 执行如下命令,当通信无误时,将会返回OK,模块接下来开始上报状态事件,如下图所示。 Target# echo AT+MIPLOPEN=0,3000,30 > /dev/ttyS4
图 27
状态事件信息说明如下。
+MIPLEVENT:0,1 //bootstrap启动 +MIPLEVENT:0,2 //bootstrap启动成功 +MIPLEVENT:0,4 //连接成功 +MIPLEVENT:0,6 //注册成功
(4)0验证Observe请求
实例注册成功后,NB-IoT模块将会上报Observe请求,其中上报请求中第二个参数为消息的ID,如下图所示。
图 28
每当模块上报一次Observe请求,请务必在5秒内执行如下命令进行验证,验证成功后,将会返回OK。如模块继续上报Observe请求,需继续执行命令验证,直至实例订阅成功,如下图所示。 Target# echo AT+MIPLOBSERVERSP=0, 88824,1 > /dev/ttyS4
图 29
同时,在云端设备管理界面,可观察到对应设备呈现自动订阅成功状态,至此,创建实例完成。
图 30
(5)注销实例
在注册实例的过程中超时回复将会导致订阅失败,可通过执行如下命令注销实例并重新注册。若出现如下图所示打印信息,表示注销成功。 Target# echo "AT+MIPLCLOSE=0" > /dev/ttyS4
图 31
由于篇幅过长等原因,部分内容均不逐一展示,如需获取完整版详细资料,请关注创龙科技微信公众号或官网,或者评论区留言,感谢您的支持! ?
|