首页 > 其他分享 >基于NXP i.MX 6ULL核心板的物联网模块开发案例(2)

基于NXP i.MX 6ULL核心板的物联网模块开发案例(2)

时间:2024-07-15 11:10:45浏览次数:21  
标签:NXP 实例 NB IoT dev 如下 6ULL 模块 MX

目录

 

2 NB-IoT模块测试

2.1 获取IMEI和IMSI

2.2 创建云端NB-IoT设备

2.3 创建通信套件实例

2.3.1 生成配置参数

2.3.2 创建实例

 

前言

本文主要介绍基于创龙科技TLIMX6U-EVM评估板的物联网模块开发案例,适用开发环境:

Windows开发环境:Windows 7 64bit、Windows 10 64bit

虚拟机:VMware15.1.0

Linux开发环境:Ubuntu18.04.4 64bit

U-Boot:U-Boot-2020.04

Kernel:Linux-5.4.70

Linux SDK:5.4.70_2.3.0

无特殊说明情况下,默认使用USB TO UART1作为调试串口,使用Linux系统启动卡(SD启动模式)启动系统,通过路由器与PC机进行网络连接。

创龙科技TLIMX6U-EVM是一款基于NXP i.MX 6ULL的ARM Cortex-A7高性能低功耗处理器设计的评估板,由核心板和评估底板组成。核心板经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。

评估板正面图

2 NB-IoT模块测试

本案例使用的NB-IoT模块型号为:亿佰特EA01-D,详细参考资料请查看产品资料“1-开箱必读\产品规格书\拓展模块规格书\”目录下的《EA01-D_Usermanual_CN_v1.1》文件。请将NB-IoT物联网卡插至NB-IoT模块Micro SIM卡槽,然后将模块插至评估板NB-IoT接口,将2.4G天线连接至模块天线接口,如下图所示。

备注:由于存在引脚复用关系,请勿同时将Zigbee、LoRa模块连接至评估板。

2.1 获取IMEI和IMSI

进入评估板文件系统,执行如下命令指定串口后台运行,用于接收模块信息。

Target#cat /dev/ttymxc5 &

Target#stty -F /dev/ttymxc5 -echo

执行如下命令,获取IMEI码和IMSI码。

Target#echo "AT+CGSN=1" > /dev/ttymxc5 //获取IMEI码

Target#echo "AT+CIMI" > /dev/ttymxc5 //获取IMSI码

本次获取的IMEI码为"864624050017021",获取的IMSI码为"460082267401907"。

2.2 创建云端NB-IoT设备

本次测试以中国移动NB-IoT物联网解决方案OneNET为例进行演示。请登录官方网站:open.iot.10086.cn,通过手机号进行注册账号并登录。

账号登录成功,进入如下界面,点击右上角“控制台”。

进入如下界面,点击左上角“切换至旧版”。

进入如下界面,进入“NB-IoT物联网套件”。

进入如下界面,点击“添加产品”。

进入如下界面,根据实际情况依次输入产品信息:产品名称、产品行业、产品类别,以及技术参数:联网方式选择"NB-IoT"、设备接入协议选择"LWM2M"、操作系统选择"Linux"、网络运营商选择“移动”。

产品添加完成后,弹出如下窗口,点击“立即添加设备”。

进入如下界面,点击“添加设备”。

进入如下界面,依次输入设备类型、设备名称、IMEI码和IMSI码,并开启自动订阅功能。

设备添加成功后,将会弹出如下窗口,请将设备ID:969146269和PSK码:8NKXxti2IS5WaDjW记录保存,用于后续测试,然后点击“知道了”按钮关闭窗口。

进入如下界面,可观察到目前设备处于离线状态,点击“详细”。

进入如下界面,点击“编辑”,在弹出的窗口输入自定义Auth_Code:Tronlong,然后点击确认关闭窗口。至此,云端NB-IoT设备创建完成。

2.3 创建通信套件实例

本章节主要演示NB-IoT模块的通信实例,详细参考资料请查看产品资料“6-开发参考资料\其他参考文档\”目录下的《EA01-S+3GPP和运营商云平台标准指令手册》文件。

2.3.1 生成配置参数

