<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > 4G 通信模塊在A(yíng)RM 平臺下的應用

4G 通信模塊在A(yíng)RM 平臺下的應用

作者: 時(shí)間:2018-08-07 來(lái)源:網(wǎng)絡(luò ) 收藏

4G把頻率接收器和信號等部件全都整合在一起,實(shí)現了一體化。隨著(zhù)工業(yè)發(fā)展,嵌入式設備接入網(wǎng)絡(luò )的需求日益增多,在沒(méi)有有線(xiàn)或WiFi等無(wú)線(xiàn)的環(huán)境下,直接通過(guò)4G通訊模塊連接運營(yíng)商網(wǎng)絡(luò )來(lái)接入互聯(lián)網(wǎng)不失為一個(gè)好方法。因此,本文就為讀者介紹一下基于A(yíng)RM平臺的嵌入式設備在Linux下使用4G模塊的方法。

本文引用地址:http://dyxdggzs.com/article/201808/385702.htm

一、開(kāi)發(fā)環(huán)境

1) 開(kāi)發(fā)主機環(huán)境:

Ubuntu12.04(64位)、arm-fls-linux-guneabi-gcc系列交叉編譯鏈。

2) 硬件清單:

IoT-3960工控板、龍尚 4G模塊U8300C或U8300W。

3) 軟件資源:

光盤(pán)EPC-280_283_287V1.04.iso中的內核源碼包:linux-2.6.35.3-fec60fa.tar.bz2。

二、硬件概述

IoT-3960L 是廣州致遠電子股份有限公司以Freescale i.MX287處理器為核心開(kāi)發(fā)的工業(yè)IoT網(wǎng)絡(luò )控制器,集成多路通信接口,支持多種通信協(xié)議,具有性?xún)r(jià)比高、功能豐富、工作穩定、兼容性強等特點(diǎn),產(chǎn)品實(shí)物如圖1所示。

圖1 IoT-3960L工控板

通過(guò)自定義的 Mini-PCIE 接口,IoT-3960L 可外擴3G、4G、GPRS、ZigBee、RFID 等無(wú)線(xiàn)。本文外擴的是龍尚4G 模塊,所用的型號如圖2所示。


圖2 龍尚4G模塊U8300C、U8300W

三、技術(shù)實(shí)現

1、解壓內核源碼

將 EPC-280_283_287 V1.04.iso 光盤(pán)中的linux-2.6.35..3-fec60fa.tar.bz2 源碼包復制到ubuntu 系統的“~/”目錄下,將其解壓后可得到linux-2.6.35.3 目錄,參考命令如下:

vmuser@Linux-host:~$ tar -jxvf linux-2.6.35..3-fec60fa.tar.bz2

2、修改配置文件

在內核源碼目錄“drivers/gpio/”下的Kconfig 文件中有設定了CONFIG_GPIO_M28X 宏的默認配置,用vim編輯器打開(kāi)這個(gè)Kconfig 文件,搜索“GPIO_M28X”,找到其配置設定,將其修改為可獨立配置的選項,修改后的配置如下所示(紅色標識的為修改部分):

config GPIO_M28X

tristate GPIO support for MiniPCI-E slot control

#depends on IoT_3960 || IoT_3962

help

Say yes here to enable the IoT_396x board gpio driver.

3、修改內核編譯腳本

Linux 源碼目錄下的build-kernel 腳本文件主要用于切換內核默認配置,但因光盤(pán)中的該腳本文件設置不夠靈活,建議直接將build-kernel文本內容整體替換為如圖 3所示的代碼:


圖3 build-kernel 文件內容

4、配置內核源碼

進(jìn)入解壓后的 Linux 源碼根目錄,使用IoT-3960L 的默認內核配置,參考命令如下:

vmuser@Linux_host:~/ linux-2.6.35.3$ ./build-kernel

然后輸入6 選擇Iot3960,如果是其他工控板或開(kāi)發(fā)套件,則選擇對應的選項即可,如果對應的Linux 源碼根目錄下沒(méi)有.config 文件,運行該步驟操作后會(huì )提示cp 命令執行錯誤,直接忽略此錯誤即可。

