EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 Tronlong123 于 2024-7-21 17:37 编辑 " r% s6 G1 {( Y6 h$ T
3 J$ [1 [( E) ]% |. K, H
目录
$ l5 j, C1 I; L$ Z' f, y2 NB-IoT模块测试
. L5 o3 Q# d* l2.1 获取IMEI和IMSI3 Q9 ]% Y: [& }9 ~
2.2 创建云端NB-IoT设备
, I! N' A2 K5 D2.3 创建通信套件实例 S8 w- s- U! x& a4 `) g1 ^$ i
2.3.1 生成配置参数- h: b; o5 ], j/ m
2.3.2 创建实例
$ r% e: p0 A& f0 F4 r" o }( r3 @前言本文主要介绍基于创龙科技TLIMX6U-EVM评估板的物联网模块开发案例,适用开发环境:* {2 g/ E9 `( ~2 I
Windows开发环境:Windows 7 64bit、Windows 10 64bit
( V$ H+ [5 p) u4 d4 t0 q$ L3 h虚拟机:VMware15.1.0
f/ \$ Q: @* GLinux开发环境:Ubuntu18.04.4 64bit
$ i2 q0 j, v6 W. s! F9 VU-Boot:U-Boot-2020.04& L8 q9 L# w% w: Z& x4 I, P# F
Kernel:Linux-5.4.70* V* N6 U+ n1 ?* c2 A# ^2 e( r
Linux SDK:5.4.70_2.3.0+ J( g( T. |* G
无特殊说明情况下,默认使用USB TO UART1作为调试串口,使用Linux系统启动卡(SD启动模式)启动系统,通过路由器与PC机进行网络连接。! b6 e; U% L& u3 f
创龙科技TLIMX6U-EVM是一款基于NXP i.MX 6ULL的ARM Cortex-A7高性能低功耗处理器设计的评估板,由核心板和评估底板组成。核心板经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。% y4 G# M4 u3 Z1 U9 N& p, z5 j
评估板正面图 2 NB-IoT模块测试本案例使用的NB-IoT模块型号为:亿佰特EA01-D,详细参考资料请查看产品资料“1-开箱必读\产品规格书\拓展模块规格书\”目录下的《EA01-D_Usermanual_CN_v1.1》文件。请将NB-IoT物联网卡插至NB-IoT模块Micro SIM卡槽,然后将模块插至评估板NB-IoT接口,将2.4G天线连接至模块天线接口,如下图所示。( p7 U; N( L7 ?. ]
备注:由于存在引脚复用关系,请勿同时将Zigbee、LoRa模块连接至评估板。
6 \ e: t9 k, b/ w$ N2.1 获取IMEI和IMSI. O( `6 N1 ^, B+ p
进入评估板文件系统,执行如下命令指定串口后台运行,用于接收模块信息。
7 W: L9 O* Q; F, S. d- v% R8 ^$ v( XTarget#cat /dev/ttymxc5 &
, x( @3 Z" `0 Y, ATarget#stty -F /dev/ttymxc5 -echo: T, w+ o. d" a9 {3 ~7 G
执行如下命令,获取IMEI码和IMSI码。; t; X- ?+ S% P% B9 T3 ?* H% S
Target#echo "AT+CGSN=1" > /dev/ttymxc5 //获取IMEI码
/ U- ] V- M. |: OTarget#echo "AT+CIMI" > /dev/ttymxc5 //获取IMSI码
! E9 s( J% H( I6 d! u! l4 l本次获取的IMEI码为"864624050017021",获取的IMSI码为"460082267401907"。/ V2 \" F& y V% x0 B2 r
2.2 创建云端NB-IoT设备
; q8 z. j( O! a本次测试以中国移动NB-IoT物联网解决方案OneNET为例进行演示。请登录官方网站:open.iot.10086.cn,通过手机号进行注册账号并登录。
4 y$ q5 M8 N$ m/ W( E+ x. T账号登录成功,进入如下界面,点击右上角“控制台”。
1 [$ s# `+ v. `# t8 Y1 m) Q6 q# L进入如下界面,点击左上角“切换至旧版”。) R! Y e. d# ^8 ^# D
进入如下界面,进入“NB-IoT物联网套件”。
% ]! E" _% X4 s0 f' A进入如下界面,点击“添加产品”。
2 ?5 P/ A$ f5 o; n K5 _+ `进入如下界面,根据实际情况依次输入产品信息:产品名称、产品行业、产品类别,以及技术参数:联网方式选择"NB-IoT"、设备接入协议选择"LWM2M"、操作系统选择"Linux"、网络运营商选择“移动”。3 N1 E; \5 W# d4 [* D/ @8 f# P
产品添加完成后,弹出如下窗口,点击“立即添加设备”。7 G6 H- t1 K) Y; ?0 p) ?9 E
进入如下界面,点击“添加设备”。
7 c$ d# V0 d+ K1 n9 O. V( m+ u进入如下界面,依次输入设备类型、设备名称、IMEI码和IMSI码,并开启自动订阅功能。
5 e b! f& ]% p# o6 W设备添加成功后,将会弹出如下窗口,请将设备ID:969146269和PSK码:8NKXxti2IS5WaDjW记录保存,用于后续测试,然后点击“知道了”按钮关闭窗口。
7 X9 v5 E% [ {4 n& `5 y% m进入如下界面,可观察到目前设备处于离线状态,点击“详细”。
' E: L" }* S6 R; C$ A. D进入如下界面,点击“编辑”,在弹出的窗口输入自定义Auth_Code:Tronlong,然后点击确认关闭窗口。至此,云端NB-IoT设备创建完成。1 Z+ Y: Z* k- J# ?3 |
2.3 创建通信套件实例9 L, J$ v+ }- y, T- H6 |: d2 x {
本章节主要演示NB-IoT模块的通信实例,详细参考资料请查看产品资料“6-开发参考资料\其他参考文档\”目录下的《EA01-S+3GPP和运营商云平台标准指令手册》文件。
5 X! T# z9 s, B" z2.3.1 生成配置参数
% U+ F: I* v* ?* i将产品资料“4-软件资料\Tools\Windows\”目录下的cfg_tool.zip和Sublime-Text-Build-3211_x64.zip压缩包拷贝至Windows非中文目录下并解压。& r' f8 V& v8 g) a
进入Sublime-Text-Build-3211_x64目录,双击sublime_text.exe程序进行安装。
% e' b- ?, @1 U8 X; r. g8 x) v进入cfg_tool目录,使用文本工具打开test.xml文件,
2 ?% t6 c+ r2 L根据前面步骤获取的信息,修改AuthCode为Tronlong,修改PSK为8NKXxti2IS5WaDjW,如下图所示。
- e6 f( V" A, t7 c C8 c! w打开Windows命令行CMD,输入如下命令进入ctg_tool目录,生成配置文件。
4 I' @" B$ i6 `. n6 T* A6 P% rCMD#cd /d E:\tools\cfg_tool\
& G5 _) ]5 @% l4 M4 G, F0 XCMD#cis_cgtool.exe test.xml out.bin
, Y% ~. O9 l [ K- h执行完成后,将会在ctg_tool目录下生成out.bin文件。6 L* ^, ~& r$ h
打开Sublime Text软件,将生成的out.bin文件拖入该软件打开,可看到设备配置参数以16进制显示。同时鼠标右击点击out.bin文件可查看该文件大小为93Byte。9 m$ |3 {2 ?% }$ M% s
2.3.2 创建实例; H# e+ z& L7 R3 Z4 F' L$ r
(1) 创建OneNET通信套件实例
5 h$ w9 f5 N' V2 c测试命令为:echo AT+MIPLCREATE=<total size>,<config>,<index>,<currentsize>,<flag> > /dev/ttymxc5* |6 k# i" A0 A t4 A2 }# m
参数解析:6 n/ T; _0 n0 l$ @6 ^$ W: B
<total size>:配置文件的总长度。即out.bin文件大小,本次测试文件为93Byte。7 R' h: s' j2 M
<config>:配置文件内容,16进制数的形式。; ~0 c: I7 W9 ^# y! ^; H4 y
<index>:配置文件的序号。考虑到AT指令长度有限,一个完整的配置文件未必能在一条AT指令中发送完成,可将内容切分成多段。比如分为N段,则从前到后按照降序依次分配序号为N-1~0,按照从大到小序号的顺序每段调用一次AT指令。如当index为0时,意味着该条指令为最后一条配置消息。
3 L9 q4 K% {) K1 K$ m<currentsize>:当前命令所包含的配置文件长度。本次测试为93Byte。
+ ^9 h8 g @7 q* k2 C- z9 A<flag>:消息标识,1:第一条消息,2:中间消息,0:最后一条消息。& n e' z3 ^6 C$ U& `! @0 o3 a1 g$ j
进入评估板文件系统,在可执行程序所在目录下执行如下命令,返回OK表示创建成功。5 P5 P* k3 U5 W# ^' ]! J
Target# echo "AT+MIPLCREATE=93,13005df10003f2004f040011800005434d494f540000000000123138332e3233302e34302e33393a35363833002741757468436f64653a54726f6e6c6f6e673b50534b3a384e4b58787469324953355761446a573bf30008e400c80000,0,93,0" > /dev/ttymxc5
7 K( z0 c7 o4 P! }) M) |(2) 创建LwM2M协议实例
7 ? I0 ]1 X/ z: _测试命令为:echo AT+MIPLADDOBJ=<ref>,<objectid>,<instancecount>,<instancebitmap>,<attributecount>,<actioncount> > /dev/ttymxc5- [! c0 b4 d& p6 W
参数解析:
, t& z, u9 V! f0 O<ref>:基础通信套件的一个实例标识,类型为一个无符号整数。
& y- T6 J$ O7 _( m9 }1 |+ ~<objectid>:对象ID。
; C, w' H; V! a; [. m2 V$ N3 N<instancecount>:实例个数。
; a3 W9 F( d2 b" C1 h( M<instancebitmap>:实例位图,字符串格式,每一个字符表示为一个实例,其中1表示可用,0表示不可用。例如添加的Object有5个实例,其中1、3可用,则实例位图为00101。
- S1 g* a- A9 |( K3 t+ [7 u<attributecount>:属性个数。
, q4 |4 N6 i+ m2 I<actioncount>:操作个数。7 k: T! \1 D0 {; q- T9 L0 b! E
在可执行程序所在目录下执行如下命令。
; |. k& j p$ F; eTarget# echo AT+MIPLADDOBJ=0,3311,2,11,4,3 > /dev/ttymxc57 q2 c5 G! Y, Q% ~. G; Q2 a# [
(3) 发送注册请求
1 n- J; h: `) ^, z+ s测试命令为:ehco AT+MIPLOPEN=<ref>,<lifetime>,<timeout> > /dev/ttymxc58 |( b! D" D" `8 M( j+ a. w
<ref>:基础通信套件的一个实例标识,类型为一个无符号整数。8 M% {3 V A, f" w: A7 F
<lifetime>:生命周期,单位为秒。3 Q* |, ^, h" O* l! e6 }6 A
<timeout>:注册的超时时长,单位为秒。
5 l9 R- t( d$ s) ^/ y& l) p o在可执行程序所在目录下执行如下命令。当通信无误时,将会返回OK,模块接下来开始上报状态事件,如下图所示。& J7 y% b- c* \. r
Target#echo AT+MIPLOPEN=0,3000,30 > /dev/ttymxc52 u! f- f9 v# r1 G) v9 m
状态事件信息说明如下。. L" X$ L6 D5 m+ {$ F. I% {0 ~
+MIPLEVENT:0,1 //bootstrap启动
% ~% A0 o* ~" z, s; t( U, G( X0 O9 x+MIPLEVENT:0,2 //bootstrap启动成功
% _/ W! L/ e2 Y; q% O1 _1 r+MIPLEVENT:0,4 //连接成功
4 F9 I$ ?6 l0 f8 [+MIPLEVENT:0,6 //注册成功
1 n3 O6 M4 n. ]3 F9 @(4) 验证Observe请求
8 c* R$ K3 w' L5 h5 |* {实例注册成功后,NB-IoT模块将会上报Observe请求,其中上报请求中第二个参数为消息的ID,如下图所示。# R3 W3 X7 K' Q: w) {1 @* X
每当模块上报一次Observe请求,请务必在5秒内执行如下命令进行验证,验证成功后,将会返回OK。如模块继续上报Observe请求,需继续执行命令验证,直至实例订阅成功,如下图所示。. y2 _9 ^: o+ t) E/ @( }! c3 J9 n# y
Target#echo AT+MIPLOBSERVERSP=0,104148,1 > /dev/ttymxc5 //验证第一条请求' ?; E7 ^2 R& \& l6 k
Target#echo AT+MIPLOBSERVERSP=0,169685,1 > /dev/ttymxc5 //验证第二条请求
. s1 n3 a- {, g同时,在云端设备管理界面,可观察到对应设备呈现自动订阅成功状态,至此,创建实例完成。4 L; T M- _. v1 T* t% u: c6 w% X
4 }, c& ^7 C1 j5 g, _: N2 @2 e
" B" I& m3 {; j4 h3 W |