在儲(chǔ)能系統(tǒng)應(yīng)用中,通過(guò)4G上云是非?;A(chǔ)和常見(jiàn)的應(yīng)用需求,由于業(yè)務(wù)和場(chǎng)景的多樣性,4G模塊也多種多樣,本文將詳細(xì)介紹如何在EM儲(chǔ)能網(wǎng)關(guān)中玩轉(zhuǎn)4G模塊。
?移植準(zhǔn)備1. 硬件選擇
本文以EM系列中的EM-500儲(chǔ)能網(wǎng)關(guān)作為開(kāi)發(fā)主體,如圖1所示,EM系列的產(chǎn)品帶有PCIE擴(kuò)展槽及其他豐富的接口,PCIE擴(kuò)展槽里面預(yù)留USB接口,方便對(duì)PCIE模塊開(kāi)發(fā)使用,使用時(shí)只需將4G模塊插入PCIE槽即可。
圖1 EM-500儲(chǔ)能網(wǎng)關(guān)
2. 已適配的產(chǎn)品 目前在EM-500已經(jīng)適配的4G模塊有:L610-CN、L610-EU、NL668、EC20、EC200U-CN、EC200A-CN、EG21-G、EG25-G、SLM770A、BG95-M3、EG912U-GL。
3. 4G模塊調(diào)試接口
當(dāng)我們插入4G模塊后會(huì)在/dev/生成若干個(gè)USB調(diào)試接口,設(shè)備名字一般為:/dev/ttyUSBX(X=0,1,2….x),如果沒(méi)有則輸入lsusb命令查看是否識(shí)別到USB設(shè)備,如圖2調(diào)試接口所示,目前插入的4G模塊的PID為2c7c,VID為0125,廠家為移遠(yuǎn),調(diào)試接口有4個(gè)。圖2調(diào)試接口如果lsusb可以查看到設(shè)備時(shí),/dev/沒(méi)有相應(yīng)的調(diào)試接口時(shí),可以將4G模塊的PID VID輸入到new_id這節(jié)點(diǎn),輸入以下命令(以圖2的PID VID為例):
echo "2c7c 0125 ff" > /sys/bus/usb-serial/drivers/option1/new_id
成功內(nèi)核會(huì)輸出類似以下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/就可以看到調(diào)試接口了,得到調(diào)試接口就可以使用microcom或者cat\echo進(jìn)行4G模塊AT指令調(diào)試,例如輸入AT指令查看模塊固件版本,如下圖3 調(diào)試演示所示:
圖3調(diào)試演示
?撥號(hào)上網(wǎng)
1.撥號(hào)方式及選擇
目前4G撥號(hào)方式有PPP撥號(hào)、ECM撥號(hào)、Gobinet撥號(hào)、QMI撥號(hào)等。在EM系列使用的是ECM撥號(hào),ECM撥號(hào)通過(guò)利用4G網(wǎng)絡(luò)的高速性能、廣闊覆蓋范圍、低延遲、高帶寬支持和移動(dòng)性等優(yōu)點(diǎn),為各種應(yīng)用場(chǎng)景提供了可靠、快速、穩(wěn)定的數(shù)據(jù)連接。這使得設(shè)備能夠?qū)崿F(xiàn)高效的數(shù)據(jù)傳輸和實(shí)時(shí)通信,滿足不同行業(yè)和領(lǐng)域的需求,且不需要移植任何的工具,像PPP、Gobinet、QMI這些撥號(hào)方式,不同的4G模塊廠家都有不同的撥號(hào)工具,移植起來(lái)比較繁瑣。
2. ECM撥號(hào)上網(wǎng)ECM上網(wǎng)很簡(jiǎn)單,只需要使用AT指令即可完成,如下演示移遠(yuǎn)EC20模塊在ECM模式下上網(wǎng):首先切換ECM模式
cat /dev/ttyUSB2 &echo -e "AT+QCFG="usbnet",1\r\n" > /dev/ttyUSB2
切換完成后需要對(duì)模塊進(jìn)行復(fù)位,輸入以下命令:
echo 498 > /sys/class/gpio/exportecho out > /sys/class/gpio/gpio498/directionecho 1 > /sys/class/gpio/gpio498/valueecho 0 > /sys/class/gpio/gpio498/value
復(fù)位完成后ifconfig -a可以看到一個(gè)網(wǎng)卡,使用dhclient <網(wǎng)卡名>獲取ip后即可上網(wǎng),如圖4 網(wǎng)絡(luò)通信所示。
圖4調(diào)試演示每種模塊或者廠家切換到ECM 的AT命令是不一樣,目前已適配的4G模塊的ECM切換命令如圖5 ECM切換命令所示。
圖5ECM切換命令有些4G模塊是不需要撥號(hào)的,當(dāng)切換到ECM后,重啟后則會(huì)自動(dòng)撥號(hào),有些4G模塊則需要手動(dòng)撥號(hào),具體區(qū)分如圖6 ECM撥號(hào)所示。
圖6ECM撥號(hào)
手動(dòng)撥號(hào)時(shí)需要根據(jù)SIM卡的運(yùn)營(yíng)商來(lái)進(jìn)行切換,切換完后才能進(jìn)行撥號(hào),對(duì)應(yīng)的AT指令如下:
移動(dòng):echo -e "AT+CGDCONT=1,"IP","CMNET"\r\n" > /dev/ttyUSB0電信:echo -e "AT+CGDCONT=1,"IP","CTNET"\r\n" > /dev/ttyUSB0聯(lián)通:echo -e "AT+CGDCONT=1,"IP","3GNET"\r\n" > /dev/ttyUSB0
以下以EC200U-CN作為演示,如圖 7 EC200U-CN撥號(hào)上網(wǎng)所示。
圖7EC200U-CN撥號(hào)上網(wǎng)
?設(shè)置及問(wèn)題排查
1. band號(hào)設(shè)置
我國(guó)對(duì)應(yīng)的band號(hào)如圖8 band號(hào)分布所示:
圖8band號(hào)分部
同樣是每家廠商對(duì)應(yīng)設(shè)置band號(hào)是不一樣的,以移遠(yuǎn)的模塊(EG912U-GL)為例,輸入以下指令可以查看現(xiàn)在開(kāi)啟的band號(hào)。
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號(hào),這里要把0x2000001e20b0f18df換算成二進(jìn)制,1是打開(kāi),0是關(guān)閉,第0位是band1,第1位為band2,以此類推,現(xiàn)在EG912U-GL開(kāi)啟的band號(hào)有(列舉一部分):band1,band2,band3,band4,band5,band7,band8,band12等。輸入以下命令可以設(shè)置band號(hào),如下關(guān)掉band1-band8,設(shè)置時(shí)不需要帶上0x。
root@em-500:~# echo -e "at+qcfg="band",f,2000001e20b0f1800\r\n" > /dev/ttyUSB0OKroot@em-500:~#
2. 網(wǎng)卡名稱問(wèn)題當(dāng)切換到ECM后,會(huì)生成一些enxxxxxx之類的稀奇古怪的網(wǎng)卡名字,主要原因是被系統(tǒng)的rules給重名命了,如下內(nèi)核打印可知,一般來(lái)說(shuō)切換到ECM后網(wǎng)卡的名字為usbX(X=0,1,2…x)。
cdc_ether 2-1:1.0 enx024bb3b9ebe5: renamed from usb0
解決方法如下:
修改80-net-setup-link.rules內(nèi)容,將NAME=”$env{ID_NET_NAME}”里的ID_NET_NAME改成ID_NET_SLOT后,重啟設(shè)備就可以了。
打開(kāi)80-net-setup-link.rules,如下:
vi /lib/udev/rules.d/80-net-setup-link.rules
圖9修改網(wǎng)卡重命名
3. 網(wǎng)絡(luò)不通排查當(dāng)dhclient獲取到ip后ping不到百度,提示以下錯(cuò)誤:
ping: www.baidu.com: Temporary failure in name resolution
可能是DNS不對(duì)或是模塊撥號(hào)失敗導(dǎo)致ping不出去,具體原因可以先ping 114.114.114.114或者ping 8.8.8.8,如果不能ping通則修改DNS,如下:
vi /etc/resolv.conf#注釋和添加以下內(nèi)容:#注釋掉:#nameserver 127.0.0.53#options edns0#添加:nameserver 114.114.114.114nameserver 8.8.8.8
然后再ping 百度即可,如果改完還是ping 不通則輸入往USB調(diào)試接口輸入AT+CSQ看下信號(hào),信號(hào)太低也可能導(dǎo)致ping不出去,這種情況接上天線多ping幾次就行,如圖10 ping測(cè)試所示:
圖10ping測(cè)試如果網(wǎng)絡(luò)還是不通可以使用以下AT指令來(lái)排查網(wǎng)絡(luò)不通的原因:
- AT+CSQ:查詢信號(hào)質(zhì)量。如果返回值較低,表示信號(hào)弱,如果為99代表無(wú)信號(hào)。
- AT+CEREG?:查詢EPS注冊(cè)狀態(tài)。類似于AT+CREG?,但適用于LTE網(wǎng)絡(luò)。
- AT+COPS?:查詢可用運(yùn)營(yíng)商列表。如果返回值為空或不正確,表示可能存在運(yùn)營(yíng)商選擇或配置問(wèn)題。
- AT+CGACT?:查詢PDP上下文激活狀態(tài)。如果返回值為0,表示PDP上下文未激活,可能需要重新激活。
- AT+CGPADDR:查詢PDP地址。如果返回值為空,表示未獲得有效的IP地址,可能是APN或其他數(shù)據(jù)連接設(shè)置問(wèn)題。
- AT+CGDCONT?:查詢PDP上下文配置。確保PDP上下文配置正確,包括APN設(shè)置等。
- AT+COPS=?:查詢可用運(yùn)營(yíng)商列表。使用此指令可以獲取可用的運(yùn)營(yíng)商列表,并選擇合適的運(yùn)營(yíng)商進(jìn)行注冊(cè)。
- AT+CIMI:查詢國(guó)際移動(dòng)用戶識(shí)別碼(IMSI)。IMSI是SIM卡的唯一標(biāo)識(shí)號(hào)碼,確保SIM卡插入正確并且正常工作。
- AT+CPIN?:查詢PIN碼狀態(tài)。與之前提到的一樣,用于檢查SIM卡的PIN碼狀態(tài)。
- AT+CREG?:查詢注冊(cè)狀態(tài)。如果返回值為0或2,表示未注冊(cè)或正在嘗試注冊(cè),可能是網(wǎng)絡(luò)連接導(dǎo)致的問(wèn)題。
- AT+CGATT?:查詢附著狀態(tài)。如果返回值為0,表示未附著到網(wǎng)絡(luò),可能需要重新附著。
- AT+CGREG?:查詢GPRS注冊(cè)狀態(tài)。如果返回值為0或2,表示未注冊(cè)或正在嘗試注冊(cè),可能是網(wǎng)絡(luò)連接導(dǎo)致的問(wèn)題。
部分正常情況調(diào)試截圖如圖11 調(diào)試截圖所示。
圖11調(diào)試截圖
-
模塊
+關(guān)注
關(guān)注
7文章
2716瀏覽量
47529 -
4G
+關(guān)注
關(guān)注
15文章
5523瀏覽量
119146 -
網(wǎng)關(guān)
+關(guān)注
關(guān)注
9文章
4506瀏覽量
51171 -
儲(chǔ)能
+關(guān)注
關(guān)注
11文章
1656瀏覽量
33117
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論