将产品资料“4-软件资料\Tools\Windows\”目录下的cfg_tool.zip和Sublime-Text-Build-3211_x64.zip压缩包拷贝至Windows非中文目录下并解压。

进入Sublime-Text-Build-3211_x64目录,双击sublime_text.exe程序进行安装。

进入cfg_tool目录,使用文本工具打开test.xml文件,

根据前面步骤获取的信息,修改AuthCode为Tronlong,修改PSK为8NKXxti2IS5WaDjW,如下图所示。

打开Windows命令行CMD,输入如下命令进入ctg_tool目录,生成配置文件。

CMD#cd /d E:\tools\cfg_tool\

CMD#cis_cgtool.exe test.xml out.bin

执行完成后,将会在ctg_tool目录下生成out.bin文件。

打开Sublime Text软件,将生成的out.bin文件拖入该软件打开,可看到设备配置参数以16进制显示。同时鼠标右击点击out.bin文件可查看该文件大小为93Byte。

2.3.2 创建实例

(1) 创建OneNET通信套件实例

测试命令为:echo AT+MIPLCREATE=<total size>,<config>,<index>,<currentsize>,<flag> > /dev/ttymxc5

参数解析:

<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,13005df10003f2004f040011800005434d494f540000000000123138332e3233302e34302e33393a35363833002741757468436f64653a54726f6e6c6f6e673b50534b3a384e4b58787469324953355761446a573bf30008e400c80000,0,93,0" > /dev/ttymxc5

(2) 创建LwM2M协议实例

测试命令为:echo AT+MIPLADDOBJ=<ref>,<objectid>,<instancecount>,<instancebitmap>,<attributecount>,<actioncount> > /dev/ttymxc5

参数解析:

<ref>:基础通信套件的一个实例标识,类型为一个无符号整数。

<objectid>:对象ID。

<instancecount>:实例个数。

<instancebitmap>:实例位图,字符串格式,每一个字符表示为一个实例,其中1表示可用,0表示不可用。例如添加的Object有5个实例,其中1、3可用,则实例位图为00101。

<attributecount>:属性个数。

<actioncount>:操作个数。

在可执行程序所在目录下执行如下命令。

Target# echo AT+MIPLADDOBJ=0,3311,2,11,4,3 > /dev/ttymxc5

(3) 发送注册请求

测试命令为:ehco AT+MIPLOPEN=<ref>,<lifetime>,<timeout> > /dev/ttymxc5

<ref>:基础通信套件的一个实例标识,类型为一个无符号整数。

<lifetime>:生命周期,单位为秒。

<timeout>:注册的超时时长,单位为秒。

在可执行程序所在目录下执行如下命令。当通信无误时,将会返回OK,模块接下来开始上报状态事件,如下图所示。

Target#echo AT+MIPLOPEN=0,3000,30 > /dev/ttymxc5

状态事件信息说明如下。

+MIPLEVENT:0,1 //bootstrap启动

+MIPLEVENT:0,2 //bootstrap启动成功

+MIPLEVENT:0,4 //连接成功

+MIPLEVENT:0,6 //注册成功

(4) 验证Observe请求

实例注册成功后,NB-IoT模块将会上报Observe请求,其中上报请求中第二个参数为消息的ID,如下图所示。

每当模块上报一次Observe请求,请务必在5秒内执行如下命令进行验证,验证成功后,将会返回OK。如模块继续上报Observe请求,需继续执行命令验证,直至实例订阅成功,如下图所示。

Target#echo AT+MIPLOBSERVERSP=0,104148,1 > /dev/ttymxc5 //验证第一条请求

Target#echo AT+MIPLOBSERVERSP=0,169685,1 > /dev/ttymxc5 //验证第二条请求

同时,在云端设备管理界面,可观察到对应设备呈现自动订阅成功状态,至此,创建实例完成。

标签:NXP,实例,NB,IoT,dev,如下,6ULL,模块,MX
From: https://www.cnblogs.com/Tronlong818/p/18302746

