0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在EM系列储能网关中玩转4G模块

ZLG致远电子 2023-10-27 08:25 次阅读

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

5b0abeb8-745f-11ee-9788-92fbcf53809c.jpg  移植准备1. 硬件选择

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

5b0e972c-745f-11ee-9788-92fbcf53809c.png

图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个。5b131900-745f-11ee-9788-92fbcf53809c.png图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 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 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 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 GSM modem (1-port) converter detected[ 213.927619] usb 2-1: GSM modem (1-port) converter now attached to ttyUSB3

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

5b1c11f4-745f-11ee-9788-92fbcf53809c.png

图3调试演示


5b0abeb8-745f-11ee-9788-92fbcf53809c.jpg  拨号上网

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",1\r\n" > /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 网络通信所示。

5b2c2ea4-745f-11ee-9788-92fbcf53809c.png

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

5b32eae6-745f-11ee-9788-92fbcf53809c.png

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

5b36e560-745f-11ee-9788-92fbcf53809c.png

图6ECM拨号

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

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

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

5b3aacc2-745f-11ee-9788-92fbcf53809c.png

图7EC200U-CN拨号上网


5b0abeb8-745f-11ee-9788-92fbcf53809c.jpg  设置及问题排查

1. band号设置

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

5b460bc6-745f-11ee-9788-92fbcf53809c.png

图8band号分部

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

root@em-500:~# cat /dev/ttyUSB0 &root@em-500:~# echo -e "at+qcfg="band"\r\n" > /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,2000001e20b0f1800\r\n" > /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

5b49f394-745f-11ee-9788-92fbcf53809c.png

图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测试所示:

5b4df750-745f-11ee-9788-92fbcf53809c.png

图10ping测试如果网络还是不通可以使用以下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 调试截图所示。

5b552750-745f-11ee-9788-92fbcf53809c.png

图11调试截图

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

    关注

    7

    文章

    2484

    浏览量

    46530
  • 4G
    4G
    +关注

    关注

    15

    文章

    5371

    浏览量

    117121
  • 网关
    +关注

    关注

    9

    文章

    3208

    浏览量

    50019
  • 储能
    +关注

    关注

    8

    文章

    1086

    浏览量

    32385
收藏 人收藏

    评论

    相关推荐

    STM32G473VET6如何才能和4G模块进行正常通讯?

    大家好,我初次使用STM32G473VET6这颗料,本来计划用MCU的USB连接4G模块,实现无线通讯,结果调试时软件说这颗芯片的USB口只能作为从口来使用,没法和4G
    发表于 03-20 06:55

    移远EC20 4G LTE模块

    为了方便使用和测试,我专门购置了移远EC20 4G LTE模块,买到后,发现还需要一个转接卡才能正常使用,于是又购置了USB转接卡,并配置了专用天线。相关的设备如下:其中包括:移远EC20 4G
    发表于 02-26 15:11

    【飞腾派4G版免费试用】4.手把手玩转QT界面设计

    试用】2.手把手实战编译Linux内核 【飞腾派4G版免费试用】3.手把手玩转制作rootfs根文件系统 我本论坛内的试读经验 : 《电子工程师必备——九大系统电路识图宝典》+附录2化整为零和集零为整
    发表于 01-27 12:49

    【飞腾派4G版免费试用】飞腾派4G版开发板套装测试及环境搭建

    先简单介绍一下这款飞腾派4G版开发板套装; 飞腾派是由中电港萤火工场研发的一款面向行业工程师、学生和爱好者的开源硬件。主板处理器采用飞腾嵌入式四核处理器,兼容ARM V8架构,包含2个FTC664核
    发表于 01-22 00:47

    【飞腾派4G版免费试用】来更多的了解飞腾派4G版开发板!

    以及优刻谷边缘物联网关等产品。 值得一提的是,飞腾还公布了飞腾派“种子计划”,该计划将在飞腾派发布一年内,以创新大赛、现场交流会、产品赋培训会等形式,培育不少于10000名飞腾派开发者。 飞腾派4G版开发板是非常值得去研究和融
    发表于 01-22 00:34

    飞腾派4g试用

    4G飞腾派
    梦の旅驿站
    发布于 :2024年01月07日 14:13:20

    【飞腾派4G版免费试用】大家来了解飞腾派4G版开发板

    加速卡与4G、5G通信等多种功能模块的扩展。操作系统层面,飞腾派支持Ubuntu、Debian等国外主流开源操作系统,也支持国内OpenKylin、OpenHarmony、Sylix
    发表于 01-02 22:43

    【飞腾派4G版免费试用】初步认识飞腾派4G版开发板

    , 可快速连接无线通信。另外还集成了大量外设接口,包括双路千兆以太网、USB、UART、CAN、HDMI、 音频等接口,集成一路miniPCIE接口,可实现AI加速卡与4G、5G通信等多种功能模块
    发表于 01-02 22:23

    【飞腾派4G版免费试用】飞腾派+4G+EMQX+eKuiper +Zigbee 传感器搭建物联网边缘计算网关

    /jishu_2401481_1_1.html 6. eKuiper 安装与运行 打算简单写一篇文章。后面再添加链接 7. 4G 模块调试 4G模块打算简单写一篇文章。后面再添加链接
    发表于 12-29 18:25

    4G蓝牙网关M1000功能及产品介绍

    :M1000在数据传输过程中具有较高的稳定性,能够确保复杂环境下保持稳定的连接,减少掉线或断连的情况。 二、应用场景 桂花网4G蓝牙网关M1000适用于多种应用场景,如智慧医疗、工业物联网、温度监测等
    发表于 12-22 14:38

    笙泉MCU电源中的作用(3): 户外逆变器

    本帖最后由 noctor 于 2023-7-31 15:19 编辑 笙泉MCU电源中的作用(3): 户外逆变器
    发表于 07-31 15:18

    随时监控4G信号强度的工业级4G路由器

    4G
    深圳市博晶网络科技有限公司
    发布于 :2023年06月30日 10:51:58

    hpm6000系列使用rndis模式连接4G模块

    一、概述 物联网应用当中,有些应用场景需要用到USB 4G模块进行上网,实现外网数据交互。先楫目前的所有hpm6000系列芯片均带有高速480mbps USB接口,可以作为host主
    发表于 06-20 20:32

    影响4G/LTE终端天线性能的因素有哪些?

      无线电通信中,4G/LTE 终端天线是外接介质的接口,4G/LTE 终端天线辐射并接受无线电波。   4G/LTE 终端天线发射时,能把高频电流转化为电磁波,把接收到的电磁波转化
    发表于 05-10 17:53

    5G天线和4g天线通用吗?有何区别?

      5G天线被广泛使用。2G和3G频段已经很少实用,现在使用较多的大多是4G和5G。有很多客户对5g
    发表于 05-09 14:26