Air系列模块常见问题列表
目錄名稱
- 一、Luatools使用問(wèn)題
- 1.1 燒錄下載
- ? 1.1.1、 2G模塊無(wú)法燒錄下載
- ? 1.1.2、 2G開(kāi)發(fā)板無(wú)法燒錄下載
- ? 1.1.3、4G模塊(開(kāi)發(fā)板)無(wú)法燒錄下載
- ? 1.1.4、生成量產(chǎn)文件時(shí)的加密功能有什么用
- ? 1.1.5、4G開(kāi)發(fā)模式下的“USB打印Trace、UART1打印Trace、UART2打印Trace”是什么功能
- ? 1.1.6、Luat開(kāi)發(fā)方式下可以燒錄哪種類型的文件
- ? 1.1.7、腳本代碼中如何讀取通過(guò)Luatools燒錄進(jìn)模塊的文件
- ? 1.1.8、Luat開(kāi)發(fā)方式下可以燒錄某個(gè)項(xiàng)目的部分文件嗎?
- ? 1.1.9、打開(kāi)串口失敗
- 1.2、日志輸出
- ? 1.2.1、2G模塊(開(kāi)發(fā)板)無(wú)法輸出日志
- ? 1.2.2、4G模塊(開(kāi)發(fā)板)無(wú)法輸出日志
- ? 1.2.3、日志輸出過(guò)程中,突然停止輸出
- ? 1.2.4、4G模塊USB輸出日志時(shí),會(huì)丟失開(kāi)機(jī)過(guò)程的部分日志
- ? 1.2.5、為什么系統(tǒng)狀態(tài)、信號(hào)強(qiáng)度、版本類型、框架類型、軟件版本的內(nèi)容有時(shí)不顯示或者顯示不正確
- ? 1.2.6、Luatools可以抓取、輸出哪幾種日志
- 1.3、其他
- ? 1.3.1、Luatools無(wú)法啟動(dòng)、出現(xiàn)error 126
- ? 1.3.2、Luatools工作異常、閃退
- ? 1.3.3、不小心刪除了源碼,有辦法找回嗎
- ? 1.3.4、如何抓取模塊死機(jī)時(shí)的日志
- ? 1.3.5、是否有64位、Linux、Mac版本工具;是否支持xp系統(tǒng)
- ? 1.3.6、為什么提示多個(gè)工具在運(yùn)行
- ? 1.3.7、為什么設(shè)備一直在正常運(yùn)行,但是coolwatcher抓日志過(guò)程中,會(huì)突然不輸出日志
- 二、量產(chǎn)燒錄工具使用問(wèn)題
- 2.1、使用一拖多燒錄時(shí),出現(xiàn)后一個(gè)模塊開(kāi)始燒錄,前一個(gè)模塊燒錄失敗的問(wèn)題
- 2.24G模塊燒錄到最后,沒(méi)有提示成功,提示“USB is Removed”
- 2.3、4G模塊量產(chǎn)燒錄工具打開(kāi)失敗
- 三、開(kāi)關(guān)機(jī)(電源)問(wèn)題
- 3.1、2G模塊無(wú)法開(kāi)機(jī)
- 3.2、2G模塊無(wú)法關(guān)機(jī)
- 3.3、4G模塊無(wú)法開(kāi)機(jī)
- 3.4、4G模塊無(wú)法關(guān)機(jī)
- 3.5、其他
- ? 3.5.1、有沒(méi)有推薦的電池
- ? 3.5.2、為什么使用市電仍然無(wú)法正常工作
- ? 3.5.3、能否獲取電量百分比
- ? 3.5.4、為什么供電沒(méi)問(wèn)題卻仍然無(wú)法開(kāi)機(jī)、自動(dòng)關(guān)機(jī)、或者異常重啟
- ? 3.5.5、客戶示例:4G模塊開(kāi)機(jī)很慢,powerkey需要按16秒才能開(kāi)機(jī)
- 四、重啟問(wèn)題
- 4.1、2G模塊重啟
- 4.2、4G模塊重啟
- 五、校準(zhǔn)問(wèn)題
- 5.1、2G模塊如何判斷是否校準(zhǔn)
- 5.2 4G 模塊如何判斷是否校準(zhǔn)
- 六、IMEI、SN問(wèn)題
- 6.1、Luat版本為什么開(kāi)機(jī)讀出的IMEI、SN為空
- 6.2、為什么IMEI為默認(rèn)值
- 6.3、為什么4G模塊寫(xiě)IMEI會(huì)失敗
- 6.4、SN是什么,如何讀寫(xiě)
- 七、SIM卡問(wèn)題
- 7.1、支持中國(guó)大陸哪些運(yùn)營(yíng)商
- 7.2、是否支持中國(guó)港澳臺(tái)、外國(guó)運(yùn)營(yíng)商
- 7.3、支持SIM卡熱插拔嗎
- 7.4、找不到SIM卡
- 7.5、Luat版本為什么開(kāi)機(jī)讀出的ICCID、IMSI為空
- 7.6、可以讀到SIM卡的手機(jī)號(hào)碼(MSISDN)嗎
- 7.7、虛擬卡(VSIM)
- 7.8、貼片卡(ESIM)
- 7.9、合宙物聯(lián)網(wǎng)卡(虛擬卡、貼片卡、實(shí)體卡)商務(wù)問(wèn)題
- 7.10、想使用語(yǔ)音短信業(yè)務(wù)怎么辦
- 7.11、實(shí)體卡如何防盜
- 7.11、實(shí)體卡如何防盜
- 7.12、為什么SIM VCC沒(méi)有供電
- 7.13、為什么Luatools提示“可能是虛擬卡數(shù)據(jù)錯(cuò)誤,請(qǐng)重啟幾次,如果一直出現(xiàn)此提示,請(qǐng)聯(lián)系管理員”
- 7.14、如何判斷sim卡所屬運(yùn)營(yíng)商
- 八、天線射頻問(wèn)題
- 8.1、天線設(shè)計(jì)和調(diào)試
- 8.2、天線使用環(huán)境
- 8.3、2G模塊測(cè)試傳導(dǎo)靈敏度時(shí),到-107.5左右GPRS就會(huì)掉線
- 8.4、2G模塊天線為什么和GND短路了
- 8.5、2G模塊和4G模塊天線通用嗎
- 8.6、4G模塊如果支付輔天線,如何使用輔天線
- 8.7、天線廠調(diào)試天線時(shí),如何提供來(lái)電自動(dòng)接聽(tīng)的軟件
- 九、信號(hào)問(wèn)題
- 9.1、沒(méi)有信號(hào)(信號(hào)弱)
- 9.2、信號(hào)強(qiáng)度和網(wǎng)絡(luò)數(shù)據(jù)業(yè)務(wù)的穩(wěn)定性關(guān)系
- 十、網(wǎng)絡(luò)注冊(cè)和附著問(wèn)題
- 10.1、無(wú)法注冊(cè)網(wǎng)絡(luò)、注冊(cè)網(wǎng)絡(luò)慢、無(wú)法附著網(wǎng)絡(luò)、附著網(wǎng)絡(luò)慢
- 10.2、為什么在一些車(chē)庫(kù)里面手機(jī)接打電話正常,但是模塊注冊(cè)網(wǎng)絡(luò)失敗呢
- 10.3、為什么有些SIM卡在2G模塊上無(wú)法注冊(cè)網(wǎng)絡(luò)
- 10.4、同一地點(diǎn),同一張卡,手機(jī)可以注冊(cè)上4G網(wǎng)絡(luò),為什么4G模塊不可以
- 10.5、4G模塊使用2G卡,注冊(cè)網(wǎng)絡(luò)很慢
- 10.6、4G模塊如何設(shè)置網(wǎng)絡(luò)頻段
- 10.7、如何判斷4G模塊注冊(cè)的是什么網(wǎng)絡(luò)
- 10.8、各國(guó)網(wǎng)絡(luò)頻段匯總
- 10.9、網(wǎng)絡(luò)小區(qū)參數(shù)
- 十一、APN設(shè)置和PDP激活問(wèn)題
- 11.1、2G模塊如何設(shè)置APN
- 11.2、4G 模塊如何設(shè)置APN
- 11.3、PDP激活失敗
- 11.4、為什么4G模塊專網(wǎng)卡連接服務(wù)器失敗
- 十二、socket問(wèn)題
- 12.1、連接服務(wù)器失敗
- 12.2、數(shù)據(jù)收發(fā)延遲大、速度慢、經(jīng)常失敗、掉線斷開(kāi)
- 12.3、如何發(fā)送大量數(shù)據(jù)
- 12.4、為什么頻繁收發(fā)數(shù)據(jù)時(shí),會(huì)導(dǎo)致整個(gè)模塊系統(tǒng)響應(yīng)變慢
- 12.5、是否支持長(zhǎng)連接
- 12.6、快發(fā)和慢發(fā)有什么區(qū)別
- 12.7、支持發(fā)送什么格式的數(shù)據(jù)
- 12.8、如何查詢錯(cuò)誤碼
- 12.9、最多同時(shí)支持多少個(gè)連接
- 12.10、是否支持websocket、是否可以做server使用
- 12.11、為什么要發(fā)送心跳包(如何檢測(cè)連接活性)
- 12.12、為什么有時(shí)連接斷開(kāi)會(huì)收到提示;有時(shí)不可以收到提示,必須等到發(fā)送數(shù)據(jù)時(shí)才能檢測(cè)到斷開(kāi)
- 12.13、如何統(tǒng)計(jì)流量
- 12.14、是否支持IPv6
- 12.15、模塊IP地址
- 12.16、數(shù)據(jù)接收緩存問(wèn)題
- 12.17、客戶示例:2G模塊3秒上傳一次GPS位置數(shù)據(jù),軌跡丟失問(wèn)題
- 12.18、數(shù)據(jù)透?jìng)鲿r(shí),會(huì)丟失前面的一部分?jǐn)?shù)據(jù)
- 十三、http問(wèn)題
- 13.1、是否支持HTTPS
- 13.2、為什么頻繁請(qǐng)求會(huì)失敗
- 13.3、支持發(fā)送什么格式的數(shù)據(jù)
- 13.4、如何查詢錯(cuò)誤碼
- 13.5、如何POST文件
- 13.6、為什么POST JSON格式的數(shù)據(jù)會(huì)出現(xiàn)失敗
- 13.7、AT版本如何設(shè)計(jì)HTTP應(yīng)用邏輯
- 13.8、數(shù)據(jù)接收緩存問(wèn)題
- 13.9、為什么https訪問(wèn)失敗
- 十四、mqtt問(wèn)題
- 14.1、是否支持ssl
- 14.2、AT版本如何設(shè)計(jì)MQTT應(yīng)用邏輯
- 14.3、有沒(méi)有免費(fèi)的MQTT broker可用
- 14.4、如何實(shí)現(xiàn)掉線自動(dòng)重連
- 14.5、頻繁掉線是什么原因
- 14.6、有沒(méi)有認(rèn)證機(jī)制
- 14.7、client id是否允許重復(fù)
- 14.8、是否支持通配符
- 14.9、Qos0、1、2如何選擇
- 14.10、AT版本publish json格式的數(shù)據(jù),如何處理"
- 14.11、如何查詢錯(cuò)誤碼
- 14.12、數(shù)據(jù)接收緩存問(wèn)題
- 14.13、為什么mqtt ssl訪問(wèn)失敗
- 十五、遠(yuǎn)程升級(jí)問(wèn)題
- 十六、阿里云問(wèn)題
- 16.1、如何連接阿里云
- 16.2、除了阿里云,支持華為云、百度云、騰訊云、OneNet等其他云平臺(tái)嗎
- 16.3、一型一密方案,設(shè)備在線運(yùn)行了很多天后,模塊中的設(shè)備密鑰和阿里云平臺(tái)上的密鑰不一致導(dǎo)致無(wú)法上線
- 16.4、為什么阿里云連接失敗
- 16.5、如何降低阿里云的離線率
- 16.6、阿里云網(wǎng)站上的異常信息和模塊動(dòng)作的對(duì)應(yīng)關(guān)系
- 16.7、如何批量寫(xiě)入三元組
- 16.8、AT版本,MCU端如何實(shí)現(xiàn)HmacMD5算法
- 十七、基站定位問(wèn)題
- 17.1、如何使用基站定位
- 17.2、基站定位原理
- 17.3、基站定位精度如何
- 17.4、為什么基站定位失敗
- 17.5、如何在iot.openluat.com中查詢?cè)O(shè)備的基站定位請(qǐng)求記錄
- 17.6、合宙官方的基站定位能在國(guó)外使用嗎
- 十八、GPS定位問(wèn)題
- 18.1、哪些模塊支持GPS定位
- 18.2、GPS天線如何設(shè)計(jì)
- 18.2、GPS天線如何設(shè)計(jì)
- 18.3、Air800模塊如何測(cè)試信噪比
- 18.4、Air800模塊如何輸出原始NMEA數(shù)據(jù)
- 18.5、Air800模塊GPS無(wú)信號(hào)、信號(hào)弱、定位失敗
- 18.6、如何支持秒定位(GPS定位慢)
- 18.7、什么是GPS的冷啟動(dòng)、溫啟動(dòng)、熱啟動(dòng)
- 18.8、GPS定位經(jīng)緯度不準(zhǔn)確
- 18.9、GPS模塊內(nèi)部有LNA嗎
- 18.10、GPS定位海拔不準(zhǔn)確
- 18.11、如何計(jì)算NMEA校驗(yàn)碼
- 18.12、可視衛(wèi)星、可用衛(wèi)星有什么區(qū)別
- 18.13、GGA和RMC應(yīng)該用哪個(gè)
- 18.14、如何解讀NMEA報(bào)文每個(gè)字段的含義
- 18.15、是否支持rtd、rtk
- 18.16、是否支持ntrip協(xié)議
- 18.17、已知兩個(gè)經(jīng)緯度,如何計(jì)算間距?
- 18.18、如何解決靜態(tài)漂移
- 18.19、做車(chē)載定位器,進(jìn)入隧道沒(méi)辦法定位怎么辦
- 18.20、能否用于制作人員定位器、定位手表
- 18.21、使用Luat版本FLOAT底層,能否實(shí)現(xiàn)坐標(biāo)轉(zhuǎn)換(WGS84~GCJ02)加偏/糾偏
- 18.22、哪些地圖使用的是GCJ02坐標(biāo)系
- 18.23、哪些地圖可以直接查看WGS84定位
- 18.24、車(chē)載使用時(shí)需要天線引出到車(chē)頂上嗎
- 十九、GPIO問(wèn)題
- 19.1、為什么GPIO配置后,功能不正常
- 19.2、GPIO的輸出能力是多少
- 19.3、中斷檢測(cè)能力是多少
- 19.4、哪些管腳可以用做GPIO
- 19.5、異常重啟,能否恢復(fù)之前的工作狀態(tài)
- 19.6、從硬件上電到腳本可控制GPIO狀態(tài),這段時(shí)間內(nèi)的管腳電平狀態(tài)如何變化
- 二十、合宙官方硬件看門(mén)狗問(wèn)題(僅適用于Luat版本)
- 20.1、軟硬件設(shè)計(jì)
- 20.1、軟硬件設(shè)計(jì)
- 20.2、硬件看門(mén)狗是否有必要
- 20.3、為什么4G模塊不需要外部硬件看門(mén)狗
- 20.4、為什么會(huì)提示喂狗失敗(WatchDog <--> AirM2M didn't respond : wdt reset 153b)
- 20.5、PWR_ON_OUT腳有什么作用
- 20.6、如何測(cè)試看門(mén)狗是否正常工作
- 20.7、能否修改看門(mén)狗喂狗時(shí)序
- 20.8、能否使用自己的硬件看門(mén)狗芯片
- 20.9、有沒(méi)有軟件看門(mén)狗
- 20.10、硬件看門(mén)狗外圍電路不規(guī)范可能導(dǎo)致2G模塊一直重啟
- 二十、合宙官方硬件看門(mén)狗問(wèn)題(僅適用于Luat版本)
- 20.1、軟硬件設(shè)計(jì)
- 20.2、硬件看門(mén)狗是否有必要
- 20.3、為什么4G模塊不需要外部硬件看門(mén)狗
- 20.4、為什么會(huì)提示喂狗失敗(WatchDog <--> AirM2M didn't respond : wdt reset 153b)
- 20.5、PWR_ON_OUT腳有什么作用
- 20.6、如何測(cè)試看門(mén)狗是否正常工作
- 20.7、能否修改看門(mén)狗喂狗時(shí)序
- 20.8、能否使用自己的硬件看門(mén)狗芯片
- 20.9、有沒(méi)有軟件看門(mén)狗
- 二十一、短信問(wèn)題
- 21.1、支持長(zhǎng)短信嗎
- 21.2、為什么Air720H模塊無(wú)法使用中國(guó)電信卡收發(fā)短信
- 二十二、日志使用問(wèn)題(僅適用于Luat版本)
- 22.1、如何解讀Luatools抓到的腳本日志
- 22.2、errDump功能有什么用
- 22.3、設(shè)備使用errDump對(duì)接合宙官方服務(wù)器,如何查看設(shè)備上報(bào)的錯(cuò)誤信息
- 二十三、串口通信問(wèn)題
- 23.1、AT版本發(fā)送AT無(wú)應(yīng)答
- 23.2、串口數(shù)據(jù)亂碼
- 23.3、Luat版本串口問(wèn)題
- 二十四、音頻問(wèn)題(僅適用于Luat版本)
- 24.1、無(wú)法播放mp3文件
- 24.2、無(wú)法播放tts
- 24.3、支持什么規(guī)格的喇叭
- 24.4、TTS音質(zhì)可以更好嗎
- 二十五、core固件使用問(wèn)題
- 25.1、固件區(qū)別
- 25.2、哪里可以下載舊版本固件
- 25.3、如何在2G模塊Luat開(kāi)源core中添加自己的功能模塊
- 二十六、合宙云平臺(tái)問(wèn)題
- 26.1、提供哪些云平臺(tái)服務(wù)
- 26.2、物聯(lián)網(wǎng)云平臺(tái)(iot.openluat.com)問(wèn)題
- 26.2.1、如何添加設(shè)備到設(shè)備列表中
- 26.2.2、如何查詢?cè)O(shè)備在哪個(gè)產(chǎn)品下
- 26.2.3、為什么公司采購(gòu)的4G模塊不在我自己創(chuàng)建的產(chǎn)品項(xiàng)目下
- 26.2.3、為什么轉(zhuǎn)移設(shè)備會(huì)失敗
- 26.2.4、如何在不同賬號(hào)間轉(zhuǎn)移產(chǎn)品
- 26.3、TCP測(cè)試平臺(tái)(tcplab.openluat.com)問(wèn)題
- 26.3.1、如何使用TCP測(cè)試平臺(tái)
- 26.3.2、瀏覽器打開(kāi)tcplab.openluat.com失敗怎么辦
- 26.3.3、為什么模塊連接TCP測(cè)試平臺(tái),會(huì)出現(xiàn)斷開(kāi)的問(wèn)題
- 二十八、JSON問(wèn)題
- 28.1、底層使用哪個(gè)庫(kù)實(shí)現(xiàn)的
- 28.2、為什么會(huì)解析出錯(cuò)
- 28.3、為什么HTTP POST JSON格式的數(shù)據(jù)會(huì)出現(xiàn)失敗
- 28.4、AT版本mqtt publish json格式的數(shù)據(jù),如何處理"
- 二十九、UI問(wèn)題(僅使用于Luat版本)
- 29.1、如何支持UI顯示
- 29.2、為什么lcd不顯示
- 29.3、最大支持的lcd分辨率是多少
- 29.4、如何使用自定義字體
- 29.5、為什么圖片無(wú)法顯示
- 29.6、如何顯示二維碼
- 29.7、如何顯示Code128條形碼
- 三十、FLASH和RAM使用問(wèn)題(僅適用于Luat版本)
- 30.1、Luat版本用戶可使用哪些FLASH空間
- 30.2、Luat版本用戶可用的RAM空間
- 30.3、NVM使用問(wèn)題
- 30.4、為什么讀文件失敗
- 30.5、動(dòng)態(tài)創(chuàng)建自定義文件的注意事項(xiàng)
- 30.6、是否支持外擴(kuò)SPI FLASH
- 三十一、RNDIS問(wèn)題
- 31.1、模塊軟件中支持關(guān)閉RNDIS網(wǎng)卡功能嗎
- 31.2、WINDOWS如何使用RNDIS模式上網(wǎng)
- 三十二、PCB文件使用問(wèn)題
- 32.1、合宙官方的PCB文件用 PADS的什么版本可以打開(kāi)
- 三十三、語(yǔ)音通話問(wèn)題
- 33.1、4G模塊是否支持語(yǔ)音通話業(yè)務(wù)
- 33.2、為什么Air720G模塊無(wú)法使用中國(guó)移動(dòng)卡的語(yǔ)音通話業(yè)務(wù)
- 33.3、天線廠調(diào)試天線時(shí),如何提供來(lái)電自動(dòng)接聽(tīng)的軟件
- 33.4、如何處理通話或者錄音中的電流噪音(TDD噪音)
- 三十四、模塊參數(shù)
- 34.1、4G模塊
- 三十五、Luat版本腳本開(kāi)發(fā)小問(wèn)題
- 35.1、Luat版本腳本運(yùn)行框架
- 35.2、sys.taskInit創(chuàng)建的task有沒(méi)有優(yōu)先級(jí)之分
- 35.3、如何實(shí)現(xiàn)延時(shí)運(yùn)行
- 三十六、認(rèn)證問(wèn)題
- 36.1、模塊做過(guò)哪些認(rèn)證
- 36.2、客戶產(chǎn)品SRRC認(rèn)證注意事項(xiàng)
- 36.3、模塊有入網(wǎng)證書(shū)(CTA)嗎
- 三十七、SPI問(wèn)題
- 37.1、如何用Luat腳本模擬實(shí)現(xiàn)SPI
- 三十八、I2C問(wèn)題(僅適用于Luat版本)
- 38.1、如何用腳本驅(qū)動(dòng)mpu6050
- 三十九、PPP撥號(hào)問(wèn)題
- 39.1、WINDOWS下4G模塊如何撥號(hào)上網(wǎng)
- 39.2、Linux下4G模塊如何撥號(hào)上網(wǎng)
- 四十、時(shí)鐘問(wèn)題
- 40.1、如何同步時(shí)鐘
一、Luatools使用問(wèn)題
使用教程:http://oldask.openluat.com/article/4
1.1 燒錄下載
? 1.1.1、 2G模塊無(wú)法燒錄下載
檢查下載線連接是否正確,下載線要連接模塊的host_txd、host_rxd、gnd
檢查下host_txd、host_rxd是否與其他管腳短路,特別是host_txd和vddio相鄰,可能會(huì)因?yàn)橘N片或者焊接問(wèn)題導(dǎo)致短路
下載線不穩(wěn)定,更換ft232/cp2102等芯片串口線對(duì)比試一下
檢查供電以及開(kāi)機(jī)是否正常,測(cè)量vbat 3.6V到4.2V,并拉低pwrkey 2000ms開(kāi)機(jī)
檢查下載口電平是否匹配,支持2.8V,兼容3.3V
更換電腦usb口或者更換電腦對(duì)比測(cè)試
模塊可能損壞【靜電擊穿、爐溫過(guò)高可能導(dǎo)致?lián)p壞】,更換模塊對(duì)比測(cè)試確認(rèn)
如果出現(xiàn)下載過(guò)程中失敗問(wèn)題,參考如下順序排查
1)供電可能不穩(wěn)定,使用穩(wěn)定的電源供電,可以直接用穩(wěn)壓電源對(duì)vbat供電對(duì)比確認(rèn)
2)下載線可能不穩(wěn)定,更換ft232/cp2102等芯片串口線對(duì)比試一下
? 更多詳細(xì)說(shuō)明參考:http://doc.openluat.com/article/600/0
? 1.1.2、 2G開(kāi)發(fā)板無(wú)法燒錄下載
參考開(kāi)發(fā)板使用手冊(cè),確認(rèn)跳線帽使用是否正常
開(kāi)發(fā)板上已經(jīng)有usb轉(zhuǎn)串口芯片,所以要使用micro usb線,不要使用usb轉(zhuǎn)串口線
檢查供電以及開(kāi)機(jī)是否正常,測(cè)量vbat 3.6V到4.2V,并長(zhǎng)按pwrkey開(kāi)機(jī)
檢查下載口電平是否匹配,支持2.8V,兼容3.3V
更換電腦usb口或者更換電腦對(duì)比測(cè)試
模塊可能損壞【靜電擊穿、爐溫過(guò)高可能導(dǎo)致?lián)p壞】,更換模塊對(duì)比測(cè)試確認(rèn)
如果出現(xiàn)下載過(guò)程中失敗問(wèn)題,參考如下順序排查
1)供電可能不穩(wěn)定,使用穩(wěn)定的電源供電,可以直接用穩(wěn)壓電源對(duì)vbat供電對(duì)比確認(rèn)
2)下載線可能不穩(wěn)定,更換ft232/cp2102等芯片串口線對(duì)比試一下
? 1.1.3、4G模塊(開(kāi)發(fā)板)無(wú)法燒錄下載
檢查下載線連接是否正確,如果是模塊,要連接模塊的usb_dp、usb_dm、vbus、gnd;如果是開(kāi)發(fā)板,要連接usb口,luatools準(zhǔn)備好下載后,撥動(dòng)開(kāi)關(guān)撥到on位置
需要使用穩(wěn)定的usb下載線,不要使用usb轉(zhuǎn)串口下載線
檢查供電是否正常,測(cè)量vbat 3.6V到4.2V
要安裝驅(qū)動(dòng),參考:http://oldask.openluat.com/article/92, 注意:安裝好驅(qū)動(dòng)之后,在燒錄固件過(guò)程中,設(shè)備管理器中會(huì)出現(xiàn)下圖所示的下載驅(qū)動(dòng)
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-24f53taG-1619422566511)(http://oldask.openluat.com/image/show/attachments-2019-10-P2aiLCiP5db9ad0250805.png “undefined”)]
燒錄固件,正常開(kāi)機(jī)后,設(shè)備管理器中會(huì)出現(xiàn)下圖所示的3種驅(qū)動(dòng)
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-nDM7kCFW-1619422566523)(http://oldask.openluat.com/image/show/attachments-2019-10-nP7l5Mlr5db9acf3b676b.png “undefined”)]
如果沒(méi)有出現(xiàn)這些端口,或者有感嘆號(hào),表示驅(qū)動(dòng)沒(méi)有安裝成功,請(qǐng)重新安裝驅(qū)動(dòng)
注意:如果電腦安裝了USBPcap,會(huì)造成下載驅(qū)動(dòng)有感嘆號(hào),從而造成無(wú)法燒錄固件,但是可以正常抓取日志。如果遇到此問(wèn)題,請(qǐng)刪除USBPcap后再試;此問(wèn)題可以參考下圖操作:
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-zCqhW8QU-1619422566524)(http://oldask.openluat.com/image/show/attachments-2019-11-cWGdgtNF5dd3a643e6a80.png “undefined”)]
更換電腦usb口或者更換電腦對(duì)比測(cè)試
模塊可能損壞【靜電擊穿、爐溫過(guò)高可能導(dǎo)致?lián)p壞】,更換模塊或者開(kāi)發(fā)板對(duì)比測(cè)試確認(rèn)
如果出現(xiàn)下載過(guò)程中失敗問(wèn)題,參考如下順序排查
1)供電可能不穩(wěn)定,使用穩(wěn)定的電源供電,可以直接用穩(wěn)壓電源對(duì)vbat供電對(duì)比確認(rèn)
2)下載線可能不穩(wěn)定,更換穩(wěn)定的usb下載線
? 1.1.4、生成量產(chǎn)文件時(shí)的加密功能有什么用
? 如果項(xiàng)目有安全性方便的考慮,防止別人拿到設(shè)備后,讀取自己寫(xiě)的腳本文件,可以在生成量產(chǎn)文件時(shí),打開(kāi)加密功能選項(xiàng),輸入密碼,Luatools對(duì)所有腳本和其他資源文件進(jìn)行加密,即使別人拿到了加密設(shè)備,也無(wú)法解密出原始的腳本和資源文件
? 1.1.5、4G開(kāi)發(fā)模式下的“USB打印Trace、UART1打印Trace、UART2打印Trace”是什么功能
? 可以選擇輸出腳本日志的端口,默認(rèn)是USB輸出日志,如果燒錄或者生成量產(chǎn)文件時(shí),選擇了指定端口輸出日志,注意在Luatools主界面,選擇對(duì)應(yīng)的打印口,這樣在Trace窗口才能輸出日志
? 1.1.6、Luat開(kāi)發(fā)方式下可以燒錄哪種類型的文件
? 任何類型的文件都可以燒錄,例如mp3、bmp、png、jpg、txt、自定義后綴的文件等等,燒錄后,腳本如何訪問(wèn)這些文件,參考1.1.7章節(jié)
? 1.1.7、腳本代碼中如何讀取通過(guò)Luatools燒錄進(jìn)模塊的文件
? 通過(guò)Luatools燒錄進(jìn)模塊的文件,開(kāi)機(jī)啟動(dòng)時(shí),根據(jù)不同類型的文件,會(huì)自動(dòng)創(chuàng)建不同的目錄保存這些文件,完整的文件路徑(filePath)定義如下:
?2G模塊:
- 如果是lua文件,例如xxx.lua:非加密下載時(shí),文件路徑為/lua/xxx.lua;加密下載時(shí),文件路徑為/lua/xxx.luae
- 如果是非lua文件,例如xxx.mp3:非加密下載時(shí),文件路徑為/ldata/xxx.mp3;加密下載時(shí),文件路徑為/ldata/xxx.mp3e
?4G模塊:
- 無(wú)論什么格式的文件,例如xxx.lua,文件路徑都為:/lua/xxx.lua
? 考慮到對(duì)內(nèi)存的消耗過(guò)大可能會(huì)造成內(nèi)存不足的問(wèn)題:如果文件較小(小于4KB),可以使用io.readFile(filePath)一次性全部讀出;如果文件較大(大于4KB),可以使用io.readStream(filePath, offset, len)分段讀出
? 1.1.8、Luat開(kāi)發(fā)方式下可以燒錄某個(gè)項(xiàng)目的部分文件嗎?
? 不可以。每次燒錄,都會(huì)刪除模塊中之前的所有腳本和資源文件,所以每次燒錄,必須燒錄某個(gè)項(xiàng)目的所有腳本和資源文件(包括lib腳本文件)
? 1.1.9、打開(kāi)串口失敗
? Luatools打開(kāi)串口時(shí),會(huì)對(duì)波特率做校驗(yàn),如果串口芯片的波特率滿足不了要求,會(huì)打開(kāi)失敗
? 2G模式下,波特率為921600;4G模式下,波特率為115200
? 目前遇到過(guò)如下幾種打開(kāi)串口失敗的情況:
? 1. 使用了PCIE轉(zhuǎn)串口卡,這種串口卡不支持921600波特率,所以在2G開(kāi)發(fā)模式下會(huì)提示打開(kāi)失敗,在4G模式下可以正常打開(kāi)
1.2、日志輸出
? 1.2.1、2G模塊(開(kāi)發(fā)板)無(wú)法輸出日志
? 1.2.2、4G模塊(開(kāi)發(fā)板)無(wú)法輸出日志
? 1.2.3、日志輸出過(guò)程中,突然停止輸出
? 1.2.4、4G模塊USB輸出日志時(shí),會(huì)丟失開(kāi)機(jī)過(guò)程的部分日志
? 4G模塊開(kāi)機(jī)時(shí),部分電腦識(shí)別usb口過(guò)慢,導(dǎo)致開(kāi)機(jī)部分的日志可能丟失;遇到此類問(wèn)題,可以參考1.1.5章節(jié),使用uart1或者uart2輸出日志
? 1.2.5、為什么系統(tǒng)狀態(tài)、信號(hào)強(qiáng)度、版本類型、框架類型、軟件版本的內(nèi)容有時(shí)不顯示或者顯示不正確
? 這些內(nèi)容都是從抓取的日志中分析關(guān)鍵字解析出來(lái)的,如果不是從開(kāi)機(jī)開(kāi)始抓取日志,會(huì)丟失一些日志,從而導(dǎo)致解析失敗。例如軟件版本是搜索poweron reason解析出來(lái)的,如果沒(méi)有抓到這一行日志,軟件版本就會(huì)解析失敗,或者如果自己寫(xiě)的應(yīng)用腳本中也會(huì)輸出poweron reason關(guān)鍵字日志,也可能導(dǎo)致解析異常。所以,這些信息的解析僅僅是作為參考方便開(kāi)發(fā)者分析問(wèn)題,要進(jìn)一步準(zhǔn)確分析問(wèn)題,一定要直接分析日志
? 1.2.6、Luatools可以抓取、輸出哪幾種日志
1.3、其他
? 1.3.1、Luatools無(wú)法啟動(dòng)、出現(xiàn)error 126
缺少vc_redist運(yùn)行庫(kù),http://www.openluat.com/Product/file/asr1802/vc%E8%BF%90%E8%A1%8C%E5%BA%93%E5%90%88%E9%9B%86MSVBCRT_AIO_2018.07.30_X86+X64.exe 下載安裝后,重新運(yùn)行Luatools
? 1.3.2、Luatools工作異常、閃退
? 1.3.3、不小心刪除了源碼,有辦法找回嗎
? 1.3.4、如何抓取模塊死機(jī)時(shí)的日志
? 1.3.5、是否有64位、Linux、Mac版本工具;是否支持xp系統(tǒng)
? 沒(méi)有64位、Linux、Mac版本工具,Linux和Mac請(qǐng)使用虛擬機(jī)運(yùn)行Luatools工具;支持部分XP系統(tǒng),建議在WIN7以上的系統(tǒng)上使用
? 1.3.6、為什么提示多個(gè)工具在運(yùn)行
? 檢查電腦的任務(wù)管理中是否有多個(gè)luatools.exe,如果有,關(guān)閉所有后,再重啟Luatools
? 1.3.7、為什么設(shè)備一直在正常運(yùn)行,但是coolwatcher抓日志過(guò)程中,會(huì)突然不輸出日志
? 按照如下順序嘗試解決
如果左下角command編輯框中輸入r 0命令后回車(chē)【注意:host rx要和串口線連接,才能正常接收命令】,有0xXXXXXXXX格式的數(shù)據(jù)返回,表示host口通信正常,沒(méi)輸出日志,可能是host寄存器受到干擾導(dǎo)致,此時(shí)參照下圖將可能受到干擾的寄存器主動(dòng)設(shè)置正常
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-l78rDgGD-1619422566526)(http://oldask.openluat.com/image/show/attachments-2019-11-qMXxAfM15dcd00cc6582b.png “undefined”)]!
二、量產(chǎn)燒錄工具使用問(wèn)題
? 2G模塊量產(chǎn)燒錄工具:http://www.openluat.com/Product/file/rda8955/RDA 平臺(tái)Lod客戶升級(jí)工具2.5.7z
? 4G模塊量產(chǎn)燒錄工具:http://www.openluat.com/Product/file/asr1802/ASR 平臺(tái)core客戶升級(jí)工具V1.3_Air720系列.7z
? 合宙提供了官方的燒錄夾具和設(shè)計(jì)文件,如有需要,打開(kāi):luat.taobao.com,在店鋪內(nèi)搜索夾具,與淘寶客服溝通;合宙也提供免費(fèi)代燒錄服務(wù),購(gòu)買(mǎi)模塊到達(dá)一定數(shù)量時(shí),此服務(wù)免費(fèi),詳情與模塊銷(xiāo)售溝通
2.1、使用一拖多燒錄時(shí),出現(xiàn)后一個(gè)模塊開(kāi)始燒錄,前一個(gè)模塊燒錄失敗的問(wèn)題
? 檢查下夾具供電,使用穩(wěn)定的電源給夾具供電;不要一個(gè)電源同時(shí)給多個(gè)夾具供電
2.24G模塊燒錄到最后,沒(méi)有提示成功,提示“USB is Removed”
2.3、4G模塊量產(chǎn)燒錄工具打開(kāi)失敗
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-ve8hLpKw-1619422566527)(https://oldask.openluat.com/image/show/attachments-2020-03-CQaioO2Q5e69f0ce8ac32.png “undefined”)]
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-q8bYL9z9-1619422566528)(https://oldask.openluat.com/image/show/attachments-2020-03-7OnkBxOR5e69f0eb5f1df.png “undefined”)]
? 出現(xiàn)此問(wèn)題,一般都是blf文件配置出錯(cuò)導(dǎo)致的,打開(kāi)config/param.ini,檢查下圖中的core對(duì)應(yīng)的blf文件配置是否正確
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-6UHFIhD8-1619422566528)(https://oldask.openluat.com/image/show/attachments-2020-03-kMfp2nr75e69f1160fa18.png “undefined”)]
三、開(kāi)關(guān)機(jī)(電源)問(wèn)題
3.1、2G模塊無(wú)法開(kāi)機(jī)
? 1) 開(kāi)機(jī)狀態(tài)下,檢測(cè)到powerkey被拉低1.5秒以上時(shí)間
? 2) 收到了AT+CPOWD=1命令
3.2、2G模塊無(wú)法關(guān)機(jī)
3.3、4G模塊無(wú)法開(kāi)機(jī)
測(cè)量V_GLOBAL_1V8引腳電壓,如果是1.8V左右,表示已經(jīng)正常開(kāi)機(jī),“無(wú)法開(kāi)機(jī)”純屬誤判;如果是低電平0V左右,表示沒(méi)有開(kāi)機(jī)
如果引出了usb引腳,usb連接電腦,參考1.1.3章節(jié)第4步,持續(xù)觀察20秒,看是否會(huì)穩(wěn)定出現(xiàn)設(shè)備管理器中的3個(gè)端口,如果穩(wěn)定出現(xiàn),表示已經(jīng)正常開(kāi)機(jī),“無(wú)法開(kāi)機(jī)”純屬誤判;如果沒(méi)有出現(xiàn),表示沒(méi)有正常開(kāi)機(jī);如果出現(xiàn)后一閃而過(guò),表示可能一直在異常重啟,參考4.2章節(jié)處理
vbat引腳電壓3.4V到4.3V,powerkey拉低至少2秒,才有可能開(kāi)機(jī);測(cè)量vbat引腳和powerkey狀態(tài),確認(rèn)是否滿足要求
模塊峰值需要2A電流,供電跌落不能太多
將模塊的第142腳:EXTON1N直接接地可以實(shí)現(xiàn)上電自動(dòng)開(kāi)機(jī)功能。需要注意,在上電自動(dòng)開(kāi)機(jī)模式下,將無(wú)法關(guān)機(jī),只要VBAT管腳的電壓大于開(kāi)機(jī)電壓,即使軟件調(diào)用關(guān)機(jī)接口,模塊仍然會(huì)再次開(kāi)機(jī)。另外,在此模式下,要想成功自動(dòng)開(kāi)機(jī),VBAT管腳電壓仍然要大于軟件設(shè)定的開(kāi)機(jī)電壓值(3.1V),如果不滿足,模塊會(huì)關(guān)閉,就會(huì)出現(xiàn)反復(fù)開(kāi)關(guān)機(jī)的情況。
不建議把模塊的第21腳:PWRKEY 直接接地來(lái)實(shí)現(xiàn)上電開(kāi)機(jī)功能。假如把PWRKEY 直接接地了,此時(shí)再把RESET_IN_N 拉低超過(guò)15秒的話,模塊內(nèi)部的PMU會(huì)認(rèn)為模塊狀態(tài)異常,強(qiáng)制斷電,即使在RESET_IN_N釋放以后模塊也會(huì)一直處于關(guān)機(jī)狀態(tài),直到松開(kāi)PWRKEY一段時(shí)間。
3.4、4G模塊無(wú)法關(guān)機(jī)
不建議把模塊的第21腳:PWRKEY 直接接地來(lái)實(shí)現(xiàn)上電開(kāi)機(jī)功能。假如把PWRKEY 直接接地了,此時(shí)再把RESET_IN_N 拉低超過(guò)15秒的話,模塊內(nèi)部的PMU會(huì)認(rèn)為模塊狀態(tài)異常,強(qiáng)制斷電,即使在RESET_IN_N釋放以后模塊也會(huì)一直處于關(guān)機(jī)狀態(tài),直到松開(kāi)PWRKEY一段時(shí)間。
3.5、其他
? 3.5.1、有沒(méi)有推薦的電池
? 建議選擇18650或鋰聚合物電池。供電必須滿足3.7~4.2v,電壓跌落不超過(guò)0.6v,最低不低于3.4v
? 3.5.2、為什么使用市電仍然無(wú)法正常工作
? 請(qǐng)檢查電源動(dòng)態(tài)響應(yīng)能力。必要時(shí)vbat、gnd并電容
? 3.5.3、能否獲取電量百分比
不能,只能獲得電池電壓。使用misc.getVbatt(),返回毫安。開(kāi)發(fā)者自行根據(jù)電池的承認(rèn)書(shū)去換算百分比(因?yàn)椴煌姵胤烹娗€各有差異)
? 3.5.4、為什么供電沒(méi)問(wèn)題卻仍然無(wú)法開(kāi)機(jī)、自動(dòng)關(guān)機(jī)、或者異常重啟
請(qǐng)用示波器檢查供電有無(wú)跌落,萬(wàn)用表響應(yīng)能力較差
? 3.5.5、客戶示例:4G模塊開(kāi)機(jī)很慢,powerkey需要按16秒才能開(kāi)機(jī)
? RESET管腳與MCU直接相連,這樣的話板子在上電時(shí),MCU的IO反轉(zhuǎn)可能會(huì)影響到模塊的開(kāi)機(jī);RESET管腳需要用三極管驅(qū)動(dòng),或者加二極管隔離。
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-W8zKcwFJ-1619422566529)(https://oldask.openluat.com/image/show/attachments-2019-12-Dey6JVAC5de4c676d9c94.png “undefined”)]
四、重啟問(wèn)題
? 關(guān)于重啟問(wèn)題的詳細(xì)描述參考如下文章:
? http://oldask.openluat.com/article/27
? http://oldask.openluat.com/article/28
? http://oldask.openluat.com/article/29
? http://oldask.openluat.com/article/909
? 重要提醒:使用Luat固件開(kāi)發(fā)時(shí),一定要使用errDump功能,此功能對(duì)“量產(chǎn)投放市場(chǎng)的設(shè)備,遠(yuǎn)程調(diào)試初步定位問(wèn)題”至關(guān)重要
4.1、2G模塊重啟
? 1) 如果出現(xiàn)“(0xffffffff)模塊硬件上電中,正在啟動(dòng)”,表示硬件重啟,直接按照第1步確認(rèn)問(wèn)題,同時(shí)確認(rèn)下是否為外圍單片機(jī)給模塊斷電復(fù)位引起的重啟
? 2) 其他的重啟,直接聯(lián)系合宙技術(shù)支持人員按照如下方式處理
? A. 合宙技術(shù)支持人員提供一個(gè)debug assert版本的固件【注意:此固件僅供測(cè)試使用,不能用于量產(chǎn)】
? B. 客戶在MCU端開(kāi)機(jī)發(fā)送AT* EXASSERT=1命令【注意:此命令會(huì)導(dǎo)致模塊發(fā)生重啟問(wèn)題時(shí),直接死機(jī),僅測(cè)試使用,不能用于量產(chǎn);測(cè)試設(shè)備使用完畢之后,再發(fā)送AT*EXASSERT=0恢復(fù)默認(rèn)配置】
? C. 如果有硬件看門(mén)狗機(jī)制,要從硬件上斷開(kāi)硬件看門(mén)狗;以防復(fù)現(xiàn)死機(jī)問(wèn)題后,被硬件看門(mén)狗重啟復(fù)位
? D. 參考http://oldask.openluat.com/article/63掛測(cè)復(fù)現(xiàn)問(wèn)題死機(jī)問(wèn)題后,保留死機(jī)現(xiàn)場(chǎng),聯(lián)系合宙技術(shù)支持人員遠(yuǎn)程分析
? 1) reason為0,表示硬件重啟,直接按照第1步確認(rèn)問(wèn)題,同時(shí)確認(rèn)下是否為硬件看門(mén)狗或者外圍單片機(jī)給模塊斷電復(fù)位引起的重啟
? 2) reason為7,表示點(diǎn)擊了Luatools的“重啟模塊”按鈕控制的重啟
? 3) reason為8,表示core中的軟件看門(mén)狗重啟,檢查一下腳本中是否寫(xiě)了死循環(huán)的邏輯
? 4) reason為3,表示軟件重啟,在日志中搜索restart或者[E]或者traceback,分析原因自行解決;如果日志中搜索不到這些關(guān)鍵字,檢查一下應(yīng)用腳本中是否調(diào)用了rtos.restart()所致
? 5) 如果以上步驟都不能解決問(wèn)題,直接聯(lián)系合宙技術(shù)支持人員按照如下方式處理
? A.合宙技術(shù)支持人員提供一個(gè)debug assert版本的固件【注意:此固件僅供測(cè)試使用,不能用于量產(chǎn)】
? B. 客戶在main.lua中sys.init前加一行代碼ril.request(“AT* EXASSERT=1”)【注意:此行代碼會(huì)導(dǎo)致模塊發(fā)生重啟問(wèn)題時(shí),直接死機(jī),僅測(cè)試使用,不能用于量產(chǎn);測(cè)試設(shè)備使用完畢之后,再修改為ril.request(“AT*EXASSERT=0”)恢復(fù)默認(rèn)配置】
? C. 如果有硬件看門(mén)狗機(jī)制,關(guān)閉此功能;以防復(fù)現(xiàn)死機(jī)問(wèn)題后,被硬件看門(mén)狗重啟復(fù)位
? D. 參考http://oldask.openluat.com/article/63掛測(cè)復(fù)現(xiàn)問(wèn)題死機(jī)問(wèn)題后,保留死機(jī)現(xiàn)場(chǎng),聯(lián)系合宙技術(shù)支持人員遠(yuǎn)程分析
4.2、4G模塊重啟
? 1) reason為0,表示硬件重啟,直接按照第1步確認(rèn)問(wèn)題,同時(shí)確認(rèn)下是否為硬件看門(mén)狗或者外圍單片機(jī)給模塊斷電復(fù)位引起的重啟
? 2) reason為3,表示軟件重啟,在日志中搜索restart或者[E]或者traceback或者EE LOG,分析原因自行解決
如果以上步驟都不能解決問(wèn)題,參考1.2.6章節(jié),提供trc日志文件和sdl日志文件給合宙技術(shù)支持人員分析;如果需要設(shè)置為死機(jī)模式,復(fù)現(xiàn)問(wèn)題進(jìn)一步分析,參考 http://oldask.openluat.com/article/910 處理
五、校準(zhǔn)問(wèn)題
模塊如果沒(méi)有校準(zhǔn),射頻性能就無(wú)法達(dá)到最優(yōu),極端情況下,會(huì)造成網(wǎng)絡(luò)通信非常不穩(wěn)定;未校準(zhǔn)的模塊必須走售后流程維修或者換貨
5.1、2G模塊如何判斷是否校準(zhǔn)
5.2 4G 模塊如何判斷是否校準(zhǔn)
? 4G模塊會(huì)對(duì)2G、3G、4G進(jìn)行單獨(dú)校準(zhǔn),所以要單獨(dú)查詢這三部分是否校準(zhǔn);同時(shí)也要根據(jù)模塊支持的網(wǎng)絡(luò)制式區(qū)別對(duì)待,例如720H支持2G、3G、4G,則這三部分都要校準(zhǔn)才正常;720G支持3G、4G,則只要這兩部分都校準(zhǔn)就正常
六、IMEI、SN問(wèn)題
6.1、Luat版本為什么開(kāi)機(jī)讀出的IMEI、SN為空
? Lua版本的腳本運(yùn)行起來(lái)之后,會(huì)發(fā)送AT命令查詢imei、sn,從腳本開(kāi)始運(yùn)行到查詢到結(jié)果,一般需要3秒鐘【只是經(jīng)驗(yàn)值,不要用做程序設(shè)計(jì)依據(jù)】,如果在查詢到結(jié)果之前使用misc.getImei()、misc.getSn()接口讀取,就為返回空;
? 用戶開(kāi)發(fā)項(xiàng)目時(shí),可以根據(jù)項(xiàng)目的應(yīng)用場(chǎng)景,分別做不同處理,比較典型的兩種場(chǎng)景如下:
sys.subscribe(“IMEI_READY_IND”, function() end)
sys.subscribe(“SN_READY_IND”, function() end)s
6.2、為什么IMEI為默認(rèn)值
? 2G模塊的默認(rèn)值:359759002514931
? 4G模塊的默認(rèn)值:3520990017614823
6.3、為什么4G模塊寫(xiě)IMEI會(huì)失敗
? 實(shí)際場(chǎng)景中,用戶可能會(huì)寫(xiě)自定義的imei到模塊中,AT版本使用AT+WIMEI命令、Luat版本使用misc.setImei接口來(lái)寫(xiě)入;imei一共15位,其中最后1位是校驗(yàn)位,根據(jù)前14位計(jì)算得來(lái)
? 2G模塊的固件對(duì)最后1位的校驗(yàn)位沒(méi)做檢查,即使校驗(yàn)位錯(cuò)誤,也允許寫(xiě)入
? 4G模塊的固件對(duì)最后1位的校驗(yàn)位會(huì)做正確性檢查,校驗(yàn)位出錯(cuò),返回寫(xiě)入失敗;所以如果4G模塊出現(xiàn)寫(xiě)IMEI失敗,可以通過(guò)https://www.oming.me/tools/imei檢查下校驗(yàn)位【如果此鏈接失效,可以把校驗(yàn)位設(shè)置為0到9依次嘗試】,如果檢驗(yàn)位沒(méi)問(wèn)題,提供日志給合宙技術(shù)支持人員分析
6.4、SN是什么,如何讀寫(xiě)
? sn的標(biāo)準(zhǔn)含義是指序列號(hào),合宙模塊的標(biāo)簽上都有sn號(hào),記錄了生產(chǎn)日期等信息;模塊的flash中也有一塊區(qū)域?yàn)閟n,我們現(xiàn)在討論的是模塊flash中的這一塊區(qū)域。 sn區(qū)域最多可以存儲(chǔ)64字節(jié)的數(shù)據(jù),即使重新燒錄固件,此區(qū)域的數(shù)據(jù)也不丟失,和imei的存儲(chǔ)機(jī)制類似。合宙工廠生產(chǎn)模塊時(shí),對(duì)sn區(qū)域沒(méi)有寫(xiě)入任何有效數(shù)據(jù)【2G模塊雖然寫(xiě)入了數(shù)據(jù),但是此數(shù)據(jù)沒(méi)什么實(shí)際意義】,所以客戶拿到模塊之后,可以根據(jù)sn區(qū)域的特性,存儲(chǔ)自定義的不超過(guò)64字節(jié)的任何數(shù)據(jù),例如阿里云的設(shè)備密鑰
? sn讀寫(xiě)接口如下:
七、SIM卡問(wèn)題
7.1、支持中國(guó)大陸哪些運(yùn)營(yíng)商
7.2、是否支持中國(guó)港澳臺(tái)、外國(guó)運(yùn)營(yíng)商
例如,要判斷Air720H是否在其他國(guó)家可以使用,首先打開(kāi)http://www.openluat.com/Product/file/asr1802/Air720x(3229)%E7%B3%BB%E5%88%97%E6%A8%A1%E5%9D%97%E7%A1%AC%E4%BB%B6%E8%AE%BE%E8%AE%A1%E6%89%8B%E5%86%8CV1.27.pdf找到Air720H支持的頻段,如下圖所示
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-uU2vihsI-1619422566529)(https://oldask.openluat.com/image/show/attachments-2020-01-8Opab9VQ5e0ee32c936da.png “undefined”)]
可以得知:Air720H支持B1、B3、B5、B8、B38、B39、B40、B41
那么Air720H可以在哪些國(guó)家使用呢?分如下幾種情況討論
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-mZcAKb6E-1619422566530)(https://oldask.openluat.com/image/show/attachments-2020-01-Ag5kfJYa5e0ee38a73945.png “undefined”)]
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-NwhwZU5w-1619422566530)(https://oldask.openluat.com/image/show/attachments-2020-01-mNG0jtwC5e0ee3a9dd309.png “undefined”)]
注意:一旦確定可用,需要參考本文的APN設(shè)置章節(jié),設(shè)置為正確的APN,才能正常上網(wǎng)
7.3、支持SIM卡熱插拔嗎
?支持
? 1) 默認(rèn)打開(kāi)了軟件檢測(cè)SIM卡熱插拔功能,但是軟件檢測(cè)有延時(shí),詳情參考AT手冊(cè)中的AT+AMSDTC命令
? 2) 支持硬件檢測(cè)SIM卡熱插拔功能,硬件檢測(cè)無(wú)延時(shí),但是默認(rèn)關(guān)閉了此功能,如果需要打開(kāi),參考AT手冊(cè)中的AT+CSDT命令【AT版本發(fā)送AT+CSDT=1命令,Lua版本執(zhí)行ril.request(“AT+CSDT=1”)】,同時(shí)硬件電路上要接SIMDET腳
? 1) 不支持軟件檢測(cè)SIM卡熱插拔功能
? 2) 支持硬件檢測(cè)SIM卡熱插拔功能,硬件檢測(cè)無(wú)延時(shí),但是默認(rèn)關(guān)閉了此功能,如果需要打開(kāi),參考AT手冊(cè)中的AT+CSDT命令【AT版本發(fā)送AT+CSDT=1命令,Lua版本執(zhí)行ril.request(“AT+CSDT=1”)】,同時(shí)硬件電路上要接USIM_CD腳
7.4、找不到SIM卡
? 2G模塊:主動(dòng)上報(bào)+CPIN: NOT INSERTED或者AT+CPIN?查詢返回+CPIN: NOT INSERTED
? 4G模塊:主動(dòng)上報(bào)+CPIN: SIM REMOVED或者AT+CPIN?查詢返回+CME ERROR: 10
? 都表示找不到SIM卡,按照如下步驟排查:
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-Ry0OABRB-1619422566531)(https://oldask.openluat.com/image/show/attachments-2020-02-uCSSInC15e437c7292d22.png “undefined”)]
? 1) 如果不正常,檢查下卡片是否變形、氧化,用卡背貼膠帶、膠水灌注、擦拭卡片等方式再嘗試,如果都不行,考慮換卡吧
? 2) 如果正常,把此卡放到其他板子上,如果其他板子正常,可能屬于板子單體問(wèn)題;如果其他板子也不正常,應(yīng)該是板子硬件設(shè)計(jì)問(wèn)題。參考第5步分析
7.5、Luat版本為什么開(kāi)機(jī)讀出的ICCID、IMSI為空
? Lua版本的腳本運(yùn)行起來(lái),檢測(cè)到sim卡之后,會(huì)發(fā)送AT命令查詢iccid、imsi,從腳本開(kāi)始運(yùn)行到查詢到結(jié)果,一般需要5秒鐘【只是經(jīng)驗(yàn)值,不要用做程序設(shè)計(jì)依據(jù)】,如果在查詢到結(jié)果之前使用sim.getIccid()、sim.getImsi()接口讀取,就為返回空;
? 用戶開(kāi)發(fā)項(xiàng)目時(shí),可以根據(jù)項(xiàng)目的應(yīng)用場(chǎng)景,分別做不同處理,比較典型的兩種場(chǎng)景如下:
sys.subscribe(“IMSI_READY”, function() end) --iccid也是IMSI_READY的消息
sys.subscribe(“IMSI_READY”, function() end)
7.6、可以讀到SIM卡的手機(jī)號(hào)碼(MSISDN)嗎
? 目前有兩種方式可以獲取本機(jī)號(hào)碼:
? 1) AT版本,發(fā)送AT+CNUM命令查詢
? 2) Luat版本,開(kāi)機(jī)后調(diào)用sim.setQueryNumber(true)打開(kāi)查詢本機(jī)號(hào)碼功能,會(huì)自動(dòng)查詢本機(jī)號(hào)碼;可通過(guò)sim.getNumber()獲取查詢結(jié)果
? 1) 短信平臺(tái)下發(fā)一條短信給模塊,短信內(nèi)容中包含手機(jī)號(hào)碼,模塊收到后解析出號(hào)碼
? 2) 模塊連接一個(gè)后臺(tái)服務(wù)器,后臺(tái)服務(wù)器與短信平臺(tái)相連,根據(jù)imei或者imsi讀取到對(duì)應(yīng)的手機(jī)號(hào)碼,然后把這個(gè)號(hào)碼,下發(fā)給imei或者imsi對(duì)應(yīng)的模塊
7.7、虛擬卡(VSIM)
? 虛擬卡是一種“將sim卡數(shù)據(jù)寫(xiě)入模塊flash,實(shí)現(xiàn)和實(shí)體卡同樣網(wǎng)絡(luò)功能”的純軟件技術(shù),相比實(shí)體卡存在“省去卡槽的硬件設(shè)計(jì)、不會(huì)出現(xiàn)掉卡、不會(huì)因?yàn)榭ū槐I而產(chǎn)生的巨額流量”的優(yōu)點(diǎn)
? 目前合宙已不生產(chǎn)新的虛擬卡模塊,之前已經(jīng)出貨的虛擬卡模塊會(huì)持續(xù)維護(hù)。部分2G和4G模塊支持貼片卡(ESIM卡),有需要的話,可咨詢購(gòu)買(mǎi)
? 虛擬卡使用時(shí)常見(jiàn)問(wèn)題如下:
7.8、貼片卡(ESIM)
? 目前,支持貼片卡的模塊型號(hào)列表如下:
7.9、合宙物聯(lián)網(wǎng)卡(虛擬卡、貼片卡、實(shí)體卡)商務(wù)問(wèn)題
? 物聯(lián)網(wǎng)卡管理平臺(tái)地址:sim.openluat.com
? 商務(wù)問(wèn)題列表如下,有需要請(qǐng)聯(lián)系淘寶客服處理:
? 1) 測(cè)試期:物聯(lián)網(wǎng)卡在申請(qǐng)開(kāi)通時(shí),可自由選擇是否開(kāi)通測(cè)試期,測(cè)試期最長(zhǎng)為三個(gè)月,即時(shí)生效,測(cè)試期以合同訂單簽訂的失效日期為止,測(cè)試期結(jié)束后自動(dòng)進(jìn)入沉默期。在測(cè)試期內(nèi),有2M/月測(cè)試流量,不超過(guò)該流量不計(jì)費(fèi),超過(guò)2M則當(dāng)月按照0.29元/MB(10M及以上套餐)、1元/MB(2M及5M套餐)進(jìn)行計(jì)費(fèi),且測(cè)試期不享受流量池。(測(cè)試期流量一般用于設(shè)備前裝質(zhì)量檢測(cè))
? 2) 沉默期:測(cè)試期后,進(jìn)入沉默期,最長(zhǎng)六個(gè)月,沉默期用戶產(chǎn)生流量后直接激活,并進(jìn)入流量池。沉默期結(jié)束后仍未激活,強(qiáng)制激活
? 3) 計(jì)費(fèi)期:物聯(lián)網(wǎng)卡從激活之日期,根據(jù)購(gòu)買(mǎi)流量時(shí)長(zhǎng)(以月為計(jì)時(shí)單位)在系統(tǒng)內(nèi)以套餐生效日期、套餐失效日期呈現(xiàn),即物聯(lián)網(wǎng)卡的有效使用期限,用戶如需長(zhǎng)期使用物聯(lián)網(wǎng)卡應(yīng)在套餐失效期前進(jìn)行續(xù)費(fèi),以延長(zhǎng)套餐的有效期,避免因套餐失效而停機(jī)
7.10、想使用語(yǔ)音短信業(yè)務(wù)怎么辦
? 合宙出售的物聯(lián)網(wǎng)卡為純流量卡,不支持語(yǔ)音和短信業(yè)務(wù)。必須去運(yùn)營(yíng)商辦理實(shí)名認(rèn)證的卡才能使用
7.11、實(shí)體卡如何防盜
? 無(wú)法防盜,建議使用貼片卡
7.11、實(shí)體卡如何防盜
? 無(wú)法防盜,建議使用貼片卡
7.12、為什么SIM VCC沒(méi)有供電
? sim_vcc不是持續(xù)供電,是間歇性供電,只有卡在位才持續(xù)供電
7.13、為什么Luatools提示“可能是虛擬卡數(shù)據(jù)錯(cuò)誤,請(qǐng)重啟幾次,如果一直出現(xiàn)此提示,請(qǐng)聯(lián)系管理員”
? Luatools有一個(gè)檢測(cè)虛擬卡數(shù)據(jù)是否完整的功能,但是此功能無(wú)法做好,如果出現(xiàn)此提示,根據(jù)如下情況分析:
7.14、如何判斷sim卡所屬運(yùn)營(yíng)商
? 參考:http://doc.openluat.com/article/556/0
八、天線射頻問(wèn)題
? 常見(jiàn)的模塊天線有如下幾種:PCB天線、FPC天線、彈簧天線、棒狀天線、外置吸盤(pán)天線
? 常見(jiàn)的GPS天線有:陶瓷天線
? 本章節(jié)描述的是常見(jiàn)的注意事項(xiàng),具體到一款產(chǎn)品遇到的天線問(wèn)題,還是要分析產(chǎn)品的內(nèi)部結(jié)構(gòu),需要拍張清晰的產(chǎn)品內(nèi)部以及外殼照片發(fā)給合宙技術(shù)支持人員分析
8.1、天線設(shè)計(jì)和調(diào)試
? 任何一款規(guī)范的產(chǎn)品,天線設(shè)計(jì)至關(guān)重要,一定要到正規(guī)的天線廠,針對(duì)整機(jī),對(duì)天線做匹配性調(diào)試。如果天線沒(méi)有經(jīng)過(guò)調(diào)試,在使用過(guò)程中會(huì)出現(xiàn)信號(hào)不穩(wěn)定、駐網(wǎng)失敗、連接服務(wù)器斷線等網(wǎng)絡(luò)問(wèn)題
? 任何一款規(guī)范的產(chǎn)品,天線設(shè)計(jì)至關(guān)重要,一定要到正規(guī)的天線廠,針對(duì)整機(jī),對(duì)天線做匹配性調(diào)試。如果天線沒(méi)有經(jīng)過(guò)調(diào)試,在使用過(guò)程中會(huì)出現(xiàn)信號(hào)不穩(wěn)定、駐網(wǎng)失敗、連接服務(wù)器斷線等網(wǎng)絡(luò)問(wèn)題
? 客戶如果沒(méi)有條件做調(diào)試,建議選擇抗干擾強(qiáng)的天線,下面分情況討論:
? 建議天線選配按照如下順序執(zhí)行:
8.2、天線使用環(huán)境
? 天線調(diào)試好之后,使用環(huán)境對(duì)天線性能也有影響,需要注意的問(wèn)題如下:
8.3、2G模塊測(cè)試傳導(dǎo)靈敏度時(shí),到-107.5左右GPRS就會(huì)掉線
? GSM靈敏度-108左右,正常應(yīng)該不會(huì)掉線,可能是有干擾導(dǎo)致靈敏度下降,或者線損沒(méi)有補(bǔ)上
8.4、2G模塊天線為什么和GND短路了
? 設(shè)計(jì)如此,這是正常表現(xiàn);天線和GND之間有電感,所以測(cè)試為0歐姆
8.5、2G模塊和4G模塊天線通用嗎
? 4G天線可以用到2G上,但是2G天線不建議用到4G上
8.6、4G模塊如果支付輔天線,如何使用輔天線
? 合宙大部分的4G模塊不支持輔天線,個(gè)別模塊支持輔天線,對(duì)于支持輔天線的模塊來(lái)說(shuō),僅使用主天線可以滿足日常基本需求,如果要求射頻高性能發(fā)揮到極致,可以同時(shí)使用主天線和輔天線
8.7、天線廠調(diào)試天線時(shí),如何提供來(lái)電自動(dòng)接聽(tīng)的軟件
? 1) 2G模塊
? require “cc”
? sys.subscribe(“CALL_INCOMING”, function(num) cc.accept(num) end)
?2) 4G模塊
? ril.regUrc(“RING”, function() ril.request(“ATA”) end)
九、信號(hào)問(wèn)題
9.1、沒(méi)有信號(hào)(信號(hào)弱)
9.2、信號(hào)強(qiáng)度和網(wǎng)絡(luò)數(shù)據(jù)業(yè)務(wù)的穩(wěn)定性關(guān)系
? 信號(hào)強(qiáng)度和dBm的對(duì)應(yīng)關(guān)系為:信號(hào)強(qiáng)度*2-113 = dBm值
? 信號(hào)強(qiáng)度的查詢方法:
? 信號(hào)強(qiáng)度僅僅表示當(dāng)前駐留小區(qū)的網(wǎng)絡(luò)覆蓋程度,一般來(lái)說(shuō),信號(hào)強(qiáng)度和網(wǎng)絡(luò)通信穩(wěn)定率是正比關(guān)系。信號(hào)強(qiáng)度差,網(wǎng)絡(luò)數(shù)據(jù)通信相對(duì)就不穩(wěn)定;但不能絕對(duì)的認(rèn)為信號(hào)強(qiáng)度好,網(wǎng)絡(luò)數(shù)據(jù)通信就一定穩(wěn)定,和網(wǎng)絡(luò)是否擁堵等其他因素也有關(guān)系;經(jīng)驗(yàn)值如下:
? CSQ值小于10,可以認(rèn)為網(wǎng)絡(luò)較差
? CSQ值在10和25之間,可以認(rèn)為網(wǎng)絡(luò)中等
? CSQ值大于25,可以認(rèn)為網(wǎng)絡(luò)較好
十、網(wǎng)絡(luò)注冊(cè)和附著問(wèn)題
10.1、無(wú)法注冊(cè)網(wǎng)絡(luò)、注冊(cè)網(wǎng)絡(luò)慢、無(wú)法附著網(wǎng)絡(luò)、附著網(wǎng)絡(luò)慢
10.2、為什么在一些車(chē)庫(kù)里面手機(jī)接打電話正常,但是模塊注冊(cè)網(wǎng)絡(luò)失敗呢
? 首先確保手機(jī)和模塊使用的網(wǎng)絡(luò)制式相同,例如模塊是移動(dòng)2G網(wǎng)絡(luò),手機(jī)也要在移動(dòng)2G網(wǎng)絡(luò)下,這樣才有對(duì)比意義
10.3、為什么有些SIM卡在2G模塊上無(wú)法注冊(cè)網(wǎng)絡(luò)
? 0029版本開(kāi)始的core固件,支持了中國(guó)移動(dòng)的一種新標(biāo)準(zhǔn)的物聯(lián)網(wǎng)卡,如果遇到此問(wèn)題,確認(rèn)一下版本是否為0029以及之后的版本,如果不是,燒錄最新core固件測(cè)試確認(rèn)下
10.4、同一地點(diǎn),同一張卡,手機(jī)可以注冊(cè)上4G網(wǎng)絡(luò),為什么4G模塊不可以
? 之前有客戶遇到過(guò)類似問(wèn)題,均為“測(cè)試地點(diǎn),4G信號(hào)太弱”引起的,手機(jī)上的天線增益比4G模塊大板上的天線增益要高,所以手機(jī)正常,4G模塊不正常。4G模塊更換高增益天線后,也變得正常
10.5、4G模塊使用2G卡,注冊(cè)網(wǎng)絡(luò)很慢
? 不同型號(hào)的4G模塊,支持的網(wǎng)絡(luò)頻段也不相同。
? 以支持頻段最多的4G模塊Air720H為例,同時(shí)支持4G、3G、2G網(wǎng)絡(luò),開(kāi)機(jī)搜索網(wǎng)絡(luò)時(shí),默認(rèn)軟件是按照4G、3G、2G網(wǎng)絡(luò)的順序依次搜索,等搜索到2G網(wǎng)絡(luò)時(shí),可能已經(jīng)過(guò)去幾分鐘了(例如我在上海辦公室,使用Air720H模塊,3分鐘左右才能搜索到2G網(wǎng)絡(luò)),對(duì)于使用2G卡的用戶或者要使用2G網(wǎng)絡(luò)的應(yīng)用場(chǎng)景來(lái)說(shuō),這種速度簡(jiǎn)直是不能忍受。那么如何加快搜索2G網(wǎng)絡(luò)的速度呢,有如下兩種方式:
| 全網(wǎng)搜索,減少搜索4G、3G網(wǎng)絡(luò)的時(shí)間,通過(guò)每次開(kāi)機(jī)發(fā)送如下AT命令實(shí)現(xiàn): AT+MEDCR=0,8,1 AT+MEDCR=0,17,240 AT+MEDCR=0,19,1 | 兼容各種網(wǎng)絡(luò)環(huán)境,注冊(cè)2G網(wǎng)絡(luò)的速度可以稍微變快一點(diǎn)兒(例如,我這邊Air720H模塊,發(fā)送這三條指令前,測(cè)試了4次,分別為:174秒、118秒、147秒、136秒;發(fā)送這三條指令后,測(cè)試了4次,分別為240秒、110秒、112秒、112秒) | 2G的駐網(wǎng)速度還是沒(méi)有質(zhì)的提升 |
| 僅搜索2G網(wǎng)絡(luò),通過(guò)開(kāi)機(jī)發(fā)送如下AT命令實(shí)現(xiàn): AT*BAND=0,74 | 2G網(wǎng)絡(luò)注冊(cè)快,和2G模塊的駐網(wǎng)速度基本一致(例如,我這邊Air720H模塊,基本上都是在20秒以內(nèi)) | 設(shè)置AT命令后,模塊就只能使用2G網(wǎng)絡(luò)了;以后如果要使用默認(rèn)網(wǎng)絡(luò)配置,必須發(fā)送AT+RSTSET(發(fā)送后,會(huì)自動(dòng)重啟)命令來(lái)恢復(fù)出廠設(shè)置 |
10.6、4G模塊如何設(shè)置網(wǎng)絡(luò)頻段
? 1) AT版本:開(kāi)機(jī)發(fā)送AT* BAND=0,74命令設(shè)置
? 2) Luat版本:main.lua中sys.init(0,0)前添加一行代碼ril.request(“AT*BAND=0,74”)
? 1) AT版本:開(kāi)機(jī)發(fā)送AT* BAND=5,74,129,480,149命令設(shè)置
? 2) Luat版本:main.lua中sys.init(0,0)前添加一行代碼ril.request(“AT*BAND=5,74,129,480,149”)
注意:這些設(shè)置生效后,會(huì)保存到flash中,不會(huì)丟失;如果僅僅是測(cè)試需要,在測(cè)試結(jié)束之后,AT版本通過(guò)發(fā)送AT+RSTSET命令,Luat版本通過(guò)執(zhí)行一行代碼ril.request(“AT+RSTSET”)來(lái)恢復(fù)出廠設(shè)置
更多使用方式參考:http://oldask.openluat.com/article/130 和AT手冊(cè)
10.7、如何判斷4G模塊注冊(cè)的是什么網(wǎng)絡(luò)
? 1) 當(dāng)注冊(cè)的網(wǎng)絡(luò)類型發(fā)生變化時(shí),會(huì)通過(guò)urc上報(bào)^MODE:<SysMainMode>,<SysMode>;其中<SysMainMode>表示當(dāng)前注冊(cè)的網(wǎng)絡(luò)類型:
? <SysMainMode>為3時(shí)表示2G網(wǎng)絡(luò)
? <SysMainMode>為5時(shí)表示3G WCDMA網(wǎng)絡(luò)
? <SysMainMode>為15時(shí)表示3G TD網(wǎng)絡(luò)
? <SysMainMode>為17時(shí)表示4G網(wǎng)絡(luò)
? <SysMainMode>為其余值時(shí)表示未注冊(cè)網(wǎng)絡(luò)
? 2) 發(fā)送AT*BANDIND?命令主動(dòng)查詢,返回的查詢結(jié)果格式為:*BANDIND: <n>[,<band>,<AcT>];其中<AcT>表示當(dāng)前注冊(cè)的網(wǎng)絡(luò)類型:
? <AcT>為0、1、3時(shí)表示2G網(wǎng)絡(luò)
? <AcT>為2、4、5、6、8時(shí)表示3G網(wǎng)絡(luò)
? <AcT>為7時(shí)表示4G網(wǎng)絡(luò)
? <AcT>為其余值時(shí)表示未注冊(cè)網(wǎng)絡(luò)
? 1) 日志中搜索MODE,搜索結(jié)果的格式為:MODE:<SysMainMode>,<SysMode>;其中<SysMainMode>表示當(dāng)前注冊(cè)的網(wǎng)絡(luò)類型:
? <SysMainMode>為3時(shí)表示2G網(wǎng)絡(luò)
? <SysMainMode>為5時(shí)表示3G WCDMA網(wǎng)絡(luò)
? <SysMainMode>為15時(shí)表示3G TD網(wǎng)絡(luò)
? <SysMainMode>為17時(shí)表示4G網(wǎng)絡(luò)
? <SysMainMode>為其余值時(shí)表示未注冊(cè)網(wǎng)絡(luò)
? 2) 調(diào)用net.getNetMode()接口,返回值表示當(dāng)前注冊(cè)的網(wǎng)絡(luò)類型:
? 返回值為0表示未注冊(cè)網(wǎng)絡(luò)
? 返回值為1、2時(shí)表示2G網(wǎng)絡(luò)
? 返回值為3時(shí)表示3G TD網(wǎng)絡(luò)
? 返回值為4時(shí)表示4G網(wǎng)絡(luò)
? 返回值為5時(shí)表示3G WCDMA網(wǎng)絡(luò)
詳情可參考AT手冊(cè)和 http://oldask.openluat.com/article/130 幫助理解
10.8、各國(guó)網(wǎng)絡(luò)頻段匯總
參考:
https://oldask.openluat.com/article/946
http://bw.openluat.com/#/inter_view 這個(gè)地址也可以備注上。
10.9、網(wǎng)絡(luò)小區(qū)參數(shù)
? 在對(duì)接后臺(tái)時(shí),有些后臺(tái)會(huì)要求終端上傳一些小區(qū)參數(shù),例如:
? cell id:小區(qū)ID
? ecl、ce level:無(wú)線信號(hào)覆蓋等級(jí)
? pci:物理小區(qū)標(biāo)識(shí)
? sinr:信號(hào)與干擾加噪聲比
? rsrp:參考信號(hào)接收功率
? tac:基站跟蹤區(qū)域碼
? strength:信號(hào)強(qiáng)度,通過(guò)AT+CSQ或者AT+CESQ獲取
? 一般來(lái)說(shuō),只有4G小區(qū)才具有這些參數(shù)信息,我們以4G小區(qū)為例,來(lái)說(shuō)明如何獲取這些參數(shù),AT手冊(cè)中有一個(gè)+EEMLTESVC的上報(bào),上報(bào)的數(shù)據(jù)中包含了這些參數(shù);有如下兩種方式可以觸發(fā)+EEMLTESVC上報(bào):
+EEMLTESVC中的參數(shù)和我們需要的參數(shù)對(duì)應(yīng)關(guān)系參考下圖
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-JdUDYRSp-1619422566532)(https://oldask.openluat.com/image/show/attachments-2020-03-dJlpDc0D5e7ef832f1ee1.png “undefined”)]
? ecl、ce level:無(wú)線信號(hào)覆蓋等級(jí),沒(méi)有現(xiàn)成的AT命令可以直接查詢,可參考下圖自行計(jì)算
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-BoxeAmCj-1619422566532)(https://oldask.openluat.com/image/show/attachments-2020-03-b34z2byh5e7ef8581b4fd.jpg “undefined”)]
十一、APN設(shè)置和PDP激活問(wèn)題
11.1、2G模塊如何設(shè)置APN
? 1. AT版本,固件包含各國(guó)公網(wǎng)APN列表,但是列表無(wú)法保證完整性和正確性,除中國(guó)大陸外,其他國(guó)家和地區(qū)還是建議用戶使用AT+CSTT或者AT+SAPBR命令主動(dòng)設(shè)置正確的APN
? 1) 如果在中國(guó)大陸使用中國(guó)移動(dòng)的公網(wǎng)卡,根據(jù)應(yīng)用場(chǎng)景不同,可選是否設(shè)置APN
? A. 如果socket單連接,在AT+CGATT?附著上數(shù)據(jù)網(wǎng)絡(luò)之后,可以不設(shè)置APN,直接使用AT+CIPSTART命令去連接服務(wù)器
? 2) 如果在中國(guó)港澳臺(tái)或者國(guó)外使用,請(qǐng)咨詢SIM卡供應(yīng)商獲取APN信息,使用AT+CSTT或者AT+SAPBR命令主動(dòng)去設(shè)置正確的APN
? 3) 如果是專網(wǎng)卡,無(wú)論在什么國(guó)家和地區(qū)使用,請(qǐng)咨詢SIM卡供應(yīng)商獲取APN信息,使用AT+CSTT或者AT+SAPBR命令主動(dòng)去設(shè)置正確的APN
2. Luat版本,固件包含各國(guó)公網(wǎng)APN列表,但是列表無(wú)法保證完整性和正確性,除中國(guó)大陸外,其他國(guó)家和地區(qū)還是建議用戶使用link.setApn(apn, userName, password)主動(dòng)設(shè)置正確的APN
? 1) 如果在中國(guó)大陸使用中國(guó)移動(dòng)的公網(wǎng)卡,可以不主動(dòng)設(shè)置APN
? 2) 如果在中國(guó)港澳臺(tái)或者國(guó)外使用,請(qǐng)咨詢SIM卡供應(yīng)商獲取APN信息,使用link.setApn(apn, userName, password)主動(dòng)去設(shè)置正確的APN
? 3) 如果是專網(wǎng)卡,無(wú)論在什么國(guó)家和地區(qū)使用,請(qǐng)咨詢SIM卡供應(yīng)商獲取APN信息,使用link.setApn(apn, userName, password)主動(dòng)去設(shè)置正確的APN
11.2、4G 模塊如何設(shè)置APN
? 1) 如果是公網(wǎng)SIM卡,不需要用戶主動(dòng)設(shè)置APN,軟件自動(dòng)去網(wǎng)絡(luò)端查詢APN進(jìn)行設(shè)置
? 2) 如果是專網(wǎng)SIM卡,首先咨詢SIM卡提供商APN參數(shù),然后參考:http://oldask.openluat.com/article/913 進(jìn)行設(shè)置,設(shè)置成功后,后續(xù)用到CSTT或者SAPBR設(shè)置APN時(shí),必須再次傳入正確的APN參數(shù),才能正常使用
? 1) 如果是公網(wǎng)SIM卡,不需要用戶主動(dòng)設(shè)置APN,軟件自動(dòng)去網(wǎng)絡(luò)端查詢APN進(jìn)行設(shè)置
? 2) 如果是專網(wǎng)SIM卡,首先咨詢SIM卡提供商APN參數(shù),然后在main.lua盡可能靠前的位置調(diào)用link.setAuthApn(prot,apn,user,pwd)進(jìn)行設(shè)置【注意:第一次設(shè)置成功之后,軟件會(huì)自動(dòng)重啟,因?yàn)橹貑⒑蟛拍苌А?/li>
11.3、PDP激活失敗
? 參考10.1章節(jié)
11.4、為什么4G模塊專網(wǎng)卡連接服務(wù)器失敗
十二、socket問(wèn)題
12.1、連接服務(wù)器失敗
? 1) 2G模塊:使用合宙技術(shù)支持人員提供的debug core文件,參考:http://oldask.openluat.com/article/63 抓日志
? 2) 4G模塊:參考1.2.6章節(jié)中的1和2,提供Luatools下的trc文件和sdl文件
12.2、數(shù)據(jù)收發(fā)延遲大、速度慢、經(jīng)常失敗、掉線斷開(kāi)
? 1) 如果直接使用的是tcp udp socket連接,檢查下心跳包的頻率,基站策略會(huì)關(guān)閉長(zhǎng)時(shí)間沒(méi)有數(shù)據(jù)傳輸?shù)倪B接,建議心跳包的頻率不要超過(guò)4分鐘,一般都是建議使用2分鐘
? 2) 如果使用的是mqtt連接,檢查下mqtt keep alive的時(shí)間,基站策略會(huì)關(guān)閉長(zhǎng)時(shí)間沒(méi)有數(shù)據(jù)傳輸?shù)倪B接,建議心跳包的頻率不要超過(guò)4分鐘,一般都是建議使用2分鐘
? 3) 如果使用的是mqtt連接,檢查下是否在1.5倍的mqtt keep alive的時(shí)間,沒(méi)有成功發(fā)送數(shù)據(jù)到服務(wù)器,就會(huì)被被服務(wù)器主動(dòng)斷開(kāi),這種情況一般都是發(fā)送數(shù)據(jù)超時(shí)引起的
? 1) 2G模塊
? A. AT版本:
? a) 通過(guò)AT+TCPUSERPARAM命令設(shè)置較大的重傳次數(shù)和重傳間隔
? b) 如果使用的是MQTT,除了執(zhí)行第a)步操作之外,還可以通過(guò)AT+MCONNECT命令增大MQTT KEEP ALIVE的時(shí)間來(lái)降低掉線率
? B. Luat版本:
? a) 調(diào)用socket.setTcpResendPara接口設(shè)置較大的重傳次數(shù)和重傳間隔
? b) 如果使用的是MQTT,除了執(zhí)行第a)步操作之外,還可以通過(guò)調(diào)用mqtt.client接口增大MQTT KEEP ALIVE的時(shí)間來(lái)降低掉線率
? 2) 4G模塊
? A. AT版本:
? a) 目前還不支持AT設(shè)置重傳次數(shù)和重傳間隔
? b) 如果使用的是MQTT,除了執(zhí)行第a)步操作之外,還可以通過(guò)AT+MCONNECT命令增大MQTT KEEP ALIVE的時(shí)間來(lái)降低掉線率
? B.Luat版本:
? a) 目前還沒(méi)有接口支持設(shè)置重傳次數(shù)和重傳間隔
? b) 如果使用的是MQTT,除了執(zhí)行第a)步操作之外,還可以通過(guò)調(diào)用mqtt.client接口增大MQTT KEEP ALIVE的時(shí)間來(lái)降低掉線率
? 1) 分析正常設(shè)備和異常設(shè)備的使用環(huán)境是否相同:
? A. 如果不同,例如異常設(shè)備固定在鋼制墻壁上,正常設(shè)備放置在桌子上,鋼制墻壁可能對(duì)天線射頻有干擾,將異常設(shè)備和正常設(shè)備放置在同樣的使用環(huán)境中,再對(duì)比測(cè)試
? B. 如果相同,參考第2)步
? 2) 分析正常和異常的設(shè)備,駐留的小區(qū)是否相同:
? A. 如果相同,重點(diǎn)排查異常設(shè)備的天線射頻部分,分析不出結(jié)果的話,異常設(shè)備寄給合宙分析
? B. 如同不同,多測(cè)試幾次,確認(rèn)下,是不是在異常小區(qū)內(nèi)很容易出問(wèn)題,如果異常小區(qū)很容易出問(wèn)題,可能就是小區(qū)擁堵造成的
? 1) 2G模塊:使用合宙技術(shù)支持人員提供的debug core文件,參考:http://oldask.openluat.com/article/63 抓日志
? 2) 4G模塊:參考1.2.6章節(jié)中的1和2,提供Luatools下的trc文件和sdl文件
12.3、如何發(fā)送大量數(shù)據(jù)
12.4、為什么頻繁收發(fā)數(shù)據(jù)時(shí),會(huì)導(dǎo)致整個(gè)模塊系統(tǒng)響應(yīng)變慢
? 模塊的主頻是有限的,如果一直頻繁收發(fā)數(shù)據(jù),CPU頻繁的處理數(shù)據(jù)收發(fā),肯定會(huì)導(dǎo)致對(duì)其他任務(wù)的處理有延時(shí)。
? 如果是Luat版本二次開(kāi)發(fā),這種表現(xiàn)會(huì)更加明顯,因?yàn)樗蠰uat應(yīng)用是一個(gè)單task應(yīng)用,頻繁的收發(fā)數(shù)據(jù),會(huì)導(dǎo)致這個(gè)單task在頻繁的處理數(shù)據(jù)收發(fā)消息,從而影響其他功能的及時(shí)響應(yīng)。可參考:http://oldask.openluat.com/article/930 輔助理解
12.5、是否支持長(zhǎng)連接
? UDP協(xié)議的socket不支持長(zhǎng)連接,TCP協(xié)議的socket支持長(zhǎng)連接;長(zhǎng)連接需要在代碼中實(shí)現(xiàn)斷開(kāi)自動(dòng)重連的控制邏輯,以及實(shí)現(xiàn)定時(shí)發(fā)送心跳的業(yè)務(wù)邏輯
12.6、快發(fā)和慢發(fā)有什么區(qū)別
? UDP協(xié)議本身沒(méi)有可靠性保證,所以不存在快發(fā)慢發(fā)之說(shuō),可以認(rèn)為UDP協(xié)議的socket一直是快發(fā)模式
? TCP協(xié)議發(fā)送數(shù)據(jù)時(shí),數(shù)據(jù)發(fā)送出去之后,必須等到服務(wù)器返回TCP ACK包,才認(rèn)為數(shù)據(jù)發(fā)送成功,在網(wǎng)絡(luò)較差的情況下,這種ACK確認(rèn)就會(huì)導(dǎo)致發(fā)送過(guò)程很慢。從而導(dǎo)致用戶程序后續(xù)的AT處理邏輯一直處于等待狀態(tài)。例如執(zhí)行AT+CIPSEND動(dòng)作發(fā)送一包數(shù)據(jù)后,接下來(lái)要執(zhí)行AT+QTTS播放TTS,但是CIPSEND一直等了1分鐘才返回SEND OK,這時(shí)AT+QTTS就會(huì)一直等待1分鐘,可能不是程序中想看到的。此時(shí)就可以設(shè)置為快發(fā)模式,AT+CIPSEND可以立即返回一個(gè)結(jié)果,此結(jié)果表示“數(shù)據(jù)是否被緩沖區(qū)所保存”,從而不影響后續(xù)其他AT指令的及時(shí)執(zhí)行
? AT版本可以通過(guò)AT+CIPQSEND指令、Luat版本可以通過(guò)socket.setSendMode接口設(shè)置發(fā)送模式為快發(fā)或者慢發(fā)
? 快發(fā)模式下,在core中有一個(gè)1460*7=10220字節(jié)的緩沖區(qū),要發(fā)送的數(shù)據(jù)首先存儲(chǔ)到此緩沖區(qū),然后在core中自動(dòng)循環(huán)發(fā)送。如果此緩沖區(qū)已滿,則AT+CIPSEND會(huì)直接返回ERROR,socket:send接口也會(huì)直接返回失敗
? 同時(shí)滿足如下幾種條件,適合使用快發(fā)模式:
注意:4G Luat版本沒(méi)有快發(fā)慢發(fā)的設(shè)置,因?yàn)?G Luat版本直接使用了api的方式來(lái)實(shí)現(xiàn)socket,不影響其他功能的及時(shí)響應(yīng)
12.7、支持發(fā)送什么格式的數(shù)據(jù)
? 任何數(shù)據(jù)格式都支持
12.8、如何查詢錯(cuò)誤碼
? 參考:http://oldask.openluat.com/article/61
12.9、最多同時(shí)支持多少個(gè)連接
參考:http://oldask.openluat.com/article/61
注意:Luat版本的lib中的一些功能模塊會(huì)用到socket連接,例如update、agps、lbsLoc、errDump;同時(shí)支持的連接個(gè)數(shù)包含lib中的這些連接;例如在某個(gè)時(shí)間點(diǎn),update和lbsLoc在工作,會(huì)占用2個(gè)socket連接,這個(gè)時(shí)間點(diǎn)用戶的應(yīng)用腳本中最多能夠同時(shí)使用的連接個(gè)數(shù)就少2個(gè)了
12.10、是否支持websocket、是否可以做server使用
? 不支持websocket
? 不可以做server使用
12.11、為什么要發(fā)送心跳包(如何檢測(cè)連接活性)
? 因?yàn)榛举Y源有限,如果不發(fā)心跳包保活,基站會(huì)主動(dòng)斷掉鏈路,回收資源,模塊和服務(wù)器無(wú)感,并不知道鏈路已經(jīng)斷開(kāi)。建議心跳包的頻率不要超過(guò)4分鐘,一般都是建議使用2分鐘
12.12、為什么有時(shí)連接斷開(kāi)會(huì)收到提示;有時(shí)不可以收到提示,必須等到發(fā)送數(shù)據(jù)時(shí)才能檢測(cè)到斷開(kāi)
? 能收到提示的情況,通常是服務(wù)器主動(dòng)斷開(kāi)連接
? 不能收到提示的情況,可能是鏈路被基站斷開(kāi),或者其他意外情況導(dǎo)致【例如服務(wù)器網(wǎng)線被拔掉】,模塊和服務(wù)器無(wú)感知;此時(shí)只能通過(guò)發(fā)送數(shù)據(jù)超時(shí)來(lái)感知
12.13、如何統(tǒng)計(jì)流量
? 運(yùn)營(yíng)商按照ip包來(lái)統(tǒng)計(jì)流量,ip包包含:ip包頭+tcp包頭+用戶數(shù)據(jù),以IPv4為例:
? ip包頭包含固定的20字節(jié)+可選的4字節(jié),至少20字節(jié)
? tcp包頭包含固定的20字節(jié)+可選的4字節(jié),至少20字節(jié)
? 用戶數(shù)據(jù)就是用戶能夠感知到的數(shù)據(jù)內(nèi)容了,如果直接使用socket,就是用戶感知的數(shù)據(jù);如果使用http、mqtt、ssl,這部分?jǐn)?shù)據(jù)就不是用戶能夠感知的原始數(shù)據(jù)了,http會(huì)加上http包頭,mqtt會(huì)加入mqtt的包裹部分,ssl會(huì)加密數(shù)據(jù)
? tcp數(shù)據(jù)收發(fā)時(shí),有ack確認(rèn)機(jī)制,例如設(shè)備發(fā)數(shù)據(jù)給服務(wù)器后,還會(huì)收到服務(wù)器返回的tcp ack包,這個(gè)tcp ack包(至少40字節(jié))也是計(jì)算在流量之內(nèi)的。接收到服務(wù)器下發(fā)的數(shù)據(jù)時(shí),設(shè)備也會(huì)回復(fù)一個(gè)tcp ack包,同樣這個(gè)ack包仍然計(jì)算在流量之內(nèi)
? 另外,socket連接以及斷開(kāi)連接,都有多次數(shù)據(jù)收發(fā),這部分也會(huì)消耗流量
? 例如有一個(gè)tcp socket連接,連接成功后,每分鐘設(shè)備發(fā)送2字節(jié)的心跳數(shù)據(jù)到服務(wù)器,服務(wù)器收到數(shù)據(jù)后,再回復(fù)2字節(jié)的心跳應(yīng)答數(shù)據(jù)。這個(gè)過(guò)程中,每分鐘消耗的流量至少有42(設(shè)備發(fā)送)+40(服務(wù)器回復(fù)ack)+42(服務(wù)器發(fā)送)+40(設(shè)備回復(fù)ack)=164字節(jié),實(shí)際處理中,服務(wù)器回復(fù)ack和服務(wù)器發(fā)送可能合并成一個(gè)IP包42字節(jié),這樣的話,至少也要42+42+40 = 124字節(jié)。這是最簡(jiǎn)單的算法,實(shí)際應(yīng)用中,還要考慮到重傳、包頭中的可選字節(jié),應(yīng)該會(huì)比這里計(jì)算的流量多一些。如果要準(zhǔn)確計(jì)算,建議在服務(wù)器端用wireshark抓包分析
? 另外一個(gè)常見(jiàn)的例子是,為什么通過(guò)http下載一個(gè)文件,實(shí)際消耗的流量比文件本身要多呢?跟上個(gè)例子類似,文件本身大小僅僅是用戶數(shù)據(jù),除了用戶數(shù)據(jù)外,還有如下幾部分的流量消耗:
12.14、是否支持IPv6
? 2G模塊不支持IPv6
? 4G模塊支持IPv6協(xié)議,rndis和ppp應(yīng)用也支持了IPv6,但是Luat版本二次開(kāi)發(fā)和AT版本tcp、http、mqtt指令沒(méi)有使用IPv6
12.15、模塊IP地址
? 模塊激活pdp后,模塊端顯示的ip地址是運(yùn)營(yíng)商分配的內(nèi)網(wǎng)ip
? 模塊與服務(wù)器連接成功后,在服務(wù)器端顯示的ip地址是運(yùn)營(yíng)商分配的公網(wǎng)ip地址
? 對(duì)于同一個(gè)模塊來(lái)說(shuō),這兩個(gè)ip地址都是會(huì)變化的,例如同一個(gè)模塊:
? 所以這兩種ip地址,對(duì)模塊來(lái)說(shuō)沒(méi)有多大意義,不要用他們來(lái)標(biāo)識(shí)模塊,如果要標(biāo)識(shí)模塊,請(qǐng)使用模塊imei
12.16、數(shù)據(jù)接收緩存問(wèn)題
注意:緩存表位于內(nèi)存中,斷電或者重啟后,緩存表中的數(shù)據(jù)會(huì)被清空;雖然緩存表可以緩存很多數(shù)據(jù),但是建議收到數(shù)據(jù)時(shí),還是要及時(shí)讀取出來(lái);緩存表不斷緩存數(shù)據(jù),會(huì)占用大量?jī)?nèi)存,在項(xiàng)目?jī)?nèi)存緊張的情況下,很容易出現(xiàn)內(nèi)存不足問(wèn)題導(dǎo)致重啟
12.17、客戶示例:2G模塊3秒上傳一次GPS位置數(shù)據(jù),軌跡丟失問(wèn)題
? 現(xiàn)在的2G網(wǎng)絡(luò)環(huán)境無(wú)法保證"任何時(shí)間任何地點(diǎn),都能及時(shí)成功的傳輸數(shù)據(jù)",延時(shí)和發(fā)送失敗的問(wèn)題,肯定是存在的,如果要比較完美的行駛軌跡,需要在應(yīng)用層設(shè)計(jì)好數(shù)據(jù)緩存和數(shù)據(jù)補(bǔ)傳工作,注意事項(xiàng)如下:
12.18、數(shù)據(jù)透?jìng)鲿r(shí),會(huì)丟失前面的一部分?jǐn)?shù)據(jù)
? 確認(rèn)下是否收發(fā)數(shù)據(jù)前是否喚醒了模塊
十三、http問(wèn)題
13.1、是否支持HTTPS
支持,TLSV1.2
支持如下四種加密套件:
TLS_RSA_WITH_AES_128_CBC_SHA (0x2F)
TLS_RSA_WITH_AES_256_CBC_SHA (0x35)
TLS_RSA_WITH_AES_128_CBC_SHA256 (0x3C)
TLS_RSA_WITH_AES_256_CBC_SHA256 (0x3D)
證書(shū)支持情況如下:
? 1) AT版本:不支持證書(shū)配置,不校驗(yàn)證書(shū)
? 2) Luat版本:支持證書(shū)配置,支持單向認(rèn)證和雙向認(rèn)證
支持證書(shū)配置,支持單向認(rèn)證和雙向認(rèn)證
支持如下六種加密套件:
0X0035 TLS_RSA_WITH_AES_256_CBC_SHA
0X002F TLS_RSA_WITH_AES_128_CBC_SHA
0X0005 TLS_RSA_WITH_RC4_128_SHA
0X0004 TLS_RSA_WITH_RC4_128_MD5
0X000A TLS_RSA_WITH_3DES_EDE_CBC_SHA
0X003D TLS_RSA_WITH_AES_256_CBC_SHA256
13.2、為什么頻繁請(qǐng)求會(huì)失敗
? 支持的http連接總數(shù)有限,參考12.9章節(jié)
? 建議一個(gè)http連接返回請(qǐng)求結(jié)果之后,再去請(qǐng)求下一個(gè)連接;不要使用循環(huán)定時(shí)器方式不斷的發(fā)起新的http請(qǐng)求
13.3、支持發(fā)送什么格式的數(shù)據(jù)
? 任何數(shù)據(jù)格式都支持
13.4、如何查詢錯(cuò)誤碼
如果是https連接失敗,參考13.1章節(jié),確認(rèn)下服務(wù)器是否支持“模塊支持的加密套件”
13.5、如何POST文件
13.6、為什么POST JSON格式的數(shù)據(jù)會(huì)出現(xiàn)失敗
檢查一下是否忘記設(shè)置了"Content-Type: application/json"請(qǐng)求頭
13.7、AT版本如何設(shè)計(jì)HTTP應(yīng)用邏輯
參考:http://oldask.openluat.com/article/939
13.8、數(shù)據(jù)接收緩存問(wèn)題
AT版本:有緩存機(jī)制,內(nèi)存中有一個(gè)的緩沖區(qū)(2G模塊300KB,4G模塊319499字節(jié)),收到數(shù)據(jù)后,插入此緩沖區(qū),然后通過(guò)AT口輸出urc,提示收到的數(shù)據(jù)長(zhǎng)度;緩沖區(qū)滿之后,再收到新數(shù)據(jù),會(huì)丟棄新收到的數(shù)據(jù),并通過(guò)AT口輸出urc提示出錯(cuò);需要讀取數(shù)據(jù)時(shí),發(fā)送AT+HTTPREAD命令讀取,可分段讀取,也可全部讀取
注意:緩沖區(qū)位于內(nèi)存中,斷電或者重啟后,緩存表中的數(shù)據(jù)會(huì)被清空;雖然緩沖區(qū)可以緩存很多數(shù)據(jù),但是建議收到數(shù)據(jù)時(shí),通過(guò)AT+HTTPREAD及時(shí)讀取出來(lái),以防緩沖區(qū)滿出錯(cuò)
Luat版本:有如下兩種緩存機(jī)制, http.request接口可以設(shè)置使用何種緩存機(jī)制,http的demo中有詳細(xì)示例可供參考
? 1) 內(nèi)存緩存:內(nèi)存中有一個(gè)緩沖區(qū),在項(xiàng)目剩余可用內(nèi)存的范圍內(nèi),此緩沖區(qū)沒(méi)有大小限制,例如項(xiàng)目可用內(nèi)存剩余200KB,則此緩沖區(qū)的理想最大值是200KB;收到的數(shù)據(jù)都會(huì)緩存到此緩沖區(qū),如果收到的數(shù)據(jù)超過(guò)緩沖區(qū)大小,會(huì)導(dǎo)致內(nèi)存不足重啟;數(shù)據(jù)接收完整后,通過(guò)回調(diào)函數(shù)傳出緩沖區(qū)數(shù)據(jù),供用戶應(yīng)用腳本使用
注意:緩沖區(qū)位于內(nèi)存中,斷電或者重啟后,緩沖區(qū)中的數(shù)據(jù)會(huì)被清空;如果接收的數(shù)據(jù)過(guò)多,不建議使用內(nèi)存緩存的機(jī)制,可能會(huì)導(dǎo)致內(nèi)存不足重啟
? 2) 文件緩存:接收到的數(shù)據(jù)可以保存在文件中,在文件系統(tǒng)剩余空間的范圍內(nèi),此文件沒(méi)有大小限制,例如項(xiàng)目剩余文件系統(tǒng)空間200KB,則此文件的理想最大值是200KB;收到的數(shù)據(jù)都會(huì)保存到此文件中,如果收到的數(shù)據(jù)文件最大值,會(huì)導(dǎo)致保存失敗,新數(shù)據(jù)被丟棄;數(shù)據(jù)接收完整后,通過(guò)回調(diào)函數(shù)傳出文件完整路徑,供用戶應(yīng)用腳本使用
注意:文件位于文件系統(tǒng)中,斷電或者重啟后,文件不會(huì)被自動(dòng)清空刪除;如果文件已經(jīng)不再使用,一定要通過(guò)os.remove接口將文件刪除。否則會(huì)一直占用文件系統(tǒng)空間,導(dǎo)致可用文件系統(tǒng)空間變小
13.9、為什么https訪問(wèn)失敗
? 1) 2G模塊AT版本:AirM2M_VXXXX_AT_S_SSL.lod和AirM2M_VXXXX_AT_S_8955F.lod才支持ssl功能
? 2) 2G模塊Luat版本:帶SSL或者8955F的lod才支持ssl功能
? 3) 4G模塊:所有版本都支持
十四、mqtt問(wèn)題
14.1、是否支持ssl
? 支持,TLSV1.2
支持如下四種加密套件:
TLS_RSA_WITH_AES_128_CBC_SHA (0x2F)
TLS_RSA_WITH_AES_256_CBC_SHA (0x35)
TLS_RSA_WITH_AES_128_CBC_SHA256 (0x3C)
TLS_RSA_WITH_AES_256_CBC_SHA256 (0x3D)
證書(shū)支持情況如下:
? 1) AT版本:不支持證書(shū)配置,不校驗(yàn)證書(shū)
? 2) Luat版本:支持證書(shū)配置,支持單向認(rèn)證和雙向認(rèn)證
支持證書(shū)配置,支持單向認(rèn)證和雙向認(rèn)證
支持如下六種加密套件:
0X0035 TLS_RSA_WITH_AES_256_CBC_SHA
0X002F TLS_RSA_WITH_AES_128_CBC_SHA
0X0005 TLS_RSA_WITH_RC4_128_SHA
0X0004 TLS_RSA_WITH_RC4_128_MD5
0X000A TLS_RSA_WITH_3DES_EDE_CBC_SHA
0X003D TLS_RSA_WITH_AES_256_CBC_SHA256
14.2、AT版本如何設(shè)計(jì)MQTT應(yīng)用邏輯
? 參考:http://doc.openluat.com/article/625/0
14.3、有沒(méi)有免費(fèi)的MQTT broker可用
? 合宙有一個(gè)lbsmqtt.airm2m.com:1884的broker,沒(méi)有網(wǎng)頁(yè)端控制頁(yè)面,可以用模塊和mqtt.fx客戶端配合測(cè)試
14.4、如何實(shí)現(xiàn)掉線自動(dòng)重連
14.5、頻繁掉線是什么原因
? 1) 檢查下mqtt keep alive的時(shí)間,一般建議使用2分鐘【如果每2分鐘內(nèi)都有應(yīng)用數(shù)據(jù)收發(fā),則可以把mqtt keep alive的時(shí)間設(shè)置的長(zhǎng)一點(diǎn)兒】,除非有強(qiáng)制要求,否則不能太長(zhǎng),也不能太短。不建議超過(guò)4分鐘,基站策略會(huì)關(guān)閉長(zhǎng)時(shí)間沒(méi)有數(shù)據(jù)傳輸?shù)倪B接,太長(zhǎng)時(shí)間可能會(huì)導(dǎo)致連接被基站關(guān)閉;不建議少于1分鐘,太短時(shí)間可能會(huì)因?yàn)榫W(wǎng)絡(luò)環(huán)境波動(dòng)導(dǎo)致上行數(shù)據(jù)發(fā)送超時(shí),可能超過(guò)1.5倍的心跳時(shí)間,從而被服務(wù)器主動(dòng)斷開(kāi)連接
? 2) 檢查下是否在1.5倍的mqtt keep alive的時(shí)間,沒(méi)有成功發(fā)送數(shù)據(jù)到服務(wù)器,就會(huì)被被服務(wù)器主動(dòng)斷開(kāi),這種情況一般都是發(fā)送數(shù)據(jù)超時(shí)引起的
? 1) 2G模塊
? A. 加大TCP重傳次數(shù)和重傳間隔:AT版本通過(guò)AT+TCPUSERPARAM命令設(shè)置;Luat版本通過(guò)socket.setTcpResendPara接口設(shè)置
? B. mqtt keep alive的時(shí)間,一般建議使用2分鐘【如果每2分鐘內(nèi)都有應(yīng)用數(shù)據(jù)收發(fā),則可以把mqtt keep alive的時(shí)間設(shè)置的長(zhǎng)一點(diǎn)兒】,除非有強(qiáng)制要求,否則不能太長(zhǎng),也不能太短。不建議超過(guò)4分鐘,基站策略會(huì)關(guān)閉長(zhǎng)時(shí)間沒(méi)有數(shù)據(jù)傳輸?shù)倪B接,太長(zhǎng)時(shí)間可能會(huì)導(dǎo)致連接被基站關(guān)閉;不建議少于1分鐘,太短時(shí)間可能會(huì)因?yàn)榫W(wǎng)絡(luò)環(huán)境波動(dòng)導(dǎo)致上行數(shù)據(jù)發(fā)送超時(shí),可能超過(guò)1.5倍的心跳時(shí)間,從而被服務(wù)器主動(dòng)斷開(kāi)連接
? C. 減少Q(mào)os1和Qos2的publish使用,允許的話建議都使用Qos0
? 2) 4G模塊
? A. 加大TCP重傳次數(shù)和重傳間隔:目前還不支持
? B. mqtt keep alive的時(shí)間,一般建議使用2分鐘【如果每2分鐘內(nèi)都有應(yīng)用數(shù)據(jù)收發(fā),則可以把mqtt keep alive的時(shí)間設(shè)置的長(zhǎng)一點(diǎn)兒】,除非有強(qiáng)制要求,否則不能太長(zhǎng),也不能太短。不建議超過(guò)4分鐘,基站策略會(huì)關(guān)閉長(zhǎng)時(shí)間沒(méi)有數(shù)據(jù)傳輸?shù)倪B接,太長(zhǎng)時(shí)間可能會(huì)導(dǎo)致連接被基站關(guān)閉;不建議少于1分鐘,太短時(shí)間可能會(huì)因?yàn)榫W(wǎng)絡(luò)環(huán)境波動(dòng)導(dǎo)致上行數(shù)據(jù)發(fā)送超時(shí),可能超過(guò)1.5倍的心跳時(shí)間,從而被服務(wù)器主動(dòng)斷開(kāi)連接
? C. 減少Q(mào)os1和Qos2的publish使用,允許的話建議都使用Qos0
? 1) 分析正常設(shè)備和異常設(shè)備的使用環(huán)境是否相同:
? A. 如果不同,例如異常設(shè)備固定在鋼制墻壁上,正常設(shè)備放置在桌子上,鋼制墻壁可能對(duì)天線射頻有干擾,將異常設(shè)備和正常設(shè)備放置在同樣的使用環(huán)境中,再對(duì)比測(cè)試
? B. 如果相同,參考第2)步
? 2) 分析正常和異常的設(shè)備,駐留的小區(qū)是否相同:
? A. 如果相同,重點(diǎn)排查異常設(shè)備的天線射頻部分,分析不出結(jié)果的話,異常設(shè)備寄給合宙分析
? B. 如同不同,多測(cè)試幾次,確認(rèn)下,是不是在異常小區(qū)內(nèi)很容易出問(wèn)題,如果異常小區(qū)很容易出問(wèn)題,可能就是小區(qū)擁堵造成的
? 1) 2G模塊:使用合宙技術(shù)支持人員提供的debug core文件,參考:http://oldask.openluat.com/article/63 抓日志
? 2) 4G模塊:參考1.2.6章節(jié)中的1和2,提供Luatools下的trc文件和sdl文件
14.6、有沒(méi)有認(rèn)證機(jī)制
? 有,每個(gè)設(shè)備有clientid、username、password
14.7、client id是否允許重復(fù)
? 不允許重復(fù),重復(fù)的話,服務(wù)器會(huì)踢掉上一個(gè)相同id的設(shè)備
14.8、是否支持通配符
? 訂閱的主題支持通配符,所以建議訂閱的主題復(fù)雜且不易被猜;建議使用自建服務(wù)器,或者項(xiàng)目之間隔離,公網(wǎng)broker不可靠
? 參考:http://doc.openluat.com/article/600/0
14.9、Qos0、1、2如何選擇
? 應(yīng)用允許的情況下,建議使用Qos0,Qos1和Qos2會(huì)加重網(wǎng)絡(luò)負(fù)擔(dān),4G網(wǎng)絡(luò)還好,特別是2G網(wǎng)絡(luò),在網(wǎng)絡(luò)擁堵和較差的情況下,數(shù)據(jù)傳輸?shù)拇螖?shù)越多,掉線的概率就會(huì)越高
14.10、AT版本publish json格式的數(shù)據(jù),如何處理"
需要轉(zhuǎn)義處理,參考:http://oldask.openluat.com/article/122
14.11、如何查詢錯(cuò)誤碼
如果是mqtt ssl連接失敗,參考14.1章節(jié),確認(rèn)下服務(wù)器是否支持“模塊支持的加密套件”
14.12、數(shù)據(jù)接收緩存問(wèn)題
? 1) 不緩存:通過(guò)AT+MQTTMSGSET=0設(shè)置;收到訂閱的publish報(bào)文后,立即通過(guò)AT口輸出主題、payload長(zhǎng)度、payload內(nèi)容,每個(gè)報(bào)文中支持的payload內(nèi)容最長(zhǎng)1360字節(jié)
? 2) 內(nèi)存緩存:通過(guò)AT+MQTTMSGSET=1設(shè)置;內(nèi)存中有一個(gè)緩存表,最多支持緩存4條publish報(bào)文;收到訂閱的publish報(bào)文后,插入緩沖表中的空閑位置,然后通過(guò)AT口輸出存儲(chǔ)位置;緩存表滿之后,新收到的publish報(bào)文會(huì)覆蓋最舊的publish報(bào)文
注意:緩存表位于內(nèi)存中,斷電或者重啟后,緩存表中的數(shù)據(jù)會(huì)被清空;建議收到數(shù)據(jù)時(shí),通過(guò)AT+MQTTMSGGET及時(shí)讀取出來(lái),以防緩沖區(qū)滿覆蓋丟失數(shù)據(jù)
內(nèi)存中有一個(gè)緩存表,在項(xiàng)目剩余可用內(nèi)存的范圍內(nèi),此緩存表沒(méi)有大小限制,例如項(xiàng)目可用內(nèi)存剩余200KB,則此緩存表的理想最大值是200KB;收到的publish報(bào)文都會(huì)緩存到此緩存表,如果收到的數(shù)據(jù)超過(guò)緩存表大小,會(huì)導(dǎo)致內(nèi)存不足重啟;需要讀取數(shù)據(jù)時(shí),通過(guò)mqtt:receive接口主動(dòng)讀取即可
注意:緩存表位于內(nèi)存中,斷電或者重啟后,緩存表中的數(shù)據(jù)會(huì)被清空;雖然緩存表可以緩存很多數(shù)據(jù),但是建議收到數(shù)據(jù)時(shí),還是要及時(shí)讀取出來(lái);緩存表不斷緩存數(shù)據(jù),會(huì)占用大量?jī)?nèi)存,在項(xiàng)目?jī)?nèi)存緊張的情況下,很容易出現(xiàn)內(nèi)存不足問(wèn)題導(dǎo)致重啟
14.13、為什么mqtt ssl訪問(wèn)失敗
? 1) 2G模塊AT版本:AirM2M_VXXXX_AT_S_SSL.lod和AirM2M_VXXXX_AT_S_8955F.lod才支持ssl功能
? 2) 2G模塊Luat版本:帶SSL或者8955F的lod才支持ssl功能
? 3) 4G模塊:所有版本都支持
十五、遠(yuǎn)程升級(jí)問(wèn)題
參考:http://oldask.openluat.com/article/916
十六、阿里云問(wèn)題
16.1、如何連接阿里云
? 1) 一機(jī)一密參考:http://www.openluat.com/Product/file/rda8955/%E8%BF%9E%E6%8E%A5%E9%98%BF%E9%87%8C%E4%BA%91AT%E6%B5%81%E7%A8%8B%E8%AF%B4%E6%98%8E%EF%BC%88%E4%B8%80%E6%9C%BA%E4%B8%80%E5%AF%86%E8%AE%A4%E8%AF%81%E6%96%B9%E6%A1%88%EF%BC%8CAT_S_TTS%E5%92%8CAT_S%E7%89%88%E6%9C%AC%E4%B8%8D%E6%94%AF%E6%8C%81%EF%BC%8CAT_S_SSL%E5%92%8CAT_S_NOTTS%E7%89%88%E6%9C%AC%E6%94%AF%E6%8C%81%EF%BC%89.pdf
? 2) 一型一密參考:http://www.openluat.com/Product/file/rda8955/%E8%BF%9E%E6%8E%A5%E9%98%BF%E9%87%8C%E4%BA%91AT%E6%B5%81%E7%A8%8B%E8%AF%B4%E6%98%8E%EF%BC%88%E4%B8%80%E5%9E%8B%E4%B8%80%E5%AF%86%E8%AE%A4%E8%AF%81%E6%96%B9%E6%A1%88%EF%BC%8CAT_S_TTS%E5%92%8CAT_S%E7%89%88%E6%9C%AC%E4%B8%8D%E6%94%AF%E6%8C%81%EF%BC%8CAT_S_SSL%E5%92%8CAT_S_NOTTS%E7%89%88%E6%9C%AC%E6%94%AF%E6%8C%81%EF%BC%89.pdf
? 1) 一機(jī)一密參考:http://www.openluat.com/Product/file/asr1802/%E8%BF%9E%E6%8E%A5%E9%98%BF%E9%87%8C%E4%BA%91AT%E6%B5%81%E7%A8%8B%E8%AF%B4%E6%98%8E%EF%BC%88%E4%B8%80%E6%9C%BA%E4%B8%80%E5%AF%86%E8%AE%A4%E8%AF%81%E6%96%B9%E6%A1%88%EF%BC%89.pdf
? 2) 一型一密參考:http://www.openluat.com/Product/file/asr1802/%E8%BF%9E%E6%8E%A5%E9%98%BF%E9%87%8C%E4%BA%91AT%E6%B5%81%E7%A8%8B%E8%AF%B4%E6%98%8E%EF%BC%88%E4%B8%80%E5%9E%8B%E4%B8%80%E5%AF%86%E8%AE%A4%E8%AF%81%E6%96%B9%E6%A1%88%EF%BC%89.pdf
16.2、除了阿里云,支持華為云、百度云、騰訊云、OneNet等其他云平臺(tái)嗎
? 支持,但是需要用戶自己開(kāi)發(fā),沒(méi)有提供官方例程和lib文件
? 開(kāi)發(fā)者伙伴發(fā)布了一些文章在ask網(wǎng)站,僅供參考,不保證正確和穩(wěn)定性
? 華為云:http://oldask.openluat.com/article/904、http://oldask.openluat.com/article/902、http://oldask.openluat.com/article/903
? OneNET:http://oldask.openluat.com/article/56、http://oldask.openluat.com/article/893、http://oldask.openluat.com/article/179
? 百度云、騰訊云:http://oldask.openluat.com/article/177
16.3、一型一密方案,設(shè)備在線運(yùn)行了很多天后,模塊中的設(shè)備密鑰和阿里云平臺(tái)上的密鑰不一致導(dǎo)致無(wú)法上線
? 有一個(gè)客戶陸續(xù)反映此問(wèn)題,目前還沒(méi)有定位到根本原因,可按照如下方式協(xié)助確認(rèn)此問(wèn)題:
? 在定位出根本原因之前,可通過(guò)如下方式規(guī)避處理:在阿里云上刪除此設(shè)備,然后再重新錄入
16.4、為什么阿里云連接失敗
? 1) 2G模塊AT版本:AirM2M_VXXXX_AT_S_SSL.lod和AirM2M_VXXXX_AT_S_8955F.lod才支持ssl功能
? 2) 2G模塊Luat版本:帶SSL或者8955F的lod才支持ssl功能
? 3) 4G模塊:所有版本都支持
16.5、如何降低阿里云的離線率
? 目前2G網(wǎng)絡(luò)環(huán)境在逐步惡化,在網(wǎng)絡(luò)較好的情況下,24小時(shí)出現(xiàn)10次以內(nèi)的掉線【僅僅作為經(jīng)驗(yàn)值參考】都可以認(rèn)為正常,如果掉線率太高,需要日志分析,如果不方便抓日志,可以按照如下方式處理后,對(duì)比看下是否有改善:
? 1) 加大TCP重傳次數(shù)和重傳間隔:AT版本通過(guò)AT+TCPUSERPARAM命令設(shè)置;Luat版本通過(guò)socket.setTcpResendPara接口設(shè)置
? 2) mqtt keep alive的時(shí)間,一般建議使用2分鐘【如果每2分鐘內(nèi)都有應(yīng)用數(shù)據(jù)收發(fā),則可以把mqtt keep alive的時(shí)間設(shè)置的長(zhǎng)一點(diǎn)兒】,除非有強(qiáng)制要求,否則不能太長(zhǎng),也不能太短。不建議超過(guò)4分鐘,基站策略會(huì)關(guān)閉長(zhǎng)時(shí)間沒(méi)有數(shù)據(jù)傳輸?shù)倪B接,太長(zhǎng)時(shí)間可能會(huì)導(dǎo)致連接被基站關(guān)閉;不建議少于1分鐘,太短時(shí)間可能會(huì)因?yàn)榫W(wǎng)絡(luò)環(huán)境波動(dòng)導(dǎo)致上行數(shù)據(jù)發(fā)送超時(shí),可能超過(guò)1.5倍的心跳時(shí)間,從而被服務(wù)器主動(dòng)斷開(kāi)連接
? 3) 減少Q(mào)os1和Qos2的publish使用,允許的話建議都使用Qos0
? 1) 加大TCP重傳次數(shù)和重傳間隔:目前還不支持
? 2) mqtt keep alive的時(shí)間,一般建議使用2分鐘【如果每2分鐘內(nèi)都有應(yīng)用數(shù)據(jù)收發(fā),則可以把mqtt keep alive的時(shí)間設(shè)置的長(zhǎng)一點(diǎn)兒】,除非有強(qiáng)制要求,否則不能太長(zhǎng),也不能太短。不建議超過(guò)4分鐘,基站策略會(huì)關(guān)閉長(zhǎng)時(shí)間沒(méi)有數(shù)據(jù)傳輸?shù)倪B接,太長(zhǎng)時(shí)間可能會(huì)導(dǎo)致連接被基站關(guān)閉;不建議少于1分鐘,太短時(shí)間可能會(huì)因?yàn)榫W(wǎng)絡(luò)環(huán)境波動(dòng)導(dǎo)致上行數(shù)據(jù)發(fā)送超時(shí),可能超過(guò)1.5倍的心跳時(shí)間,從而被服務(wù)器主動(dòng)斷開(kāi)連接
? 3) 減少Q(mào)os1和Qos2的publish使用,允許的話建議都使用Qos0
16.6、阿里云網(wǎng)站上的異常信息和模塊動(dòng)作的對(duì)應(yīng)關(guān)系
| Device disconnect | 發(fā)送了disconnect報(bào)文,可能是邏輯問(wèn)題,導(dǎo)致異常發(fā)送了disconnect報(bào)文,需要腳本日志文件分析【2G模塊2.3.5版本之前的部分版本腳本lib,存在一個(gè)bug,可能會(huì)導(dǎo)致此問(wèn)題,建議更新到2.3.5以及之后的版本】 |
| Connectoin reset by peer | 模塊發(fā)送超時(shí)失敗,沒(méi)有斷開(kāi)mqtt連接,直接斷開(kāi)了socket【可參考16.5章節(jié)優(yōu)化】 |
| keepalive timeout | 模塊發(fā)送mqtt心跳超時(shí),被服務(wù)器斷開(kāi)【可參考16.5章節(jié)優(yōu)化】 |
| kicked by the same device | 有兩種可能性: 1、存在相同client id的設(shè)備,默認(rèn)使用模塊imei作為client id,可能是imei重復(fù),可參考6.2章節(jié)確認(rèn)下是否模塊imei為默認(rèn)值 2、設(shè)備在線狀態(tài)下,發(fā)生了重啟,重啟后成功連接阿里云【如果使用了errDump功能模塊,可參考22.3章節(jié)檢查下是否有異常信息上報(bào)】 |
16.7、如何批量寫(xiě)入三元組
? 一機(jī)一密的三元組信息為:ProductKey、DeviceName、DeviceSecret
? 一型一密的三元組信息為:ProductKey、ProductSecret、DeviceName
? 一型一密的三元組信息為:ProductKey、ProductSecret、DeviceName
? ProductKey和ProductSecret可以直接固化在代碼中
? DeviceName建議直接使用模塊的IMEI,也可以使用MCU端的一個(gè)唯一ID,只要這個(gè)ID在同一個(gè)ProductKey下是唯一的即可
? DeviceSecret的批量寫(xiě)入,詳細(xì)說(shuō)明如下:
? 1) 在工廠燒錄固件時(shí),上位機(jī)通過(guò)模塊uart口將DeviceSecret寫(xiě)入到模塊中【強(qiáng)烈建議存儲(chǔ)在模塊sn中,參考6.4章節(jié);Luat版本也可存儲(chǔ)在nvm中,參考30.3章節(jié);AT版本,如果mcu端可以存儲(chǔ),也可以存儲(chǔ)在mcu端】
? 2) 終端設(shè)備第一次開(kāi)機(jī)運(yùn)行時(shí),連接自建的服務(wù)器,將ProductKey和DeviceName上傳給自建服務(wù)器,自建服務(wù)器訪問(wèn)阿里云獲取對(duì)應(yīng)的DeviceSecret,然后將DeviceSecret下發(fā)給終端設(shè)備存儲(chǔ)【強(qiáng)烈建議存儲(chǔ)在模塊sn中,參考6.4章節(jié);Luat版本也可存儲(chǔ)在nvm中,參考30.3章節(jié);AT版本,如果mcu端可以存儲(chǔ),也可以存儲(chǔ)在mcu端】
? 更多說(shuō)明參考:http://doc.openluat.com/article/600/0
16.8、AT版本,MCU端如何實(shí)現(xiàn)HmacMD5算法
下載http://www.openluat.com/Product/file/rda8955/core_src.7z,參考:cust_src\elua\lib\crypto\src\aliyun_iot_common_hmac.c文件中的aliyun_iot_common_hmac_md5接口
十七、基站定位問(wèn)題
17.1、如何使用基站定位
? 目前合宙的2G和4G模塊都支持基站定位,此服務(wù)免費(fèi)
17.2、基站定位原理
? 模塊正常聯(lián)網(wǎng)后,搜索附近的小區(qū)信息,上報(bào)給后臺(tái);后臺(tái)查詢小區(qū)經(jīng)緯度,并結(jié)合信號(hào)強(qiáng)度等因素進(jìn)行計(jì)算(三角定位原理),最后返回計(jì)算出來(lái)的經(jīng)緯度給模塊
17.3、基站定位精度如何
? 搜索到的小區(qū)越多,定位的精度越高;一般來(lái)說(shuō),城市中心定位精度比郊區(qū)和農(nóng)村定位精度高,城市中心的定位精度在幾十米到幾百米不等,郊區(qū)和農(nóng)村的定位精度更低,可能會(huì)有幾千米甚至更多的誤差
基站定位的誤差都比較大,如果需要準(zhǔn)確定位,請(qǐng)使用支持GPS的模塊,例如Air800、Air530
17.4、為什么基站定位失敗
? 搜索到的小區(qū)越多,定位的精度越高;一般來(lái)說(shuō),城市中心定位精度比郊區(qū)和農(nóng)村定位精度高,城市中心的定位精度在幾十米到幾百米不等,郊區(qū)和農(nóng)村的定位精度更低,可能會(huì)有幾千米甚至更多的誤差
? 1) main.lua中的PRODUCT_KEY和此設(shè)備在iot.openluat.com中所屬項(xiàng)目的ProductKey必須一致,請(qǐng)去檢查
? 2) 后臺(tái)基站數(shù)據(jù)庫(kù)查詢不到所有小區(qū)的位置信息;在trace中向上搜索encellinfo,然后在電腦瀏覽器中打開(kāi)http://bs.openluat.com/,手動(dòng)查找encellinfo后的所有小區(qū)位置;如果手動(dòng)可以查到位置,則服務(wù)器存在BUG,直接向技術(shù)支持人員反映問(wèn)題;如果手動(dòng)無(wú)法查到位置,則基站數(shù)據(jù)庫(kù)還沒(méi)有收錄當(dāng)前設(shè)備的小區(qū)位置信息,向技術(shù)支持人員反饋,我們會(huì)盡快收錄
17.5、如何在iot.openluat.com中查詢?cè)O(shè)備的基站定位請(qǐng)求記錄
? 因基站定位請(qǐng)求數(shù)據(jù)太多,為了保證iot后臺(tái)運(yùn)行的穩(wěn)定性,不再保存請(qǐng)求記錄,如果實(shí)在有查詢需求,聯(lián)系合宙技術(shù)支持人員處理
17.6、合宙官方的基站定位能在國(guó)外使用嗎
? 不能,沒(méi)有國(guó)外的基站數(shù)據(jù)庫(kù)
十八、GPS定位問(wèn)題
18.1、哪些模塊支持GPS定位
? 目前僅:Air800、Air801、Air530支持
? 其余模塊例如Air720G如果要支持GPS,可以采用Air720G+Air530方案,使用Luat二次開(kāi)發(fā)實(shí)現(xiàn)
18.2、GPS天線如何設(shè)計(jì)
? 目前僅:Air800、Air801、Air530支持
? 其余模塊例如Air720G如果要支持GPS,可以采用Air720G+Air530方案,使用Luat二次開(kāi)發(fā)實(shí)現(xiàn)
18.2、GPS天線如何設(shè)計(jì)
? 參考:https://www.jianshu.com/p/f52e9a52cc11
18.3、Air800模塊如何測(cè)試信噪比
? 參考:http://oldask.openluat.com/article/963
18.4、Air800模塊如何輸出原始NMEA數(shù)據(jù)
gps.setNmeaMode(2, function(nmeaItem) log.info("nmea", nmeaItem) end)
18.5、Air800模塊GPS無(wú)信號(hào)、信號(hào)弱、定位失敗
? 1) 必須使用gps天線,普通的gsm、藍(lán)牙、wifi、433等天線不支持gps定位
? 2) gps陶瓷天線,如果大板和陶瓷天線面積都比較小,一定要去正規(guī)天線廠調(diào)試。如果面積都比較大,實(shí)在沒(méi)條件調(diào)試,可以不去調(diào)試
? 3) 天線朝上,面向天空,天線上方不能有金屬物質(zhì),不能有較厚的遮擋物(例如幾厘米的塑料盒子肯定不行,幾毫米的塑料盒子可以)
? 4) 如果用的是有源天線,測(cè)量下供電電壓是否正常;如果使用GPLDO(LDOVIB)給天線供電:Air800 AT版本默認(rèn)已經(jīng)打開(kāi)GPLDO(LDOVIB)供電;Luat版本需要在gps開(kāi)啟之前,執(zhí)行一行代碼pmd.ldoset(7,pmd.LDO_VIB)來(lái)打開(kāi)供電
18.6、如何支持秒定位(GPS定位慢)
? 1) AT版本:默認(rèn)支持秒定位,不需要MCU做控制
? 2) Luat版本:require"agps"即可
注意:即使支持了秒定位,GPS斷電后第一次開(kāi)機(jī),定位速度仍然會(huì)比較慢
18.7、什么是GPS的冷啟動(dòng)、溫啟動(dòng)、熱啟動(dòng)
? 參考:http://oldask.openluat.com/article/32
18.8、GPS定位經(jīng)緯度不準(zhǔn)確
18.9、GPS模塊內(nèi)部有LNA嗎
? 有LNA低噪聲放大器
18.10、GPS定位海拔不準(zhǔn)確
? 衛(wèi)星距離地球有33000km,所以高程差幾十米很正常。幾十米相對(duì)于33000km,真的不算什么。如果要求精確,一般個(gè)人建議:
那么,放在飛機(jī)上會(huì)更準(zhǔn)嗎?就方向角、經(jīng)緯度、速度而言,會(huì);但是,氣壓不會(huì)準(zhǔn),因?yàn)榕搩?nèi)有增壓裝置。但是海拔而言,飛機(jī)一般用雷達(dá)、聲納,以及皮托管(氣壓)、或者陀螺儀(慣導(dǎo))
18.11、如何計(jì)算NMEA校驗(yàn)碼
參考:http://oldask.openluat.com/article/70
18.12、可視衛(wèi)星、可用衛(wèi)星有什么區(qū)別
? 可視衛(wèi)星是當(dāng)前區(qū)域,接收條件良好情況下,應(yīng)該可以收到衛(wèi)星信號(hào)的衛(wèi)星
? 可用衛(wèi)星是當(dāng)前已經(jīng)收到信號(hào)并正在使用參與定位的衛(wèi)星
18.13、GGA和RMC應(yīng)該用哪個(gè)
? 視具體情況而定,建議用gga,信息相對(duì)更全面
18.14、如何解讀NMEA報(bào)文每個(gè)字段的含義
? 參考:http://www.openluat.com/Product/file/800/NMEA%E6%95%B0%E6%8D%AE%E6%A0%BC%E5%BC%8F%E8%AF%B4%E6%98%8E.docx
18.15、是否支持rtd、rtk
? 不支持,推薦選型:unicorecomm um482;ublox f9p
18.16、是否支持ntrip協(xié)議
? 不支持,可以使用Luat開(kāi)發(fā)方式自行對(duì)接ntrip協(xié)議
? ntrip協(xié)議參考:https://blog.csdn.net/hanford/article/details/53025771
18.17、已知兩個(gè)經(jīng)緯度,如何計(jì)算間距?
可以使用如下函數(shù)(但是注意,沒(méi)有考慮到地球曲率,計(jì)算結(jié)果存在誤差。建議使用高德地圖等提供的api在服務(wù)端計(jì)算
-[[
函數(shù)名:diffofloc
功能 :計(jì)算兩對(duì)經(jīng)緯度之間的直線距離(近似值)
參數(shù):
? latti1:緯度1(度格式,例如31.12345度)
?longti1:經(jīng)度1(度格式)
?latti2:緯度2(度格式)
?longti2:經(jīng)度2(度格式)
?typ:距離類型
返回值:typ如果為true,返回的是直線距離(單位米)的平方和;否則返回的是直線距離(單位米)
]]
end
18.18、如何解決靜態(tài)漂移
? 通常是因?yàn)樾l(wèi)星、接收器、天線等多重因素導(dǎo)致,建議服務(wù)端從算法層面去過(guò)濾這種漂移;設(shè)備端也可以通過(guò)振動(dòng)傳感器判斷靜止?fàn)顟B(tài)、wifi判斷wifi變化率較低、基站變化率較低等多種手段,較少不必要的GPS位置上報(bào)來(lái)過(guò)濾漂移
18.19、做車(chē)載定位器,進(jìn)入隧道沒(méi)辦法定位怎么辦
? 使用基站定位
18.20、能否用于制作人員定位器、定位手表
? 可以
18.21、使用Luat版本FLOAT底層,能否實(shí)現(xiàn)坐標(biāo)轉(zhuǎn)換(WGS84~GCJ02)加偏/糾偏
? 建議在服務(wù)器端實(shí)現(xiàn)。因?yàn)榧悠惴ㄊ呛軓?fù)雜的浮點(diǎn)運(yùn)算,模塊輸出結(jié)果可能和實(shí)際情況有差;如果需要更高的加偏結(jié)果,可以使用百度/高德等地圖提供的api
18.22、哪些地圖使用的是GCJ02坐標(biāo)系
? 高德、騰訊;(百度是GCJ02又轉(zhuǎn)換為BD09,所以不能直接使用GCJ02)
18.23、哪些地圖可以直接查看WGS84定位
? bing maps(非bing地圖),google maps(非gogole 地圖)
18.24、車(chē)載使用時(shí)需要天線引出到車(chē)頂上嗎
十九、GPIO問(wèn)題
? 因AT版本不支持gpio操作,故本章節(jié)討論的是Luat版本下的gpio問(wèn)題
19.1、為什么GPIO配置后,功能不正常
pmd.LDO_VMMC:GPIO8、GPIO9、GPIO10、GPIO11、GPIO12、GPIO13
pmd.LDO_VLCD:GPIO14、GPIO15、GPIO16、GPIO17、GPIO18
pmd.LDO_VCAM:GPIO19、GPIO20、GPIO21、GPIO22、GPIO23、GPIO24
GPIO 0到GPIO 31表示為pio.P0_0到pio.P0_31
GPIO 32到GPIO 63表示為pio.P1_0到pio.P1_31
GPIO 64到GPIO XX表示為pio.P2_0到pio.P2_(XX-64),例如GPIO65 表示為pio.P2_1
19.2、GPIO的輸出能力是多少
? 1) 電壓輸出最高3.3V,部分管腳最高2.8V;沒(méi)有電壓域控制的管腳電壓只能輸出0V、3.3/2.8V,有電壓域控制的管腳輸出電壓可通過(guò)電壓域控制【詳情參考demo/gpio/gpioSingle/testGpioSingle.lua中的注釋】
? 2) 電流最大輸出2mA
? 1) 電壓最高輸出1.8V
? 2) 電流最高輸出2mA
19.3、中斷檢測(cè)能力是多少
? 最快檢測(cè)20ms
? 中斷越頻繁,中斷檢測(cè)的及時(shí)性越低;可參考:http://oldask.openluat.com/article/930輔助理解
19.4、哪些管腳可以用做GPIO
? 參考模塊硬件手冊(cè)“管腳描述”章節(jié)的表格,表格中表明可以用做gpio的都可以使用
19.5、異常重啟,能否恢復(fù)之前的工作狀態(tài)
? 建議把gpio狀態(tài)寫(xiě)入nvm,萬(wàn)一異常重啟,根據(jù)nvm保存的狀態(tài)配置gpio
19.6、從硬件上電到腳本可控制GPIO狀態(tài),這段時(shí)間內(nèi)的管腳電平狀態(tài)如何變化
? Air720系列4G模塊:http://doc.openluat.com/article/600/0
二十、合宙官方硬件看門(mén)狗問(wèn)題(僅適用于Luat版本)
? 因AT版本需要外接MCU主控,MCU可自行實(shí)現(xiàn)硬件看門(mén)狗的功能,故本章節(jié)不討論AT版本的硬件看門(mén)狗問(wèn)題,僅討論Luat版本下的合宙官方硬件看門(mén)狗問(wèn)題
20.1、軟硬件設(shè)計(jì)
? 看門(mén)狗購(gòu)買(mǎi)鏈接:打開(kāi):m.openluat.com,進(jìn)入“周邊工具”頁(yè)面,選擇“看門(mén)狗Air153B”
? 看門(mén)狗硬件設(shè)計(jì)以及工作原理參考:http://www.openluat.com/Product/file/rda8955/Luat%E4%B8%93%E7%94%A8%E7%9C%8B%E9%97%A8%E7%8B%97%E8%8A%AF%E7%89%87%E8%AE%BE%E8%AE%A1%E6%89%8B%E5%86%8CV1.6.pdf
? Luat軟件代碼:
? require"wdt"
? wdt.setup(pio.P0_30, pio.P0_31) --根據(jù)實(shí)際的硬件連接,自行修改這兩個(gè)管腳的gpio id
20.1、軟硬件設(shè)計(jì)
? 看門(mén)狗購(gòu)買(mǎi)鏈接:打開(kāi):m.openluat.com,進(jìn)入“周邊工具”頁(yè)面,選擇“看門(mén)狗Air153B”
20.2、硬件看門(mén)狗是否有必要
? 有,可以保證無(wú)人值機(jī)設(shè)備系統(tǒng)的穩(wěn)定性,避免人肉運(yùn)維的尷尬
20.3、為什么4G模塊不需要外部硬件看門(mén)狗
? 參考:http://oldask.openluat.com/article/74
20.4、為什么會(huì)提示喂狗失敗(WatchDog <–> AirM2M didn’t respond : wdt reset 153b)
20.5、PWR_ON_OUT腳有什么作用
? 當(dāng)模塊的pwrkey沒(méi)有接地,它可以使模塊開(kāi)機(jī);如果模塊pwrkey接地,則該腳懸空
20.6、如何測(cè)試看門(mén)狗是否正常工作
? 有如下兩種方法:
20.7、能否修改看門(mén)狗喂狗時(shí)序
? 不能,固件已經(jīng)固化在芯片中
20.8、能否使用自己的硬件看門(mén)狗芯片
? 可以,軟件和硬件需要自行設(shè)計(jì)
20.9、有沒(méi)有軟件看門(mén)狗
? 2G模塊的core中有一種死循環(huán)軟件看門(mén)狗機(jī)制,如果腳本中一直在死循環(huán)執(zhí)行某段代碼,2G模塊半分鐘會(huì)軟件看門(mén)狗重啟【重啟原因值為poweron reason 8】
? 4G模塊的0027以及之后版本的core+2.2.8以及之后版本的腳本lib,實(shí)現(xiàn)了一種死循環(huán)軟件看門(mén)狗機(jī)制,如果腳本中一直在死循環(huán)執(zhí)行某段代碼,4G模塊1分鐘會(huì)軟件看門(mén)狗重啟【沒(méi)有特定的重啟原因值,重啟原因值為普通的軟件重啟3,重啟前的日志會(huì)輸出SoftDog Restart】
? 除此之外,還有一種常見(jiàn)的業(yè)務(wù)邏輯軟件看門(mén)狗,此軟件看門(mén)狗的基本實(shí)現(xiàn)原理為:根據(jù)業(yè)務(wù)邏輯,連續(xù)一段時(shí)間和服務(wù)器通信不正常,則控制軟重啟;示例代碼如下:
oftwareDogCo = sys.taskInit(function()
如何去確認(rèn)這個(gè)“適當(dāng)?shù)奈恢谩蹦?#xff1f;下面列舉兩種常見(jiàn)示例:
20.10、硬件看門(mén)狗外圍電路不規(guī)范可能導(dǎo)致2G模塊一直重啟
? 下圖為一個(gè)不規(guī)范的硬件看門(mén)狗外圍電路
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-ioPgZXbk-1619422566533)(https://oldask.openluat.com/image/show/attachments-2019-12-JkFUgt7d5df33e2cbefac.png “undefined”)]
? 下圖為參考硬件連接圖
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-AhXbhPHL-1619422566534)(https://oldask.openluat.com/image/show/attachments-2019-12-FR6D7uzD5df33e539faaa.png “undefined”)]
? 不規(guī)范的電路圖中,看門(mén)狗供電VDDIO沒(méi)有串聯(lián)二極管,會(huì)導(dǎo)致反復(fù)重啟模塊。因?yàn)槎O管是為了防止單片機(jī)的供電漏掉,如果沒(méi)有二極管,在VDDIO掉電時(shí)會(huì)將看門(mén)狗的電源拉掉,導(dǎo)致看們關(guān)機(jī)導(dǎo)致拉低RESET,引起模塊重啟
二十、合宙官方硬件看門(mén)狗問(wèn)題(僅適用于Luat版本)
? 因AT版本需要外接MCU主控,MCU可自行實(shí)現(xiàn)硬件看門(mén)狗的功能,故本章節(jié)不討論AT版本的硬件看門(mén)狗問(wèn)題,僅討論Luat版本下的合宙官方硬件看門(mén)狗問(wèn)題
20.1、軟硬件設(shè)計(jì)
? 看門(mén)狗購(gòu)買(mǎi)鏈接:打開(kāi):m.openluat.com,進(jìn)入“周邊工具”頁(yè)面,選擇“看門(mén)狗Air153B”
? 看門(mén)狗硬件設(shè)計(jì)以及工作原理參考:http://www.openluat.com/Product/file/rda8955/Luat%E4%B8%93%E7%94%A8%E7%9C%8B%E9%97%A8%E7%8B%97%E8%8A%AF%E7%89%87%E8%AE%BE%E8%AE%A1%E6%89%8B%E5%86%8CV1.6.pdf
? Luat軟件代碼:
? require"wdt"
? wdt.setup(pio.P0_30, pio.P0_31) --根據(jù)實(shí)際的硬件連接,自行修改這兩個(gè)管腳的gpio id
20.2、硬件看門(mén)狗是否有必要
? 有,可以保證無(wú)人值機(jī)設(shè)備系統(tǒng)的穩(wěn)定性,避免人肉運(yùn)維的尷尬
20.3、為什么4G模塊不需要外部硬件看門(mén)狗
? 參考:http://oldask.openluat.com/article/74
20.4、為什么會(huì)提示喂狗失敗(WatchDog <–> AirM2M didn’t respond : wdt reset 153b)
20.5、PWR_ON_OUT腳有什么作用
? 當(dāng)模塊的pwrkey沒(méi)有接地,它可以使模塊開(kāi)機(jī);如果模塊pwrkey接地,則該腳懸空
20.6、如何測(cè)試看門(mén)狗是否正常工作
? 有如下兩種方法:
20.7、能否修改看門(mén)狗喂狗時(shí)序
? 不能,固件已經(jīng)固化在芯片中
20.8、能否使用自己的硬件看門(mén)狗芯片
? 可以,軟件和硬件需要自行設(shè)計(jì)
20.9、有沒(méi)有軟件看門(mén)狗
? 2G模塊的core中有一種死循環(huán)軟件看門(mén)狗機(jī)制,如果腳本中一直在死循環(huán)執(zhí)行某段代碼,2G模塊半分鐘會(huì)軟件看門(mén)狗重啟【重啟原因值為poweron reason 8】;4G模塊暫時(shí)沒(méi)有這種功能
? 除此之外,還有一種常見(jiàn)的業(yè)務(wù)邏輯軟件看門(mén)狗,此軟件看門(mén)狗的基本實(shí)現(xiàn)原理為:根據(jù)業(yè)務(wù)邏輯,連續(xù)一段時(shí)間和服務(wù)器通信不正常,則控制軟重啟;示例代碼如下:
oftwareDogCo = sys.taskInit(function()
如何去確認(rèn)這個(gè)“適當(dāng)?shù)奈恢谩蹦?#xff1f;下面列舉兩種常見(jiàn)示例:
二十一、短信問(wèn)題
21.1、支持長(zhǎng)短信嗎
21.2、為什么Air720H模塊無(wú)法使用中國(guó)電信卡收發(fā)短信
? 中國(guó)電信的短信業(yè)務(wù)要回落到2G或者3G網(wǎng)絡(luò)下才能使用,但是Air720H不支持中國(guó)電信的2G和3G網(wǎng)絡(luò)頻段,所以不支持中國(guó)電信的短信業(yè)務(wù);
? 支持中國(guó)移動(dòng)和中國(guó)聯(lián)通的短信業(yè)務(wù)
二十二、日志使用問(wèn)題(僅適用于Luat版本)
22.1、如何解讀Luatools抓到的腳本日志
? 參考:http://oldask.openluat.com/article/15
22.2、errDump功能有什么用
? errDump功能模塊對(duì)“量產(chǎn)投放市場(chǎng)的設(shè)備,遠(yuǎn)程調(diào)試初步定位問(wèn)題”至關(guān)重要, 強(qiáng)烈建議客戶一定要使用此功能,加載此功能模塊后,具備如下功能:
22.3、設(shè)備使用errDump對(duì)接合宙官方服務(wù)器,如何查看設(shè)備上報(bào)的錯(cuò)誤信息
? 登錄 iot.openluat.com,隨便選擇一個(gè)產(chǎn)品,點(diǎn)進(jìn)去,點(diǎn)擊左側(cè)的“查詢debug”菜單,輸入設(shè)備imei,選擇開(kāi)始日期、結(jié)束日期,點(diǎn)擊搜索即可
? 友情提醒:開(kāi)始和結(jié)束日期的跨度越大,搜索速度越慢
二十三、串口通信問(wèn)題
23.1、AT版本發(fā)送AT無(wú)應(yīng)答
23.2、串口數(shù)據(jù)亂碼
? 檢查下模塊板和主控板的參考地是否有電勢(shì)差,曾經(jīng)有一個(gè)客戶的板子如下圖設(shè)計(jì),通過(guò)主控板給模塊供電,然后只通過(guò)上圖排插針通插座的方式連接主板串口,導(dǎo)致地連接的阻抗增加,在弱信號(hào)下大功率發(fā)射時(shí),會(huì)導(dǎo)致模塊板和主控板的參考地有電勢(shì)差,導(dǎo)致串口通信異常
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-uONlTzX8-1619422566534)(https://oldask.openluat.com/image/show/attachments-2019-12-GqrKcQmE5de4aebb2f099.png “undefined”)]
23.3、Luat版本串口問(wèn)題
? 參考:http://oldask.openluat.com/article/924
二十四、音頻問(wèn)題(僅適用于Luat版本)
24.1、無(wú)法播放mp3文件
24.2、無(wú)法播放tts
24.3、支持什么規(guī)格的喇叭
? 4G模塊不支持喇叭;2G模塊支持的喇叭規(guī)格為:8Ω,1W、8Ω,2W、8Ω,3W…,只要8Ω,大于等于1W都支持
24.4、TTS音質(zhì)可以更好嗎
? 0037以及之后版本的8955F和8955F_FLOAT固件,改善了tts播放音質(zhì),模塊需要選用Air202F、Air268F等64Mb flash的型號(hào);因flash空間問(wèn)題,非8955F的固件,無(wú)法改善
二十五、core固件使用問(wèn)題
25.1、固件區(qū)別
AirM2M_VXXXX_AT_S_SSL.lod:支持SSL,不支持TTS,32Mb flash模塊固件
AirM2M_VXXXX_AT_S_TTS.lod:支持TTS,不支持SSL,32Mb flash模塊固件
AirM2M_VXXXX_AT_S_8955F.lod:既支持TTS,又支持SSL,64Mb flash模塊固件
Luat_VXXXX_8955.lod:不支持SSL、TTS、SPI接口的LCD功能
Luat_VXXXX_8955_SSL.lod:支持SSL功能
Luat_VXXXX_8955_SSL_TTS.lod:支持SSL、TTS功能,不支持MP3、MIDI、錄音功能
Luat_VXXXX_8955_SSL_UI.lod:支持SSL、SPI接口的LCD功能
Luat_VXXXX_8955_TTS_UI.lod:支持TTS、SPI接口的LCD功能
Luat_VXXXX_8955_TTS1.lod:支持TTS功能
Luat_VXXXX_8955_TTS2.lod:支持TTS功能、不支持MP3、MIDI、錄音、json
Luat_VXXXX_8955_UI.lod:支持SPI接口的LCD功能
Luat_VXXXX_8955_SSL_FLOAT.lod:支持SSL功能、浮點(diǎn)數(shù)
Luat_VXXXX_8955_SSL_UI_FLOAT.lod:支持SSL功能、PI接口的LCD功能、浮點(diǎn)數(shù)
Luat_VXXXX_8955F.lod:64M flash版本(Air202F),支持SSL、TTS、SPI接口的LCD功能
Luat_VXXXX_ASR1802.lod:不支持浮點(diǎn)數(shù)
Luat_VXXXX_ASR1802_FLOAT.lod:支持浮點(diǎn)數(shù)
25.2、哪里可以下載舊版本固件
? AT固件不方便下載舊版本固件,如果需要,直接聯(lián)系合宙技術(shù)支持人員
? 2G模塊Luat舊版本core固件的下載鏈接為:http://www.openluat.com/Product/file/rda8955/oldCore/core_VXXXX.zip; VXXXX 替換為特定的版本號(hào),例如V0025
? 2G模塊Luat舊版本core固件的下載鏈接為:http://www.openluat.com/Product/file/rda8955/oldScript/script_LuaTask_VX.Y.Z.zip ;VX.Y.Z替換為特定的版本號(hào),例如V2.3.5
? 4G模塊Luat舊版本core固件的下載鏈接為:http://www.openluat.com/Product/file/asr1802/oldCore/core_VXXXX.zip ;VXXXX替換為特定的版本號(hào),例如V0025
? 4G模塊Luat舊版本core固件的下載鏈接為:http://www.openluat.com/Product/file/asr1802/oldScript/script_LuaTask_VX.Y.Z.zip ;VX.Y.Z替換為特定的版本號(hào),例如V2.2.7
25.3、如何在2G模塊Luat開(kāi)源core中添加自己的功能模塊
? 參考:http://doc.openluat.com/article/600/0
二十六、合宙云平臺(tái)問(wèn)題
26.1、提供哪些云平臺(tái)服務(wù)
遠(yuǎn)程升級(jí):tcp協(xié)議 域名:iot.openluat.com 端口:80
日志服務(wù):udp協(xié)議 域名:ota.airm2m.com 端口:9072
基站定位:udp協(xié)議 域名:bs.openluat.com 端口:12411和12412
AGPS星歷下載:tcp協(xié)議 域名:download.openluat.com 端口:80
sim.openluat.com:流量卡管理查詢
iot.openluat.com:物聯(lián)網(wǎng)云平臺(tái),用于支持模塊終端的遠(yuǎn)程升級(jí)、日志服務(wù)、基站定位功能
erp.openluat.com:商務(wù)信息查詢
? tcplab.openluat.com:TCP測(cè)試平臺(tái)
26.2、物聯(lián)網(wǎng)云平臺(tái)(iot.openluat.com)問(wèn)題
26.2.1、如何添加設(shè)備到設(shè)備列表中
? 不需要手動(dòng)添加設(shè)備到產(chǎn)品的設(shè)備列表中,使用Luat版本二次開(kāi)始時(shí),update、lbsLoc都要用到產(chǎn)品的productKey,當(dāng)設(shè)備第一次成功使用update或者lbsLoc功能時(shí)【注意:此處的成功使用,update成功指的是從云平臺(tái)上成功下載了升級(jí)包、lbsLoc成功指的是獲取到了基站對(duì)應(yīng)的經(jīng)緯度】,會(huì)自動(dòng)將設(shè)備模塊的imei添加到productKey對(duì)應(yīng)產(chǎn)品的設(shè)備列表中
26.2.2、如何查詢?cè)O(shè)備在哪個(gè)產(chǎn)品下
? 把模塊IMEI發(fā)給合宙技術(shù)支持人員查詢
? 如果查詢不到,說(shuō)明設(shè)備還沒(méi)有成功上報(bào)過(guò),參考26.2.1處理后才能查詢到歸屬產(chǎn)品,此情況不影響設(shè)備正常使用update和lbsLoc功能,設(shè)備成功使用過(guò)一次update或者lbsLoc功能后,就可以在云平臺(tái)查到歸屬產(chǎn)品了
26.2.3、為什么公司采購(gòu)的4G模塊不在我自己創(chuàng)建的產(chǎn)品項(xiàng)目下
? 客戶向合宙采購(gòu)4G模塊時(shí),如果采購(gòu)人員沒(méi)有告知合宙這批模塊放在iot.openluat.com上的哪個(gè)產(chǎn)品下,則合宙會(huì)以采購(gòu)人的手機(jī)號(hào)為賬號(hào),默認(rèn)密碼888888,創(chuàng)建一個(gè)“Air720X標(biāo)準(zhǔn)模塊”的產(chǎn)品,此次采購(gòu)的所有模塊都會(huì)放在這個(gè)產(chǎn)品下
? 通常采購(gòu)人員和開(kāi)發(fā)人員并不是同一個(gè)人,開(kāi)發(fā)人員拿到模塊,如果使用Lua版本開(kāi)發(fā),用到了合宙服務(wù)器提供的基站定位、遠(yuǎn)程升級(jí)功能,就會(huì)在iot.openluat.com上開(kāi)發(fā)人員自己的賬號(hào)下,創(chuàng)建一個(gè)新產(chǎn)品【假設(shè)產(chǎn)品名為“模塊Lua開(kāi)發(fā)”】,此時(shí)就會(huì)出現(xiàn)main.lua中的PRODUCT_KEY和模塊歸屬的產(chǎn)品ProductKey不一致的問(wèn)題,導(dǎo)致基站定位和遠(yuǎn)程升級(jí)功能無(wú)法正常使用
? 遇到這種問(wèn)題,需要把“Air720X標(biāo)準(zhǔn)模塊”產(chǎn)品下的所有設(shè)備轉(zhuǎn)移到“模塊Lua開(kāi)發(fā)”產(chǎn)品下,操作步驟如下:
以后采購(gòu)模塊時(shí),如果所有的模塊都需要放在開(kāi)發(fā)人員賬戶下的“模塊Lua開(kāi)發(fā)”產(chǎn)品下,則告知采購(gòu)人員,讓合宙發(fā)貨時(shí)默認(rèn)全放在這個(gè)產(chǎn)品下,可以省去“開(kāi)發(fā)人員轉(zhuǎn)移全部設(shè)備”的操作
如果不方便指定產(chǎn)品,所有模塊都用做Luat二次開(kāi)發(fā),則可以進(jìn)入“Air720X標(biāo)準(zhǔn)模塊”產(chǎn)品,打開(kāi)設(shè)備列表,點(diǎn)擊“重置所有設(shè)備”,這樣所有模塊都沒(méi)有歸屬項(xiàng)目了,以后模塊使用Luat版本第一次成功使用基站定位或者遠(yuǎn)程升級(jí)功能后,就自動(dòng)加入“腳本中PRODUCT_KEY對(duì)應(yīng)的項(xiàng)目”下
如果查詢不到,說(shuō)明設(shè)備還沒(méi)有成功上報(bào)過(guò),參考26.2.1處理后才能查詢到歸屬產(chǎn)品,此情況不影響設(shè)備正常使用update和lbsLoc功能,設(shè)備成功使用過(guò)一次update或者lbsLoc功能后,就可以在云平臺(tái)查到歸屬產(chǎn)品了
26.2.3、為什么轉(zhuǎn)移設(shè)備會(huì)失敗
? 要轉(zhuǎn)移的設(shè)備必須屬于源產(chǎn)品,如果批量轉(zhuǎn)移的設(shè)備中有些設(shè)備不屬于源產(chǎn)品,網(wǎng)站不會(huì)報(bào)錯(cuò),會(huì)忽略這些不屬于源產(chǎn)品的設(shè)備,僅僅轉(zhuǎn)移屬于源產(chǎn)品的設(shè)備
26.2.4、如何在不同賬號(hào)間轉(zhuǎn)移產(chǎn)品
此功能不對(duì)外開(kāi)放,告知合宙技術(shù)支持人員:源賬號(hào)、產(chǎn)品ProductKey、目的賬號(hào),由合宙技術(shù)支持人員處理
26.3、TCP測(cè)試平臺(tái)(tcplab.openluat.com)問(wèn)題
26.3.1、如何使用TCP測(cè)試平臺(tái)
? 使用chrome瀏覽器打開(kāi)http://tcplab.openluat.com,如下示例所示
Openluat TCP Lab
服務(wù)器建立在[180.97.81.180:51329] 2019/12/20 上午10:30:40
設(shè)備通過(guò)tcp連接180.97.81.180的51329端口即可
26.3.2、瀏覽器打開(kāi)tcplab.openluat.com失敗怎么辦
? 建議使用chrome瀏覽器
26.3.3、為什么模塊連接TCP測(cè)試平臺(tái),會(huì)出現(xiàn)斷開(kāi)的問(wèn)題
? 模塊發(fā)送0x7F的字符,會(huì)導(dǎo)致平臺(tái)斷開(kāi)
? 設(shè)備和平臺(tái)之間連續(xù)3分鐘沒(méi)有數(shù)據(jù)通信,會(huì)導(dǎo)致平臺(tái)斷開(kāi)
? 除此之外,因?yàn)樵撈脚_(tái)為測(cè)試平臺(tái),無(wú)法保證穩(wěn)定性,可能平臺(tái)存在bug導(dǎo)致斷開(kāi)
二十八、JSON問(wèn)題
28.1、底層使用哪個(gè)庫(kù)實(shí)現(xiàn)的
? cjson
28.2、為什么會(huì)解析出錯(cuò)
? 檢查數(shù)據(jù)的完整性和正確性;可在第三方j(luò)son解析網(wǎng)站對(duì)比測(cè)試
? 在非協(xié)程中,解析出錯(cuò)時(shí),如果沒(méi)有判斷解析結(jié)果,直接使用解析后的table,會(huì)導(dǎo)致軟件異常重啟,如果使用了errDump功能模塊,軟件重啟后,會(huì)通過(guò)errDump將異常信息上報(bào)到調(diào)試服務(wù)器;如果不想異常重啟,可參考如下代碼設(shè)計(jì)
local tDecodedData,result,errInfo = json.decode(data)
if result and type(tDecodedData)==“table” then
--使用tDecodedDataelse--可以使用errDump功能模塊將錯(cuò)誤信息上報(bào)到調(diào)試服務(wù)器--errDump.appendErr(errInfo)end? 在協(xié)程中,解析出錯(cuò)時(shí),如果沒(méi)有判斷解析結(jié)果,直接使用解析后的table,會(huì)導(dǎo)致協(xié)程異常退出,不會(huì)引起軟件重啟,如果使用了errDump功能模塊,會(huì)通過(guò)errDump將異常信息上報(bào)到調(diào)試服務(wù)器
28.3、為什么HTTP POST JSON格式的數(shù)據(jù)會(huì)出現(xiàn)失敗
? 檢查一下是否忘記設(shè)置了"Content-Type: application/json"請(qǐng)求頭
28.4、AT版本mqtt publish json格式的數(shù)據(jù),如何處理"
? 需要轉(zhuǎn)義處理,參考:http://oldask.openluat.com/article/122
二十九、UI問(wèn)題(僅使用于Luat版本)
29.1、如何支持UI顯示
29.2、為什么lcd不顯示
29.3、最大支持的lcd分辨率是多少
&esnp; 因內(nèi)存限制,2G模塊支持的最大分辨率為240*320;如果想要更大分辨率lcd,建議使用hmi usart等串口屏,此情況需要自行開(kāi)發(fā)軟件實(shí)現(xiàn),不能使用core提供的ui庫(kù)
? 4G模塊還不支持UI功能
29.4、如何使用自定義字體
? 參考:http://doc.openluat.com/article/600/0
29.5、為什么圖片無(wú)法顯示
29.6、如何顯示二維碼
? 參考qrcode的demo,scriptLuaTask/demo/qrcode
? 參考:http://doc.openluat.com/article/600/0
29.7、如何顯示Code128條形碼
? 參考:http://doc.openluat.com/article/600/0、http://doc.openluat.com/article/600/0
三十、FLASH和RAM使用問(wèn)題(僅適用于Luat版本)
30.1、Luat版本用戶可使用哪些FLASH空間
? 1) 用來(lái)存放通過(guò)Luatools燒錄的腳本、圖片、音頻等文件;或者通過(guò)Luatools合成腳本、圖片、音頻等文件,再通過(guò)量產(chǎn)燒錄工具燒錄的合成文件
? 2) 腳本區(qū)內(nèi)的數(shù)據(jù)只讀,不可寫(xiě)
? 3) 4G 720D、720H、720G、720SX系列的模塊的腳本區(qū)空間為1MB
? 4) 4G 720UX系列的模塊的腳本區(qū)空間為700KB
? 5) 2G模塊,不同的core固件的腳本區(qū)空間不盡相同,可用記事本打開(kāi)lod文件,搜索SCRIPT_DATA_SIZE表示腳本區(qū)空間
? 6) 如果實(shí)際的腳本、圖片、音頻等文件的總大小超過(guò)了腳本區(qū)空間,在Luatools燒錄或者合成時(shí)會(huì)提示出錯(cuò)
? 1) 用來(lái)存放程序運(yùn)行過(guò)程中,動(dòng)態(tài)創(chuàng)建的文件,例如從網(wǎng)絡(luò)上下載一個(gè)圖片、下載遠(yuǎn)程升級(jí)包、本地創(chuàng)建的參數(shù)文件等
? 2) 文件系統(tǒng)區(qū)的文件數(shù)據(jù)可讀可寫(xiě)
? 3) 不同的core固件分配的文件系統(tǒng)空間不盡相同,可通過(guò)rtos.get_fs_free_size()返回文件系統(tǒng)的剩余空間,單位為字節(jié)。注意:
? A. 此處返回的剩余空間為理論值,除了存儲(chǔ)文件中的實(shí)際數(shù)據(jù)之外,還要存儲(chǔ)文件索引信息,所以文件系統(tǒng)存在一個(gè)利用率的問(wèn)題,一般來(lái)說(shuō)85%是比較保險(xiǎn)的一個(gè)經(jīng)驗(yàn)值
? B. 2G模塊如果用到了遠(yuǎn)程升級(jí)功能,需要為遠(yuǎn)程升級(jí)功能保留足夠的文件系統(tǒng)空間,詳情參考:http://oldask.openluat.com/article/916 4.3章節(jié)
? 4) lib中基于文件系統(tǒng)實(shí)現(xiàn)了一個(gè)nvm功能模塊,可用于存儲(chǔ)小數(shù)據(jù)量的簡(jiǎn)單鍵值對(duì)數(shù)據(jù),詳情參考:http://doc.openluat.com/article/600/0 ;如果存儲(chǔ)大數(shù)據(jù)量數(shù)據(jù),參考fs的demo直接操作文件
30.2、Luat版本用戶可用的RAM空間
? 2G模塊RAM總空間為1MB
? 4G 720D、720H、720G、720SX系列的模塊RAM總空間為1.5MB
? 4G 720UX系列的模塊RAM總空間為1180KB
? collectgarbage(“count”)返回已用RAM空間,單位為KB;注意:
30.3、NVM使用問(wèn)題
? NVM是基于文件系統(tǒng)實(shí)現(xiàn)的一個(gè)功能模塊,可用于存儲(chǔ)小數(shù)據(jù)量的簡(jiǎn)單鍵值對(duì)數(shù)據(jù),詳情參考:http://doc.openluat.com/article/600/0 ;如果存儲(chǔ)大數(shù)據(jù)量數(shù)據(jù),參考fs的demo直接操作文件
30.4、為什么讀文件失敗
? 文件讀取不存在權(quán)限問(wèn)題,按照如下順序排查問(wèn)題
30.5、動(dòng)態(tài)創(chuàng)建自定義文件的注意事項(xiàng)
? 1) 自定義的文件不要放在根目錄/下,根目錄下有最多32個(gè)文件的限制
? 2) 自定義的文件完整路徑長(zhǎng)度不能超過(guò)32字節(jié),例如/user_dir/783748932749327493274237493274932749237.txt超過(guò)了32字節(jié),創(chuàng)建時(shí)會(huì)失敗
30.6、是否支持外擴(kuò)SPI FLASH
? 支持,但是無(wú)法掛載文件系統(tǒng),只能使用spi接口進(jìn)行讀寫(xiě)數(shù)據(jù)存儲(chǔ)管理
三十一、RNDIS問(wèn)題
31.1、模塊軟件中支持關(guān)閉RNDIS網(wǎng)卡功能嗎
? 不支持
? 如果因?yàn)殡娔X誤使用RNDIS造成了SIM卡流量損失,可以在電腦的網(wǎng)絡(luò)連接中禁用RNDIS網(wǎng)卡
31.2、WINDOWS如何使用RNDIS模式上網(wǎng)
? 參考:http://doc.openluat.com/article/600/0
三十二、PCB文件使用問(wèn)題
32.1、合宙官方的PCB文件用 PADS的什么版本可以打開(kāi)
? 9.5
三十三、語(yǔ)音通話問(wèn)題
33.1、4G模塊是否支持語(yǔ)音通話業(yè)務(wù)
? 4G模塊支持電話的呼入、呼出、接聽(tīng);但是因?yàn)闆](méi)有語(yǔ)音編解碼芯片,所以聽(tīng)不到通話聲音
33.2、為什么Air720G模塊無(wú)法使用中國(guó)移動(dòng)卡的語(yǔ)音通話業(yè)務(wù)
? Air720G僅支持聯(lián)通3G和移動(dòng)4G網(wǎng)絡(luò)
? 目前,中國(guó)移動(dòng)的語(yǔ)音通話業(yè)務(wù)在如下幾種網(wǎng)絡(luò)狀態(tài)下可用:
所以,Air720G模塊無(wú)法使用中國(guó)移動(dòng)卡的語(yǔ)音通話業(yè)務(wù)
但是支持中國(guó)移動(dòng)的短信業(yè)務(wù),因?yàn)槎绦艠I(yè)務(wù)不需要回落到2G和3G網(wǎng)絡(luò),直接在4G網(wǎng)絡(luò)下使用2G網(wǎng)絡(luò)的核心網(wǎng)就可以完成短信收發(fā)
33.3、天線廠調(diào)試天線時(shí),如何提供來(lái)電自動(dòng)接聽(tīng)的軟件
? 1) 2G模塊
? require "cc"
? sys.subscribe("CALL_INCOMING", function(num) cc.accept(num) end)
? 2) 4G模塊
? ril.regUrc("RING",function()ril.request("ATA") end)
33.4、如何處理通話或者錄音中的電流噪音(TDD噪音)
? 參考:http://doc.openluat.com/article/600/0
三十四、模塊參數(shù)
34.1、4G模塊
? Flash:128Mb(16MB)
? DDRRAM:256Mb(32MB)
? 主頻:600MHz
三十五、Luat版本腳本開(kāi)發(fā)小問(wèn)題
35.1、Luat版本腳本運(yùn)行框架
? 參考:http://doc.openluat.com/article/600/0
35.2、sys.taskInit創(chuàng)建的task有沒(méi)有優(yōu)先級(jí)之分
? sys.taskInit創(chuàng)建的task實(shí)際上是Lua中的協(xié)程,無(wú)優(yōu)先級(jí)之分,協(xié)程的掛起和運(yùn)行完全由用戶自己編寫(xiě)的腳本來(lái)主動(dòng)控制,當(dāng)前協(xié)程運(yùn)行過(guò)程中,只能被當(dāng)前協(xié)程中的sys.wait和sys.waitUntil掛起,不會(huì)被外部協(xié)程掛起
35.3、如何實(shí)現(xiàn)延時(shí)運(yùn)行
? 可以使用定時(shí)器接口sys.timerStart或者sys.timerLoopStart實(shí)現(xiàn)延時(shí),不阻塞任何業(yè)務(wù)邏輯
? 也可以在task協(xié)程中使用sys.wait或者sys.waitUntil實(shí)現(xiàn)延時(shí),僅僅阻塞本task協(xié)程
? 也可以使用rtos.sleep接口實(shí)現(xiàn)延時(shí),但是不建議這樣使用,因?yàn)檫@個(gè)接口會(huì)使整個(gè)軟件系統(tǒng)掛起
? 詳情參考:http://doc.openluat.com/article/600/0
三十六、認(rèn)證問(wèn)題
36.1、模塊做過(guò)哪些認(rèn)證
? 在123.openluat.com中搜索證書(shū),可查到具體模塊的對(duì)應(yīng)證書(shū)
36.2、客戶產(chǎn)品SRRC認(rèn)證注意事項(xiàng)
? 1) 使用合宙官方發(fā)布的AT或者Luat版本的內(nèi)核固件即可,不需要定制內(nèi)核固件
? 2) 不要有重啟模塊或者給模塊斷電的邏輯,如果有外部硬件看門(mén)狗,要斷掉硬件看門(mén)狗
? 3) 實(shí)現(xiàn)來(lái)電自動(dòng)接聽(tīng)的業(yè)務(wù)邏輯,參考33.3章節(jié)
? 4) 模塊射頻頭和測(cè)試儀器連接,測(cè)試儀器自行測(cè)試,不需要軟件配置其他任何功能
? 5) 關(guān)鍵射頻元器件清單如下
? A.基帶芯片 RDA8955L BBIC;GSM/GPRS single chip;1.8VFLASH(32Mb+32Mb);TFBGA142B;0.5mm pitch;7.57.01.21mm;ROHS 銳迪科微電子有限公司
? B. 射頻功放 RDA6625E SWITCH+PA;EGSM/DCS;551.1mm;ROHS;改善ESD;銳迪科微電子有限公司
? C. 天線信息需要聯(lián)系天線廠獲取
36.3、模塊有入網(wǎng)證書(shū)(CTA)嗎
? 沒(méi)有
? 模塊都沒(méi)有入網(wǎng)證書(shū),只有終端產(chǎn)品才允許做入網(wǎng)認(rèn)證,我們的模塊本身是可以認(rèn)證通過(guò)的,已經(jīng)有幾家客戶的終端產(chǎn)品成功做過(guò)入網(wǎng)認(rèn)證
? 4G模塊終端產(chǎn)品,如果要做入網(wǎng)測(cè)試,參考:http://doc.openluat.com/article/600/0
三十七、SPI問(wèn)題
37.1、如何用Luat腳本模擬實(shí)現(xiàn)SPI
? 參考:http://doc.openluat.com/article/600/0
三十八、I2C問(wèn)題(僅適用于Luat版本)
38.1、如何用腳本驅(qū)動(dòng)mpu6050
? 參考:http://doc.openluat.com/article/600/0
三十九、PPP撥號(hào)問(wèn)題
39.1、WINDOWS下4G模塊如何撥號(hào)上網(wǎng)
? WIN7參考:http://doc.openluat.com/article/600/0
? WIN10參考:http://doc.openluat.com/article/600/0
39.2、Linux下4G模塊如何撥號(hào)上網(wǎng)
? 參考:http://doc.openluat.com/article/600/0
四十、時(shí)鐘問(wèn)題
40.1、如何同步時(shí)鐘
? 參考:http://doc.openluat.com/article/600/0
上海合宙通信模塊 - 合宙Luat,讓萬(wàn)物互聯(lián)更簡(jiǎn)單
總結(jié)
以上是生活随笔為你收集整理的Air系列模块常见问题列表的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 学术论文参考文献书写规范
- 下一篇: Protel99SE精彩教程