日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Air系列模块常见问题列表

發(fā)布時(shí)間:2024/8/1 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Air系列模块常见问题列表 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

目錄名稱

  • 一、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.1.1和1.1.2章節(jié),先檢查一下數(shù)據(jù)線、供電、跳線問(wèn)題
  • 聯(lián)系代碼開(kāi)發(fā)者,確認(rèn)一下代碼中是否關(guān)閉了日志輸出功能
  • 聯(lián)系代碼開(kāi)發(fā)者,確認(rèn)一下代碼中是否配置了host口、uart1或者uart2輸出日志功能,Luatools選擇的打印口要和代碼配置一致
  • ? 1.2.2、4G模塊(開(kāi)發(fā)板)無(wú)法輸出日志


  • 參考1.1.3章節(jié),先檢查一下數(shù)據(jù)線、供電問(wèn)題
  • AT版本固件不支持通過(guò)Luatools trace窗口輸出日志,通過(guò)sscom等串口工具,連接ASR Modem Device AT口,發(fā)送ATI命令檢查一下版本號(hào)是否正確
  • 聯(lián)系代碼開(kāi)發(fā)者,確認(rèn)一下代碼中是否關(guān)閉了日志輸出功能
  • 聯(lián)系代碼開(kāi)發(fā)者,確認(rèn)一下代碼中是否配置了usb口、uart1或者uart2輸出日志功能,Luatools主界面選擇的打印口要和代碼配置一致
  • 參考1.1.5章節(jié),確認(rèn)下燒錄或者打包時(shí)選擇的打印Trace口是否和Luatools主界面選擇的打印口一致
  • ? 1.2.3、日志輸出過(guò)程中,突然停止輸出


  • 如果是4G模塊usb口輸出日志,點(diǎn)擊“關(guān)閉端口”后再點(diǎn)擊“打開(kāi)端口”;如果是4G 模塊串口或者2G模塊輸出日志,點(diǎn)擊“重啟端口”
  • 參考1.2.1和1.2.2排查
  • ? 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可以抓取、輸出哪幾種日志


  • 可以抓取、實(shí)時(shí)顯示、自動(dòng)保存Luat版本的腳本日志,腳本日志文件自動(dòng)保存在工具根目錄的log/*.trc中
  • 可以抓取、自動(dòng)保存4G模塊AT版本或者Luat版本的底層日志,底層日志文件自動(dòng)保存在工具根目錄的log\4gdiag*. sdl中,但是不可以實(shí)時(shí)顯示;如果需要調(diào)試4G模塊AT版本問(wèn)題,可以用串口工具直接監(jiān)控AT口的命令交互日志【參考:http://doc.openluat.com/article/600/0 】或者單片機(jī)打印出來(lái)AT交互日志來(lái)分析問(wèn)題;或者吧sdl文件發(fā)給合宙技術(shù)支持人員分析
  • 不可以抓取2G模塊AT版本日志。如果需要調(diào)試2G模塊AT版本問(wèn)題,可以用串口工具直接監(jiān)控AT口的命令交互日志【參考:http://doc.openluat.com/article/600/0 】或者單片機(jī)打印出來(lái)AT交互日志來(lái)分析問(wèn)題;或者按照合宙技術(shù)支持人員的要求,參考:http://oldask.openluat.com/article/63 來(lái)抓取日志
  • 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工作異常、閃退


  • 點(diǎn)擊菜單“幫助->檢查新版本”,更新最新版本
  • 檢查電腦的任務(wù)管理中是否有多個(gè)luatools.exe,如果有,關(guān)閉所有后,再重啟Luatools
  • 最新版本如果仍然有問(wèn)題,提供Luatools根目錄下的*failed.log給合宙技術(shù)支持人員分析
  • ? 1.3.3、不小心刪除了源碼,有辦法找回嗎

  • Luatools根目錄下ClearScr中會(huì)保存最后一次本地?zé)浕蛘呱闪慨a(chǎn)文件時(shí)的所有源碼文件
  • 如果第1步不是你想要的,找一個(gè)有源碼的設(shè)備,聯(lián)系合宙技術(shù)支持人員處理
  • ? 1.3.4、如何抓取模塊死機(jī)時(shí)的日志


  • 2G模塊參考:http://oldask.openluat.com/article/63
  • 4G模塊參考:http://oldask.openluat.com/article/910
  • ? 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ì)突然不輸出日志


    ? 按照如下順序嘗試解決

  • 下載線可能不穩(wěn)定,更換使用ft232芯片串口線;抓日志過(guò)程中最好不要頻繁的碰到串口線,可能會(huì)受到干擾
  • 左下角的command編輯框中輸入creconnect命令后回車(chē)【注意:host rx要和串口線連接,才能正常接收命令】
  • 重新插拔串口線,重啟coolwatcher
  • 如果左下角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”


  • 更換一根好點(diǎn)兒usb線,或者更換一個(gè)電腦usb口,或者更換電腦試試
  • 工具目錄下config/param.ini中,確認(rèn)一下modleType配置是否正確
  • 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ī)


  • 測(cè)量vddio引腳電壓,如果是2.8V左右,表示已經(jīng)正常開(kāi)機(jī),“無(wú)法開(kāi)機(jī)”純屬誤判;如果是低電平0V左右,表示沒(méi)有開(kāi)機(jī)
  • vbat引腳電壓3.6V到4.2V,powerkey拉低至少2秒,才有可能開(kāi)機(jī);測(cè)量vbat引腳和powerkey狀態(tài),確認(rèn)是否滿足要求
  • 模塊峰值需要2A電流,供電跌落不能太多
  • 注意:reset引腳拉低是關(guān)機(jī)功能,不是重啟功能
  • 如果使用了硬件看門(mén)狗,可能因?yàn)橛布撮T(mén)狗外圍電路異常導(dǎo)致模塊一直在重啟,可參考20.10章節(jié)確認(rèn)
  • 如果上電后,發(fā)現(xiàn)電流不跑,host口沒(méi)有日志輸出,可能是開(kāi)機(jī)過(guò)程中發(fā)生了死機(jī)問(wèn)題;在powerkey一直拉低自動(dòng)開(kāi)機(jī)模式下,如果vrtc外部供電,就會(huì)造成vbat放電過(guò)慢,在放電沒(méi)有完全時(shí)進(jìn)行上電,會(huì)導(dǎo)致死機(jī)
  • AT版本,上電后,如果發(fā)現(xiàn)電流不跑,日志跑到一半也停止了,網(wǎng)絡(luò)指示燈正常閃爍,可能是開(kāi)機(jī)過(guò)程中在某個(gè)task里死循環(huán),曾經(jīng)有一個(gè)客戶的板子,開(kāi)機(jī)時(shí)模塊UART1_RX管腳被外部拉低導(dǎo)致模塊一直有串口中斷,導(dǎo)致死循環(huán)
  • AT版本,如果AT口輸出NORMAL POWER DOWN的URC提示,表示正常關(guān)機(jī),有兩種情況會(huì)導(dǎo)致這種關(guān)機(jī)
    ? 1) 開(kāi)機(jī)狀態(tài)下,檢測(cè)到powerkey被拉低1.5秒以上時(shí)間
    ? 2) 收到了AT+CPOWD=1命令
  • 3.2、2G模塊無(wú)法關(guān)機(jī)


  • AT固件,開(kāi)機(jī)狀態(tài)下,powerkey引腳從高電平拉低1.5秒以上,或者發(fā)送AT+CPOWD命令,都會(huì)執(zhí)行關(guān)機(jī)流程;如果采用了“powerkey一直拉低”的上電自動(dòng)開(kāi)機(jī)設(shè)計(jì),則無(wú)法通過(guò)powerkey或者AT+CPOWD命令關(guān)機(jī)【固件后,檢測(cè)到powerkey拉低,會(huì)再次自動(dòng)開(kāi)機(jī)】,只能vbat直接斷電關(guān)機(jī)
  • Luat固件,開(kāi)機(jī)狀態(tài)下,require了lib中powerKey功能模塊,配置了長(zhǎng)按powerkey關(guān)機(jī),長(zhǎng)按powerkey按鍵,或者在腳本中直接調(diào)用rtos.poweroff()接口,都會(huì)執(zhí)行關(guān)機(jī)流程;如果采用了“powerkey一直拉低”的上電自動(dòng)開(kāi)機(jī)設(shè)計(jì),則無(wú)法通過(guò)powerkey或者rtos.poweroff()接口關(guān)機(jī)【固件后,檢測(cè)到powerkey拉低,會(huì)再次自動(dòng)開(kāi)機(jī)】,只能vbat直接斷電關(guān)機(jī)
  • 注意:模塊燒錄軟件后,如果沒(méi)有徹底斷一次電,自動(dòng)開(kāi)機(jī)后,powerkey按鍵、AT+CPOWD命令、rtos.poweroff()接口都無(wú)法成功關(guān)機(jī),實(shí)際的現(xiàn)象表現(xiàn)為:關(guān)機(jī)后,會(huì)一直不斷重啟。這個(gè)是芯片設(shè)計(jì)的一個(gè)缺陷,無(wú)法修改
  • 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ī)


  • AT固件,開(kāi)機(jī)狀態(tài)下,powerkey引腳從高電平拉低1.5秒以上,或者發(fā)送AT+CPOWD命令,都會(huì)執(zhí)行關(guān)機(jī)流程;如果采用了“EXTON1N一直拉低”的上電自動(dòng)開(kāi)機(jī)設(shè)計(jì),則無(wú)法通過(guò)powerkey或者AT+CPOWD命令關(guān)機(jī)【關(guān)機(jī)后,檢測(cè)到EXTON1N拉低,會(huì)再次自動(dòng)開(kāi)機(jī)】,只能vbat直接斷電關(guān)機(jī)
  • Luat固件,開(kāi)機(jī)狀態(tài)下,在腳本中直接調(diào)用rtos.poweroff()接口,都會(huì)執(zhí)行關(guān)機(jī)流程;如果采用了“EXTON1N一直拉低”的上電自動(dòng)開(kāi)機(jī)設(shè)計(jì),則無(wú)法通過(guò)rtos.poweroff()接口關(guān)機(jī)【關(guān)機(jī)后,檢測(cè)到EXTON1N拉低,會(huì)再次自動(dòng)開(kāi)機(jī)】,只能vbat直接斷電關(guān)機(jī)
  • 將模塊的第142腳:EXTON1N直接接地可以實(shí)現(xiàn)上電自動(dòng)開(kāi)機(jī)功能。需要注意,在上電開(kāi)機(jī)模式下,將無(wú)法關(guān)機(jī),只要VBAT管腳的電壓大于開(kāi)機(jī)電壓即使軟件調(diào)用關(guān)機(jī)接口,模塊仍然會(huì)再開(kāi)機(jī)起來(lái)。另外,在此模式下,要想成功開(kāi)機(jī)起來(lái)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.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模塊重啟


  • 如果是Luat二次開(kāi)發(fā)模式,使用官方發(fā)布的AT固件或者Luat固件+隨便一個(gè)demo,測(cè)試確認(rèn)下,是不是自己寫(xiě)的軟件有問(wèn)題
  • vbat引腳電壓3.6V到4.2V,使用示波器測(cè)量vbat電壓是否有跌落;模塊峰值需要2A電流,可使用直流穩(wěn)壓電源直接對(duì)vbat供電對(duì)比測(cè)試;如果有問(wèn)題,參考:http://doc.openluat.com/article/600/0 分析處理
  • 如果使用了硬件看門(mén)狗,可能因?yàn)橛布撮T(mén)狗外圍電路異常導(dǎo)致模塊一直在重啟,可參考20.10章節(jié)確認(rèn)
  • AT版本,如果無(wú)法抓到日志,直接聯(lián)系合宙技術(shù)支持人員處理;如果可以抓到日志,按照如下步驟處理:
    ? 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)程分析
  • Luat版本,如果無(wú)法抓到日志,直接聯(lián)系合宙技術(shù)支持人員處理;如果可以抓到日志,搜索poweron reason:
    ? 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模塊重啟


  • 如果是Luat二次開(kāi)發(fā)模式,使用官方發(fā)布的AT固件或者Luat固件+隨便一個(gè)demo,測(cè)試確認(rèn)下,是不是自己寫(xiě)的軟件有問(wèn)題
  • vbat引腳電壓3.4V到4.3V,使用示波器測(cè)量vbat電壓是否有跌落;模塊峰值需要2A電流,斷開(kāi)模塊與外部的連接,使用直流穩(wěn)壓電源直接對(duì)vbat供電對(duì)比測(cè)試
  • AT版本,如果無(wú)法抓到日志,直接聯(lián)系合宙技術(shù)支持人員處理;如果可以抓到日志,參考1.2.6章節(jié),提供sdl日志文件給合宙技術(shù)支持人員分析;如果需要設(shè)置為死機(jī)模式,復(fù)現(xiàn)問(wèn)題進(jìn)一步分析,參考 http://oldask.openluat.com/article/910 處理
  • Luat版本,如果無(wú)法抓到日志,直接聯(lián)系合宙技術(shù)支持人員處理;如果可以抓到日志,搜索poweron reason:
    ? 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)


  • AT版本,發(fā)送AT+ATWMFT=99命令查詢,如果返回SUCC表示已校準(zhǔn),其余返回表示未校準(zhǔn)
  • Luat版本,日志中搜索ATWMFT,看AT+ATWMFT=99命令的返回值,如果返回SUCC表示已校準(zhǔn),其余返回表示未校準(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)就正常

  • AT版本,發(fā)送ATMRD_CDF=Q,GsmCalData.nvm、ATMRD_CDF=Q,aplp_rf_calibration.nvm、AT*MRD_CDF=Q,LteCalData.nvm命令分別查詢2G、3G、4G是否校準(zhǔn),如果返回1表示已校準(zhǔn),其余返回表示未校準(zhǔn)
  • Luat版本,日志中搜索MRD_CDF,看ATMRD_CDF=Q,GsmCalData.nvm、ATMRD_CDF=Q,aplp_rf_calibration.nvm、AT*MRD_CDF=Q,LteCalData.nvm命令的返回值,如果返回1表示已校準(zhǔn),其余返回表示未校準(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)景如下:

  • 如果開(kāi)機(jī)后過(guò)一段時(shí)間(這個(gè)時(shí)間超過(guò)開(kāi)機(jī)查詢imei、sn的時(shí)間,例如連接后臺(tái)服務(wù)器)才會(huì)用到imei和sn,則用到時(shí)直接調(diào)用讀取接口即可,因?yàn)檫@個(gè)時(shí)間點(diǎn)肯定已經(jīng)查詢到結(jié)果
  • 如果在查詢到imei、sn之后,立即執(zhí)行某個(gè)動(dòng)作,則需要在自己寫(xiě)的腳本中訂閱查詢結(jié)果的消息,參考如下代碼
    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

  • 如果是合宙研發(fā)人員在開(kāi)發(fā)調(diào)試過(guò)程中,發(fā)給客戶體驗(yàn)測(cè)試的模塊,可能會(huì)漏寫(xiě)IMEI
  • 如果是通過(guò)官方渠道購(gòu)買(mǎi)的2G模塊,請(qǐng)注意觀察下模塊標(biāo)簽。因合宙工廠掃描頭偏移原因,2019年2月份、3月份(3月20日之前)生產(chǎn)的部分2G模塊,IMEI和標(biāo)簽上的不一致,IMEI為默認(rèn)值359759002514931,遇到此類模塊,需要走售后流程換貨或者維修。模塊標(biāo)簽上SN的第3到10位表示生產(chǎn)日期,例如SN:05201902270907815,20190227表示2019年2月27日生產(chǎn)
  • 曾經(jīng)有一個(gè)客戶,在生產(chǎn)時(shí)讓合宙工廠代燒錄客戶固件,客戶固件中有一個(gè)設(shè)計(jì)“燒錄固件后,第一次運(yùn)行時(shí),會(huì)讀取模塊imei,存儲(chǔ)到文件系統(tǒng)中,以后直接使用文件系統(tǒng)中存儲(chǔ)的imei”,因?yàn)楹现婀S的生產(chǎn)流程是“先燒錄固件,再寫(xiě)imei”,所以導(dǎo)致這批客戶設(shè)備出廠后,發(fā)現(xiàn)文件系統(tǒng)中存儲(chǔ)的imei都是默認(rèn)值。所以讓合宙代燒錄的客戶一定要注意imei使用的軟件設(shè)計(jì)邏輯:直接實(shí)時(shí)查詢使用即可,不要再另外存儲(chǔ)一份使用
  • 其余情況,先根據(jù)第五章節(jié)確認(rèn)下模塊判斷下有沒(méi)有校準(zhǔn),同時(shí)提供日志給合宙技術(shù)支持人員分析
  • 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ě)接口如下:

  • AT版本:AT+WISN?讀取sn;AT+WISN="…"寫(xiě)sn
  • Luat版本:misc.getSn()讀取sn;misc.setSn(…)寫(xiě)sn
  • 七、SIM卡問(wèn)題

    7.1、支持中國(guó)大陸哪些運(yùn)營(yíng)商


  • 2G模塊:僅支持中國(guó)移動(dòng)和中國(guó)聯(lián)通(2G、3G、4G卡),由于中國(guó)聯(lián)通關(guān)閉了2G網(wǎng)絡(luò),建議使用用中國(guó)移動(dòng)卡
  • 4G模塊:不同型號(hào)的模塊支持的運(yùn)營(yíng)商不同,因不斷推出新的模塊型號(hào),故此處不再一一羅列;請(qǐng)登錄 www.openluat.com,打開(kāi)產(chǎn)品中心,根據(jù)使用的模塊型號(hào)自行確認(rèn)
  • 7.2、是否支持中國(guó)港澳臺(tái)、外國(guó)運(yùn)營(yíng)商


  • 2G模塊:只要有2G網(wǎng)絡(luò)的地區(qū)運(yùn)營(yíng)商,理論上都支持,建議在當(dāng)?shù)貙?shí)際測(cè)試下;目前在中國(guó)港澳臺(tái)、印度、中東、美國(guó)、非洲、德國(guó)都實(shí)地測(cè)試過(guò)可用
  • 4G模塊:根據(jù)模塊型號(hào)支持的頻段,參考:http://oldask.openluat.com/article/946 各個(gè)國(guó)家和地區(qū)的網(wǎng)絡(luò)頻段,自行判斷是否可以使用
    例如,要判斷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卡熱插拔嗎


    ?支持

  • 2G模塊
    ? 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腳
  • 4G模塊
    ? 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卡,按照如下步驟排查:

  • 進(jìn)入飛行模式后,會(huì)導(dǎo)致找不到sim卡,確認(rèn)下是否為進(jìn)入飛行模式所致。AT固件發(fā)送AT+FCUN=0命令、Luat版本執(zhí)行net.switchFly(true)接口都會(huì)導(dǎo)致進(jìn)入飛行模式,從而不識(shí)卡。請(qǐng)檢查是否自己的代碼邏輯控制了主動(dòng)進(jìn)入飛行模式;請(qǐng)檢查自己的代碼應(yīng)用邏輯
  • 確認(rèn)卡是否插反、插錯(cuò)。例如合宙4G模塊pcie底板,因防呆設(shè)計(jì)不友好,很容易出現(xiàn)sim卡插反的問(wèn)題,見(jiàn)下圖所示:
    [外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來(lái)直接上傳(img-Ry0OABRB-1619422566531)(https://oldask.openluat.com/image/show/attachments-2020-02-uCSSInC15e437c7292d22.png “undefined”)]
  • 確認(rèn)模塊是否支持所使用的運(yùn)營(yíng)商的卡:2G模塊僅支持移動(dòng)和聯(lián)通卡,4G模塊型號(hào)不同支持的運(yùn)行商也不同
  • 對(duì)比交叉測(cè)試,卡插到手機(jī)上,是否正常:
    ? 1) 如果不正常,檢查下卡片是否變形、氧化,用卡背貼膠帶、膠水灌注、擦拭卡片等方式再嘗試,如果都不行,考慮換卡吧
    ? 2) 如果正常,把此卡放到其他板子上,如果其他板子正常,可能屬于板子單體問(wèn)題;如果其他板子也不正常,應(yīng)該是板子硬件設(shè)計(jì)問(wèn)題。參考第5步分析
  • 其余情況參考:http://oldask.openluat.com/article/960 進(jìn)一步分析,如果不確定波形是否正確,請(qǐng)拍下測(cè)量的波形視頻,發(fā)出來(lái)分析
  • 發(fā)出來(lái)SIM卡部分的原理圖給合宙FAE分析
  • 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)景如下:

  • 如果開(kāi)機(jī)后過(guò)一段時(shí)間(這個(gè)時(shí)間超過(guò)開(kāi)機(jī)查詢iccid、imsi的時(shí)間,例如連接后臺(tái)服務(wù)器)才會(huì)用到iccid和imsi,則用到時(shí)直接調(diào)用讀取接口即可,因?yàn)檫@個(gè)時(shí)間點(diǎn)肯定已經(jīng)查詢到結(jié)果
  • 如果在查詢到iccid、imsi之后,立即執(zhí)行某個(gè)動(dòng)作,則需要在自己寫(xiě)的腳本中訂閱查詢結(jié)果的消息,參考如下代碼
  • 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)碼:

  • sim卡出廠時(shí),可以寫(xiě)入自己的手機(jī)號(hào)碼到sim卡中,但這不是強(qiáng)制要求的。在中國(guó),運(yùn)營(yíng)商制卡時(shí)基本上都不會(huì)寫(xiě)入手機(jī)號(hào)碼。如果可以確認(rèn)自己用的sim卡中已經(jīng)存儲(chǔ)了手機(jī)號(hào)碼,可以通過(guò)如下方式讀取手機(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é)果
  • 模塊開(kāi)機(jī)后,sim卡向短信平臺(tái)發(fā)送一條短信(短信內(nèi)容中可以包含imei或者imsi),短信平臺(tái)收到短信后,識(shí)別手機(jī)號(hào)碼后,可通過(guò)如下方式通知模塊手機(jī)號(hào)碼:
    ? 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)題如下:

  • 僅2G模塊支持虛擬卡,虛擬卡有專門(mén)的模塊型號(hào),只能在合宙工廠寫(xiě)入虛擬卡數(shù)據(jù)
  • 不支持虛擬卡的2G模塊,客戶不能自行寫(xiě)入虛擬卡數(shù)據(jù)支持虛擬卡功能
  • 支持虛擬卡的模塊,如果燒錄了Luat版本的舊版本lod或者tts的lod,可能會(huì)擦除虛擬卡數(shù)據(jù),導(dǎo)致虛擬卡功能失效。對(duì)于必須使用Luat版本tts lod的情況,建議使用Air202F或者Air268F支持虛擬卡的模塊,可以燒錄Luat版本的8955F lod,不會(huì)擦除虛擬卡數(shù)據(jù)
  • 實(shí)體卡和虛擬卡同時(shí)存在時(shí),優(yōu)先使用實(shí)體卡,不支持實(shí)時(shí)切換功能
  • 虛擬卡為純流量卡,不支持語(yǔ)音和短信業(yè)務(wù)
  • 虛擬卡也是運(yùn)營(yíng)商提供的一種技術(shù),資費(fèi)和實(shí)體卡一致
  • 7.8、貼片卡(ESIM)


    ? 目前,支持貼片卡的模塊型號(hào)列表如下:

  • 2G模塊:Air202支持
  • 4G模塊:Air720SL支持
  • 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)系淘寶客服處理:

  • 存在試用期,計(jì)費(fèi)規(guī)則如下:
    ? 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ī)
  • 欠費(fèi)后不可使用,到期前提供iccid或者imei進(jìn)行續(xù)費(fèi);過(guò)期超過(guò)2個(gè)月不能續(xù)費(fèi),自動(dòng)銷(xiāo)號(hào)
  • 支持流量池、支持轉(zhuǎn)移卡的歸屬賬號(hào)
  • 平臺(tái)更新有24小時(shí)的延遲,可能會(huì)造成“已用流量為0、流量不符、已正常使用卻提示沉默期等物聯(lián)網(wǎng)卡狀態(tài)不符”的問(wèn)題,出現(xiàn)此類問(wèn)題,請(qǐng)24小時(shí)之后,再登錄平臺(tái)查看
  • 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ù)如下情況分析:

  • 如果模塊不支持虛擬卡,直接忽略此提示,屬于誤報(bào)
  • 如果模塊支持虛擬卡,并且當(dāng)前沒(méi)有外置實(shí)體卡,如果上網(wǎng)正常,屬于誤報(bào);如果上網(wǎng)不正常,提供日志給合宙技術(shù)支持人員分析
  • 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)的天線,下面分情況討論:

  • 模塊天線:PCB天線、FPC天線、彈簧天線,必須要到正規(guī)天線廠做匹配性調(diào)試
  • 模塊天線:棒狀天線、外置吸盤(pán)天線,如果沒(méi)有條件調(diào)試,一定要選擇抗干擾強(qiáng),穩(wěn)定性好的天線,這樣射頻受到的干擾會(huì)比較小
  • GPS陶瓷天線,如果大板和陶瓷天線面積都比較小,一定要去正規(guī)天線廠調(diào)試。如果面積都比較大,實(shí)在沒(méi)條件調(diào)試,可以不去調(diào)試
  • ? 建議天線選配按照如下順序執(zhí)行:

  • 有條件到天線廠調(diào)試天線的話,一定要去天線廠調(diào)試
  • 沒(méi)條件在天線廠調(diào)試天線的話,可以選擇合宙官方提供的天線或者其他渠道購(gòu)買(mǎi)的天線。注意:直接購(gòu)買(mǎi)現(xiàn)成的天線,產(chǎn)品的射頻性能無(wú)法發(fā)揮到最優(yōu),購(gòu)買(mǎi)天線時(shí),價(jià)格越貴,性能越好,按照自己的預(yù)算去選擇,不建議選擇差的天線。差天線在網(wǎng)絡(luò)環(huán)境較差的情況下,是很容易出現(xiàn)信號(hào)不穩(wěn)定、駐網(wǎng)失敗、連接服務(wù)器斷線等網(wǎng)絡(luò)問(wèn)題。如果要選擇合宙官方的天線,打開(kāi):m.openluat.com后,進(jìn)入“周邊工具”頁(yè)面選購(gòu)
  • 8.2、天線使用環(huán)境


    ? 天線調(diào)試好之后,使用環(huán)境對(duì)天線性能也有影響,需要注意的問(wèn)題如下:

  • 模塊天線:不能放在全封閉或者半封閉的金屬盒子里,對(duì)天線性能影響很大
  • GPS天線:天線上方不能有金屬物質(zhì),不能有較厚的遮擋物(例如幾厘米的塑料盒子肯定不行,1毫米的塑料盒子可以)
  • 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)的軟件


  • AT版本:開(kāi)機(jī)后發(fā)送ATS0=1命令到模塊,接收到來(lái)電,振鈴1聲后會(huì)自動(dòng)接聽(tīng)
  • Luat版本:在自己的腳本中添加如下代碼
    ? 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)弱)


  • 參考7.4章節(jié)檢查下是否不識(shí)卡
  • 參考第八章確認(rèn)天線是否匹配
  • 檢查天線是否連接、天線連接座子的接口是否正確、天線是否損壞【換天線確認(rèn)】
  • 沒(méi)有注冊(cè)上網(wǎng)絡(luò)(參考第十章節(jié)),也可能會(huì)導(dǎo)致沒(méi)有信號(hào)
  • 靜電擊穿等原因可能導(dǎo)致模塊射頻損壞【可以同一張卡,用其他模塊對(duì)比測(cè)試,初步確認(rèn)此問(wèn)題】
  • 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)度的查詢方法:

  • AT版本:通過(guò)AT+CSQ查詢,取值范圍參考AT手冊(cè)【手冊(cè)中搜索AT+CSQ】
  • Luat版本:通過(guò)net.getRssi()返回信號(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ò)慢


  • 參考7.4章節(jié)檢查下是否不識(shí)卡
  • 檢查下sim卡是否欠費(fèi)【4G模塊有一種欠費(fèi)表現(xiàn):無(wú)法注冊(cè)4G網(wǎng)絡(luò),可以注冊(cè)2G網(wǎng)絡(luò)】
  • 參考第八章確認(rèn)天線是否匹配
  • 檢查天線是否連接、天線連接座子的接口是否正確、天線是否損壞【換天線確認(rèn)】
  • 換卡、換板子對(duì)比測(cè)試,確保使用正常的硬件和sim卡測(cè)試
  • 參考7.1和7.2章節(jié),確保模塊支持當(dāng)?shù)氐木W(wǎng)絡(luò)制式
  • 偏遠(yuǎn)地區(qū)的網(wǎng)絡(luò)覆蓋可能不全,或者產(chǎn)品的天線射頻指標(biāo)不合格,想辦法用手機(jī)對(duì)比測(cè)試;用手機(jī)對(duì)比測(cè)試時(shí),注意手機(jī)要設(shè)置為和模塊同樣的網(wǎng)絡(luò)制式,同時(shí)借助Cellular-Z工具確認(rèn),詳情參考:https://oldask.openluat.com/article/1002
  • 環(huán)境因素(車(chē)庫(kù)、地下室、電梯等)
  • 確認(rèn)下是否所有設(shè)備在同一地點(diǎn)表現(xiàn)是否一致,有可能是偽基站造成的
  • 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ò)的速度呢,有如下兩種方式:

    優(yōu)勢(shì)劣勢(shì)
    全網(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ò)頻段


  • 僅搜索2G網(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”)
  • 僅搜索4G網(wǎng)絡(luò)
    ? 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ò)


  • AT版本,有如下兩種方式可以查詢
    ? 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ò)
  • Luat版本,有如下兩種方式可以查詢
    ? 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):

  • 通過(guò)AT+EEMOPT=1設(shè)置為主動(dòng)查詢模式,在需要查詢時(shí),發(fā)送AT+EEMGINFO?查詢
  • 通過(guò)AT+EEMOPT=2,value設(shè)置為主動(dòng)上報(bào)模式,根據(jù)value設(shè)置的上報(bào)周期定時(shí)上報(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


  • AT版本
    ? 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ù),才能正常使用
  • Luat版本
    ? 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ù)器失敗


  • 參考11.2章節(jié),檢查APN參數(shù)是否設(shè)置正確
  • 如果有其他廠家的模塊,對(duì)比測(cè)試下是否連接正常
  • 如果無(wú)法百分百保證服務(wù)器配置沒(méi)問(wèn)題,最好在服務(wù)器端用wireshark抓包,或者在服務(wù)器上安裝一個(gè)第三方工具,開(kāi)啟一個(gè)服務(wù)器端口來(lái)對(duì)比測(cè)試
  • 十二、socket問(wèn)題

    12.1、連接服務(wù)器失敗


  • 服務(wù)器必須是公網(wǎng)地址
  • 使用PC上的TCP UDP測(cè)試工具客戶端、或者mqtt.fx,連接服務(wù)器確認(rèn)一下是否可以連接成功,排除服務(wù)器故障
  • 如果連接ssl服務(wù)器,確認(rèn)下core文件是否支持ssl功能(例如2G模塊的某些core文件不支持ssl功能)
  • 2G模塊不要使用中國(guó)聯(lián)通卡
  • 檢查下模塊信號(hào)、網(wǎng)絡(luò)注冊(cè)、網(wǎng)絡(luò)附著、PDP激活狀態(tài)
  • 檢查下SIM卡是否欠費(fèi)【4G模塊有一種欠費(fèi)表現(xiàn):無(wú)法注冊(cè)4G網(wǎng)絡(luò),可以注冊(cè)2G網(wǎng)絡(luò)】
  • 提供日志給合宙技術(shù)支持人員
    ? 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)


  • 檢查下是否存在代碼邏輯錯(cuò)誤,導(dǎo)致異常
  • 檢查下是否不斷重啟,導(dǎo)致異常
  • 檢查下服務(wù)器網(wǎng)絡(luò)是否穩(wěn)定,不要用內(nèi)網(wǎng)穿透方式搭建服務(wù)器
  • 檢查下使用環(huán)境是否網(wǎng)絡(luò)覆蓋不好,例如車(chē)庫(kù)、地下、電梯、山區(qū)等
  • 2G模塊不要使用中國(guó)聯(lián)通卡
  • 檢查下模塊信號(hào)、網(wǎng)絡(luò)注冊(cè)、網(wǎng)絡(luò)附著、PDP激活狀態(tài)
  • 排查是否為設(shè)備天線問(wèn)題:發(fā)出來(lái)設(shè)備的天線調(diào)試指標(biāo)參數(shù)給合宙技術(shù)支持人員;曾經(jīng)有一個(gè)客戶天線指標(biāo)明顯有問(wèn)題,導(dǎo)致10幾個(gè)小時(shí)出現(xiàn)30次左右掉線;后來(lái)重新調(diào)試天線之后,40個(gè)小時(shí)出現(xiàn)幾次掉線
  • 如果經(jīng)常出現(xiàn)連接被動(dò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í)引起的
  • 排查是否為網(wǎng)絡(luò)問(wèn)題:如果同一地點(diǎn)的所有設(shè)備都有問(wèn)題,可能和網(wǎng)絡(luò)環(huán)境有關(guān)系;使用手機(jī)設(shè)置為同樣的網(wǎng)絡(luò)模式,對(duì)比測(cè)試確認(rèn)下;或者把設(shè)備移動(dòng)到其他距離此地點(diǎn)比較遠(yuǎn)的地方對(duì)比測(cè)試。【注意:目前2G網(wǎng)絡(luò)環(huán)境在逐步惡化,在網(wǎng)絡(luò)較好的情況下,24小時(shí)出現(xiàn)10次以內(nèi)的掉線都可以認(rèn)為正常,僅僅作為經(jīng)驗(yàn)值參考】
  • 如果要降低掉線率,可通過(guò)如下方式設(shè)置【注意:在網(wǎng)絡(luò)環(huán)境不變的情況下,降低掉線率意味著會(huì)增加響應(yīng)延時(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)降低掉線率
  • 排查是否設(shè)備單體問(wèn)題:如果同一地點(diǎn),某些設(shè)備正常,某些設(shè)備異常,按照如下幾種情況分析
    ? 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ū)擁堵造成的
  • 提供日志給合宙技術(shù)支持人員
    ? 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ù)


  • AT版本:發(fā)送數(shù)據(jù)的AT命令,例如AT+CIPSEND、AT+MQTTPUB、AT+HTTPDATA都有支持的最大長(zhǎng)度,參考AT手冊(cè),根據(jù)這些AT命令單次發(fā)送支持的最大長(zhǎng)度,MCU端拆包發(fā)送
  • Luat版本:lib中socket、mqtt、http功能模塊對(duì)數(shù)據(jù)發(fā)送進(jìn)行了封裝,支持一次傳入大量數(shù)據(jù)【只要內(nèi)存夠用】,lib中自動(dòng)分包進(jìn)行發(fā)送
  • 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ā)模式:

  • 發(fā)送的數(shù)據(jù)量小,并且發(fā)送頻率低,數(shù)據(jù)發(fā)送速度遠(yuǎn)遠(yuǎn)不會(huì)超過(guò)core中的10220字節(jié)大小;沒(méi)有精確地判斷標(biāo)準(zhǔn),可以簡(jiǎn)單的按照3分鐘不超過(guò)10220字節(jié)來(lái)判斷;曾經(jīng)有一個(gè)不適合快發(fā)模式的例子如下:用戶使用Luat版本的http上傳一個(gè)幾十K的文件,設(shè)置了快發(fā)模式,導(dǎo)致一直發(fā)送失敗,因?yàn)檠h(huán)的向core中的緩沖區(qū)插入數(shù)據(jù),插入數(shù)據(jù)的速度遠(yuǎn)遠(yuǎn)超過(guò)發(fā)送數(shù)據(jù)到服務(wù)器的速度,所以很快就導(dǎo)致緩沖區(qū)慢,再插入數(shù)據(jù)時(shí),就直接返回失敗
  • 對(duì)每次發(fā)送的數(shù)據(jù),不需要確認(rèn)發(fā)送結(jié)果
  • 數(shù)據(jù)發(fā)送功能不能影響其他功能的及時(shí)響應(yīng)
    注意: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ù)格式都支持

  • AT版本:建議使用AT+CIPSEND命令時(shí),指定數(shù)據(jù)長(zhǎng)度,此方式支持任何格式的數(shù)據(jù)發(fā)送,使用方法參考AT手冊(cè)
  • Luat版本:socket的send接口,支持任何格式的數(shù)據(jù)發(fā)送,參數(shù)為string類型,其他table等數(shù)據(jù)類型,都要轉(zhuǎn)換為string類型之后,才能發(fā)送
  • 12.8、如何查詢錯(cuò)誤碼


    ? 參考:http://oldask.openluat.com/article/61

    12.9、最多同時(shí)支持多少個(gè)連接


    參考:http://oldask.openluat.com/article/61

  • 2G模塊:非SSL連接最多8個(gè);在內(nèi)存空間充足的情況下,SSL連接個(gè)數(shù)沒(méi)有限制
  • 4G模塊:AT版本最多8個(gè)連接;Luat版本最多10個(gè)連接
    注意: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ù)外,還有如下幾部分的流量消耗:

  • 連接服務(wù)器消耗流量
  • http請(qǐng)求時(shí)有http頭,服務(wù)器下發(fā)數(shù)據(jù)時(shí)也有http頭
  • 每包數(shù)據(jù)都有tcp頭和ip頭
  • 重傳也會(huì)消耗流量
  • 與服務(wù)器斷開(kāi)連接也需要消耗流量
  • 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è)模塊:

  • 第一次激活pdp后,模塊端顯示的ip地址為:10.155.141.25,與服務(wù)器連接成功后,服務(wù)器端顯示此模塊的ip地址和端口為:117.132.197.166:48191,與服務(wù)器斷開(kāi)再重連服務(wù)器,此時(shí)服務(wù)器端顯示此模塊的ip地址和端口為:117.132.197.166:48492
  • pdp主動(dòng)去激活,然后再重新激活,模塊端顯示的ip地址為:10.41.220.39,與服務(wù)器連接成功后,服務(wù)器端顯示此模塊的ip地址和端口為:221.178.127.225:40876,與服務(wù)器斷開(kāi)再重連服務(wù)器,此時(shí)服務(wù)器端顯示此模塊的ip地址和端口為:221.178.127.225:40787
    ? 所以這兩種ip地址,對(duì)模塊來(lái)說(shuō)沒(méi)有多大意義,不要用他們來(lái)標(biāo)識(shí)模塊,如果要標(biāo)識(shí)模塊,請(qǐng)使用模塊imei
  • 12.16、數(shù)據(jù)接收緩存問(wèn)題


  • AT版本:使用CIPSTART建立的socket連接,接收數(shù)據(jù)沒(méi)有緩存機(jī)制,收到數(shù)據(jù)后,立即通過(guò)AT口輸出,每包最多1460字節(jié);例如服務(wù)器下發(fā)一個(gè)70KB的文件,模塊會(huì)連續(xù)收到多個(gè)包,通過(guò)AT口連續(xù)多次輸出
  • Luat版本:有緩存機(jī)制,內(nèi)存中有一個(gè)緩存表,緩存表有256個(gè)元素,每個(gè)元素存儲(chǔ)收到的一包數(shù)據(jù)(最多1460字節(jié)),所以最多可以緩存256*1460字節(jié),所有元素都被占用時(shí),socket收到新數(shù)據(jù)時(shí),會(huì)清空緩存表,重新開(kāi)始緩存;需要讀取數(shù)據(jù)時(shí),通過(guò)socket:recv接口主動(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)致重啟
  • 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)如下:

  • 發(fā)送當(dāng)前一包數(shù)據(jù)時(shí),在返回發(fā)送結(jié)果之前,新的數(shù)據(jù)包需要緩存起來(lái)
  • 發(fā)送失敗的數(shù)據(jù)包緩存起來(lái)
  • 緩存數(shù)據(jù)的條數(shù)可以設(shè)置一個(gè)最大值,超過(guò)這個(gè)最大值,根據(jù)業(yè)務(wù)需要,丟棄一些緩存數(shù)據(jù),例如丟棄最早的數(shù)據(jù)
  • 如果協(xié)議允許,可以在一條報(bào)文中發(fā)送多條已緩存的數(shù)據(jù)
  • 連接斷開(kāi)或者數(shù)據(jù)傳輸失敗時(shí),做好重連動(dò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

  • 2G模塊:必須使用帶有ssl功能固件才能支持
    支持如下四種加密套件:
    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)證
  • 4G模塊
    支持證書(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ù)格式都支持

  • AT版本:使用AT+HTTPDATA命令時(shí),指定數(shù)據(jù)長(zhǎng)度,支持任何格式的數(shù)據(jù)發(fā)送,使用方法參考AT手冊(cè)
  • Luat版本:參考http的api手冊(cè),按照參數(shù)要求傳入數(shù)據(jù)即可
  • 13.4、如何查詢錯(cuò)誤碼


  • AT版本:參考AT手冊(cè)
  • Luat版本:參考 http://oldask.openluat.com/article/61
    如果是https連接失敗,參考13.1章節(jié),確認(rèn)下服務(wù)器是否支持“模塊支持的加密套件”
  • 13.5、如何POST文件


  • AT版本:參考AT手冊(cè),主要是使用AT+HTTPDATA命令錄入文件數(shù)據(jù)【最長(zhǎng)支持100KB】后,發(fā)送AT+HTTPACTION=1利用post上傳
  • Luat版本:參考http的demo,在模塊文件系統(tǒng)支持的空間范圍內(nèi),post的文件沒(méi)有大小限制
  • 13.6、為什么POST JSON格式的數(shù)據(jù)會(huì)出現(xiàn)失敗


    檢查一下是否忘記設(shè)置了"Content-Type: application/json"請(qǐng)求頭

  • AT版本:參考AT手冊(cè),2G模塊使用AT+HTTPPARA=“USER_DEFINED”,“Content-Type: application/json”;4G模塊使用AT+HTTPPARA=“USERDATA”,“Content-Type: application/json”
  • Luat版本:參考http的demo,在head參數(shù)中傳入{[“Content-Type”]=“application/json”}
  • 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)失敗


  • 確認(rèn)下使用的core固件是否正確
    ? 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模塊:所有版本都支持
  • 參考13.1章節(jié),檢查服務(wù)器是否支持模塊支持的加密套件
  • 發(fā)日志文件給合宙技術(shù)支持人員分析
  • 十四、mqtt問(wèn)題

    14.1、是否支持ssl


    ? 支持,TLSV1.2

  • 2G模塊:必須使用帶有ssl功能固件才能支持
    支持如下四種加密套件:
    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)證
  • 4G模塊
    支持證書(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)重連


  • AT版本:參考:http://doc.openluat.com/article/625/0 中的異常處理流程
  • Luat版本:參考mqtt demo,實(shí)現(xiàn)自動(dòng)重連即可
  • 14.5、頻繁掉線是什么原因

  • 檢查下是否存在代碼邏輯錯(cuò)誤,導(dǎo)致異常
  • 檢查下是否不斷重啟,導(dǎo)致異常
  • 檢查下服務(wù)器網(wǎng)絡(luò)是否穩(wěn)定,不要用內(nèi)網(wǎng)穿透方式搭建服務(wù)器
  • 檢查下使用環(huán)境是否網(wǎng)絡(luò)覆蓋不好,例如車(chē)庫(kù)、地下、電梯、山區(qū)等
  • 2G模塊不要使用中國(guó)聯(lián)通卡
  • 檢查下模塊信號(hào)、網(wǎng)絡(luò)注冊(cè)、網(wǎng)絡(luò)附著、PDP激活狀態(tài)
  • 排查是否為設(shè)備天線問(wèn)題:發(fā)出來(lái)設(shè)備的天線調(diào)試指標(biāo)參數(shù)給合宙技術(shù)支持人員;曾經(jīng)有一個(gè)客戶天線指標(biāo)明顯有問(wèn)題,導(dǎo)致10幾個(gè)小時(shí)出現(xiàn)30次左右掉線;后來(lái)重新調(diào)試天線之后,40個(gè)小時(shí)出現(xiàn)幾次掉線
  • 如果經(jīng)常出現(xiàn)連接被動(dòng)斷開(kāi):
    ? 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í)引起的
  • 排查是否為網(wǎng)絡(luò)問(wèn)題:如果同一地點(diǎn)的所有設(shè)備都有問(wèn)題,可能和網(wǎng)絡(luò)環(huán)境有關(guān)系;使用手機(jī)設(shè)置為同樣的網(wǎng)絡(luò)模式,對(duì)比測(cè)試確認(rèn)下;或者把設(shè)備移動(dòng)到其他距離此地點(diǎn)比較遠(yuǎn)的地方對(duì)比測(cè)試。【注意:目前2G網(wǎng)絡(luò)環(huán)境在逐步惡化,在網(wǎng)絡(luò)較好的情況下,24小時(shí)出現(xiàn)10次以內(nèi)的掉線都可以認(rèn)為正常,僅僅作為經(jīng)驗(yàn)值參考】
  • 如果要降低掉線率,可通過(guò)如下方式設(shè)置【注意:在網(wǎng)絡(luò)環(huán)境不變的情況下,降低掉線率意味著會(huì)增加響應(yīng)延時(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
  • 排查是否設(shè)備單體問(wèn)題:如果同一地點(diǎn),某些設(shè)備正常,某些設(shè)備異常,按照如下幾種情況分析
    ? 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ū)擁堵造成的
  • 提供日志給合宙技術(shù)支持人員
    ? 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ò)誤碼


  • AT版本:參考AT手冊(cè)
  • Luat版本:參考 http://oldask.openluat.com/article/61
    如果是mqtt ssl連接失敗,參考14.1章節(jié),確認(rèn)下服務(wù)器是否支持“模塊支持的加密套件”
  • 14.12、數(shù)據(jù)接收緩存問(wèn)題


  • AT版本:可通過(guò)AT+MQTTMSGSET命令設(shè)置是否緩存,詳情參考AT手冊(cè)
    ? 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ù)
  • Luat版本:
    內(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)失敗


  • 確認(rèn)下使用的core固件是否正確
    ? 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模塊:所有版本都支持
  • 參考14.1章節(jié),檢查服務(wù)器是否支持模塊支持的加密套件
  • 發(fā)日志文件給合宙技術(shù)支持人員分析

  • 十五、遠(yuǎn)程升級(jí)問(wèn)題


    參考:http://oldask.openluat.com/article/916

    十六、阿里云問(wèn)題

    16.1、如何連接阿里云


  • 2G模塊AT版本:必須使用AT_S_SSL或者AT_S_8955F固件才能支持
    ? 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
  • 2G模塊Luat版本:必須使用帶有SSL或者8955F的core固件,參考aLiYun的demo
  • 4G模塊AT版本
    ? 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
  • 4G模塊Luat版本:參考aLiYun的demo
  • 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)題:

  • 首先從阿里云平臺(tái)導(dǎo)出所有設(shè)備的密鑰保存下來(lái),然后設(shè)備復(fù)現(xiàn)此問(wèn)題后,對(duì)比一下模塊中的設(shè)備密鑰和本地保存的密鑰是否一致:如果不一致,就是模塊端的問(wèn)題;如果一致,就是阿里云平臺(tái)端的問(wèn)題。【注意:必須在設(shè)備正常在線狀態(tài)下,從阿里云平臺(tái)導(dǎo)出密鑰保存下來(lái),設(shè)備復(fù)現(xiàn)問(wèn)題后,對(duì)比才有意義;如果設(shè)備已經(jīng)復(fù)現(xiàn)問(wèn)題,再?gòu)陌⒗镌破脚_(tái)導(dǎo)出密鑰對(duì)比,沒(méi)有意義】
  • 在腳本中增加一個(gè)輔助保存設(shè)備密鑰的功能:連接阿里云成功后,將設(shè)備密鑰保存到nvm中,復(fù)現(xiàn)問(wèn)題后,對(duì)比nvm中的密鑰和sn中存儲(chǔ)的密鑰是否一致
  • ? 在定位出根本原因之前,可通過(guò)如下方式規(guī)避處理:在阿里云上刪除此設(shè)備,然后再重新錄入

    16.4、為什么阿里云連接失敗


  • 確認(rèn)下使用的core固件是否正確
    ? 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模塊:所有版本都支持
  • 確認(rèn)下product key中的大小寫(xiě)是否正確,連接阿里云服務(wù)器時(shí),會(huì)用到這個(gè)product key,大小寫(xiě)敏感,大小寫(xiě)出錯(cuò)會(huì)導(dǎo)致域名解析失敗
  • 默認(rèn)使用模塊imei作為client id連接阿里云,從日志中確認(rèn)下實(shí)際imei和模塊標(biāo)簽上的imie是否一致,如果不一致,可能模塊沒(méi)寫(xiě)imei,參考6.2章節(jié)分析處理
  • 發(fā)日志文件給合宙技術(shù)支持人員分析
  • 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ì)比看下是否有改善:

  • 2G模塊
    ? 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
  • 4G模塊
    ? 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)系


    阿里云網(wǎng)站異常信息模塊動(dòng)作
    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ō)明如下:

  • 一機(jī)一密,有如下兩種方式:
    ? 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端】
  • 一型一密:在連接阿里云過(guò)程中,終端設(shè)備會(huì)自動(dòng)動(dòng)態(tài)注冊(cè),注冊(cè)成功后,阿里云服務(wù)器會(huì)返回對(duì)應(yīng)的DeviceSecret給終端設(shè)備,終端設(shè)備存儲(chǔ)起來(lái)即可【強(qiáng)烈建議存儲(chǔ)在模塊sn中,參考6.4章節(jié);Luat版本也可存儲(chǔ)在nvm中,參考30.3章節(jié);AT版本,如果mcu端可以存儲(chǔ),也可以存儲(chǔ)在mcu端】;之后再去連接阿里云,不需要再次動(dòng)態(tài)注冊(cè),因?yàn)榘⒗镌苾H允許動(dòng)態(tài)注冊(cè)一次,重復(fù)注冊(cè)會(huì)返回錯(cuò)誤
    ? 更多說(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)

  • 2G模塊AT版本:參考AT手冊(cè),使用AT+AMGSMLOC命令查詢
  • 4G模塊AT版本:參考AT手冊(cè),使用AT+CIPGSMLOC命令查詢
  • Luat版本:參考lbsLoc的demo
  • 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ì)有幾千米甚至更多的誤差

  • AT版本:單小區(qū)定位,僅僅將駐留小區(qū)上報(bào)的后臺(tái)參與定位
  • Luat版本:多小區(qū)定位,將實(shí)時(shí)搜索到的所有小區(qū)同時(shí)上報(bào)給后臺(tái)參與定位
    基站定位的誤差都比較大,如果需要準(zhǔn)確定位,請(qǐng)使用支持GPS的模塊,例如Air800、Air530
  • 17.4、為什么基站定位失敗


    ? 搜索到的小區(qū)越多,定位的精度越高;一般來(lái)說(shuō),城市中心定位精度比郊區(qū)和農(nóng)村定位精度高,城市中心的定位精度在幾十米到幾百米不等,郊區(qū)和農(nóng)村的定位精度更低,可能會(huì)有幾千米甚至更多的誤差

  • AT版本:參考AT手冊(cè)的錯(cuò)誤碼,如果返回后臺(tái)查詢位置失敗的錯(cuò)誤,則發(fā)送AT+CREG=2、AT+CEREG=2兩個(gè)AT命令后,根據(jù)注冊(cè)的網(wǎng)絡(luò)制式,發(fā)送AT+CREG?或者AT+CEREG?查詢當(dāng)前駐留的小區(qū)id,然后在電腦瀏覽器中打開(kāi) http://bs.openluat.com/ ,手動(dòng)查找當(dāng)前駐留小區(qū)的位置;如果手動(dòng)可以查到位置,則服務(wù)器存在BUG,直接向技術(shù)支持人員反映問(wèn)題;如果手動(dòng)無(wú)法查到位置,則基站數(shù)據(jù)庫(kù)還沒(méi)有收錄當(dāng)前設(shè)備的小區(qū)位置信息,向技術(shù)支持人員反饋,我們會(huì)盡快收錄
  • Luat版本:
    ? 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ù)


  • AT版本:發(fā)送AT+CGNSTST=1命令,可以打開(kāi)NMEA數(shù)據(jù)輸出功能
  • Luat版本:參考gps v1的demo,添加如下代碼
    gps.setNmeaMode(2, function(nmeaItem) log.info("nmea", nmeaItem) end)
  • 18.5、Air800模塊GPS無(wú)信號(hào)、信號(hào)弱、定位失敗

  • 使用Air800官方開(kāi)發(fā)板+客戶固件對(duì)比測(cè)試:如果Air800官方開(kāi)發(fā)板也存在同樣問(wèn)題,重點(diǎn)檢查以下步驟中的環(huán)境問(wèn)題和軟件問(wèn)題;如果Air800沒(méi)問(wèn)題,重點(diǎn)檢查一下步驟中的硬件問(wèn)題
  • 不能在室內(nèi)測(cè)試,必須到室外測(cè)試;如果只能在室內(nèi)測(cè)試,可以淘寶搜索“gps信號(hào)轉(zhuǎn)發(fā)器”,但是不可用于rtk定位測(cè)試。為什么不能在室內(nèi)測(cè)試,參考:http://oldask.openluat.com/article/66
  • 檢查gps天線
    ? 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)供電
  • gps設(shè)備不要放在筆記本鍵盤(pán)等有電磁干擾的設(shè)備上
  • 參考:http://oldask.openluat.com/article/963 ,確認(rèn)下信噪比以及天線是否受到干擾
  • Air530模塊串口的模特率是9600,Air800模塊gps串口的波特率是115200,使用時(shí)注意區(qū)分
  • 參考18.3章節(jié)輸出原始NMEA數(shù)據(jù),如果無(wú)數(shù)據(jù)輸出,用示波器測(cè)量一下GPS_RXD上是否有數(shù)據(jù)
  • 按照合宙技術(shù)支持人員的要求,可能需要重新燒錄gps芯片軟件來(lái)定位問(wèn)題,燒錄方法參考:http://oldask.openluat.com/article/964 ,如果燒錄失敗,可以找一個(gè)gps定位正常的Air800模塊對(duì)比燒錄,來(lái)確認(rèn)是不是異常模塊的gps uart通信不正常
  • 天線設(shè)計(jì)不合規(guī),參考:https://www.jianshu.com/p/f52e9a52cc11
  • 硬件設(shè)計(jì)中的阻抗不匹配
  • 18.6、如何支持秒定位(GPS定位慢)


  • Air800模塊
    ? 1) AT版本:默認(rèn)支持秒定位,不需要MCU做控制
    ? 2) Luat版本:require"agps"即可
  • Air530模塊:和主控模塊使用Luat二次開(kāi)發(fā)時(shí),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)確


  • 使用Air800官方開(kāi)發(fā)板+客戶固件對(duì)比測(cè)試:如果Air800官方開(kāi)發(fā)板也存在同樣問(wèn)題,重點(diǎn)檢查以下步驟中的環(huán)境問(wèn)題和軟件問(wèn)題;如果Air800沒(méi)問(wèn)題,重點(diǎn)檢查一下步驟中的硬件問(wèn)題
  • 坐標(biāo)沒(méi)有糾偏,參考:http://www.openluat.com/GPS-Offset.html 進(jìn)行糾偏處理
  • 周?chē)斜容^高的障礙物,會(huì)導(dǎo)致定位誤差
  • 在開(kāi)闊地帶,正常情況下定位精度只能做到5米
  • 不能在室內(nèi)測(cè)試,必須到室外測(cè)試;如果只能在室內(nèi)測(cè)試,可以淘寶搜索“gps信號(hào)轉(zhuǎn)發(fā)器”,但是不可用于rtk定位測(cè)試
  • 信噪比低或者天線受到干擾,參考 http://oldask.openluat.com/article/963 和 https://www.jianshu.com/p/f52e9a52cc11 做硬件優(yōu)化
  • 18.9、GPS模塊內(nèi)部有LNA嗎


    ? 有LNA低噪聲放大器

    18.10、GPS定位海拔不準(zhǔn)確


    ? 衛(wèi)星距離地球有33000km,所以高程差幾十米很正常。幾十米相對(duì)于33000km,真的不算什么。如果要求精確,一般個(gè)人建議:

  • 找基準(zhǔn)點(diǎn)
  • rtk
  • 氣壓傳感器/海拔表
    那么,放在飛機(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,返回的是直線距離(單位米)的平方和;否則返回的是直線距離(單位米)
    ]]

    function diffofloc(latti1, longti1, latti2, longti2,typ) --typ=true:返回a+b ; 否則是平方和local I1,I2,R1,R2,diff,dI1,R1=smatch(latti1,"(%d+)%.(%d+)")I2,R2=smatch(latti2,"(%d+)%.(%d+)")if not I1 or not I2 or not R1 or not R2 thenreturn 0endR1 = I1 .. ssub(R1,1,5)R2 = I2 .. ssub(R2,1,5)d = tonumber(R1)-tonumber(R2)d = (d*111-(d*111%100))/100if typ == true thendiff = (d>0 and d or (-d))elsediff = d * dendI1,R1=smatch(longti1,"(%d+)%.(%d+)")I2,R2=smatch(longti2,"(%d+)%.(%d+)")if not I1 or not I2 or not R1 or not R2 thenreturn 0endR1 = I1 .. ssub(R1,1,5)R2 = I2 .. ssub(R2,1,5)d = tonumber(R1)-tonumber(R2)if typ == true thendiff = diff + (d>0 and d or (-d))elsediff = diff + d*dend--diff = diff + d*dprint("all diff:", diff)return diff

    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ē)頂上嗎


  • 擋風(fēng)玻璃如果沒(méi)有貼膜或者貼了不含金屬材料的膜,可以放在擋風(fēng)玻璃下,但是gps信號(hào)會(huì)有一定衰減,在萬(wàn)不得已的情況下,可以放在擋風(fēng)玻璃下,最好再實(shí)際測(cè)試確認(rèn)一下
  • 擋風(fēng)玻璃如果貼了含有金屬材料的膜,則不能放在擋風(fēng)玻璃下,必須將天線到車(chē)頂
  • 十九、GPIO問(wèn)題


    ? 因AT版本不支持gpio操作,故本章節(jié)討論的是Luat版本下的gpio問(wèn)題

    19.1、為什么GPIO配置后,功能不正常


  • 如果是2G模塊,2G模塊的某些gpio,需要打開(kāi)對(duì)應(yīng)的電壓域,這些gpio才能工作正常,詳情參考demo/gpio/gpioSingle/testGpioSingle.lua中的注釋,電壓域與控制的gpio對(duì)應(yīng)關(guān)系如下:
    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 id的參數(shù)有誤:
    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
  • 混淆了pin腳id和gpio id:模塊的pin腳id是按照某個(gè)方向順序排列的,gpio id和pin id不同,參考模塊硬件手冊(cè),一定找到pin腳對(duì)應(yīng)的gpio id,代碼中要使用gpio id,不能使用pin腳id
  • 是否正在使用其他復(fù)用功能;如果是,把其他功能關(guān)掉,再配置為gpio使用;例如Air202模塊的第27個(gè)腳,可以有三種用途:uart2 rxd、spi2 di、gpio 4,要配置為gpio使用前,必須確保uart2和spi2的功能沒(méi)有被使用;可參考demo\gpio\i2cGpioSwitch和demo\gpio\uartGpioSwitch兩個(gè)示例
  • 用同樣軟件在合宙官方開(kāi)發(fā)板上對(duì)比測(cè)試:如果開(kāi)發(fā)板沒(méi)問(wèn)題,則查找自己板子的硬件問(wèn)題;如果開(kāi)發(fā)板有問(wèn)題的話,參考第6步操作
  • 發(fā)出腳本代碼和使用的core固件名,聯(lián)系合宙技術(shù)支持人員處理
  • 19.2、GPIO的輸出能力是多少


  • 2G模塊
    ? 1) 電壓輸出最高3.3V,部分管腳最高2.8V;沒(méi)有電壓域控制的管腳電壓只能輸出0V、3.3/2.8V,有電壓域控制的管腳輸出電壓可通過(guò)電壓域控制【詳情參考demo/gpio/gpioSingle/testGpioSingle.lua中的注釋】
    ? 2) 電流最大輸出2mA
  • 4G模塊
    ? 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)

  • 硬件喂狗腳未連接
  • 軟件配置的gpio喂狗腳和硬件不一致
  • 20.5、PWR_ON_OUT腳有什么作用


    ? 當(dāng)模塊的pwrkey沒(méi)有接地,它可以使模塊開(kāi)機(jī);如果模塊pwrkey接地,則該腳懸空

    20.6、如何測(cè)試看門(mén)狗是否正常工作


    ? 有如下兩種方法:

  • 硬件上斷開(kāi)喂狗管腳WDI的連接
  • 硬件連接正常,軟件上不require"wdt"
  • 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()

    while true doif sys.wait(300000) == nil then --連續(xù)5分鐘沒(méi)有喂狗,根據(jù)項(xiàng)目需求自行修改時(shí)長(zhǎng)sys.restart("logic exception software dog timeout")endendend)--如下代碼是喂狗代碼,根據(jù)產(chǎn)品業(yè)務(wù)邏輯,在適當(dāng)?shù)奈恢萌フ{(diào)用coroutine.resume(softwareDogCo,"feed")

    如何去確認(rèn)這個(gè)“適當(dāng)?shù)奈恢谩蹦?#xff1f;下面列舉兩種常見(jiàn)示例:

  • 如果模塊和服務(wù)器之間有應(yīng)用心跳的應(yīng)答機(jī)制,則可以在模塊每次收到服務(wù)器的心跳應(yīng)答時(shí)去喂狗
  • 如果沒(méi)有心跳應(yīng)答機(jī)制,可以在連接服務(wù)器成功后,起個(gè)定時(shí)器,每隔一段時(shí)間去喂一次狗;連接斷開(kāi)時(shí),關(guān)閉這個(gè)喂狗定時(shí)器
  • 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)


  • 硬件喂狗腳未連接
  • 軟件配置的gpio喂狗腳和硬件不一致
  • 20.5、PWR_ON_OUT腳有什么作用


    ? 當(dāng)模塊的pwrkey沒(méi)有接地,它可以使模塊開(kāi)機(jī);如果模塊pwrkey接地,則該腳懸空

    20.6、如何測(cè)試看門(mén)狗是否正常工作


    ? 有如下兩種方法:

  • 硬件上斷開(kāi)喂狗管腳WDI的連接
  • 硬件連接正常,軟件上不require"wdt"
  • 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()

    while true doif sys.wait(300000) == nil then --連續(xù)5分鐘沒(méi)有喂狗,根據(jù)項(xiàng)目需求自行修改時(shí)長(zhǎng)sys.restart("logic exception software dog timeout")endendend)--如下代碼是喂狗代碼,根據(jù)產(chǎn)品業(yè)務(wù)邏輯,在適當(dāng)?shù)奈恢萌フ{(diào)用coroutine.resume(softwareDogCo,"feed")

    如何去確認(rèn)這個(gè)“適當(dāng)?shù)奈恢谩蹦?#xff1f;下面列舉兩種常見(jiàn)示例:

  • 如果模塊和服務(wù)器之間有應(yīng)用心跳的應(yīng)答機(jī)制,則可以在模塊每次收到服務(wù)器的心跳應(yīng)答時(shí)去喂狗
  • 如果沒(méi)有心跳應(yīng)答機(jī)制,可以在連接服務(wù)器成功后,起個(gè)定時(shí)器,每隔一段時(shí)間去喂一次狗;連接斷開(kāi)時(shí),關(guān)閉這個(gè)喂狗定時(shí)器
  • 二十一、短信問(wèn)題

    21.1、支持長(zhǎng)短信嗎


  • AT版本:支持長(zhǎng)短信的接收,但是不支持長(zhǎng)短信的拼接,需要用戶根據(jù)PDU短信格式自行拼接;例如接收到一條100個(gè)漢字的長(zhǎng)短信,是存儲(chǔ)在兩個(gè)位置的,根據(jù)短信PDU格式,讀出這兩個(gè)位置的短信后,自行拼接成原始的100個(gè)漢字的長(zhǎng)短信
  • Luat版本:支持長(zhǎng)短信的接收和拼接,參考sms的demo
  • 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)烈建議客戶一定要使用此功能,加載此功能模塊后,具備如下功能:

  • 上報(bào)core異常重啟信息到errDump調(diào)試服務(wù)器【僅4G模塊有此功能】
  • 上報(bào)腳本運(yùn)行異常信息【主要是運(yùn)行期間的語(yǔ)法錯(cuò)誤】到errDump調(diào)試服務(wù)器
  • 上報(bào)主動(dòng)調(diào)用errDump.appendErr或者sys.restart接口保存的錯(cuò)誤日志到errDump調(diào)試服務(wù)器
  • 如果調(diào)用errDump.setNetworkLog接口打開(kāi)了網(wǎng)絡(luò)異常日志功能后,會(huì)上報(bào)最近幾種網(wǎng)絡(luò)異常日志到errDump調(diào)試服務(wù)器
  • 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)答


  • 檢查使用的模塊AT口是否正確,2G模塊為uart1,4G模塊為uart2;如果使用的是合宙官方開(kāi)發(fā)板,注意跳線或者撥動(dòng)開(kāi)關(guān)切換到期望的串口
  • 發(fā)送的AT命令要以回車(chē)(0x0D)字符結(jié)尾,雖然理論上說(shuō)以回車(chē)換行(0x0D 0x0A)兩個(gè)字符結(jié)尾也沒(méi)有問(wèn)題,但是標(biāo)準(zhǔn)協(xié)議是以0x0D結(jié)尾。使用sscom等pc串口工具調(diào)試時(shí),可以選擇以回車(chē)換行結(jié)尾;但是MCU端編寫(xiě)程序時(shí),強(qiáng)烈建議以0x0D結(jié)尾
  • 檢查使用的數(shù)據(jù)線是否正確:如果是合宙官方開(kāi)發(fā)板,開(kāi)發(fā)板上已經(jīng)集成了usb轉(zhuǎn)串口芯片,只要使用普通的usb數(shù)據(jù)線即可,不要再使用usb轉(zhuǎn)串口數(shù)據(jù)線;如果是自己的板子,視具體情況而定
  • 檢查接線是否正確,正確的接法是:tx—rx,rx—tx,gnd—gnd
  • 檢查電平是否匹配:2G模塊電平為2.8V,4G模塊電平為1.8V
  • 參考第三章和第四章,檢查下模塊是否開(kāi)機(jī)或者是否一直重啟
  • 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文件


  • 受限于硬件,4G模塊無(wú)法支持音頻播放功能
  • 沒(méi)有燒錄mp3文件,燒錄方法和腳本完全一樣
  • 本地?zé)浀膍p3文件的訪問(wèn)路徑不對(duì),完整路徑參考1.1.7章節(jié)
  • 2G模塊的TTS2類型的core固件不支持mp3播放
  • 參考24.3確認(rèn)所用喇叭是否支持
  • mp3文件太大,播放時(shí)內(nèi)存不足,導(dǎo)致失敗;請(qǐng)借助格式工廠等第三方工具,裁剪壓縮mp3文件,可減小碼率,輸出單聲道
  • 24.2、無(wú)法播放tts


  • 受限于硬件,4G模塊無(wú)法支持音頻播放功能
  • core固件不支持tts功能,請(qǐng)選擇支持tts功能的core固件,帶有TTS標(biāo)志或者帶有8955F標(biāo)志的固件才支持tts功能
  • 參考24.3確認(rèn)所用喇叭是否支持
  • 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ū)別


  • 2G模塊AT版本固件
    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模塊固件
  • 2G模塊Luat版本固件,詳情參考發(fā)布包中的readme.txt
    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功能
  • 4G模塊Luat版本固件
    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ù)


  • 商用平臺(tái)(與模塊終端通信)
    遠(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
  • 業(yè)務(wù)操作平臺(tái)(直接在PC瀏覽器上訪問(wèn))
    sim.openluat.com:流量卡管理查詢
    iot.openluat.com:物聯(lián)網(wǎng)云平臺(tái),用于支持模塊終端的遠(yuǎn)程升級(jí)、日志服務(wù)、基站定位功能
    erp.openluat.com:商務(wù)信息查詢
  • 開(kāi)發(fā)調(diào)試平臺(tái)(不保證平臺(tái)系統(tǒng)的穩(wěn)定性,僅方便開(kāi)發(fā)者開(kāi)發(fā)調(diào)試使用)
    ? 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)人手機(jī)號(hào)碼賬號(hào),默認(rèn)密碼888888【如果不知道采購(gòu)人員是誰(shuí),告知合宙技術(shù)支持人員一個(gè)模塊的IMEI來(lái)查詢】,進(jìn)入“Air720X標(biāo)準(zhǔn)模塊”產(chǎn)品
  • 點(diǎn)擊設(shè)備列表->轉(zhuǎn)移全部設(shè)備->其他賬號(hào),填入實(shí)際的賬號(hào)和項(xiàng)目名之后,點(diǎn)擊確定,開(kāi)始轉(zhuǎn)移,如果設(shè)備過(guò)多,轉(zhuǎn)移耗費(fèi)時(shí)間會(huì)稍長(zhǎng)一點(diǎn)兒,請(qǐng)耐心等待;轉(zhuǎn)移完成后,會(huì)提示“操作成功”

    以后采購(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)求頭

  • AT版本:參考AT手冊(cè),2G模塊使用AT+HTTPPARA=“USER_DEFINED”,“Content-Type: application/json”;4G模塊使用AT+HTTPPARA=“USERDATA”,“Content-Type: application/json”
  • Luat版本:參考http的demo,在head參數(shù)中傳入{[“Content-Type”]=“application/json”}
  • 28.4、AT版本mqtt publish json格式的數(shù)據(jù),如何處理"


    ? 需要轉(zhuǎn)義處理,參考:http://oldask.openluat.com/article/122

    二十九、UI問(wèn)題(僅使用于Luat版本)

    29.1、如何支持UI顯示


  • 2G模塊支持,4G模塊還不支持
  • Luat版本要選擇帶有UI或者8955F后綴的lod
  • 參考script_LuaTask/demo/ui來(lái)使用
  • lcd支持eink、lcd、oled等;不支持觸摸屏
  • 29.2、為什么lcd不顯示


  • 2G模塊支持,4G模塊還不支持
  • Luat版本要選擇帶有UI或者8955F后綴的lod
  • 建議選用script_LuaTask/demo/ui中已經(jīng)調(diào)通的lcd;并且注意硬件lcd spi和標(biāo)準(zhǔn)spi接口對(duì)應(yīng)的軟件代碼配置不同
  • 檢查對(duì)lcd的供電是否滿足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ú)法顯示


  • 檢查下圖片完整路徑是否正確,如果圖片是通過(guò)Luatools燒錄進(jìn)去得,參考1.1.7檢查確認(rèn)
  • 黑白屏不支持顯示彩色圖片
  • 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空間


  • 腳本區(qū):
    ? 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ò)
  • 文件系統(tǒng)區(qū):
    ? 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;注意:

  • collectgarbage(“count”)是無(wú)法返回Lua虛擬機(jī)中的垃圾內(nèi)存空間的,所以剩余空間并不是簡(jiǎn)單的“總空間-collectgarbage(“count”)空間”,如果要計(jì)算準(zhǔn)確的剩余空間,在計(jì)算之前調(diào)用3次collectgarbage(collect)強(qiáng)制回收垃圾內(nèi)存
  • 存在內(nèi)存碎片的問(wèn)題,并不是剩余多少內(nèi)存空間就能用多少空間,比較典型的經(jīng)驗(yàn)值是:2G模塊collectgarbage(“count”)返回的已用內(nèi)存在700多KB時(shí),就已經(jīng)到達(dá)臨界值了
  • 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)題

  • 如果讀取的是本地?zé)浀奈募?#xff0c;檢查下文件有沒(méi)有燒錄以及完整路徑是否正確【參考1.1.7章節(jié)】
  • 如果讀取的是程序運(yùn)行過(guò)程中動(dòng)態(tài)創(chuàng)建的文件,檢查下文件是否創(chuàng)建成功【文件系統(tǒng)空間不足可能會(huì)導(dǎo)致文件創(chuàng)建失敗】以及完整路徑是否正確
  • 30.5、動(dòng)態(tài)創(chuàng)建自定義文件的注意事項(xiàng)


  • 自定義的文件不要放在/lua、/ldata、/luazip、/RecDir目錄下,這些目錄為特殊目錄,core運(yùn)行過(guò)程中可能會(huì)遞歸刪除這些目錄;使用rtos.make_dir接口新建一個(gè)目錄,自定義的文件可以放在自創(chuàng)建的這個(gè)目錄下
  • 2G模塊的文件系統(tǒ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)下可用:

  • 回落到2G網(wǎng)絡(luò);但是Air720G不支持移動(dòng)2G網(wǎng)絡(luò)頻段
  • 回落到3G;但是移動(dòng)3G網(wǎng)絡(luò)已經(jīng)退出,同時(shí)Air720G也不支持移動(dòng)3G網(wǎng)絡(luò)頻段
  • 4G網(wǎng)絡(luò)的VOLTE;但是Air720G不支持這個(gè)功能
    所以,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)的軟件


  • AT版本:開(kāi)機(jī)后發(fā)送ATS0=1命令到模塊,接收到來(lái)電,振鈴1聲后會(huì)自動(dòng)接聽(tīng)
  • Luat版本:在自己的腳本中添加如下代碼
    ? 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)


  • 2G模塊
    ? 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)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。