加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

【产品应用】在EM系列储能网关中玩转4G模块

2023/10/26
4038
阅读需 14 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

在储能系统应用中,通过4G上云是非常基础和常见的应用需求,由于业务和场景的多样性,4G模块也多种多样,本文将详细介绍如何在EM储能网关中玩转4G模块。

移植准备

1. 硬件选择

本文以EM系列中的EM-500储能网关作为开发主体,如图1所示,EM系列的产品带有PCIE扩展槽及其他丰富的接口,PCIE扩展槽里面预留USB接口,方便对PCIE模块开发使用,使用时只需将4G模块插入PCIE槽即可。

图1 EM-500储能网关

2. 已适配的产品 

目前在EM-500已经适配的4G模块有:L610-CN、L610-EU、NL668、EC20、EC200U-CN、EC200A-CN、EG21-G、EG25-G、SLM770A、BG95-M3、EG912U-GL。

3. 4G模块调试接口

当我们插入4G模块后会在/dev/生成若干个USB调试接口,设备名字一般为:/dev/ttyUSBX(X=0,1,2….x),如果没有则输入lsusb命令查看是否识别到USB设备,如图2调试接口所示,目前插入的4G模块的PID为2c7c,VID为0125,厂家为移远,调试接口有4个。

图2 调试接口

如果lsusb可以查看到设备时,/dev/没有相应的调试接口时,可以将4G模块的PID VID输入到new_id这节点,输入以下命令(以图2的PID VID为例):

echo "2c7c 0125 ff" > /sys/bus/usb-serial/drivers/option1/new_id

成功内核会输出类似以下log:

root@EM500:~# echo "2c7c 0125 ff" > /sys/bus/usb-serial/drivers/option1/new_id [ 213.905997] option 2-1:1.0: GSM modem (1-port) converter detected[ 213.906609] usb 2-1: GSM modem (1-port) converter now attached to ttyUSB0[ 213.907126] option 2-1:1.1: GSM modem (1-port) converter detected[ 213.909049] usb 2-1: GSM modem (1-port) converter now attached to ttyUSB1[ 213.909491] option 2-1:1.2: GSM modem (1-port) converter detected[ 213.919056] usb 2-1: GSM modem (1-port) converter now attached to ttyUSB2[ 213.924366] option 2-1:1.3: GSM modem (1-port) converter detected[ 213.927619] usb 2-1: GSM modem (1-port) converter now attached to ttyUSB3

然后在/dev/就可以看到调试接口了,得到调试接口就可以使用microcom或者catecho进行4G模块AT指令调试,例如输入AT指令查看模块固件版本,如下图3 调试演示所示:

图3 调试演示

 拨号上网

1. 拨号方式及选择

目前4G拨号方式有PPP拨号、ECM拨号、Gobinet拨号、QMI拨号等。在EM系列使用的是ECM拨号,ECM拨号通过利用4G网络的高速性能、广阔覆盖范围、低延迟、高带宽支持和移动性等优点,为各种应用场景提供了可靠、快速、稳定的数据连接。这使得设备能够实现高效的数据传输和实时通信,满足不同行业和领域的需求,且不需要移植任何的工具,像PPP、Gobinet、QMI这些拨号方式,不同的4G模块厂家都有不同的拨号工具,移植起来比较繁琐。

2. ECM拨号上网ECM上网很简单,只需要使用AT指令即可完成,如下演示移远EC20模块在ECM模式下上网:首先切换ECM模式

cat /dev/ttyUSB2 &echo -e "AT+QCFG="usbnet",1rn" > /dev/ttyUSB2

切换完成后需要对模块进行复位,输入以下命令:

echo 498 > /sys/class/gpio/exportecho out > /sys/class/gpio/gpio498/directionecho 1 > /sys/class/gpio/gpio498/valueecho 0 > /sys/class/gpio/gpio498/value

复位完成后ifconfig -a可以看到一个网卡,使用dhclient  <网卡名>获取ip后即可上网,如图4 网络通信所示。

图4 调试演示每种模块或者厂家切换到ECM 的AT命令是不一样,目前已适配的4G模块的ECM切换命令如图5 ECM切换命令所示。

图5 ECM切换命令有些4G模块是不需要拨号的,当切换到ECM后,重启后则会自动拨号,有些4G模块则需要手动拨号,具体区分如图6 ECM拨号所示。

图6 ECM拨号

手动拨号时需要根据SIM卡运营商来进行切换,切换完后才能进行拨号,对应的AT指令如下:

移动:echo -e "AT+CGDCONT=1,"IP","CMNET"rn" > /dev/ttyUSB0电信:echo -e "AT+CGDCONT=1,"IP","CTNET"rn" > /dev/ttyUSB0联通:echo -e "AT+CGDCONT=1,"IP","3GNET"rn" > /dev/ttyUSB0

以下以EC200U-CN作为演示,如图 7 EC200U-CN拨号上网所示。

图7 EC200U-CN拨号上网

  设置及问题排查

1. band 号设置

我国对应的band号如图8 band号分布所示:

图8 band号分部

