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

news2025/1/17 8:17:48

目录

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 //验证第二条请求

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/926369.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Docker 安装rabbitmq:3.12-management

拉取镜像&#xff1a; docker pull rabbitmq:3.12-management mkdir -p /usr/local/rabbitmq chmod 777 /usr/local/rabbitmq docker run -id --restartalways --namerabbitmq -v /usr/local/rabbitmq:/var/lib/rabbitmq -p 15672:15672 -p 5672:5672 -e RABBITMQ_DEFAULT_U…

助力品牌形象建设,FairGuard支持企业深度定制化

2022年&#xff0c;中国游戏市场实际销售收入与游戏用户规模出现近年来的首次下降&#xff0c;标志着游戏产业发展正式迈入存量时代。 存量市场时代&#xff0c;意味着游戏产品获取用户的难度逐渐加大&#xff0c;对于游戏的内容品质、技术实力和价值拓展等有了更高的要求。如…

恒运资本:什么是股票分红和基金分红?两者有什么区别?

出资者在进行股票出资和基金出资的时分&#xff0c;能够参与股票分红或许基金分红&#xff0c;可是许多新手对分红不是很了解。那么什么是股票分红和基金分红&#xff1f;两者有什么区别&#xff1f;下面就由恒运资本为大家分析&#xff1a; 什么是股票分红和基金分红&#xff…

C语言实例_实现malloc与free函数完成内存管理

一、malloc和free函数介绍 在C语言中&#xff0c;malloc和free是用于动态内存管理的函数。 &#xff08;1&#xff09;malloc函数 malloc函数用于在堆&#xff08;heap&#xff09;中分配指定大小的内存空间&#xff0c;并返回一个指向该内存块的指针。 原型如下&#xff1a…

718. 最长重复子数组

718. 最长重复子数组 原题链接&#xff1a;完成情况&#xff1a;题解&#xff1a;方法一&#xff1a;动态规划方法二&#xff1a;滑动窗口方法三&#xff1a;二分查找 哈希 原题链接&#xff1a; 718. 最长重复子数组 https://leetcode.cn/problems/maximum-length-of-repe…

XSS盲打练习(简单认识反射型、存储型XSS和cookie欺骗)

文章目录 挖掘cms网站XSS漏洞利用XSS平台盲打CMS&#xff0c;获取后台管理cookiecookie欺骗登录管理员账户 挖掘cms网站XSS漏洞 来到cms网站主页&#xff0c;发现有一个搜索框&#xff0c;输入任意内容后搜索&#xff0c;发现内容会回显&#xff0c;这里可能存在反射型XSS漏洞…

python爬虫11:实战3

python爬虫11&#xff1a;实战3 前言 ​ python实现网络爬虫非常简单&#xff0c;只需要掌握一定的基础知识和一定的库使用技巧即可。本系列目标旨在梳理相关知识点&#xff0c;方便以后复习。 申明 ​ 本系列所涉及的代码仅用于个人研究与讨论&#xff0c;并不会对网站产生不好…

springboot整合modbus4J(一)

springboot整合modbus4J 1. 介绍 (1) modbus poll&#xff1a;modbus主机仿真器&#xff0c;用于测试和调试modbus从设备。该软件支持modbus rtu、ASCII、TCP/IP。用来帮助开发人员测试modbus从设备&#xff0c;或者其它modbus协议的测试和仿真。它支持多文档接口&#xff0c…

阿里云服务器和腾讯云服务器折扣对比_哪家折扣低?

阿里云服务器和腾讯云服务器根据购买时长可以享受一定的优惠折扣&#xff0c;综合对比下来腾讯云折扣更低&#xff0c;阿腾云来对比下阿里云和腾讯云的云服务器根据购买时长可以享受的常规折扣对比&#xff1a; 目录 阿里云和腾讯云折扣对比 阿里云服务器常规折扣 腾讯云服…

逃出Verifier 无限蓝屏

逃出Verifier 无限蓝屏 前情提要&#xff1a;今天由于在处理 终止代码&#xff1a;WDF_VIOLATION 的蓝屏时&#xff0c;看到网上有用Verifier 来处理这个问题&#xff0c;但是按照方法处理后导致了Verifier无限蓝屏&#xff0c;重启就蓝屏&#xff0c;最后是进入安全模式操作&a…