相关文章

  • 基于NXP i.MX 6ULL核心板的物联网模块开发案例(1)
    目录前言1SDIOWIFI模块测试1.1STA模式测试1.2AP模式测试1.3SDIOWIFI驱动编译前言本文主要介绍基于创龙科技TLIMX6U-EVM评估板的物联网模块开发案例,适用开发环境:Windows开发环境:Windows764bit、Windows1064bit虚拟机:VMware15.1.0Linux开发环境:Ubuntu18.04.46......
  • 【MX-J1-T2】『FLA - III』Ilumina 题解
    题目传送门【MX-J1-T2】『FLA-III』Ilumina思路硬导题。因为\(c=\lfloor\frac{b}{m}\rfloor\),那么\(b\)一定可以表示为\(c\timesm+x\),其中\(0\lex\lem-1\)。又因为\(b=\lfloor\frac{a}{n}\rfloor\),那么\(a\)一定可以表示为\(b\timesn+y\),其中\(0\ley\len......
  • 【正点原子i.MX93开发板试用连载体验】简单的音频分类
    本文最早发表于电子发烧友论坛:今天测试的内容是进行简单的音频分类。我们要想进行语音控制,就需要构建和训练一个基本的自动语音识别(ASR)模型来识别不同的单词。如果想了解这方面的知识可以参考TensorFlow的官方文档:简单的音频识别:识别关键词  |  TensorFlowCore。 ......
  • CubeMX6.10版本配置LAN8720A调通LWIP
    首先,选中ETH,设置Mode为RMII在ETH设置界面找不到PHY的设置界面,这里是和之前6.5版本的区别我们需要到Middlewareandsoftwarepacks下,选中LWIP,勾选Enabledplatformsettings下,选中L8742修改PHYAddress需要到生成的源码里面进行修改找到函数LAN8742_Init(lan8742......
  • Delphi FMX跨平台框架
     一、前言    传统老Delphi人员大部分基本都是C/S端(客户端)开发上手(基于Windows开发),而FMX是Delphi中用于创建跨平台图形用户界面的框架。它允许开发人员使用单个代码库创建适用于多个操作系统的应用程序,如Windows、macOS、iOS和Android。FMX提供了丰富的界面控件和视......
  • cubemx+hal stm32 atgm336h GPS 北斗 定位 模块 驱动代码
    usart2.cgps的串口2设置voidMX_USART2_UART_Init(void){/*USERCODEBEGINUSART2_Init0*//*USERCODEENDUSART2_Init0*//*USERCODEBEGINUSART2_Init1*//*USERCODEENDUSART2_Init1*/huart2.Instance=USART2;huart2.Init.BaudR......
  • cubemx+hal stm32 atgm336h GPS 北斗 定位 模块 驱动代码
    usart2.cgps的串口2设置voidMX_USART2_UART_Init(void){/*USERCODEBEGINUSART2_Init0*//*USERCODEENDUSART2_Init0*//*USERCODEBEGINUSART2_Init1*//*USERCODEENDUSART2_Init1*/huart2.Instance=USART2;huart2.Init.BaudR......
  • CubeMX新建项目
    cubemx程序设置​​​​‍然后进行时钟设置:先从原理图找到高速晶振时钟,比如说这个为25M,​​这个为8M:​​OSC接外部高速晶振,用来用来产生的高速外部用户时钟,OSC32接外部低速晶振。一般来说路线选择:​​​直接在HCLK里面选择板子最大主频,就会自动选择了,不一定要按上......
  • cubemx+hal stm32 atgm336h GPS 北斗 定位 模块 驱动代码
    usart2.cgps的串口2设置voidMX_USART2_UART_Init(void){/*USERCODEBEGINUSART2_Init0*//*USERCODEENDUSART2_Init0*//*USERCODEBEGINUSART2_Init1*//*USERCODEENDUSART2_Init1*/huart2.Instance=USART2;huart2.Init.BaudRate......
  • 痞子衡嵌入式:浅聊恩智浦i.MXRT官方SDK里关于串行Flash相关的驱动与例程资源(上篇)
    大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是恩智浦i.MXRT官方SDK里关于串行Flash相关的驱动与例程资源。经常有同事以及i.MXRT客户咨询痞子衡,咱们恩智浦官方SDK里有哪些串行Flash相关的示例,每一次痞子衡都是按照询问需求将SDK里相应资源路径......