最近有很多朋友問(wèn)怎樣查找和設(shè)置mobile頻段并獲取相關(guān)參數(shù),那么我們今天就從介紹,準(zhǔn)備,問(wèn)題等方面聊聊…
1、mobile概述
1.1 簡(jiǎn)介
“4G mobile”指的是第四代移動(dòng)通信技術(shù),常用于描述通過(guò)4G網(wǎng)絡(luò)進(jìn)行的高速無(wú)線數(shù)據(jù)傳輸和通信。4G網(wǎng)絡(luò)最顯著的特征是其高速數(shù)據(jù)傳輸能力。理論上,4G可以提供下行速率高達(dá)100Mbps(移動(dòng)環(huán)境下)和上行速率達(dá)50Mbps(靜止或低速移動(dòng)環(huán)境下)。
1.2 架構(gòu)
4G網(wǎng)絡(luò)采用了全I(xiàn)P網(wǎng)絡(luò)架構(gòu),所有數(shù)據(jù)和語(yǔ)音通信都是通過(guò)IP(InternetProtocol)傳輸?shù)摹O啾戎暗囊苿?dòng)通信技術(shù)(如2G和3G),4G能夠更有效地處理數(shù)據(jù)流量,尤其是用于互聯(lián)網(wǎng)服務(wù)和多媒體應(yīng)用。
1.3 采用技術(shù)
4g主要采用正交頻分復(fù)用技術(shù)(OFDM)和多輸入多輸出技術(shù)(MIMO)。OFDM將寬頻帶劃分為多個(gè)窄頻帶,從而提高了頻譜的利用效率,并減少了信號(hào)間的干擾。它使得4G能夠在同樣的頻譜下傳輸更多的數(shù)據(jù),并具有更強(qiáng)的抗干擾能力。多輸入多輸出(MIMO)技術(shù)也廣泛應(yīng)用于4G網(wǎng)絡(luò)中。MIMO使用多個(gè)天線來(lái)同時(shí)發(fā)送和接收數(shù)據(jù),增加了信號(hào)的容量和覆蓋范圍,顯著提高了數(shù)據(jù)傳輸速率。
關(guān)于4gmobile技術(shù)更詳細(xì)的使用說(shuō)明,請(qǐng)參考:https://zh.wikipedia.org/wiki/4G
2、演示功能概述
本demo演示了查找和設(shè)置mobile頻段,和獲取相關(guān)參數(shù)。
3、準(zhǔn)備硬件環(huán)境
3.1 開(kāi)發(fā)板準(zhǔn)備
1)Air780E核心板一個(gè):
https://item.taobao.com/item.htm?id=693774140934
2)此核心板的詳細(xì)使用說(shuō)明參考:
https://docs.openluat.com/air780e/product/
Air780E產(chǎn)品手冊(cè)中的《開(kāi)發(fā)板Core_Air780E使用說(shuō)明V1.0.5.pdf》,核心板使用過(guò)程中遇到任何問(wèn)題,可以直接參考這份使用說(shuō)明pdf文檔。
3.2 SIM卡
請(qǐng)準(zhǔn)備一張可正常上網(wǎng)的SIM卡,該卡可以是物聯(lián)網(wǎng)卡或您的個(gè)人手機(jī)卡。
特別提醒:
請(qǐng)確保SIM卡未欠費(fèi)且網(wǎng)絡(luò)功能正常,以便順利進(jìn)行后續(xù)操作。
3.3 數(shù)據(jù)通信線
3.4 PC電腦
WINDOWS系統(tǒng)。
4、準(zhǔn)備軟件環(huán)境
4.1 基本的下載調(diào)試工具
使用說(shuō)明參考:
Luatools下載和詳細(xì)使用:
https://docs.openluat.com/Luatools/
5、mobile的使用軟硬件資料
5.1 源碼和工具
780E模塊使用固件:SDK&Demo-合宙文檔中心,本demo使用的固件版本是:
LuatOS-SoC_V1112_EC618_FULL.soc
本教程使用的demo:
https://gitee.com/openLuat/LuatOS-Air780E/tree/master/demo/mobile
將固件和腳本燒錄到模塊中,使用說(shuō)明參考:Luatools下載和詳細(xì)使用
源碼和固件已打包,如下所示:點(diǎn)我,下載完整壓縮文件包
5.2 常量消息
這里是發(fā)布的消息,可以使用sys.waitUntil()或者sys.subscribe()函數(shù)來(lái)獲取消息是否發(fā)布。
常量 | 類(lèi)型 | 解釋 |
---|---|---|
mobile.UNREGISTER |
number |
未注冊(cè) |
mobile.REGISTERED |
number |
已注冊(cè) |
mobile.SEARCH |
number |
正在搜索中 |
mobile.DENIED |
number |
注冊(cè)被拒絕 |
mobile.UNKNOW |
number |
未知 |
mobile.REGISTERED_ROAMING |
number |
已注冊(cè),漫游 |
mobile.SMS_ONLY_REGISTERED |
number |
已注冊(cè),僅SMS |
mobile.SMS_ONLY_REGISTERED_ROAMING |
number |
已注冊(cè),漫游,僅SMS |
mobile.EMERGENCY_REGISTERED |
number |
已注冊(cè),緊急服務(wù) |
mobile.CSFB_NOT_PREFERRED_REGISTERED |
number |
已注冊(cè),非主要服務(wù) |
mobile.CSFB_NOT_PREFERRED_REGISTERED_ROAMING |
number |
已注冊(cè),非主要服務(wù),漫游 |
mobile.CONF_RESELTOWEAKNCELL |
number |
小區(qū)重選信號(hào)差值門(mén)限,需要飛行模式設(shè)置 |
mobile.CONF_STATICCONFIG |
number |
網(wǎng)絡(luò)靜態(tài)模式優(yōu)化,需要飛行模式設(shè)置 |
mobile.CONF_QUALITYFIRST |
number |
網(wǎng)絡(luò)切換以信號(hào)質(zhì)量?jī)?yōu)先,需要飛行模式設(shè)置,0不開(kāi),1開(kāi)啟,2開(kāi)啟并加速切換,功耗會(huì)增加 |
mobile.CONF_USERDRXCYCLE |
number |
LTE跳paging,需要飛行模式設(shè)置,謹(jǐn)慎使用,0是不設(shè)置,1~7增大或減小DrxCycle周期倍數(shù),1:1/8倍2:1/4倍3:1/2倍4:2倍5:4倍6:8倍7:16倍,8~12配置固定的DrxCycle周期,僅當(dāng)該周期大于網(wǎng)絡(luò)分配的DrxCycle周期時(shí)該配置才會(huì)生效,8:320ms9:640ms10:1280ms11:2560ms12:5120ms |
mobile.CONF_T3324MAXVALUE |
number |
PSM模式中的T3324時(shí)間,單位S |
mobile.CONF_PSM_MODE |
number |
PSM模式開(kāi)關(guān),0關(guān),1開(kāi) |
mobile.CONF_CE_MODE |
number |
attach模式,0為EPSONLY2為混合,遇到IMSIdetach脫網(wǎng)問(wèn)題,設(shè)置為0,注意設(shè)置為EPSONLY時(shí)會(huì)取消短信功能 |
mobile.CONF_SIM_WC_MODE |
number |
SIM寫(xiě)入次數(shù)的配置和讀取 |
mobile.CONF_FAKE_CELL_BARTIME |
number |
偽基站禁止接入的時(shí)間,取值為0時(shí)取消,0xffff永久 |
mobile.CONF_RESET_TO_FACTORY |
number |
刪除已保存的協(xié)議棧參數(shù),重啟后會(huì)使用默認(rèn)配置 |
mobile.CONF_USB_ETHERNET |
number |
蜂窩網(wǎng)絡(luò)模塊的usb以太網(wǎng)卡控制,bit0開(kāi)關(guān),1開(kāi),0關(guān),bit1模式,1NAT,0獨(dú)立IP(在usb以太網(wǎng)卡開(kāi)啟前可以修改,開(kāi)啟過(guò)就不行),bit2協(xié)議1ECM,0RNDIS,飛行模式里設(shè)置 |
mobile.CONF_DISABLE_NCELL_MEAS |
number |
關(guān)閉鄰區(qū)測(cè)量1關(guān),0開(kāi),除了功耗測(cè)試外不建議使用 |
mobile.PIN_VERIFY |
number |
驗(yàn)證PIN碼操作 |
mobile.PIN_CHANGE |
number |
更換PIN碼操作 |
mobile.PIN_ENABLE |
number |
使能PIN碼驗(yàn)證 |
mobile.PIN_DISABLE |
number |
關(guān)閉PIN碼驗(yàn)證 |
mobile.PIN_UNBLOCK |
number |
解鎖PIN碼 |
5.3 本demo使用api簡(jiǎn)介
mobile.status()
作用:獲取網(wǎng)絡(luò)狀態(tài)。
參數(shù):
無(wú)
返回值:
返回值類(lèi)型 | 解釋 |
---|---|
int |
當(dāng)前網(wǎng)絡(luò)狀態(tài) |
mobile.getBand(band,is_default)
作用:獲取當(dāng)前使用/支持的band
參數(shù):
傳入值類(lèi)型 | 解釋 |
---|---|
zbuff |
輸出band |
boolean |
true默認(rèn)支持,false當(dāng)前支持的, 默認(rèn)是false,當(dāng)前是預(yù)留功能,不要寫(xiě)true |
返回值:
返回值類(lèi)型 | 解釋 |
---|---|
boolean |
成功返回true,失敗返回false |
mobile.setBand(band,num)
作用:設(shè)置使用的band
參數(shù):
傳入值類(lèi)型 | 解釋 |
---|---|
zbuff |
輸入使用的band |
int |
band數(shù)量 |
返回值:
返回值類(lèi)型 | 解釋 |
---|---|
boolean |
成功返回true,失敗返回false |
mobile.flymode(index,enable)
作用:進(jìn)出飛行模式
參數(shù):
傳入值類(lèi)型 | 解釋 |
---|---|
int |
編號(hào),默認(rèn)0.在支持雙卡的模塊上才會(huì)出現(xiàn)0或1的情況 |
bool |
是否設(shè)置為飛行模式,true為設(shè)置,false為退出,可選 |
返回值:
返回值類(lèi)型 | 解釋 |
---|---|
boolean |
原飛行模式的狀態(tài) |
mobile.vsimOnOff(enable)
作用:切換內(nèi)置虛擬卡和外置實(shí)體卡,2024年8月13日啟用,虛擬卡需要固件支持,否則切換后無(wú)網(wǎng)絡(luò),需要在飛行模式下切換,或者切換后重啟協(xié)議棧。
參數(shù):
傳入值類(lèi)型 | 解釋 |
---|---|
bool |
開(kāi)啟,true開(kāi)啟,false關(guān)閉 |
返回值:
返回值類(lèi)型
解釋
nil |
無(wú)返回值 |
返回值:
返回值類(lèi)型 | 解釋 |
---|---|
string |
獲取到的默認(rèn)APN值,失敗返回nil |
mobile.rtime(time,auto_reset_stack,data_first)
作用:設(shè)置RRC自動(dòng)釋放時(shí)間間隔,當(dāng)開(kāi)啟時(shí)后,遇到極弱信號(hào)+頻繁數(shù)據(jù)操作可能會(huì)引起網(wǎng)絡(luò)嚴(yán)重故障,因此需要額外設(shè)置自動(dòng)重啟協(xié)議棧。
參數(shù):
傳入值類(lèi)型 | 解釋 |
---|---|
int |
RRC自動(dòng)釋放時(shí)間,等同于Air724的AT+RTIME,單位秒,寫(xiě)0或者不寫(xiě)則是停用,不要超過(guò)20秒,沒(méi)有意義 |
boolean |
網(wǎng)絡(luò)遇到嚴(yán)重故障時(shí)嘗試自動(dòng)恢復(fù),和飛行模式/SIM卡切換沖突,true開(kāi)啟,false關(guān)閉,留空時(shí),如果設(shè)置了時(shí)間則自動(dòng)開(kāi)啟。本參數(shù)于2023年9月14日已廢棄 |
boolean |
是否啟用數(shù)據(jù)傳輸優(yōu)化,true啟用,false關(guān)閉,留空為false,開(kāi)啟后必須等到TCP數(shù)據(jù)ACK或者超時(shí)失敗,或者socketCONNECT完成(無(wú)論成功或者失?。┎旁试SRRC提前釋放,可能會(huì)增加功耗。本參數(shù)于2024年8月12日啟用 |
返回值:
返回值類(lèi)型 | 解釋 |
---|---|
nil |
無(wú)返回值 |
mobile.setAuto(check_sim_period,get_cell_period,search_cell_time,auto_reset_stack,network_check_period)
作用:設(shè)置一些輔助周期性或者自動(dòng)功能,目前支持SIM卡暫時(shí)脫離后恢復(fù),周期性獲取小區(qū)信息,網(wǎng)絡(luò)遇到嚴(yán)重故障時(shí)嘗試自動(dòng)恢復(fù)。
參數(shù):
傳入值類(lèi)型 | 解釋 |
---|---|
int | SIM卡自動(dòng)恢復(fù)時(shí)間,單位毫秒,建議5000~10000,和飛行模式/SIM卡切換沖突,不能再同一時(shí)間使用,必須錯(cuò)開(kāi)執(zhí)行。寫(xiě)0或者不寫(xiě)則是關(guān)閉功能 |
int | 周期性獲取小區(qū)信息的時(shí)間間隔,單位毫秒。獲取小區(qū)信息會(huì)增加部分功耗。寫(xiě)0或者不寫(xiě)則是關(guān)閉功能 |
int | 每次搜索小區(qū)時(shí)最大搜索時(shí)間,單位秒。不要超過(guò)8秒 |
boolean | 網(wǎng)絡(luò)遇到嚴(yán)重故障時(shí)嘗試自動(dòng)恢復(fù),和飛行模式/SIM卡切換沖突,true開(kāi)啟,false關(guān)閉,開(kāi)始狀態(tài)是false,留空則不做改變 |
int | 設(shè)置定時(shí)檢測(cè)網(wǎng)絡(luò)是否正常并且在檢測(cè)到長(zhǎng)時(shí)間無(wú)網(wǎng)時(shí)通過(guò)重啟協(xié)議棧來(lái)恢復(fù),無(wú)網(wǎng)恢復(fù)時(shí)長(zhǎng),單位ms,建議60000以上,為網(wǎng)絡(luò)搜索保留足夠時(shí)間,留空則不做更改 |
返回值:
返回值類(lèi)型 | 解釋 |
---|---|
nil |
無(wú)返回值 |
mobile.imei(index)
獲?。韩@取IMEI。
參數(shù):
傳入值類(lèi)型 | 解釋 |
---|---|
int |
編號(hào),默認(rèn)0.在支持雙卡的模塊上才會(huì)出現(xiàn)0或1的情況 |
返回值:
返回值類(lèi)型 | 解釋 |
---|---|
string |
當(dāng)前的IMEI值,若失敗返回nil |
mobile.imsi(index)
作用:獲取IMSI。
參數(shù):
傳入值類(lèi)型 | 解釋 |
---|---|
int |
編號(hào),默認(rèn)0.在支持雙卡的模塊上才會(huì)出現(xiàn)0或1的情況 |
返回值:
返回值類(lèi)型 | 解釋 |
---|---|
string |
當(dāng)前的IMSI值,若失敗返回nil |
mobile.iccid(id)
作用:獲取或設(shè)置ICCID。
參數(shù):
傳入值類(lèi)型 | 解釋 |
---|---|
int |
SIM卡的編號(hào),例如0,1,默認(rèn)0 |
返回值:
返回值類(lèi)型 | 解釋 |
---|---|
string |
ICCID值,若失敗返回nil |
mobile.csq()
作用:獲取csq。
參數(shù):
無(wú)
返回值:
返回值類(lèi)型 | 解釋 |
---|---|
int |
當(dāng)前CSQ值,若失敗返回0.范圍0-31,越大越好 |
mobile.rssi()
作用:獲取rssi。
參數(shù):
無(wú)
返回值:
返回值類(lèi)型 | 解釋 |
---|---|
int |
當(dāng)前rssi值,若失敗返回0.范圍0到-114,越小越好 |
mobile.rsrp()
作用:獲取rsrp,參考信號(hào)接收功率。
參數(shù):
無(wú)
返回值:
返回值類(lèi)型 | 解釋 |
---|---|
int |
當(dāng)前rsrp值,若失敗返回0.取值范圍:-44~-140,值越大越好 |
mobile.rsrq()
作用:獲取rsrq,參考信號(hào)發(fā)送功率。
參數(shù):
無(wú)
返回值:
返回值類(lèi)型 | 解釋 |
---|---|
int |
當(dāng)前rsrq值,若失敗返回0.取值范圍:-3~-19.5,值越大越好 |
mobile.snr()
作用:獲取snr,信噪比。
參數(shù):
無(wú)
返回值:
返回值類(lèi)型 | 解釋 |
---|---|
int |
當(dāng)前snq值,若失敗返回0.范圍0-30,越大越好 |
mobile.simid(id)
作用:獲取當(dāng)前SIM卡槽,或者切換卡槽。
參數(shù):
填入的參數(shù)以表格中的為準(zhǔn)。
傳入值類(lèi)型 | 解釋 |
---|---|
int |
SIM卡的編號(hào),例如0,1,如果支持雙卡,比如EC618,可以填2來(lái)自適應(yīng),但是會(huì)占用掉4個(gè)IO(gpio4/5/6/23)。如果不填就直接讀取當(dāng)前卡槽 |
boolean |
是否優(yōu)先用SIM0,只有SIM卡編號(hào)寫(xiě)2自適應(yīng)才有用!??!。true優(yōu)先用SIM0,false則由具體平臺(tái)決定,支持雙卡雙待SIM0優(yōu)先,不支持的是上一次檢測(cè)到的優(yōu)先,默認(rèn)是false,必須在開(kāi)機(jī)就配置,否則就無(wú)效了 |
返回值:
返回值類(lèi)型 | 解釋 |
---|---|
int |
當(dāng)前sim卡槽編號(hào),若失敗返回-1 |
mobile.apn(index,cid,new_apn_name,user_name,password,ip_type,protocol)
作用:獲取或設(shè)置APN,設(shè)置APN必須在入網(wǎng)前就設(shè)置好,比如在SIM卡識(shí)別完成前就設(shè)置好。
參數(shù):
填入的參數(shù)以表格中的為準(zhǔn)。
傳入值類(lèi)型 | 解釋 |
---|---|
int | 編號(hào),默認(rèn)0。在支持雙卡的模塊上才會(huì)出現(xiàn)0或1的情況 |
int | cid,默認(rèn)0。如果要用非默認(rèn)APN來(lái)激活,必須>0 |
string | 新的APN,不填就是獲取APN,填了就是設(shè)置APN,是否支持設(shè)置取決于底層實(shí)現(xiàn) |
string | 新的APN的username,如果APN不是空,那必須填寫(xiě),如果沒(méi)有則留空字符串""。如果APN是空的,則可以為nil |
string | 新的APN的password,如果APN不是空,那必須填寫(xiě),如果沒(méi)有則留空字符串""。如果APN是空的,則可以為nil |
int | 激活A(yù)PN時(shí)的IPTYPE,1=IPV4,2=IPV6,3=IPV4V6,默認(rèn)是1 |
int | 激活A(yù)PN時(shí),如果需要username和password,就要寫(xiě)鑒權(quán)協(xié)議類(lèi)型(0沒(méi)有,1:PAP,2:CHAP),1~3,默認(rèn)3。一般沒(méi)有用戶名密碼的寫(xiě)0,反之寫(xiě)3,如果不行1和2都可以嘗試。不需要鑒權(quán)的寫(xiě)0 |
boolean | 是否刪除APN,true表示是,其他都否。只有參數(shù)3新的APN不是string的時(shí)候才有效 |
返回值:
返回值類(lèi)型 | 解釋 |
---|---|
string |
獲取到的默認(rèn)APN值,失敗返回nil |
mobile.scell()
作用:獲取當(dāng)前服務(wù)小區(qū)更詳細(xì)的信息。
參數(shù):
無(wú)
返回值:
返回值類(lèi)型 | 解釋 |
---|---|
table |
服務(wù)小區(qū)的信息 |
mobile.getCellInfo()
作用:獲取基站信息。
參數(shù):
無(wú)
返回值:
返回值類(lèi)型 | 解釋 |
---|---|
table |
包含基站數(shù)據(jù)的數(shù)組 |
mobile.config(item,value)
作用:網(wǎng)絡(luò)特殊配置。
參數(shù):
傳入值類(lèi)型 | 解釋 |
---|---|
int |
配置項(xiàng)目,看mobile.CONF_XXX |
int |
配置值,根據(jù)具體配置的item決定 |
返回值:
返回值類(lèi)型 | 解釋 |
---|---|
boolean |
是否成功 |
mobile.reqCellInfo(timeout)
作用:發(fā)起基站信息查詢,含臨近小區(qū)。
參數(shù):
傳入值類(lèi)型 | 解釋 |
---|---|
int |
超時(shí)時(shí)長(zhǎng),單位秒,默認(rèn)15.最少5,最高60 |
返回值:
返回值類(lèi)型 | 解釋 |
---|---|
nil |
無(wú)返回值 |
mobile.number(id)
作用:獲取手機(jī)卡號(hào),注意,只有寫(xiě)入了手機(jī)號(hào)才能讀出,因此有可能讀出來(lái)是空的。
參數(shù):
傳入值類(lèi)型 | 解釋 |
---|---|
int |
SIM卡的編號(hào),例如0,1,默認(rèn)0 |
返回值:
返回值類(lèi)型 | 解釋 |
---|---|
string |
number值,若失敗返回nil |
6、代碼示例介紹
6.1查詢mobile的band和iccid和csq等信息。
6.1.1查詢、更改、和恢復(fù)band的設(shè)置
6.1.2查詢mobile相關(guān)數(shù)據(jù)
6.1.3訂閱查詢的信息:
6.1.5獲取SIM卡狀態(tài)
7、功能驗(yàn)證
實(shí)現(xiàn)了設(shè)置頻率和查找到的mobile相關(guān)參數(shù)的功能。
8、總結(jié)
本demo實(shí)現(xiàn)了查找和設(shè)置mobile頻段,和獲取imei、imsi、iccid、csq、rssi、rsrq、rsrp、snr等相關(guān)參數(shù)。
9、常見(jiàn)問(wèn)題
9.1 獲取模塊SN
出廠未必有寫(xiě)SN,一般用途的唯一id,可以用mobile.imei()代替,如需要真正的唯一ID,使用mcu.unique_id()。
9.2 專(zhuān)網(wǎng)卡如何上網(wǎng)
使用函數(shù)mobile.apn()時(shí),專(zhuān)網(wǎng)卡設(shè)置的demo,name,user,password聯(lián)系卡商獲取。
審核編輯 黃宇
-
4G
+關(guān)注
關(guān)注
15文章
5507瀏覽量
118805 -
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2903文章
44275瀏覽量
371274 -
頻段
+關(guān)注
關(guān)注
1文章
321瀏覽量
24569
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論