软件测试及数据分析处理实训室建设方案

一 、系统概述 软件测试及数据分析处理是软件开发过程中的一项重要测试活动&#xff0c;旨在验证不同软件模块或组件之间的集成与交互是否正常。综合测试确保各个模块按照设计要求正确地协同工作&#xff0c;以实现整个软件系统的功能和性能。以下是软件测试及数据分析处理的一…

数据通信——TCP(三次握手及基础特性)

引言 TCP&#xff08;传输控制协议&#xff09;&#xff0c;不像之前的UDP那样&#xff0c;因为这个协议要将很多复杂的东西&#xff0c;所以这次的特性是简单的特性&#xff0c;后续会讲一些复杂难懂的知识&#xff0c;这次先说一些TCP明显的特性 面向连接 TCP提供了对连接的管…

[论文分享]TSPTM-survey:时间序列预训练模型研究综述

目录 1 概要 1.1 贡献点 2 背景 2.1 时序挖掘(TSM)任务 2.2 时间序列的深度学习模型 2.3 预训练模型优势 3 TS-PTMS 概述 3.1 监督预训练 3.1.1 基于分类的预训练 3.1.1.1 通用编码器 3.1.1.2 对齐编码器 3.1.1.3 模型重编程 3.1.1.4 总结 3.1.2 基于预测的预训练…

线性代数(五) 线性空间

前言 《线性代数(三) 线性方程组&向量空间》我通过解线性方程组的方式去理解线性空间。此章从另一个角度去理解 空间是什么 大家较熟悉的&#xff1a;平面直角坐标系是最常见的二维空间 空间由无穷多个坐标点组成 每个坐标点就是一个向量 反过来&#xff0c;也可说&…

泡泡玛特回应头部IP营收增速放缓:IP上市时间不固定

8月23日&#xff0c;针对今年上半年头部IP营收增速放缓问题&#xff0c;泡泡玛特&#xff08;09992.HK&#xff09;管理层在业绩会上解释称&#xff0c;每个IP上市时间并不固定&#xff0c;单从上半年看同比增长会有偏差&#xff0c;而随着下半年两个新系列的推出&#xff0c;全…

Sql Server 数据库事务与锁,同一事务更新查询锁的变化

我有一个People表&#xff0c;有三行数据&#xff1a; 如果我们没详细了解数据库事务执行加锁的过程中&#xff0c;会不会有这样一个疑问&#xff1a;如下的这段 SQL 开启了事务&#xff0c;并且在事务中进行了更新和查询操作。 BEGIN TRAN update People set Name张三 where …

AI绘画工具MJ新功能有点东西,小白也能轻松一键换装

先看最终做出来的效果 直接来干货吧。Midjourney&#xff0c;下面简称MJ 1.局部重绘功能来袭 就在前两天&#xff0c;MJ悄咪咪上线了这个被众人期待的新功能&#xff1a;局部重绘。 对于那些追求创新和个性化的设计师来说&#xff0c;局部绘制不仅是一个实用的功能&#xff…

Smartbi电子表格软件版本更新,首次推出Excel轻应用和语音播放

Smartbi电子表格软件又又又更新啦&#xff01; 此次更新&#xff0c;首次推出了新特性——Excel轻应用和语音播报。另外&#xff0c;还对产品功能、Demo示例、配套文档进行了完善和迭代。 低代码开发Excel轻应用 可实现迅速发布web应用 业务用户的需求往往都处于“解决问题”…

无涯教程-进程 - 简介

进程间通信就是在不同进程之间传播或交换信息&#xff0c;那么不同进程之间存在着什么双方都可以访问的介质呢?进程的用户空间是互相独立的&#xff0c;一般而言是不能互相访问的&#xff0c;唯一的例外是共享内存区。另外&#xff0c;系统空间是“公共场所”&#xff0c;各进…

重磅!云智慧监控宝这些功能免费用啦

自云智慧推出监控宝以来&#xff0c;各行业领域反映强烈&#xff0c;现已有超过24万人次使用监控宝官网的免费试用功能。得益于诸多企业及用户对监控宝热情的持续升温&#xff0c;云智慧释放技术红利&#xff0c;推出监控宝免费使用福利&#xff0c;面向中小型企业提供监控宝核…