Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
Air724UG
nuc980
NK-980IOT测评之4G Module (三) AT Device上网
发布于 2022-03-28 22:15:38 浏览:1668
订阅该版
[tocm] 本次测评使用NUC980,通过AT device的方式通过Air742UG模组实现上网。 # 特征 ## 硬件介绍 Air724模块的详细介绍: [NK-980IOT测评之4G Module (一) 硬件介绍](https://club.rt-thread.org/ask/article/3535.html) ## 测试环境 上网设备: Air724UG(CAT.1) SIM卡:中国电信 APN: CTNET 网络环境:良好 NUC980 - Air724UG串口波特率: 115200bps ## AT Device AT device 软件包是由 RT-Thread AT 组件针对不同 AT 设备的移植文件和示例代码组成,目前支持的 AT 设备有:ESP8266、ESP32、M26、MC20、RW007、MW31、SIM800C、W60X 、SIM76XX、A9/A9G、BC26 、AIR720、ME3616、M6315、BC28、EC200X、M5311、L610系列设备等,目前上述设备都完成对 `AT socket` 功能的移植,及设备通过 AT 命令实现标准 socket 编程接口,完成 socket 通讯的功能,具体功能介绍可参考 [《RT-Thread 编程指南》](https://www.rt-thread.org/document/site/programming-manual/at/at/)AT 命令章节 。 ![network_frame.jpg](https://oss-club.rt-thread.org/uploads/20220328/beb225fb62360997d1bb776bd02f1545.jpg.webp) 本次测评用到的Luat Air 724模组,与Luat Air720同样出品自合宙,并且使用的都是展锐的8910D cat1 Iot芯片,AT手册是一个,只有部分AT命令的支持有差异,经过确认,对于PPP拨号使用的AT是没有任何差异的,所以可以直接使用Air720的配置。 # 调试步骤 ## 准备 ### 硬件 - NK 980IOT开发板 - Air724UG开发板 - SIM卡 - Micro USB线 * 3 - 杜邦线若干 - USB转串口工具(可选) * 2 ### 软件 - RT-Thread Studio V2.2.1 - Luatools V2.1.45 - NuWriter - Tera Term ## 工程配置及编译 - 打开RT-Thread Stduio,安装980开发板相对应的开发包,新建工程 ![创建项目.PNG](https://oss-club.rt-thread.org/uploads/20220328/976b90567becc52e790e9bfc083eb0f4.png.webp) - 配置AT Client ![fe74e18f922920f323e08029c07a99df.png](https://oss-club.rt-thread.org/uploads/20220328/fe74e18f922920f323e08029c07a99df.png) - 配置AT Command ![AT组件配置2.PNG](https://oss-club.rt-thread.org/uploads/20220328/0fcf2141c634a554755d58babc3f850f.png) - 配置串口 ![AT串口配置3.PNG](https://oss-club.rt-thread.org/uploads/20220328/bc9662bc5ed851104970fda62db24a46.png) >以下步骤与[NK-980IOT测评之4G Module (二) PPP拨号](https://club.rt-thread.org/ask/article/3537.html)中的一致。 ## 编译工程 ## 硬件连线 ## Air724模组注册网络 ## 下载运行 >以上步骤与[NK-980IOT测评之4G Module (二) PPP拨号](https://club.rt-thread.org/ask/article/3537.html)中的一致。 # 功能及性能测试 ## 初始化AT Device 从Luatools软件中可以看到,AT device实现上网并未像PPP拨号一样拉起一路PDP连接,而是直接复用了当前模组内的默认数据链接。IP地址为 100.133.186.98 ![模组网络注册成功.PNG](https://oss-club.rt-thread.org/uploads/20220328/983324e90d6a35db6dcea1432a5a55a5.png) 在RTT console中, 我们打开了详细的AT传输log,可以看到每一步的AT命令执行情况。大体步骤可以分为: - 检测sim卡 - 等待网络注册 - 附着数据网络 - 获取IP地址 获取到的IP地址任然为100.133.186.98, 与从Luatools软件中看到的默认路数据链接一致。 ![初始化ATdevice.PNG](https://oss-club.rt-thread.org/uploads/20220328/aba95380598755f9ab43f905729234b4.png) AT Device还注册了一个网络状态监听线程,用于监听网络状态变化,其中主要是用CGREG检查数据连接状态和CSQ检查信号强度,在网络断开或者质量不佳的时候会重启AT Device。 ![监听网络状态.PNG](https://oss-club.rt-thread.org/uploads/20220328/26c1c98c9563604407c55b7a1d1879e9.png) 从详细的log也可以看出,使用AT上网和PPP上网最大的区别就是,AT上网方式,数据同样是通过AT命令传输的,相比于PPP拨号透传数据包的形式,效率较低。 ![接受数据包.PNG](https://oss-club.rt-thread.org/uploads/20220328/776501a54628ae42de3377766018c73e.png) ## Ping测试 使用Ping命令尝试ping百度主页,可以看到网络延时还是很不错的。从底层执行逻辑来看,ping命令依然是使用AT命令实现的。 ![ping.PNG](https://oss-club.rt-thread.org/uploads/20220328/777561c68c4161615596ca4be2e5ad6e.png) ## 测试网速 和PPP拨号一样,使用iperf测试作为Client端的网络质量。本次选用百度云服务器作为服务端,运行Jperf。RTT通过console使用iperf测试,配置波特率为115200。 RTT显示平均网速为12kbps, 服务端数据也基本一致。这个数据和使用PPP拨号上网还是有一定的差距,大约只有PPP拨号的1/7,反复测试了几次结果都是一样的。 ![iperf115200.PNG](https://oss-club.rt-thread.org/uploads/20220328/06dd8e94b6d20b3f212562fca79e1037.png) 从AT RAW data可以看出,数据包是通过AT命令逐包发送的。 ![iperf115200-con.PNG](https://oss-club.rt-thread.org/uploads/20220328/3bf13d554dd22fb3d5abed82c48335f8.png) # 演示视频 本次测试的功能比较简单,除了代码不同外,其他的步骤和操作均与[NK-980IOT测评之4G Module (二) PPP拨号](https://club.rt-thread.org/ask/article/3537.html)中的一致。 我想等到测试AT Device实现电话拨打接听的demo中再一并录制演示视频,尽请谅记。 # 代码 [https://gitee.com/yu-wang-yy/nuc980_-air724_-AT](https://gitee.com/yu-wang-yy/nuc980_-air724_-AT) # 总结 - 当前RTT已经支持的AT DEVICE设备可以作为 AT Client 使用串口连接其他设备发送并接收解析数据,Air724UG模组完全适用于RTT已经支持的Air720,无需任何修改。 - AT DEVICE本质上就是提供了一套更加高效便捷的AT命令处理接口,而基于AT实现的BSD socket API基本上就是对AT命令的封装适配。 - 基于AT实现的BSD socket API在上网性能上要弱于PPP拨号(在115200bps下带宽利用率高达94%),在同样的数据链路层链接下,性能只能达到其1/7, 不知道是否正确,还请各位指正或者一起研究。 - 初步分析原因,应该是采用基于AT命令实现的socket API在中间处理AT命令的效率远低于PPP拨号方式。
1
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
AngerCoke
这个人不懒,主要是真的不想写什么
文章
10
回答
2
被采纳
0
关注TA
发私信
相关文章
1
MQTT通信过程中出现SendPacket rc:-1后不断重启
2
http ota 下载到90%多失败
3
软件包AIR720,栈溢出
4
ntp 与 air 720的包一起使用连接超时?
5
怎么用air720实现基站定位
6
air724无法通电
7
通过air724ug获取位置信息后通过mqtt发送到云端遇到问题
8
air724ug 设备初始化AT指令超时一次就整个线程重新尝试初始化,接口逻辑矛盾
9
air724ug 连接阿里云,不定时发送出错
10
air720 设备驱动缺少了正确的格式化字符串来包含参数 导致总线错误
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
UART
WIZnet_W5500
ota在线升级
freemodbus
PWM
flash
cubemx
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
flashDB
GD32
socket
中断
编译报错
Debug
SFUD
rt_mq_消息队列_msg_queue
msh
keil_MDK
ulog
C++_cpp
MicroPython
本月问答贡献
踩姑娘的小蘑菇
4
个答案
1
次被采纳
红枫
4
个答案
1
次被采纳
张世争
4
个答案
1
次被采纳
Ryan_CW
4
个答案
1
次被采纳
xiaorui
1
个答案
1
次被采纳
本月文章贡献
catcatbing
3
篇文章
5
次点赞
qq1078249029
2
篇文章
2
次点赞
xnosky
2
篇文章
1
次点赞
Woshizhapuren
1
篇文章
5
次点赞
YZRD
1
篇文章
2
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部