同样是每家厂商对应设置band号是不一样的,以移远的模块(EG912U-GL)为例,输入以下指令可以查看现在开启的band号。

root@em-500:~# cat /dev/ttyUSB0 &root@em-500:~# echo -e "at+qcfg="band"rn" > /dev/ttyUSB0+QCFG: "band",0xf,0x2000001e20b0f18dfOKroot@em-500:~#

其中0x2000001e20b0f18df为目前启用的band号,这里要把0x2000001e20b0f18df换算成二进制,1是打开,0是关闭,第0位是band1,第1位为band2,以此类推,现在EG912U-GL开启的band号有(列举一部分):band1,band2,band3,band4,band5,band7,band8,band12等。输入以下命令可以设置band号,如下关掉band1-band8,设置时不需要带上0x。

root@em-500:~# echo -e "at+qcfg="band",f,2000001e20b0f1800rn" > /dev/ttyUSB0OKroot@em-500:~#

2. 网卡名称问题

当切换到ECM后,会生成一些enxxxxxx之类的稀奇古怪的网卡名字,主要原因是被系统的rules给重名命了,如下内核打印可知,一般来说切换到ECM后网卡的名字为usbX(X=0,1,2…x)。

cdc_ether 2-1:1.0 enx024bb3b9ebe5: renamed from usb0

解决方法如下:

修改80-net-setup-link.rules内容,将NAME=”$env{ID_NET_NAME}” 里的ID_NET_NAME改成ID_NET_SLOT后,重启设备就可以了。

打开80-net-setup-link.rules,如下:

vi /lib/udev/rules.d/80-net-setup-link.rules

 

图9 修改网卡重命名

3. 网络不通排查

当dhclient获取到ip后ping不到百度,提示以下错误:

ping: www.baidu.com: Temporary failure in name resolution

可能是DNS不对或是模块拨号失败导致ping不出去,具体原因可以先ping 114.114.114.114或者ping 8.8.8.8,如果不能ping通则修改DNS,如下:

vi /etc/resolv.conf#注释和添加以下内容:#注释掉:#nameserver 127.0.0.53#options edns0#添加:nameserver 114.114.114.114nameserver 8.8.8.8

然后再ping 百度即可,如果改完还是ping 不通则输入往USB调试接口输入AT+CSQ看下信号,信号太低也可能导致ping不出去,这种情况接上天线多ping几次就行,如图10 ping测试所示:

图10 ping测试

如果网络还是不通可以使用以下AT指令来排查网络不通的原因:

    AT+CSQ:查询信号质量。如果返回值较低,表示信号弱,如果为99代表无信号。AT+CEREG?:查询EPS注册状态。类似于AT+CREG?,但适用于LTE网络。AT+COPS?:查询可用运营商列表。如果返回值为空或不正确,表示可能存在运营商选择或配置问题。AT+CGACT?:查询PDP上下文激活状态。如果返回值为0,表示PDP上下文未激活,可能需要重新激活。AT+CGPADDR:查询PDP地址。如果返回值为空,表示未获得有效的IP地址,可能是APN或其他数据连接设置问题。AT+CGDCONT?:查询PDP上下文配置。确保PDP上下文配置正确,包括APN设置等。AT+COPS=?:查询可用运营商列表。使用此指令可以获取可用的运营商列表,并选择合适的运营商进行注册。AT+CIMI:查询国际移动用户识别码(IMSI)。IMSI是SIM卡的唯一标识号码,确保SIM卡插入正确并且正常工作。AT+CPIN?:查询PIN码状态。与之前提到的一样,用于检查SIM卡的PIN码状态。AT+CREG?:查询注册状态。如果返回值为0或2,表示未注册或正在尝试注册,可能是网络连接导致的问题。AT+CGATT?:查询附着状态。如果返回值为0,表示未附着到网络,可能需要重新附着。AT+CGREG?:查询GPRS注册状态。如果返回值为0或2,表示未注册或正在尝试注册,可能是网络连接导致的问题。

部分正常情况调试截图如图11 调试截图所示。

图11 调试截图

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
KSZ9031RNXCA 1 Microchip Technology Inc DATACOM, ETHERNET TRANSCEIVER

ECAD模型

下载ECAD模型
$5.5 查看
KSZ8041FTLI-TR 1 Microchip Technology Inc DATACOM, ETHERNET TRANSCEIVER, PQFP48

ECAD模型

下载ECAD模型
$2.95 查看
KSZ9477STXI-TR 1 Microchip Technology Inc IC ETHERNET SWITCH 7PORT 128TQFP

ECAD模型

下载ECAD模型
$17.3 查看
致远电子

致远电子

广州致远电子股份有限公司成立于2001年,注册资金5000万元,国家级高新技术认证企业,广州市高端工控测量仪器工程技术研究开发中心,Intel ECA全球合作伙伴和微软嵌入式系统金牌合作伙伴。

广州致远电子股份有限公司成立于2001年,注册资金5000万元,国家级高新技术认证企业,广州市高端工控测量仪器工程技术研究开发中心,Intel ECA全球合作伙伴和微软嵌入式系统金牌合作伙伴。收起

查看更多

相关推荐

电子产业图谱