瑞芯微(EASY EAI)RV1126B 4G通讯

描述

1. 4G模块使用简介

4G模块需要搭配着SIM卡(【普通SIM卡】或【物联网卡】)使用,因此需要通过AT指令进行拨号上网。而且在Linux系统中,它作为一个网卡设备被使用,因此也需要对其进行网络配置管理。

由于AT指令仅在初始化网卡时用到,因此本文会着重介绍4G模块相关的网络配置

1.1  netplan与yaml文件

1.1.1   背景

本分析系统运行环境采用的是Ubuntu22.04系统。由于Ubuntu从18.04版本不再使用 ifupdown 配置网络,而改用 netplan,所以在 /etc/network/interfaces 配置固定IP是无效的,必须在/etc/netplan/中进行使用yaml文件网络配置,即我们需要了解yaml文件的基础语法。

1.1.2   YAML文件语法基础及注意事项

以下语法并不包含YAML的所有语法,只说明网络配置中所需语法。更详细的语法知识请参考YAML官网:https://yaml.org/

l  数据结构采用键值对的形式,即(键名称: 值),注意冒号后面要有空格。

l  数组有两种表达方式,例如配置双ip地址时每个元素单独一行,并以(- )开头;配置DNS时使用方括号,元素用逗号隔开。如下图所示。

RV1126BRV1126B

l  使用缩进表示层级关系,缩进使用空格不推荐使用 tab,因为在不同系统 tab 长度可能不一样。

l  字母大小写敏感。

1.2  AT指令

AT指令:4G模块需要通过AT指令来设置其工作状态以及某些参数。而AT指令本质是一种串口通信,都以”AT”开头,以(即\r回车符)结束,模块运行后,串口默认的设置为:8位数据位、1位停止位、无奇偶校验位、硬件流控制(CTS/RTS)。注意为了发送AT命令,最后还要加上 (即\n换行符)这是串口终端要求。在Linux系统中,通过/dev/ttyUSB*设备节点进行收发。对于AT指令的发送,除AT两个字符外,最多可以接收1056个字符的长度(包括最后的空字符)。其分类以及指令格式如下图所示。

RV1126B

1.3  硬件接口说明

1.3.1   MINI-PCIE

RV1126B

1.3.2   sim卡接口

普通SIM卡:就是我们平时使用的电话卡,这种SIM卡与4G模块没有绑定关系。

物联网卡:需要与4G模块进行绑定。一张物联网卡仅能与一个4G模块进行绑定,而同一个4G模块可同时绑定多张物联网卡。

RV1126B

 

2. 拨号上网

2.1 确认yaml配置

       用以下命令查看开发板网络配置存放路径,会发现有4个配置文件。其中61-mobile0-init.yaml是【4G网卡】相关的netplan配置。

ls /etc/netplan/

 

RV1126B

若不存在,则需要手动创建。下面是一个把mobile0配置成DHCP的示例:

network: version: 2 renderer: networkd ethernets: mobile0: optional: true dhcp4: true nameservers: addresses: [8.8.8.8, 8.8.4.4] dhcp4-overrides: route-metric: 250

 

如果对yaml进行过了修改,则需要执行下方命令进行更新:

sudo netplan generate sudo netplan apply

 

2.2   确认正确识别4G网卡

执行命令lsusb。若能正确识别,会如下图所示出现Quectel Wireless

RV1126B

再执行命令ifconfig。若能正确识别,会如下图所示出现mobile0

ifconfig

 

RV1126B

2.3   拨号操作

系统与4G模块的控制交互,通常是通过USB串口实现,具体的控制交互方式就是利用USB串口传输AT指令进行。那么首先就要看一下都有那些USB串口资源:

RV1126B

通过询问模块制造商,获取《USB驱动开发指导书》,查询找到对应模块用作【Modem】的USB串口,就是通过此串口进行拨号操作。具体如图所示。

RV1126B

拨号指令就是其中一条AT指令,具体指令是:AT+QNETDEVCTL=3,1,1。而EC200N-CN(CAT1)的拨号指令是通过/dev/ttyUSB2进行传输。

那在开发板上执行的命令如下所示:

echo -ne "AT+QNETDEVCTL=3,1,1\n" > /dev/ttyUSB2

 

*自动拨号:"AT+QNETDEVCTL=3,1,1\n"

*手动拨号(重启需要再次拨号):"AT+QNETDEVCTL=1,1,1\n"

如果是非root用户登录,可以通过下面命令把AT指令送入/dev/ttyUSB2

echo -ne "AT+QNETDEVCTL=3,1,1\n" | sudo tee /dev/ttyUSB2

 

 

3. 联网测试

执行ifconfig命令,查看4G网卡是否被正确分配IP地址。

ifconfig

 

RV1126B

如果ip地址被正确分配,则执行以下命令,检查是否能够访问外网:

ping 8.8.8.8 -I mobile0

 

若服务器有数据返回,则说明访问成功。

RV1126B

注:若无法访问外网请检查:

* 天线是否已经连接良好

* 设备所在位置的4G信号是否良好

* 是否已插入SIM卡

* 如果SIM是物联网卡,该物联卡是否已过期,是否曾被绑到其它设备

* 卡内流量、费用等是否充足

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分