工控板或開(kāi)發(fā)套件使用 USB 接口來(lái)與龍尚4G 模塊通信,需要配置內核以支持USB轉串口功能。參考命令如下:

vmuser@Linux-host:~/ linux-2.6.35.3 $ make menuconfig

進(jìn)入配置界面后,按回車(chē)鍵進(jìn)入“Device Drivers --->”選項,配置完內核后,保存并退出內核配置操作。

5、 修改編譯內核源碼

對龍尚4G模塊,我們需要在linux-2.6.35.3 目錄下對三個(gè)數組中的內容進(jìn)行修改:

l 使用vi 或者vim 命令打開(kāi)drivers/gpio/gpio_m28x.c 文件,在all_gpios_info[ ]數組作中作修改;

l 使用vi 或者vim 命令打開(kāi)arch/arm/mach-mx28/mx28evk_pins.c 文件,在mx28evk_fixed_pins []數組中作修改;

l 使用vi或者vim命令打開(kāi)drivers/usb/serial/option.c 文件,在option_ids[]數組中作修改。

按上述操作修改完成之后,就可以編譯內核了,內核編譯參考命令如下:

vmuser@Linux-host:~/ linux-2.6.35.3 $ make uImage

待內核編譯完成后,將生成的uImage 文件(可在arch/arm/boot 目錄下找到)燒寫(xiě)到工控板或開(kāi)發(fā)套件上,燒寫(xiě)方法請參考《IoT-3960 用戶(hù)手冊.pdf》第6 章的內容。

四、4G 模塊測試

這里主要介紹龍尚4G模塊的電話(huà)、網(wǎng)絡(luò )等控制接口以及IoT-3960L工控板對其操作的通信流程。用于測試的工控板必須燒寫(xiě)EPC-280_283_287 V1.04.iso 光盤(pán)中V1.03的uboot 及文件系統,因為其中包含必要的撥號上網(wǎng)工具。

1、電話(huà)控制接口

電話(huà)接聽(tīng)和撥打命令如表1所示。通過(guò)向串口發(fā)送相應的命令就可以實(shí)現電話(huà)的接聽(tīng)和撥打。如:可以向串口發(fā)送“ATD12345678901;nr”就可以向12345678901撥打電話(huà)。

表1 電話(huà)撥打和接聽(tīng)控制命令表

ATD撥打電話(huà):ATD+電話(huà)+;rn”如ATD10010;后面分號

不能少,返回OK 或ERROR

AT+COPS?“AT+COPS?rn”檢測運營(yíng)商,返回OK 或ERROR

AT+CVHU=0和ATH掛斷電話(huà):“AT+CVHU=0rn”再發(fā)“ATHrn”

ATA接聽(tīng)電話(huà):“ATAnr”

電話(huà)撥打接聽(tīng)代碼執行流程如圖4所示。代碼首先會(huì )顯示可供使用的菜單,如電話(huà)撥打,短信接收等。等待用戶(hù)輸入參數,執行參數對應的流程。然后判斷是否執行成功,如果執行成功就會(huì )返回顯示菜單代碼處繼續執行下一下循環(huán)。


圖4 電話(huà)撥打接聽(tīng)流程圖

2、網(wǎng)絡(luò )控制接口

4G 模塊上網(wǎng)功能通過(guò)PPP 撥號提供的接口連接網(wǎng)絡(luò )。在開(kāi)發(fā)套件文件系統的“/etc/ppp”目錄下預置了可以參考的撥號腳本。撥號成功后(執行PPP 撥號腳本),內核會(huì )生成PPP 網(wǎng)絡(luò )設備。通過(guò)創(chuàng )建套接字就可以訪(fǎng)問(wèn)網(wǎng)絡(luò )。

3、演示程序實(shí)操

l 使能4G 模塊

默認內核啟動(dòng)時(shí),把4G模塊的復位引腳拉低,使模塊處于非工作的狀態(tài)。要想完全使能模塊,運行/opt 目錄下的upmodule.sh 腳本即可。

