在儲能系統應用中,通過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 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 調試演示所示:
圖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",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 網絡通信所示。
圖4調試演示每種模塊或者廠家切換到ECM 的AT命令是不一樣,目前已適配的4G模塊的ECM切換命令如圖5 ECM切換命令所示。
圖5ECM切換命令有些4G模塊是不需要撥號的,當切換到ECM后,重啟后則會自動撥號,有些4G模塊則需要手動撥號,具體區分如圖6 ECM撥號所示。
圖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撥號上網所示。
圖7EC200U-CN撥號上網
?設置及問題排查
1. band號設置
我國對應的band號如圖8 band號分布所示:
圖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
圖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測試所示:
圖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 調試截圖所示。
圖11調試截圖
-
模塊
+關注
關注
7文章
2670瀏覽量
47340 -
4G
+關注
關注
15文章
5507瀏覽量
118797 -
網關
+關注
關注
9文章
4304瀏覽量
50944 -
儲能
+關注
關注
11文章
1547瀏覽量
32997
發布評論請先 登錄
相關推薦
評論