此時(shí)板子的WWAN 這個(gè)LED 會(huì )出現閃爍的現象,閃爍頻率大概為800 毫秒,然后設備開(kāi)始入網(wǎng),入網(wǎng)成功后,板子的WWAN 這個(gè)LED 的閃爍頻率變?yōu)? 秒左右。同時(shí),大概10 秒之后,板子開(kāi)始檢測到USB 設備的插入,然后板子自動(dòng)安裝USB 轉串口的驅動(dòng),驅動(dòng)安裝完成后,會(huì )在板子的/dev 目錄下自動(dòng)生成ttyUSB0~ttyUSB5 這6 個(gè)串口設備。

l 編譯演示程序

將/works/mx28x/app/目錄下的longsung-test文件夾拷貝到Linux 開(kāi)發(fā)主機,編譯了longsung-test 下的代碼,將生成的longsung-test 文件拷貝到板子即可進(jìn)行后續的電話(huà)功能測試。

l 電話(huà)功能測試

使用U8300C,以中國聯(lián)通4G卡為例進(jìn)行電話(huà)功能測試,設備上電之前需要先插入SIM 卡,且保證已經(jīng)按前面介紹使能了4G模塊,并能成功入網(wǎng)。進(jìn)入 longsung-test 測試程序存放的目錄,然后運行longsung-test 程序。

[root@M28x opt]# ./longsung-test /dev/ttyUSB1

longsung-test 測試程序運行結果及其中各數字代表功能如圖5所示。需要注意,輸入“1”撥打電話(huà)之后,必須需要輸入“2”掛斷電話(huà)之后方可繼續撥打電話(huà)。


圖5 代碼啟動(dòng)運行結果

l 4.4.4 上網(wǎng)功能測試

這里使用U8300C,以中國移動(dòng)4G卡為例進(jìn)行撥號上網(wǎng),設備上電之前需要先插入SIM 卡,保證以使能4G

模塊并成功入網(wǎng)。

進(jìn)入板子的/etc/ppp/目錄,創(chuàng )建一個(gè)名字為ppp_dial_LTE.sh的腳本,寫(xiě)入如下程序:

echo TIMEOUT 5 '' AT OK ATE0V1 OK AT OK ATS0=0 OK AT OK ATE0V1 OK AT OK ATDT*99*# CONNECT '' > /tmp/chatscript

pppd /dev/ttyUSB3 persist connect chat -v -f /tmp/chatscript

保存退出后,修改ppp_dial_LTE.sh 的運行屬性,然后直接運行該腳本,進(jìn)行撥號操作,參考操作如下:

[root@M28x ppp]# wr chmod 755 ppp_dial_LTE.sh

[root@M28x ppp]# ./ppp_dial_LTE.sh

執行后,等待大概10~20s,使用ifco

nfig 命令查看網(wǎng)絡(luò )設備,能看到系統生成了一個(gè)名為ppp0 的網(wǎng)絡(luò )設備,該設備就是撥號成功后生成的網(wǎng)絡(luò )設備。撥號成功后可通過(guò)ping 114.114.114.114.-I ppp0檢查外網(wǎng)是否連接正常。如果沒(méi)能成功撥號,可以參考下面的“撥號異常分析”來(lái)排除問(wèn)題。

l 撥號異常分析

運行撥號腳本后,使用ps 命令能看到撥號進(jìn)程的存在。只要撥號成功,撥號進(jìn)程是一直存在的(與pppd 相關(guān)的進(jìn)程),如果該進(jìn)程不存在,那么生成的ppp0 網(wǎng)絡(luò )設備也會(huì )隨同消失。

如果使用 ifconfig 命令,無(wú)法看到ppp0 這個(gè)網(wǎng)絡(luò )設備,只要使用ps 命令一直都能看到撥號進(jìn)程的存在,那么只能耐心的等待撥號程序的反饋了。如果ps 命令無(wú)法看到撥號進(jìn)程了,那么重新運行撥號腳本即可。撥號進(jìn)程的退出,極有可能是因為信號弱或者SIM 卡余額不足導致的。



關(guān)鍵詞: 通信模塊 增幅器

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>