日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Air系列模块常见问题列表

發布時間:2024/8/1 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Air系列模块常见问题列表 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄名稱

  • 一、Luatools使用問題
    • 1.1 燒錄下載
      • ? 1.1.1、 2G模塊無法燒錄下載
      • ? 1.1.2、 2G開發板無法燒錄下載
      • ? 1.1.3、4G模塊(開發板)無法燒錄下載
      • ? 1.1.4、生成量產文件時的加密功能有什么用
      • ? 1.1.5、4G開發模式下的“USB打印Trace、UART1打印Trace、UART2打印Trace”是什么功能
      • ? 1.1.6、Luat開發方式下可以燒錄哪種類型的文件
      • ? 1.1.7、腳本代碼中如何讀取通過Luatools燒錄進模塊的文件
      • ? 1.1.8、Luat開發方式下可以燒錄某個項目的部分文件嗎?
      • ? 1.1.9、打開串口失敗
    • 1.2、日志輸出
      • ? 1.2.1、2G模塊(開發板)無法輸出日志
      • ? 1.2.2、4G模塊(開發板)無法輸出日志
      • ? 1.2.3、日志輸出過程中,突然停止輸出
      • ? 1.2.4、4G模塊USB輸出日志時,會丟失開機過程的部分日志
      • ? 1.2.5、為什么系統狀態、信號強度、版本類型、框架類型、軟件版本的內容有時不顯示或者顯示不正確
      • ? 1.2.6、Luatools可以抓取、輸出哪幾種日志
    • 1.3、其他
      • ? 1.3.1、Luatools無法啟動、出現error 126
      • ? 1.3.2、Luatools工作異常、閃退
      • ? 1.3.3、不小心刪除了源碼,有辦法找回嗎
      • ? 1.3.4、如何抓取模塊死機時的日志
      • ? 1.3.5、是否有64位、Linux、Mac版本工具;是否支持xp系統
      • ? 1.3.6、為什么提示多個工具在運行
      • ? 1.3.7、為什么設備一直在正常運行,但是coolwatcher抓日志過程中,會突然不輸出日志
  • 二、量產燒錄工具使用問題
    • 2.1、使用一拖多燒錄時,出現后一個模塊開始燒錄,前一個模塊燒錄失敗的問題
    • 2.24G模塊燒錄到最后,沒有提示成功,提示“USB is Removed”
    • 2.3、4G模塊量產燒錄工具打開失敗
  • 三、開關機(電源)問題
    • 3.1、2G模塊無法開機
    • 3.2、2G模塊無法關機
    • 3.3、4G模塊無法開機
    • 3.4、4G模塊無法關機
    • 3.5、其他
      • ? 3.5.1、有沒有推薦的電池
      • ? 3.5.2、為什么使用市電仍然無法正常工作
      • ? 3.5.3、能否獲取電量百分比
      • ? 3.5.4、為什么供電沒問題卻仍然無法開機、自動關機、或者異常重啟
      • ? 3.5.5、客戶示例:4G模塊開機很慢,powerkey需要按16秒才能開機
  • 四、重啟問題
    • 4.1、2G模塊重啟
    • 4.2、4G模塊重啟
  • 五、校準問題
    • 5.1、2G模塊如何判斷是否校準
    • 5.2 4G 模塊如何判斷是否校準
  • 六、IMEI、SN問題
    • 6.1、Luat版本為什么開機讀出的IMEI、SN為空
    • 6.2、為什么IMEI為默認值
    • 6.3、為什么4G模塊寫IMEI會失敗
    • 6.4、SN是什么,如何讀寫
  • 七、SIM卡問題
    • 7.1、支持中國大陸哪些運營商
    • 7.2、是否支持中國港澳臺、外國運營商
    • 7.3、支持SIM卡熱插拔嗎
    • 7.4、找不到SIM卡
    • 7.5、Luat版本為什么開機讀出的ICCID、IMSI為空
    • 7.6、可以讀到SIM卡的手機號碼(MSISDN)嗎
    • 7.7、虛擬卡(VSIM)
    • 7.8、貼片卡(ESIM)
    • 7.9、合宙物聯網卡(虛擬卡、貼片卡、實體卡)商務問題
    • 7.10、想使用語音短信業務怎么辦
    • 7.11、實體卡如何防盜
    • 7.11、實體卡如何防盜
    • 7.12、為什么SIM VCC沒有供電
    • 7.13、為什么Luatools提示“可能是虛擬卡數據錯誤,請重啟幾次,如果一直出現此提示,請聯系管理員”
    • 7.14、如何判斷sim卡所屬運營商
  • 八、天線射頻問題
    • 8.1、天線設計和調試
    • 8.2、天線使用環境
    • 8.3、2G模塊測試傳導靈敏度時,到-107.5左右GPRS就會掉線
    • 8.4、2G模塊天線為什么和GND短路了
    • 8.5、2G模塊和4G模塊天線通用嗎
    • 8.6、4G模塊如果支付輔天線,如何使用輔天線
    • 8.7、天線廠調試天線時,如何提供來電自動接聽的軟件
  • 九、信號問題
    • 9.1、沒有信號(信號弱)
    • 9.2、信號強度和網絡數據業務的穩定性關系
  • 十、網絡注冊和附著問題
    • 10.1、無法注冊網絡、注冊網絡慢、無法附著網絡、附著網絡慢
    • 10.2、為什么在一些車庫里面手機接打電話正常,但是模塊注冊網絡失敗呢
    • 10.3、為什么有些SIM卡在2G模塊上無法注冊網絡
    • 10.4、同一地點,同一張卡,手機可以注冊上4G網絡,為什么4G模塊不可以
    • 10.5、4G模塊使用2G卡,注冊網絡很慢
    • 10.6、4G模塊如何設置網絡頻段
    • 10.7、如何判斷4G模塊注冊的是什么網絡
    • 10.8、各國網絡頻段匯總
    • 10.9、網絡小區參數
  • 十一、APN設置和PDP激活問題
    • 11.1、2G模塊如何設置APN
    • 11.2、4G 模塊如何設置APN
    • 11.3、PDP激活失敗
    • 11.4、為什么4G模塊專網卡連接服務器失敗
  • 十二、socket問題
    • 12.1、連接服務器失敗
    • 12.2、數據收發延遲大、速度慢、經常失敗、掉線斷開
    • 12.3、如何發送大量數據
    • 12.4、為什么頻繁收發數據時,會導致整個模塊系統響應變慢
    • 12.5、是否支持長連接
    • 12.6、快發和慢發有什么區別
    • 12.7、支持發送什么格式的數據
    • 12.8、如何查詢錯誤碼
    • 12.9、最多同時支持多少個連接
    • 12.10、是否支持websocket、是否可以做server使用
    • 12.11、為什么要發送心跳包(如何檢測連接活性)
    • 12.12、為什么有時連接斷開會收到提示;有時不可以收到提示,必須等到發送數據時才能檢測到斷開
    • 12.13、如何統計流量
    • 12.14、是否支持IPv6
    • 12.15、模塊IP地址
    • 12.16、數據接收緩存問題
    • 12.17、客戶示例:2G模塊3秒上傳一次GPS位置數據,軌跡丟失問題
    • 12.18、數據透傳時,會丟失前面的一部分數據
  • 十三、http問題
    • 13.1、是否支持HTTPS
    • 13.2、為什么頻繁請求會失敗
    • 13.3、支持發送什么格式的數據
    • 13.4、如何查詢錯誤碼
    • 13.5、如何POST文件
    • 13.6、為什么POST JSON格式的數據會出現失敗
    • 13.7、AT版本如何設計HTTP應用邏輯
    • 13.8、數據接收緩存問題
    • 13.9、為什么https訪問失敗
  • 十四、mqtt問題
    • 14.1、是否支持ssl
    • 14.2、AT版本如何設計MQTT應用邏輯
    • 14.3、有沒有免費的MQTT broker可用
    • 14.4、如何實現掉線自動重連
    • 14.5、頻繁掉線是什么原因
    • 14.6、有沒有認證機制
    • 14.7、client id是否允許重復
    • 14.8、是否支持通配符
    • 14.9、Qos0、1、2如何選擇
    • 14.10、AT版本publish json格式的數據,如何處理"
    • 14.11、如何查詢錯誤碼
    • 14.12、數據接收緩存問題
    • 14.13、為什么mqtt ssl訪問失敗
  • 十五、遠程升級問題
  • 十六、阿里云問題
    • 16.1、如何連接阿里云
    • 16.2、除了阿里云,支持華為云、百度云、騰訊云、OneNet等其他云平臺嗎
    • 16.3、一型一密方案,設備在線運行了很多天后,模塊中的設備密鑰和阿里云平臺上的密鑰不一致導致無法上線
    • 16.4、為什么阿里云連接失敗
    • 16.5、如何降低阿里云的離線率
    • 16.6、阿里云網站上的異常信息和模塊動作的對應關系
    • 16.7、如何批量寫入三元組
    • 16.8、AT版本,MCU端如何實現HmacMD5算法
  • 十七、基站定位問題
    • 17.1、如何使用基站定位
    • 17.2、基站定位原理
    • 17.3、基站定位精度如何
    • 17.4、為什么基站定位失敗
    • 17.5、如何在iot.openluat.com中查詢設備的基站定位請求記錄
    • 17.6、合宙官方的基站定位能在國外使用嗎
  • 十八、GPS定位問題
    • 18.1、哪些模塊支持GPS定位
    • 18.2、GPS天線如何設計
    • 18.2、GPS天線如何設計
    • 18.3、Air800模塊如何測試信噪比
    • 18.4、Air800模塊如何輸出原始NMEA數據
    • 18.5、Air800模塊GPS無信號、信號弱、定位失敗
    • 18.6、如何支持秒定位(GPS定位慢)
    • 18.7、什么是GPS的冷啟動、溫啟動、熱啟動
    • 18.8、GPS定位經緯度不準確
    • 18.9、GPS模塊內部有LNA嗎
    • 18.10、GPS定位海拔不準確
    • 18.11、如何計算NMEA校驗碼
    • 18.12、可視衛星、可用衛星有什么區別
    • 18.13、GGA和RMC應該用哪個
    • 18.14、如何解讀NMEA報文每個字段的含義
    • 18.15、是否支持rtd、rtk
    • 18.16、是否支持ntrip協議
    • 18.17、已知兩個經緯度,如何計算間距?
    • 18.18、如何解決靜態漂移
    • 18.19、做車載定位器,進入隧道沒辦法定位怎么辦
    • 18.20、能否用于制作人員定位器、定位手表
    • 18.21、使用Luat版本FLOAT底層,能否實現坐標轉換(WGS84~GCJ02)加偏/糾偏
    • 18.22、哪些地圖使用的是GCJ02坐標系
    • 18.23、哪些地圖可以直接查看WGS84定位
    • 18.24、車載使用時需要天線引出到車頂上嗎
  • 十九、GPIO問題
    • 19.1、為什么GPIO配置后,功能不正常
    • 19.2、GPIO的輸出能力是多少
    • 19.3、中斷檢測能力是多少
    • 19.4、哪些管腳可以用做GPIO
    • 19.5、異常重啟,能否恢復之前的工作狀態
    • 19.6、從硬件上電到腳本可控制GPIO狀態,這段時間內的管腳電平狀態如何變化
  • 二十、合宙官方硬件看門狗問題(僅適用于Luat版本)
  • 20.1、軟硬件設計
    • 20.1、軟硬件設計
    • 20.2、硬件看門狗是否有必要
    • 20.3、為什么4G模塊不需要外部硬件看門狗
    • 20.4、為什么會提示喂狗失敗(WatchDog <--> AirM2M didn't respond : wdt reset 153b)
    • 20.5、PWR_ON_OUT腳有什么作用
    • 20.6、如何測試看門狗是否正常工作
    • 20.7、能否修改看門狗喂狗時序
    • 20.8、能否使用自己的硬件看門狗芯片
    • 20.9、有沒有軟件看門狗
    • 20.10、硬件看門狗外圍電路不規范可能導致2G模塊一直重啟
  • 二十、合宙官方硬件看門狗問題(僅適用于Luat版本)
    • 20.1、軟硬件設計
    • 20.2、硬件看門狗是否有必要
    • 20.3、為什么4G模塊不需要外部硬件看門狗
    • 20.4、為什么會提示喂狗失敗(WatchDog <--> AirM2M didn't respond : wdt reset 153b)
    • 20.5、PWR_ON_OUT腳有什么作用
    • 20.6、如何測試看門狗是否正常工作
    • 20.7、能否修改看門狗喂狗時序
    • 20.8、能否使用自己的硬件看門狗芯片
    • 20.9、有沒有軟件看門狗
  • 二十一、短信問題
    • 21.1、支持長短信嗎
    • 21.2、為什么Air720H模塊無法使用中國電信卡收發短信
  • 二十二、日志使用問題(僅適用于Luat版本)
    • 22.1、如何解讀Luatools抓到的腳本日志
    • 22.2、errDump功能有什么用
    • 22.3、設備使用errDump對接合宙官方服務器,如何查看設備上報的錯誤信息
  • 二十三、串口通信問題
    • 23.1、AT版本發送AT無應答
    • 23.2、串口數據亂碼
    • 23.3、Luat版本串口問題
  • 二十四、音頻問題(僅適用于Luat版本)
    • 24.1、無法播放mp3文件
    • 24.2、無法播放tts
    • 24.3、支持什么規格的喇叭
    • 24.4、TTS音質可以更好嗎
  • 二十五、core固件使用問題
    • 25.1、固件區別
    • 25.2、哪里可以下載舊版本固件
    • 25.3、如何在2G模塊Luat開源core中添加自己的功能模塊
  • 二十六、合宙云平臺問題
    • 26.1、提供哪些云平臺服務
    • 26.2、物聯網云平臺(iot.openluat.com)問題
      • 26.2.1、如何添加設備到設備列表中
      • 26.2.2、如何查詢設備在哪個產品下
      • 26.2.3、為什么公司采購的4G模塊不在我自己創建的產品項目下
      • 26.2.3、為什么轉移設備會失敗
      • 26.2.4、如何在不同賬號間轉移產品
    • 26.3、TCP測試平臺(tcplab.openluat.com)問題
      • 26.3.1、如何使用TCP測試平臺
      • 26.3.2、瀏覽器打開tcplab.openluat.com失敗怎么辦
      • 26.3.3、為什么模塊連接TCP測試平臺,會出現斷開的問題
  • 二十八、JSON問題
    • 28.1、底層使用哪個庫實現的
    • 28.2、為什么會解析出錯
    • 28.3、為什么HTTP POST JSON格式的數據會出現失敗
    • 28.4、AT版本mqtt publish json格式的數據,如何處理"
  • 二十九、UI問題(僅使用于Luat版本)
    • 29.1、如何支持UI顯示
    • 29.2、為什么lcd不顯示
    • 29.3、最大支持的lcd分辨率是多少
    • 29.4、如何使用自定義字體
    • 29.5、為什么圖片無法顯示
    • 29.6、如何顯示二維碼
    • 29.7、如何顯示Code128條形碼
  • 三十、FLASH和RAM使用問題(僅適用于Luat版本)
    • 30.1、Luat版本用戶可使用哪些FLASH空間
    • 30.2、Luat版本用戶可用的RAM空間
    • 30.3、NVM使用問題
    • 30.4、為什么讀文件失敗
    • 30.5、動態創建自定義文件的注意事項
    • 30.6、是否支持外擴SPI FLASH
  • 三十一、RNDIS問題
    • 31.1、模塊軟件中支持關閉RNDIS網卡功能嗎
    • 31.2、WINDOWS如何使用RNDIS模式上網
  • 三十二、PCB文件使用問題
    • 32.1、合宙官方的PCB文件用 PADS的什么版本可以打開
  • 三十三、語音通話問題
    • 33.1、4G模塊是否支持語音通話業務
    • 33.2、為什么Air720G模塊無法使用中國移動卡的語音通話業務
    • 33.3、天線廠調試天線時,如何提供來電自動接聽的軟件
    • 33.4、如何處理通話或者錄音中的電流噪音(TDD噪音)
  • 三十四、模塊參數
    • 34.1、4G模塊
  • 三十五、Luat版本腳本開發小問題
    • 35.1、Luat版本腳本運行框架
    • 35.2、sys.taskInit創建的task有沒有優先級之分
    • 35.3、如何實現延時運行
  • 三十六、認證問題
    • 36.1、模塊做過哪些認證
    • 36.2、客戶產品SRRC認證注意事項
    • 36.3、模塊有入網證書(CTA)嗎
  • 三十七、SPI問題
    • 37.1、如何用Luat腳本模擬實現SPI
  • 三十八、I2C問題(僅適用于Luat版本)
    • 38.1、如何用腳本驅動mpu6050
  • 三十九、PPP撥號問題
    • 39.1、WINDOWS下4G模塊如何撥號上網
    • 39.2、Linux下4G模塊如何撥號上網
  • 四十、時鐘問題
    • 40.1、如何同步時鐘

一、Luatools使用問題

使用教程:http://oldask.openluat.com/article/4

1.1 燒錄下載

? 1.1.1、 2G模塊無法燒錄下載


  • 檢查下載線連接是否正確,下載線要連接模塊的host_txd、host_rxd、gnd

  • 檢查下host_txd、host_rxd是否與其他管腳短路,特別是host_txd和vddio相鄰,可能會因為貼片或者焊接問題導致短路

  • 下載線不穩定,更換ft232/cp2102等芯片串口線對比試一下

  • 檢查供電以及開機是否正常,測量vbat 3.6V到4.2V,并拉低pwrkey 2000ms開機

  • 檢查下載口電平是否匹配,支持2.8V,兼容3.3V

  • 更換電腦usb口或者更換電腦對比測試

  • 模塊可能損壞【靜電擊穿、爐溫過高可能導致損壞】,更換模塊對比測試確認

  • 如果出現下載過程中失敗問題,參考如下順序排查

    1)供電可能不穩定,使用穩定的電源供電,可以直接用穩壓電源對vbat供電對比確認

    2)下載線可能不穩定,更換ft232/cp2102等芯片串口線對比試一下

  • ? 更多詳細說明參考:http://doc.openluat.com/article/600/0

    ? 1.1.2、 2G開發板無法燒錄下載


  • 參考開發板使用手冊,確認跳線帽使用是否正常

  • 開發板上已經有usb轉串口芯片,所以要使用micro usb線,不要使用usb轉串口線

  • 檢查供電以及開機是否正常,測量vbat 3.6V到4.2V,并長按pwrkey開機

  • 檢查下載口電平是否匹配,支持2.8V,兼容3.3V

  • 更換電腦usb口或者更換電腦對比測試

  • 模塊可能損壞【靜電擊穿、爐溫過高可能導致損壞】,更換模塊對比測試確認

  • 如果出現下載過程中失敗問題,參考如下順序排查

    1)供電可能不穩定,使用穩定的電源供電,可以直接用穩壓電源對vbat供電對比確認

    2)下載線可能不穩定,更換ft232/cp2102等芯片串口線對比試一下

  • ? 1.1.3、4G模塊(開發板)無法燒錄下載


  • 檢查下載線連接是否正確,如果是模塊,要連接模塊的usb_dp、usb_dm、vbus、gnd;如果是開發板,要連接usb口,luatools準備好下載后,撥動開關撥到on位置

  • 需要使用穩定的usb下載線,不要使用usb轉串口下載線

  • 檢查供電是否正常,測量vbat 3.6V到4.2V

  • 要安裝驅動,參考:http://oldask.openluat.com/article/92, 注意:安裝好驅動之后,在燒錄固件過程中,設備管理器中會出現下圖所示的下載驅動
    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-24f53taG-1619422566511)(http://oldask.openluat.com/image/show/attachments-2019-10-P2aiLCiP5db9ad0250805.png “undefined”)]
    燒錄固件,正常開機后,設備管理器中會出現下圖所示的3種驅動
    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-nDM7kCFW-1619422566523)(http://oldask.openluat.com/image/show/attachments-2019-10-nP7l5Mlr5db9acf3b676b.png “undefined”)]
    如果沒有出現這些端口,或者有感嘆號,表示驅動沒有安裝成功,請重新安裝驅動

    注意:如果電腦安裝了USBPcap,會造成下載驅動有感嘆號,從而造成無法燒錄固件,但是可以正常抓取日志。如果遇到此問題,請刪除USBPcap后再試;此問題可以參考下圖操作:
    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-zCqhW8QU-1619422566524)(http://oldask.openluat.com/image/show/attachments-2019-11-cWGdgtNF5dd3a643e6a80.png “undefined”)]

  • 更換電腦usb口或者更換電腦對比測試

  • 模塊可能損壞【靜電擊穿、爐溫過高可能導致損壞】,更換模塊或者開發板對比測試確認

  • 如果出現下載過程中失敗問題,參考如下順序排查
    1)供電可能不穩定,使用穩定的電源供電,可以直接用穩壓電源對vbat供電對比確認
    2)下載線可能不穩定,更換穩定的usb下載線

  • ? 1.1.4、生成量產文件時的加密功能有什么用


    ? 如果項目有安全性方便的考慮,防止別人拿到設備后,讀取自己寫的腳本文件,可以在生成量產文件時,打開加密功能選項,輸入密碼,Luatools對所有腳本和其他資源文件進行加密,即使別人拿到了加密設備,也無法解密出原始的腳本和資源文件

    ? 1.1.5、4G開發模式下的“USB打印Trace、UART1打印Trace、UART2打印Trace”是什么功能


    ? 可以選擇輸出腳本日志的端口,默認是USB輸出日志,如果燒錄或者生成量產文件時,選擇了指定端口輸出日志,注意在Luatools主界面,選擇對應的打印口,這樣在Trace窗口才能輸出日志

    ? 1.1.6、Luat開發方式下可以燒錄哪種類型的文件


    ? 任何類型的文件都可以燒錄,例如mp3、bmp、png、jpg、txt、自定義后綴的文件等等,燒錄后,腳本如何訪問這些文件,參考1.1.7章節

    ? 1.1.7、腳本代碼中如何讀取通過Luatools燒錄進模塊的文件


    ? 通過Luatools燒錄進模塊的文件,開機啟動時,根據不同類型的文件,會自動創建不同的目錄保存這些文件,完整的文件路徑(filePath)定義如下:
    ?2G模塊:

    • 如果是lua文件,例如xxx.lua:非加密下載時,文件路徑為/lua/xxx.lua;加密下載時,文件路徑為/lua/xxx.luae
    • 如果是非lua文件,例如xxx.mp3:非加密下載時,文件路徑為/ldata/xxx.mp3;加密下載時,文件路徑為/ldata/xxx.mp3e

    ?4G模塊:

    • 無論什么格式的文件,例如xxx.lua,文件路徑都為:/lua/xxx.lua

    ? 考慮到對內存的消耗過大可能會造成內存不足的問題:如果文件較小(小于4KB),可以使用io.readFile(filePath)一次性全部讀出;如果文件較大(大于4KB),可以使用io.readStream(filePath, offset, len)分段讀出

    ? 1.1.8、Luat開發方式下可以燒錄某個項目的部分文件嗎?


    ? 不可以。每次燒錄,都會刪除模塊中之前的所有腳本和資源文件,所以每次燒錄,必須燒錄某個項目的所有腳本和資源文件(包括lib腳本文件)

    ? 1.1.9、打開串口失敗


    ? Luatools打開串口時,會對波特率做校驗,如果串口芯片的波特率滿足不了要求,會打開失敗
    ? 2G模式下,波特率為921600;4G模式下,波特率為115200
    ? 目前遇到過如下幾種打開串口失敗的情況:
    ? 1. 使用了PCIE轉串口卡,這種串口卡不支持921600波特率,所以在2G開發模式下會提示打開失敗,在4G模式下可以正常打開

    1.2、日志輸出

    ? 1.2.1、2G模塊(開發板)無法輸出日志


  • 參考1.1.1和1.1.2章節,先檢查一下數據線、供電、跳線問題
  • 聯系代碼開發者,確認一下代碼中是否關閉了日志輸出功能
  • 聯系代碼開發者,確認一下代碼中是否配置了host口、uart1或者uart2輸出日志功能,Luatools選擇的打印口要和代碼配置一致
  • ? 1.2.2、4G模塊(開發板)無法輸出日志


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


  • 如果是4G模塊usb口輸出日志,點擊“關閉端口”后再點擊“打開端口”;如果是4G 模塊串口或者2G模塊輸出日志,點擊“重啟端口”
  • 參考1.2.1和1.2.2排查
  • ? 1.2.4、4G模塊USB輸出日志時,會丟失開機過程的部分日志


    ? 4G模塊開機時,部分電腦識別usb口過慢,導致開機部分的日志可能丟失;遇到此類問題,可以參考1.1.5章節,使用uart1或者uart2輸出日志

    ? 1.2.5、為什么系統狀態、信號強度、版本類型、框架類型、軟件版本的內容有時不顯示或者顯示不正確


    ? 這些內容都是從抓取的日志中分析關鍵字解析出來的,如果不是從開機開始抓取日志,會丟失一些日志,從而導致解析失敗。例如軟件版本是搜索poweron reason解析出來的,如果沒有抓到這一行日志,軟件版本就會解析失敗,或者如果自己寫的應用腳本中也會輸出poweron reason關鍵字日志,也可能導致解析異常。所以,這些信息的解析僅僅是作為參考方便開發者分析問題,要進一步準確分析問題,一定要直接分析日志

    ? 1.2.6、Luatools可以抓取、輸出哪幾種日志


  • 可以抓取、實時顯示、自動保存Luat版本的腳本日志,腳本日志文件自動保存在工具根目錄的log/*.trc中
  • 可以抓取、自動保存4G模塊AT版本或者Luat版本的底層日志,底層日志文件自動保存在工具根目錄的log\4gdiag*. sdl中,但是不可以實時顯示;如果需要調試4G模塊AT版本問題,可以用串口工具直接監控AT口的命令交互日志【參考:http://doc.openluat.com/article/600/0 】或者單片機打印出來AT交互日志來分析問題;或者吧sdl文件發給合宙技術支持人員分析
  • 不可以抓取2G模塊AT版本日志。如果需要調試2G模塊AT版本問題,可以用串口工具直接監控AT口的命令交互日志【參考:http://doc.openluat.com/article/600/0 】或者單片機打印出來AT交互日志來分析問題;或者按照合宙技術支持人員的要求,參考:http://oldask.openluat.com/article/63 來抓取日志
  • 1.3、其他

    ? 1.3.1、Luatools無法啟動、出現error 126


    缺少vc_redist運行庫,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 下載安裝后,重新運行Luatools

    ? 1.3.2、Luatools工作異常、閃退


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

  • Luatools根目錄下ClearScr中會保存最后一次本地燒錄或者生成量產文件時的所有源碼文件
  • 如果第1步不是你想要的,找一個有源碼的設備,聯系合宙技術支持人員處理
  • ? 1.3.4、如何抓取模塊死機時的日志


  • 2G模塊參考:http://oldask.openluat.com/article/63
  • 4G模塊參考:http://oldask.openluat.com/article/910
  • ? 1.3.5、是否有64位、Linux、Mac版本工具;是否支持xp系統


    ? 沒有64位、Linux、Mac版本工具,Linux和Mac請使用虛擬機運行Luatools工具;支持部分XP系統,建議在WIN7以上的系統上使用

    ? 1.3.6、為什么提示多個工具在運行


    ? 檢查電腦的任務管理中是否有多個luatools.exe,如果有,關閉所有后,再重啟Luatools

    ? 1.3.7、為什么設備一直在正常運行,但是coolwatcher抓日志過程中,會突然不輸出日志


    ? 按照如下順序嘗試解決

  • 下載線可能不穩定,更換使用ft232芯片串口線;抓日志過程中最好不要頻繁的碰到串口線,可能會受到干擾
  • 左下角的command編輯框中輸入creconnect命令后回車【注意:host rx要和串口線連接,才能正常接收命令】
  • 重新插拔串口線,重啟coolwatcher
  • 如果左下角command編輯框中輸入r 0命令后回車【注意:host rx要和串口線連接,才能正常接收命令】,有0xXXXXXXXX格式的數據返回,表示host口通信正常,沒輸出日志,可能是host寄存器受到干擾導致,此時參照下圖將可能受到干擾的寄存器主動設置正常
    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-l78rDgGD-1619422566526)(http://oldask.openluat.com/image/show/attachments-2019-11-qMXxAfM15dcd00cc6582b.png “undefined”)]!

    二、量產燒錄工具使用問題


    ? 2G模塊量產燒錄工具:http://www.openluat.com/Product/file/rda8955/RDA 平臺Lod客戶升級工具2.5.7z
    ? 4G模塊量產燒錄工具:http://www.openluat.com/Product/file/asr1802/ASR 平臺core客戶升級工具V1.3_Air720系列.7z
    ? 合宙提供了官方的燒錄夾具和設計文件,如有需要,打開:luat.taobao.com,在店鋪內搜索夾具,與淘寶客服溝通;合宙也提供免費代燒錄服務,購買模塊到達一定數量時,此服務免費,詳情與模塊銷售溝通

    2.1、使用一拖多燒錄時,出現后一個模塊開始燒錄,前一個模塊燒錄失敗的問題


    ? 檢查下夾具供電,使用穩定的電源給夾具供電;不要一個電源同時給多個夾具供電

    2.24G模塊燒錄到最后,沒有提示成功,提示“USB is Removed”


  • 更換一根好點兒usb線,或者更換一個電腦usb口,或者更換電腦試試
  • 工具目錄下config/param.ini中,確認一下modleType配置是否正確
  • 2.3、4G模塊量產燒錄工具打開失敗


    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-ve8hLpKw-1619422566527)(https://oldask.openluat.com/image/show/attachments-2020-03-CQaioO2Q5e69f0ce8ac32.png “undefined”)]
    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-q8bYL9z9-1619422566528)(https://oldask.openluat.com/image/show/attachments-2020-03-7OnkBxOR5e69f0eb5f1df.png “undefined”)]
    ? 出現此問題,一般都是blf文件配置出錯導致的,打開config/param.ini,檢查下圖中的core對應的blf文件配置是否正確
    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-6UHFIhD8-1619422566528)(https://oldask.openluat.com/image/show/attachments-2020-03-kMfp2nr75e69f1160fa18.png “undefined”)]

    三、開關機(電源)問題

    3.1、2G模塊無法開機


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


  • AT固件,開機狀態下,powerkey引腳從高電平拉低1.5秒以上,或者發送AT+CPOWD命令,都會執行關機流程;如果采用了“powerkey一直拉低”的上電自動開機設計,則無法通過powerkey或者AT+CPOWD命令關機【固件后,檢測到powerkey拉低,會再次自動開機】,只能vbat直接斷電關機
  • Luat固件,開機狀態下,require了lib中powerKey功能模塊,配置了長按powerkey關機,長按powerkey按鍵,或者在腳本中直接調用rtos.poweroff()接口,都會執行關機流程;如果采用了“powerkey一直拉低”的上電自動開機設計,則無法通過powerkey或者rtos.poweroff()接口關機【固件后,檢測到powerkey拉低,會再次自動開機】,只能vbat直接斷電關機
  • 注意:模塊燒錄軟件后,如果沒有徹底斷一次電,自動開機后,powerkey按鍵、AT+CPOWD命令、rtos.poweroff()接口都無法成功關機,實際的現象表現為:關機后,會一直不斷重啟。這個是芯片設計的一個缺陷,無法修改
  • 3.3、4G模塊無法開機


  • 測量V_GLOBAL_1V8引腳電壓,如果是1.8V左右,表示已經正常開機,“無法開機”純屬誤判;如果是低電平0V左右,表示沒有開機

  • 如果引出了usb引腳,usb連接電腦,參考1.1.3章節第4步,持續觀察20秒,看是否會穩定出現設備管理器中的3個端口,如果穩定出現,表示已經正常開機,“無法開機”純屬誤判;如果沒有出現,表示沒有正常開機;如果出現后一閃而過,表示可能一直在異常重啟,參考4.2章節處理

  • vbat引腳電壓3.4V到4.3V,powerkey拉低至少2秒,才有可能開機;測量vbat引腳和powerkey狀態,確認是否滿足要求

  • 模塊峰值需要2A電流,供電跌落不能太多

  • 將模塊的第142腳:EXTON1N直接接地可以實現上電自動開機功能。需要注意,在上電自動開機模式下,將無法關機,只要VBAT管腳的電壓大于開機電壓,即使軟件調用關機接口,模塊仍然會再次開機。另外,在此模式下,要想成功自動開機,VBAT管腳電壓仍然要大于軟件設定的開機電壓值(3.1V),如果不滿足,模塊會關閉,就會出現反復開關機的情況。

    不建議把模塊的第21腳:PWRKEY 直接接地來實現上電開機功能。假如把PWRKEY 直接接地了,此時再把RESET_IN_N 拉低超過15秒的話,模塊內部的PMU會認為模塊狀態異常,強制斷電,即使在RESET_IN_N釋放以后模塊也會一直處于關機狀態,直到松開PWRKEY一段時間。

  • 3.4、4G模塊無法關機


  • AT固件,開機狀態下,powerkey引腳從高電平拉低1.5秒以上,或者發送AT+CPOWD命令,都會執行關機流程;如果采用了“EXTON1N一直拉低”的上電自動開機設計,則無法通過powerkey或者AT+CPOWD命令關機【關機后,檢測到EXTON1N拉低,會再次自動開機】,只能vbat直接斷電關機
  • Luat固件,開機狀態下,在腳本中直接調用rtos.poweroff()接口,都會執行關機流程;如果采用了“EXTON1N一直拉低”的上電自動開機設計,則無法通過rtos.poweroff()接口關機【關機后,檢測到EXTON1N拉低,會再次自動開機】,只能vbat直接斷電關機
  • 將模塊的第142腳:EXTON1N直接接地可以實現上電自動開機功能。需要注意,在上電開機模式下,將無法關機,只要VBAT管腳的電壓大于開機電壓即使軟件調用關機接口,模塊仍然會再開機起來。另外,在此模式下,要想成功開機起來VBAT管腳電壓仍然要大于軟件設定的開機電壓值(3.1V),如果不滿足,模塊會關閉,就會出現反復開關機的情況。
  • 不建議把模塊的第21腳:PWRKEY 直接接地來實現上電開機功能。假如把PWRKEY 直接接地了,此時再把RESET_IN_N 拉低超過15秒的話,模塊內部的PMU會認為模塊狀態異常,強制斷電,即使在RESET_IN_N釋放以后模塊也會一直處于關機狀態,直到松開PWRKEY一段時間。

    3.5、其他

    ? 3.5.1、有沒有推薦的電池


    ? 建議選擇18650或鋰聚合物電池。供電必須滿足3.7~4.2v,電壓跌落不超過0.6v,最低不低于3.4v


    ? 3.5.2、為什么使用市電仍然無法正常工作


    ? 請檢查電源動態響應能力。必要時vbat、gnd并電容

    ? 3.5.3、能否獲取電量百分比


    不能,只能獲得電池電壓。使用misc.getVbatt(),返回毫安。開發者自行根據電池的承認書去換算百分比(因為不同電池放電曲線各有差異)

    ? 3.5.4、為什么供電沒問題卻仍然無法開機、自動關機、或者異常重啟


    請用示波器檢查供電有無跌落,萬用表響應能力較差

    ? 3.5.5、客戶示例:4G模塊開機很慢,powerkey需要按16秒才能開機


    ? RESET管腳與MCU直接相連,這樣的話板子在上電時,MCU的IO反轉可能會影響到模塊的開機;RESET管腳需要用三極管驅動,或者加二極管隔離。
    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-W8zKcwFJ-1619422566529)(https://oldask.openluat.com/image/show/attachments-2019-12-Dey6JVAC5de4c676d9c94.png “undefined”)]

    四、重啟問題


    ? 關于重啟問題的詳細描述參考如下文章:
    ? 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固件開發時,一定要使用errDump功能,此功能對“量產投放市場的設備,遠程調試初步定位問題”至關重要

    4.1、2G模塊重啟


  • 如果是Luat二次開發模式,使用官方發布的AT固件或者Luat固件+隨便一個demo,測試確認下,是不是自己寫的軟件有問題
  • vbat引腳電壓3.6V到4.2V,使用示波器測量vbat電壓是否有跌落;模塊峰值需要2A電流,可使用直流穩壓電源直接對vbat供電對比測試;如果有問題,參考:http://doc.openluat.com/article/600/0 分析處理
  • 如果使用了硬件看門狗,可能因為硬件看門狗外圍電路異常導致模塊一直在重啟,可參考20.10章節確認
  • AT版本,如果無法抓到日志,直接聯系合宙技術支持人員處理;如果可以抓到日志,按照如下步驟處理:
    ? 1) 如果出現“(0xffffffff)模塊硬件上電中,正在啟動”,表示硬件重啟,直接按照第1步確認問題,同時確認下是否為外圍單片機給模塊斷電復位引起的重啟
    ? 2) 其他的重啟,直接聯系合宙技術支持人員按照如下方式處理
    ? A. 合宙技術支持人員提供一個debug assert版本的固件【注意:此固件僅供測試使用,不能用于量產】
    ? B. 客戶在MCU端開機發送AT* EXASSERT=1命令【注意:此命令會導致模塊發生重啟問題時,直接死機,僅測試使用,不能用于量產;測試設備使用完畢之后,再發送AT*EXASSERT=0恢復默認配置】
    ? C. 如果有硬件看門狗機制,要從硬件上斷開硬件看門狗;以防復現死機問題后,被硬件看門狗重啟復位
    ? D. 參考http://oldask.openluat.com/article/63掛測復現問題死機問題后,保留死機現場,聯系合宙技術支持人員遠程分析
  • Luat版本,如果無法抓到日志,直接聯系合宙技術支持人員處理;如果可以抓到日志,搜索poweron reason:
    ? 1) reason為0,表示硬件重啟,直接按照第1步確認問題,同時確認下是否為硬件看門狗或者外圍單片機給模塊斷電復位引起的重啟
    ? 2) reason為7,表示點擊了Luatools的“重啟模塊”按鈕控制的重啟
    ? 3) reason為8,表示core中的軟件看門狗重啟,檢查一下腳本中是否寫了死循環的邏輯
    ? 4) reason為3,表示軟件重啟,在日志中搜索restart或者[E]或者traceback,分析原因自行解決;如果日志中搜索不到這些關鍵字,檢查一下應用腳本中是否調用了rtos.restart()所致
    ? 5) 如果以上步驟都不能解決問題,直接聯系合宙技術支持人員按照如下方式處理
    ? A.合宙技術支持人員提供一個debug assert版本的固件【注意:此固件僅供測試使用,不能用于量產】
    ? B. 客戶在main.lua中sys.init前加一行代碼ril.request(“AT* EXASSERT=1”)【注意:此行代碼會導致模塊發生重啟問題時,直接死機,僅測試使用,不能用于量產;測試設備使用完畢之后,再修改為ril.request(“AT*EXASSERT=0”)恢復默認配置】
    ? C. 如果有硬件看門狗機制,關閉此功能;以防復現死機問題后,被硬件看門狗重啟復位
    ? D. 參考http://oldask.openluat.com/article/63掛測復現問題死機問題后,保留死機現場,聯系合宙技術支持人員遠程分析
  • 4.2、4G模塊重啟


  • 如果是Luat二次開發模式,使用官方發布的AT固件或者Luat固件+隨便一個demo,測試確認下,是不是自己寫的軟件有問題
  • vbat引腳電壓3.4V到4.3V,使用示波器測量vbat電壓是否有跌落;模塊峰值需要2A電流,斷開模塊與外部的連接,使用直流穩壓電源直接對vbat供電對比測試
  • AT版本,如果無法抓到日志,直接聯系合宙技術支持人員處理;如果可以抓到日志,參考1.2.6章節,提供sdl日志文件給合宙技術支持人員分析;如果需要設置為死機模式,復現問題進一步分析,參考 http://oldask.openluat.com/article/910 處理
  • Luat版本,如果無法抓到日志,直接聯系合宙技術支持人員處理;如果可以抓到日志,搜索poweron reason:
    ? 1) reason為0,表示硬件重啟,直接按照第1步確認問題,同時確認下是否為硬件看門狗或者外圍單片機給模塊斷電復位引起的重啟
    ? 2) reason為3,表示軟件重啟,在日志中搜索restart或者[E]或者traceback或者EE LOG,分析原因自行解決
  • 如果以上步驟都不能解決問題,參考1.2.6章節,提供trc日志文件和sdl日志文件給合宙技術支持人員分析;如果需要設置為死機模式,復現問題進一步分析,參考 http://oldask.openluat.com/article/910 處理

    五、校準問題


    模塊如果沒有校準,射頻性能就無法達到最優,極端情況下,會造成網絡通信非常不穩定;未校準的模塊必須走售后流程維修或者換貨

    5.1、2G模塊如何判斷是否校準


  • AT版本,發送AT+ATWMFT=99命令查詢,如果返回SUCC表示已校準,其余返回表示未校準
  • Luat版本,日志中搜索ATWMFT,看AT+ATWMFT=99命令的返回值,如果返回SUCC表示已校準,其余返回表示未校準
  • 5.2 4G 模塊如何判斷是否校準


    ? 4G模塊會對2G、3G、4G進行單獨校準,所以要單獨查詢這三部分是否校準;同時也要根據模塊支持的網絡制式區別對待,例如720H支持2G、3G、4G,則這三部分都要校準才正常;720G支持3G、4G,則只要這兩部分都校準就正常

  • AT版本,發送ATMRD_CDF=Q,GsmCalData.nvm、ATMRD_CDF=Q,aplp_rf_calibration.nvm、AT*MRD_CDF=Q,LteCalData.nvm命令分別查詢2G、3G、4G是否校準,如果返回1表示已校準,其余返回表示未校準
  • Luat版本,日志中搜索MRD_CDF,看ATMRD_CDF=Q,GsmCalData.nvm、ATMRD_CDF=Q,aplp_rf_calibration.nvm、AT*MRD_CDF=Q,LteCalData.nvm命令的返回值,如果返回1表示已校準,其余返回表示未校準
  • 六、IMEI、SN問題

    6.1、Luat版本為什么開機讀出的IMEI、SN為空


    ? Lua版本的腳本運行起來之后,會發送AT命令查詢imei、sn,從腳本開始運行到查詢到結果,一般需要3秒鐘【只是經驗值,不要用做程序設計依據】,如果在查詢到結果之前使用misc.getImei()、misc.getSn()接口讀取,就為返回空;
    ? 用戶開發項目時,可以根據項目的應用場景,分別做不同處理,比較典型的兩種場景如下:

  • 如果開機后過一段時間(這個時間超過開機查詢imei、sn的時間,例如連接后臺服務器)才會用到imei和sn,則用到時直接調用讀取接口即可,因為這個時間點肯定已經查詢到結果
  • 如果在查詢到imei、sn之后,立即執行某個動作,則需要在自己寫的腳本中訂閱查詢結果的消息,參考如下代碼
    sys.subscribe(“IMEI_READY_IND”, function() end)
    sys.subscribe(“SN_READY_IND”, function() end)s
  • 6.2、為什么IMEI為默認值


    ? 2G模塊的默認值:359759002514931
    ? 4G模塊的默認值:3520990017614823

  • 如果是合宙研發人員在開發調試過程中,發給客戶體驗測試的模塊,可能會漏寫IMEI
  • 如果是通過官方渠道購買的2G模塊,請注意觀察下模塊標簽。因合宙工廠掃描頭偏移原因,2019年2月份、3月份(3月20日之前)生產的部分2G模塊,IMEI和標簽上的不一致,IMEI為默認值359759002514931,遇到此類模塊,需要走售后流程換貨或者維修。模塊標簽上SN的第3到10位表示生產日期,例如SN:05201902270907815,20190227表示2019年2月27日生產
  • 曾經有一個客戶,在生產時讓合宙工廠代燒錄客戶固件,客戶固件中有一個設計“燒錄固件后,第一次運行時,會讀取模塊imei,存儲到文件系統中,以后直接使用文件系統中存儲的imei”,因為合宙工廠的生產流程是“先燒錄固件,再寫imei”,所以導致這批客戶設備出廠后,發現文件系統中存儲的imei都是默認值。所以讓合宙代燒錄的客戶一定要注意imei使用的軟件設計邏輯:直接實時查詢使用即可,不要再另外存儲一份使用
  • 其余情況,先根據第五章節確認下模塊判斷下有沒有校準,同時提供日志給合宙技術支持人員分析
  • 6.3、為什么4G模塊寫IMEI會失敗


    ? 實際場景中,用戶可能會寫自定義的imei到模塊中,AT版本使用AT+WIMEI命令、Luat版本使用misc.setImei接口來寫入;imei一共15位,其中最后1位是校驗位,根據前14位計算得來
    ? 2G模塊的固件對最后1位的校驗位沒做檢查,即使校驗位錯誤,也允許寫入
    ? 4G模塊的固件對最后1位的校驗位會做正確性檢查,校驗位出錯,返回寫入失敗;所以如果4G模塊出現寫IMEI失敗,可以通過https://www.oming.me/tools/imei檢查下校驗位【如果此鏈接失效,可以把校驗位設置為0到9依次嘗試】,如果檢驗位沒問題,提供日志給合宙技術支持人員分析

    6.4、SN是什么,如何讀寫


    ? sn的標準含義是指序列號,合宙模塊的標簽上都有sn號,記錄了生產日期等信息;模塊的flash中也有一塊區域為sn,我們現在討論的是模塊flash中的這一塊區域。 sn區域最多可以存儲64字節的數據,即使重新燒錄固件,此區域的數據也不丟失,和imei的存儲機制類似。合宙工廠生產模塊時,對sn區域沒有寫入任何有效數據【2G模塊雖然寫入了數據,但是此數據沒什么實際意義】,所以客戶拿到模塊之后,可以根據sn區域的特性,存儲自定義的不超過64字節的任何數據,例如阿里云的設備密鑰
    ? sn讀寫接口如下:

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

    7.1、支持中國大陸哪些運營商


  • 2G模塊:僅支持中國移動和中國聯通(2G、3G、4G卡),由于中國聯通關閉了2G網絡,建議使用用中國移動卡
  • 4G模塊:不同型號的模塊支持的運營商不同,因不斷推出新的模塊型號,故此處不再一一羅列;請登錄 www.openluat.com,打開產品中心,根據使用的模塊型號自行確認
  • 7.2、是否支持中國港澳臺、外國運營商


  • 2G模塊:只要有2G網絡的地區運營商,理論上都支持,建議在當地實際測試下;目前在中國港澳臺、印度、中東、美國、非洲、德國都實地測試過可用
  • 4G模塊:根據模塊型號支持的頻段,參考:http://oldask.openluat.com/article/946 各個國家和地區的網絡頻段,自行判斷是否可以使用
    例如,要判斷Air720H是否在其他國家可以使用,首先打開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支持的頻段,如下圖所示
    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(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可以在哪些國家使用呢?分如下幾種情況討論
    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-mZcAKb6E-1619422566530)(https://oldask.openluat.com/image/show/attachments-2020-01-Ag5kfJYa5e0ee38a73945.png “undefined”)]
    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-NwhwZU5w-1619422566530)(https://oldask.openluat.com/image/show/attachments-2020-01-mNG0jtwC5e0ee3a9dd309.png “undefined”)]
    注意:一旦確定可用,需要參考本文的APN設置章節,設置為正確的APN,才能正常上網

    7.3、支持SIM卡熱插拔嗎


    ?支持

  • 2G模塊
    ? 1) 默認打開了軟件檢測SIM卡熱插拔功能,但是軟件檢測有延時,詳情參考AT手冊中的AT+AMSDTC命令
    ? 2) 支持硬件檢測SIM卡熱插拔功能,硬件檢測無延時,但是默認關閉了此功能,如果需要打開,參考AT手冊中的AT+CSDT命令【AT版本發送AT+CSDT=1命令,Lua版本執行ril.request(“AT+CSDT=1”)】,同時硬件電路上要接SIMDET腳
  • 4G模塊
    ? 1) 不支持軟件檢測SIM卡熱插拔功能
    ? 2) 支持硬件檢測SIM卡熱插拔功能,硬件檢測無延時,但是默認關閉了此功能,如果需要打開,參考AT手冊中的AT+CSDT命令【AT版本發送AT+CSDT=1命令,Lua版本執行ril.request(“AT+CSDT=1”)】,同時硬件電路上要接USIM_CD腳
  • 7.4、找不到SIM卡


    ? 2G模塊:主動上報+CPIN: NOT INSERTED或者AT+CPIN?查詢返回+CPIN: NOT INSERTED
    ? 4G模塊:主動上報+CPIN: SIM REMOVED或者AT+CPIN?查詢返回+CME ERROR: 10
    ? 都表示找不到SIM卡,按照如下步驟排查:

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


    ? Lua版本的腳本運行起來,檢測到sim卡之后,會發送AT命令查詢iccid、imsi,從腳本開始運行到查詢到結果,一般需要5秒鐘【只是經驗值,不要用做程序設計依據】,如果在查詢到結果之前使用sim.getIccid()、sim.getImsi()接口讀取,就為返回空;
    ? 用戶開發項目時,可以根據項目的應用場景,分別做不同處理,比較典型的兩種場景如下:

  • 如果開機后過一段時間(這個時間超過開機查詢iccid、imsi的時間,例如連接后臺服務器)才會用到iccid和imsi,則用到時直接調用讀取接口即可,因為這個時間點肯定已經查詢到結果
  • 如果在查詢到iccid、imsi之后,立即執行某個動作,則需要在自己寫的腳本中訂閱查詢結果的消息,參考如下代碼
  • sys.subscribe(“IMSI_READY”, function() end) --iccid也是IMSI_READY的消息

    sys.subscribe(“IMSI_READY”, function() end)

    7.6、可以讀到SIM卡的手機號碼(MSISDN)嗎


    ? 目前有兩種方式可以獲取本機號碼:

  • sim卡出廠時,可以寫入自己的手機號碼到sim卡中,但這不是強制要求的。在中國,運營商制卡時基本上都不會寫入手機號碼。如果可以確認自己用的sim卡中已經存儲了手機號碼,可以通過如下方式讀取手機號碼:
    ? 1) AT版本,發送AT+CNUM命令查詢
    ? 2) Luat版本,開機后調用sim.setQueryNumber(true)打開查詢本機號碼功能,會自動查詢本機號碼;可通過sim.getNumber()獲取查詢結果
  • 模塊開機后,sim卡向短信平臺發送一條短信(短信內容中可以包含imei或者imsi),短信平臺收到短信后,識別手機號碼后,可通過如下方式通知模塊手機號碼:
    ? 1) 短信平臺下發一條短信給模塊,短信內容中包含手機號碼,模塊收到后解析出號碼
    ? 2) 模塊連接一個后臺服務器,后臺服務器與短信平臺相連,根據imei或者imsi讀取到對應的手機號碼,然后把這個號碼,下發給imei或者imsi對應的模塊
  • 7.7、虛擬卡(VSIM)


    ? 虛擬卡是一種“將sim卡數據寫入模塊flash,實現和實體卡同樣網絡功能”的純軟件技術,相比實體卡存在“省去卡槽的硬件設計、不會出現掉卡、不會因為卡被盜而產生的巨額流量”的優點
    ? 目前合宙已不生產新的虛擬卡模塊,之前已經出貨的虛擬卡模塊會持續維護。部分2G和4G模塊支持貼片卡(ESIM卡),有需要的話,可咨詢購買
    ? 虛擬卡使用時常見問題如下:

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


    ? 目前,支持貼片卡的模塊型號列表如下:

  • 2G模塊:Air202支持
  • 4G模塊:Air720SL支持
  • 7.9、合宙物聯網卡(虛擬卡、貼片卡、實體卡)商務問題

    ? 物聯網卡管理平臺地址:sim.openluat.com
    ? 商務問題列表如下,有需要請聯系淘寶客服處理:

  • 存在試用期,計費規則如下:
    ? 1) 測試期:物聯網卡在申請開通時,可自由選擇是否開通測試期,測試期最長為三個月,即時生效,測試期以合同訂單簽訂的失效日期為止,測試期結束后自動進入沉默期。在測試期內,有2M/月測試流量,不超過該流量不計費,超過2M則當月按照0.29元/MB(10M及以上套餐)、1元/MB(2M及5M套餐)進行計費,且測試期不享受流量池。(測試期流量一般用于設備前裝質量檢測)
    ? 2) 沉默期:測試期后,進入沉默期,最長六個月,沉默期用戶產生流量后直接激活,并進入流量池。沉默期結束后仍未激活,強制激活
    ? 3) 計費期:物聯網卡從激活之日期,根據購買流量時長(以月為計時單位)在系統內以套餐生效日期、套餐失效日期呈現,即物聯網卡的有效使用期限,用戶如需長期使用物聯網卡應在套餐失效期前進行續費,以延長套餐的有效期,避免因套餐失效而停機
  • 欠費后不可使用,到期前提供iccid或者imei進行續費;過期超過2個月不能續費,自動銷號
  • 支持流量池、支持轉移卡的歸屬賬號
  • 平臺更新有24小時的延遲,可能會造成“已用流量為0、流量不符、已正常使用卻提示沉默期等物聯網卡狀態不符”的問題,出現此類問題,請24小時之后,再登錄平臺查看
  • 7.10、想使用語音短信業務怎么辦


    ? 合宙出售的物聯網卡為純流量卡,不支持語音和短信業務。必須去運營商辦理實名認證的卡才能使用

    7.11、實體卡如何防盜


    ? 無法防盜,建議使用貼片卡

    7.11、實體卡如何防盜


    ? 無法防盜,建議使用貼片卡

    7.12、為什么SIM VCC沒有供電


    ? sim_vcc不是持續供電,是間歇性供電,只有卡在位才持續供電

    7.13、為什么Luatools提示“可能是虛擬卡數據錯誤,請重啟幾次,如果一直出現此提示,請聯系管理員”


    ? Luatools有一個檢測虛擬卡數據是否完整的功能,但是此功能無法做好,如果出現此提示,根據如下情況分析:

  • 如果模塊不支持虛擬卡,直接忽略此提示,屬于誤報
  • 如果模塊支持虛擬卡,并且當前沒有外置實體卡,如果上網正常,屬于誤報;如果上網不正常,提供日志給合宙技術支持人員分析
  • 7.14、如何判斷sim卡所屬運營商


    ? 參考:http://doc.openluat.com/article/556/0

    八、天線射頻問題


    ? 常見的模塊天線有如下幾種:PCB天線、FPC天線、彈簧天線、棒狀天線、外置吸盤天線
    ? 常見的GPS天線有:陶瓷天線
    ? 本章節描述的是常見的注意事項,具體到一款產品遇到的天線問題,還是要分析產品的內部結構,需要拍張清晰的產品內部以及外殼照片發給合宙技術支持人員分析

    8.1、天線設計和調試


    ? 任何一款規范的產品,天線設計至關重要,一定要到正規的天線廠,針對整機,對天線做匹配性調試。如果天線沒有經過調試,在使用過程中會出現信號不穩定、駐網失敗、連接服務器斷線等網絡問題
    ? 任何一款規范的產品,天線設計至關重要,一定要到正規的天線廠,針對整機,對天線做匹配性調試。如果天線沒有經過調試,在使用過程中會出現信號不穩定、駐網失敗、連接服務器斷線等網絡問題
    ? 客戶如果沒有條件做調試,建議選擇抗干擾強的天線,下面分情況討論:

  • 模塊天線:PCB天線、FPC天線、彈簧天線,必須要到正規天線廠做匹配性調試
  • 模塊天線:棒狀天線、外置吸盤天線,如果沒有條件調試,一定要選擇抗干擾強,穩定性好的天線,這樣射頻受到的干擾會比較小
  • GPS陶瓷天線,如果大板和陶瓷天線面積都比較小,一定要去正規天線廠調試。如果面積都比較大,實在沒條件調試,可以不去調試
  • ? 建議天線選配按照如下順序執行:

  • 有條件到天線廠調試天線的話,一定要去天線廠調試
  • 沒條件在天線廠調試天線的話,可以選擇合宙官方提供的天線或者其他渠道購買的天線。注意:直接購買現成的天線,產品的射頻性能無法發揮到最優,購買天線時,價格越貴,性能越好,按照自己的預算去選擇,不建議選擇差的天線。差天線在網絡環境較差的情況下,是很容易出現信號不穩定、駐網失敗、連接服務器斷線等網絡問題。如果要選擇合宙官方的天線,打開:m.openluat.com后,進入“周邊工具”頁面選購
  • 8.2、天線使用環境


    ? 天線調試好之后,使用環境對天線性能也有影響,需要注意的問題如下:

  • 模塊天線:不能放在全封閉或者半封閉的金屬盒子里,對天線性能影響很大
  • GPS天線:天線上方不能有金屬物質,不能有較厚的遮擋物(例如幾厘米的塑料盒子肯定不行,1毫米的塑料盒子可以)
  • 8.3、2G模塊測試傳導靈敏度時,到-107.5左右GPRS就會掉線


    ? GSM靈敏度-108左右,正常應該不會掉線,可能是有干擾導致靈敏度下降,或者線損沒有補上

    8.4、2G模塊天線為什么和GND短路了


    ? 設計如此,這是正常表現;天線和GND之間有電感,所以測試為0歐姆

    8.5、2G模塊和4G模塊天線通用嗎


    ? 4G天線可以用到2G上,但是2G天線不建議用到4G上

    8.6、4G模塊如果支付輔天線,如何使用輔天線


    ? 合宙大部分的4G模塊不支持輔天線,個別模塊支持輔天線,對于支持輔天線的模塊來說,僅使用主天線可以滿足日常基本需求,如果要求射頻高性能發揮到極致,可以同時使用主天線和輔天線

    8.7、天線廠調試天線時,如何提供來電自動接聽的軟件


  • AT版本:開機后發送ATS0=1命令到模塊,接收到來電,振鈴1聲后會自動接聽
  • 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)
  • 九、信號問題

    9.1、沒有信號(信號弱)


  • 參考7.4章節檢查下是否不識卡
  • 參考第八章確認天線是否匹配
  • 檢查天線是否連接、天線連接座子的接口是否正確、天線是否損壞【換天線確認】
  • 沒有注冊上網絡(參考第十章節),也可能會導致沒有信號
  • 靜電擊穿等原因可能導致模塊射頻損壞【可以同一張卡,用其他模塊對比測試,初步確認此問題】
  • 9.2、信號強度和網絡數據業務的穩定性關系


    ? 信號強度和dBm的對應關系為:信號強度*2-113 = dBm值
    ? 信號強度的查詢方法:

  • AT版本:通過AT+CSQ查詢,取值范圍參考AT手冊【手冊中搜索AT+CSQ】
  • Luat版本:通過net.getRssi()返回信號強度值
    ? 信號強度僅僅表示當前駐留小區的網絡覆蓋程度,一般來說,信號強度和網絡通信穩定率是正比關系。信號強度差,網絡數據通信相對就不穩定;但不能絕對的認為信號強度好,網絡數據通信就一定穩定,和網絡是否擁堵等其他因素也有關系;經驗值如下:
    ? CSQ值小于10,可以認為網絡較差
    ? CSQ值在10和25之間,可以認為網絡中等
    ? CSQ值大于25,可以認為網絡較好
  • 十、網絡注冊和附著問題

    10.1、無法注冊網絡、注冊網絡慢、無法附著網絡、附著網絡慢


  • 參考7.4章節檢查下是否不識卡
  • 檢查下sim卡是否欠費【4G模塊有一種欠費表現:無法注冊4G網絡,可以注冊2G網絡】
  • 參考第八章確認天線是否匹配
  • 檢查天線是否連接、天線連接座子的接口是否正確、天線是否損壞【換天線確認】
  • 換卡、換板子對比測試,確保使用正常的硬件和sim卡測試
  • 參考7.1和7.2章節,確保模塊支持當地的網絡制式
  • 偏遠地區的網絡覆蓋可能不全,或者產品的天線射頻指標不合格,想辦法用手機對比測試;用手機對比測試時,注意手機要設置為和模塊同樣的網絡制式,同時借助Cellular-Z工具確認,詳情參考:https://oldask.openluat.com/article/1002
  • 環境因素(車庫、地下室、電梯等)
  • 確認下是否所有設備在同一地點表現是否一致,有可能是偽基站造成的
  • 10.2、為什么在一些車庫里面手機接打電話正常,但是模塊注冊網絡失敗呢


    ? 首先確保手機和模塊使用的網絡制式相同,例如模塊是移動2G網絡,手機也要在移動2G網絡下,這樣才有對比意義

    10.3、為什么有些SIM卡在2G模塊上無法注冊網絡


    ? 0029版本開始的core固件,支持了中國移動的一種新標準的物聯網卡,如果遇到此問題,確認一下版本是否為0029以及之后的版本,如果不是,燒錄最新core固件測試確認下

    10.4、同一地點,同一張卡,手機可以注冊上4G網絡,為什么4G模塊不可以


    ? 之前有客戶遇到過類似問題,均為“測試地點,4G信號太弱”引起的,手機上的天線增益比4G模塊大板上的天線增益要高,所以手機正常,4G模塊不正常。4G模塊更換高增益天線后,也變得正常

    10.5、4G模塊使用2G卡,注冊網絡很慢


    ? 不同型號的4G模塊,支持的網絡頻段也不相同。
    ? 以支持頻段最多的4G模塊Air720H為例,同時支持4G、3G、2G網絡,開機搜索網絡時,默認軟件是按照4G、3G、2G網絡的順序依次搜索,等搜索到2G網絡時,可能已經過去幾分鐘了(例如我在上海辦公室,使用Air720H模塊,3分鐘左右才能搜索到2G網絡),對于使用2G卡的用戶或者要使用2G網絡的應用場景來說,這種速度簡直是不能忍受。那么如何加快搜索2G網絡的速度呢,有如下兩種方式:

    優勢劣勢
    全網搜索,減少搜索4G、3G網絡的時間,通過每次開機發送如下AT命令實現:

    AT+MEDCR=0,8,1

    AT+MEDCR=0,17,240

    AT+MEDCR=0,19,1
    兼容各種網絡環境,注冊2G網絡的速度可以稍微變快一點兒(例如,我這邊Air720H模塊,發送這三條指令前,測試了4次,分別為:174秒、118秒、147秒、136秒;發送這三條指令后,測試了4次,分別為240秒、110秒、112秒、112秒)2G的駐網速度還是沒有質的提升
    僅搜索2G網絡,通過開機發送如下AT命令實現:

    AT*BAND=0,74
    2G網絡注冊快,和2G模塊的駐網速度基本一致(例如,我這邊Air720H模塊,基本上都是在20秒以內)設置AT命令后,模塊就只能使用2G網絡了;以后如果要使用默認網絡配置,必須發送AT+RSTSET(發送后,會自動重啟)命令來恢復出廠設置

    10.6、4G模塊如何設置網絡頻段


  • 僅搜索2G網絡
    ? 1) AT版本:開機發送AT* BAND=0,74命令設置
    ? 2) Luat版本:main.lua中sys.init(0,0)前添加一行代碼ril.request(“AT*BAND=0,74”)
  • 僅搜索4G網絡
    ? 1) AT版本:開機發送AT* BAND=5,74,129,480,149命令設置
    ? 2) Luat版本:main.lua中sys.init(0,0)前添加一行代碼ril.request(“AT*BAND=5,74,129,480,149”)
    注意:這些設置生效后,會保存到flash中,不會丟失;如果僅僅是測試需要,在測試結束之后,AT版本通過發送AT+RSTSET命令,Luat版本通過執行一行代碼ril.request(“AT+RSTSET”)來恢復出廠設置
    更多使用方式參考:http://oldask.openluat.com/article/130 和AT手冊
  • 10.7、如何判斷4G模塊注冊的是什么網絡


  • AT版本,有如下兩種方式可以查詢
    ? 1) 當注冊的網絡類型發生變化時,會通過urc上報^MODE:<SysMainMode>,<SysMode>;其中<SysMainMode>表示當前注冊的網絡類型:
    ? <SysMainMode>為3時表示2G網絡
    ? <SysMainMode>為5時表示3G WCDMA網絡
    ? <SysMainMode>為15時表示3G TD網絡
    ? <SysMainMode>為17時表示4G網絡
    ? <SysMainMode>為其余值時表示未注冊網絡
    ? 2) 發送AT*BANDIND?命令主動查詢,返回的查詢結果格式為:*BANDIND: <n>[,<band>,<AcT>];其中<AcT>表示當前注冊的網絡類型:
    ? <AcT>為0、1、3時表示2G網絡
    ? <AcT>為2、4、5、6、8時表示3G網絡
    ? <AcT>為7時表示4G網絡
    ? <AcT>為其余值時表示未注冊網絡
  • Luat版本,有如下兩種方式可以查詢
    ? 1) 日志中搜索MODE,搜索結果的格式為:MODE:<SysMainMode>,<SysMode>;其中<SysMainMode>表示當前注冊的網絡類型:
    ? <SysMainMode>為3時表示2G網絡
    ? <SysMainMode>為5時表示3G WCDMA網絡
    ? <SysMainMode>為15時表示3G TD網絡
    ? <SysMainMode>為17時表示4G網絡
    ? <SysMainMode>為其余值時表示未注冊網絡
    ? 2) 調用net.getNetMode()接口,返回值表示當前注冊的網絡類型:
    ? 返回值為0表示未注冊網絡
    ? 返回值為1、2時表示2G網絡
    ? 返回值為3時表示3G TD網絡
    ? 返回值為4時表示4G網絡
    ? 返回值為5時表示3G WCDMA網絡
  • 詳情可參考AT手冊和 http://oldask.openluat.com/article/130 幫助理解

    10.8、各國網絡頻段匯總


    參考:
    https://oldask.openluat.com/article/946
    http://bw.openluat.com/#/inter_view 這個地址也可以備注上。

    10.9、網絡小區參數


    ? 在對接后臺時,有些后臺會要求終端上傳一些小區參數,例如:
    ? cell id:小區ID
    ? ecl、ce level:無線信號覆蓋等級
    ? pci:物理小區標識
    ? sinr:信號與干擾加噪聲比
    ? rsrp:參考信號接收功率
    ? tac:基站跟蹤區域碼
    ? strength:信號強度,通過AT+CSQ或者AT+CESQ獲取
    ? 一般來說,只有4G小區才具有這些參數信息,我們以4G小區為例,來說明如何獲取這些參數,AT手冊中有一個+EEMLTESVC的上報,上報的數據中包含了這些參數;有如下兩種方式可以觸發+EEMLTESVC上報:

  • 通過AT+EEMOPT=1設置為主動查詢模式,在需要查詢時,發送AT+EEMGINFO?查詢
  • 通過AT+EEMOPT=2,value設置為主動上報模式,根據value設置的上報周期定時上報
    +EEMLTESVC中的參數和我們需要的參數對應關系參考下圖
    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-JdUDYRSp-1619422566532)(https://oldask.openluat.com/image/show/attachments-2020-03-dJlpDc0D5e7ef832f1ee1.png “undefined”)]
    ? ecl、ce level:無線信號覆蓋等級,沒有現成的AT命令可以直接查詢,可參考下圖自行計算
    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-BoxeAmCj-1619422566532)(https://oldask.openluat.com/image/show/attachments-2020-03-b34z2byh5e7ef8581b4fd.jpg “undefined”)]
  • 十一、APN設置和PDP激活問題

    11.1、2G模塊如何設置APN


    ? 1. AT版本,固件包含各國公網APN列表,但是列表無法保證完整性和正確性,除中國大陸外,其他國家和地區還是建議用戶使用AT+CSTT或者AT+SAPBR命令主動設置正確的APN
    ? 1) 如果在中國大陸使用中國移動的公網卡,根據應用場景不同,可選是否設置APN
    ? A. 如果socket單連接,在AT+CGATT?附著上數據網絡之后,可以不設置APN,直接使用AT+CIPSTART命令去連接服務器
    ? 2) 如果在中國港澳臺或者國外使用,請咨詢SIM卡供應商獲取APN信息,使用AT+CSTT或者AT+SAPBR命令主動去設置正確的APN
    ? 3) 如果是專網卡,無論在什么國家和地區使用,請咨詢SIM卡供應商獲取APN信息,使用AT+CSTT或者AT+SAPBR命令主動去設置正確的APN
    2. Luat版本,固件包含各國公網APN列表,但是列表無法保證完整性和正確性,除中國大陸外,其他國家和地區還是建議用戶使用link.setApn(apn, userName, password)主動設置正確的APN
    ? 1) 如果在中國大陸使用中國移動的公網卡,可以不主動設置APN
    ? 2) 如果在中國港澳臺或者國外使用,請咨詢SIM卡供應商獲取APN信息,使用link.setApn(apn, userName, password)主動去設置正確的APN
    ? 3) 如果是專網卡,無論在什么國家和地區使用,請咨詢SIM卡供應商獲取APN信息,使用link.setApn(apn, userName, password)主動去設置正確的APN

    11.2、4G 模塊如何設置APN


  • AT版本
    ? 1) 如果是公網SIM卡,不需要用戶主動設置APN,軟件自動去網絡端查詢APN進行設置
    ? 2) 如果是專網SIM卡,首先咨詢SIM卡提供商APN參數,然后參考:http://oldask.openluat.com/article/913 進行設置,設置成功后,后續用到CSTT或者SAPBR設置APN時,必須再次傳入正確的APN參數,才能正常使用
  • Luat版本
    ? 1) 如果是公網SIM卡,不需要用戶主動設置APN,軟件自動去網絡端查詢APN進行設置
    ? 2) 如果是專網SIM卡,首先咨詢SIM卡提供商APN參數,然后在main.lua盡可能靠前的位置調用link.setAuthApn(prot,apn,user,pwd)進行設置【注意:第一次設置成功之后,軟件會自動重啟,因為重啟后才能生效】
  • 11.3、PDP激活失敗


    ? 參考10.1章節

    11.4、為什么4G模塊專網卡連接服務器失敗


  • 參考11.2章節,檢查APN參數是否設置正確
  • 如果有其他廠家的模塊,對比測試下是否連接正常
  • 如果無法百分百保證服務器配置沒問題,最好在服務器端用wireshark抓包,或者在服務器上安裝一個第三方工具,開啟一個服務器端口來對比測試
  • 十二、socket問題

    12.1、連接服務器失敗


  • 服務器必須是公網地址
  • 使用PC上的TCP UDP測試工具客戶端、或者mqtt.fx,連接服務器確認一下是否可以連接成功,排除服務器故障
  • 如果連接ssl服務器,確認下core文件是否支持ssl功能(例如2G模塊的某些core文件不支持ssl功能)
  • 2G模塊不要使用中國聯通卡
  • 檢查下模塊信號、網絡注冊、網絡附著、PDP激活狀態
  • 檢查下SIM卡是否欠費【4G模塊有一種欠費表現:無法注冊4G網絡,可以注冊2G網絡】
  • 提供日志給合宙技術支持人員
    ? 1) 2G模塊:使用合宙技術支持人員提供的debug core文件,參考:http://oldask.openluat.com/article/63 抓日志
    ? 2) 4G模塊:參考1.2.6章節中的1和2,提供Luatools下的trc文件和sdl文件
  • 12.2、數據收發延遲大、速度慢、經常失敗、掉線斷開


  • 檢查下是否存在代碼邏輯錯誤,導致異常
  • 檢查下是否不斷重啟,導致異常
  • 檢查下服務器網絡是否穩定,不要用內網穿透方式搭建服務器
  • 檢查下使用環境是否網絡覆蓋不好,例如車庫、地下、電梯、山區等
  • 2G模塊不要使用中國聯通卡
  • 檢查下模塊信號、網絡注冊、網絡附著、PDP激活狀態
  • 排查是否為設備天線問題:發出來設備的天線調試指標參數給合宙技術支持人員;曾經有一個客戶天線指標明顯有問題,導致10幾個小時出現30次左右掉線;后來重新調試天線之后,40個小時出現幾次掉線
  • 如果經常出現連接被動斷開:
    ? 1) 如果直接使用的是tcp udp socket連接,檢查下心跳包的頻率,基站策略會關閉長時間沒有數據傳輸的連接,建議心跳包的頻率不要超過4分鐘,一般都是建議使用2分鐘
    ? 2) 如果使用的是mqtt連接,檢查下mqtt keep alive的時間,基站策略會關閉長時間沒有數據傳輸的連接,建議心跳包的頻率不要超過4分鐘,一般都是建議使用2分鐘
    ? 3) 如果使用的是mqtt連接,檢查下是否在1.5倍的mqtt keep alive的時間,沒有成功發送數據到服務器,就會被被服務器主動斷開,這種情況一般都是發送數據超時引起的
  • 排查是否為網絡問題:如果同一地點的所有設備都有問題,可能和網絡環境有關系;使用手機設置為同樣的網絡模式,對比測試確認下;或者把設備移動到其他距離此地點比較遠的地方對比測試。【注意:目前2G網絡環境在逐步惡化,在網絡較好的情況下,24小時出現10次以內的掉線都可以認為正常,僅僅作為經驗值參考】
  • 如果要降低掉線率,可通過如下方式設置【注意:在網絡環境不變的情況下,降低掉線率意味著會增加響應延時】
    ? 1) 2G模塊
    ? A. AT版本:
    ? a) 通過AT+TCPUSERPARAM命令設置較大的重傳次數和重傳間隔
    ? b) 如果使用的是MQTT,除了執行第a)步操作之外,還可以通過AT+MCONNECT命令增大MQTT KEEP ALIVE的時間來降低掉線率
    ? B. Luat版本:
    ? a) 調用socket.setTcpResendPara接口設置較大的重傳次數和重傳間隔
    ? b) 如果使用的是MQTT,除了執行第a)步操作之外,還可以通過調用mqtt.client接口增大MQTT KEEP ALIVE的時間來降低掉線率
    ? 2) 4G模塊
    ? A. AT版本:
    ? a) 目前還不支持AT設置重傳次數和重傳間隔
    ? b) 如果使用的是MQTT,除了執行第a)步操作之外,還可以通過AT+MCONNECT命令增大MQTT KEEP ALIVE的時間來降低掉線率
    ? B.Luat版本:
    ? a) 目前還沒有接口支持設置重傳次數和重傳間隔
    ? b) 如果使用的是MQTT,除了執行第a)步操作之外,還可以通過調用mqtt.client接口增大MQTT KEEP ALIVE的時間來降低掉線率
  • 排查是否設備單體問題:如果同一地點,某些設備正常,某些設備異常,按照如下幾種情況分析
    ? 1) 分析正常設備和異常設備的使用環境是否相同:
    ? A. 如果不同,例如異常設備固定在鋼制墻壁上,正常設備放置在桌子上,鋼制墻壁可能對天線射頻有干擾,將異常設備和正常設備放置在同樣的使用環境中,再對比測試
    ? B. 如果相同,參考第2)步
    ? 2) 分析正常和異常的設備,駐留的小區是否相同:
    ? A. 如果相同,重點排查異常設備的天線射頻部分,分析不出結果的話,異常設備寄給合宙分析
    ? B. 如同不同,多測試幾次,確認下,是不是在異常小區內很容易出問題,如果異常小區很容易出問題,可能就是小區擁堵造成的
  • 提供日志給合宙技術支持人員
    ? 1) 2G模塊:使用合宙技術支持人員提供的debug core文件,參考:http://oldask.openluat.com/article/63 抓日志
    ? 2) 4G模塊:參考1.2.6章節中的1和2,提供Luatools下的trc文件和sdl文件
  • 12.3、如何發送大量數據


  • AT版本:發送數據的AT命令,例如AT+CIPSEND、AT+MQTTPUB、AT+HTTPDATA都有支持的最大長度,參考AT手冊,根據這些AT命令單次發送支持的最大長度,MCU端拆包發送
  • Luat版本:lib中socket、mqtt、http功能模塊對數據發送進行了封裝,支持一次傳入大量數據【只要內存夠用】,lib中自動分包進行發送
  • 12.4、為什么頻繁收發數據時,會導致整個模塊系統響應變慢


    ? 模塊的主頻是有限的,如果一直頻繁收發數據,CPU頻繁的處理數據收發,肯定會導致對其他任務的處理有延時。
    ? 如果是Luat版本二次開發,這種表現會更加明顯,因為所有Luat應用是一個單task應用,頻繁的收發數據,會導致這個單task在頻繁的處理數據收發消息,從而影響其他功能的及時響應。可參考:http://oldask.openluat.com/article/930 輔助理解

    12.5、是否支持長連接


    ? UDP協議的socket不支持長連接,TCP協議的socket支持長連接;長連接需要在代碼中實現斷開自動重連的控制邏輯,以及實現定時發送心跳的業務邏輯

    12.6、快發和慢發有什么區別


    ? UDP協議本身沒有可靠性保證,所以不存在快發慢發之說,可以認為UDP協議的socket一直是快發模式
    ? TCP協議發送數據時,數據發送出去之后,必須等到服務器返回TCP ACK包,才認為數據發送成功,在網絡較差的情況下,這種ACK確認就會導致發送過程很慢。從而導致用戶程序后續的AT處理邏輯一直處于等待狀態。例如執行AT+CIPSEND動作發送一包數據后,接下來要執行AT+QTTS播放TTS,但是CIPSEND一直等了1分鐘才返回SEND OK,這時AT+QTTS就會一直等待1分鐘,可能不是程序中想看到的。此時就可以設置為快發模式,AT+CIPSEND可以立即返回一個結果,此結果表示“數據是否被緩沖區所保存”,從而不影響后續其他AT指令的及時執行
    ? AT版本可以通過AT+CIPQSEND指令、Luat版本可以通過socket.setSendMode接口設置發送模式為快發或者慢發
    ? 快發模式下,在core中有一個1460*7=10220字節的緩沖區,要發送的數據首先存儲到此緩沖區,然后在core中自動循環發送。如果此緩沖區已滿,則AT+CIPSEND會直接返回ERROR,socket:send接口也會直接返回失敗
    ? 同時滿足如下幾種條件,適合使用快發模式:

  • 發送的數據量小,并且發送頻率低,數據發送速度遠遠不會超過core中的10220字節大小;沒有精確地判斷標準,可以簡單的按照3分鐘不超過10220字節來判斷;曾經有一個不適合快發模式的例子如下:用戶使用Luat版本的http上傳一個幾十K的文件,設置了快發模式,導致一直發送失敗,因為循環的向core中的緩沖區插入數據,插入數據的速度遠遠超過發送數據到服務器的速度,所以很快就導致緩沖區慢,再插入數據時,就直接返回失敗
  • 對每次發送的數據,不需要確認發送結果
  • 數據發送功能不能影響其他功能的及時響應
    注意:4G Luat版本沒有快發慢發的設置,因為4G Luat版本直接使用了api的方式來實現socket,不影響其他功能的及時響應
  • 12.7、支持發送什么格式的數據


    ? 任何數據格式都支持

  • AT版本:建議使用AT+CIPSEND命令時,指定數據長度,此方式支持任何格式的數據發送,使用方法參考AT手冊
  • Luat版本:socket的send接口,支持任何格式的數據發送,參數為string類型,其他table等數據類型,都要轉換為string類型之后,才能發送
  • 12.8、如何查詢錯誤碼


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

    12.9、最多同時支持多少個連接


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

  • 2G模塊:非SSL連接最多8個;在內存空間充足的情況下,SSL連接個數沒有限制
  • 4G模塊:AT版本最多8個連接;Luat版本最多10個連接
    注意:Luat版本的lib中的一些功能模塊會用到socket連接,例如update、agps、lbsLoc、errDump;同時支持的連接個數包含lib中的這些連接;例如在某個時間點,update和lbsLoc在工作,會占用2個socket連接,這個時間點用戶的應用腳本中最多能夠同時使用的連接個數就少2個了
  • 12.10、是否支持websocket、是否可以做server使用


    ? 不支持websocket
    ? 不可以做server使用

    12.11、為什么要發送心跳包(如何檢測連接活性)


    ? 因為基站資源有限,如果不發心跳包保活,基站會主動斷掉鏈路,回收資源,模塊和服務器無感,并不知道鏈路已經斷開。建議心跳包的頻率不要超過4分鐘,一般都是建議使用2分鐘

    12.12、為什么有時連接斷開會收到提示;有時不可以收到提示,必須等到發送數據時才能檢測到斷開


    ? 能收到提示的情況,通常是服務器主動斷開連接
    ? 不能收到提示的情況,可能是鏈路被基站斷開,或者其他意外情況導致【例如服務器網線被拔掉】,模塊和服務器無感知;此時只能通過發送數據超時來感知

    12.13、如何統計流量


    ? 運營商按照ip包來統計流量,ip包包含:ip包頭+tcp包頭+用戶數據,以IPv4為例:
    ? ip包頭包含固定的20字節+可選的4字節,至少20字節
    ? tcp包頭包含固定的20字節+可選的4字節,至少20字節
    ? 用戶數據就是用戶能夠感知到的數據內容了,如果直接使用socket,就是用戶感知的數據;如果使用http、mqtt、ssl,這部分數據就不是用戶能夠感知的原始數據了,http會加上http包頭,mqtt會加入mqtt的包裹部分,ssl會加密數據
    ? tcp數據收發時,有ack確認機制,例如設備發數據給服務器后,還會收到服務器返回的tcp ack包,這個tcp ack包(至少40字節)也是計算在流量之內的。接收到服務器下發的數據時,設備也會回復一個tcp ack包,同樣這個ack包仍然計算在流量之內
    ? 另外,socket連接以及斷開連接,都有多次數據收發,這部分也會消耗流量
    ? 例如有一個tcp socket連接,連接成功后,每分鐘設備發送2字節的心跳數據到服務器,服務器收到數據后,再回復2字節的心跳應答數據。這個過程中,每分鐘消耗的流量至少有42(設備發送)+40(服務器回復ack)+42(服務器發送)+40(設備回復ack)=164字節,實際處理中,服務器回復ack和服務器發送可能合并成一個IP包42字節,這樣的話,至少也要42+42+40 = 124字節。這是最簡單的算法,實際應用中,還要考慮到重傳、包頭中的可選字節,應該會比這里計算的流量多一些。如果要準確計算,建議在服務器端用wireshark抓包分析
    ? 另外一個常見的例子是,為什么通過http下載一個文件,實際消耗的流量比文件本身要多呢?跟上個例子類似,文件本身大小僅僅是用戶數據,除了用戶數據外,還有如下幾部分的流量消耗:

  • 連接服務器消耗流量
  • http請求時有http頭,服務器下發數據時也有http頭
  • 每包數據都有tcp頭和ip頭
  • 重傳也會消耗流量
  • 與服務器斷開連接也需要消耗流量
  • 12.14、是否支持IPv6


    ? 2G模塊不支持IPv6
    ? 4G模塊支持IPv6協議,rndis和ppp應用也支持了IPv6,但是Luat版本二次開發和AT版本tcp、http、mqtt指令沒有使用IPv6

    12.15、模塊IP地址


    ? 模塊激活pdp后,模塊端顯示的ip地址是運營商分配的內網ip
    ? 模塊與服務器連接成功后,在服務器端顯示的ip地址是運營商分配的公網ip地址
    ? 對于同一個模塊來說,這兩個ip地址都是會變化的,例如同一個模塊:

  • 第一次激活pdp后,模塊端顯示的ip地址為:10.155.141.25,與服務器連接成功后,服務器端顯示此模塊的ip地址和端口為:117.132.197.166:48191,與服務器斷開再重連服務器,此時服務器端顯示此模塊的ip地址和端口為:117.132.197.166:48492
  • pdp主動去激活,然后再重新激活,模塊端顯示的ip地址為:10.41.220.39,與服務器連接成功后,服務器端顯示此模塊的ip地址和端口為:221.178.127.225:40876,與服務器斷開再重連服務器,此時服務器端顯示此模塊的ip地址和端口為:221.178.127.225:40787
    ? 所以這兩種ip地址,對模塊來說沒有多大意義,不要用他們來標識模塊,如果要標識模塊,請使用模塊imei
  • 12.16、數據接收緩存問題


  • AT版本:使用CIPSTART建立的socket連接,接收數據沒有緩存機制,收到數據后,立即通過AT口輸出,每包最多1460字節;例如服務器下發一個70KB的文件,模塊會連續收到多個包,通過AT口連續多次輸出
  • Luat版本:有緩存機制,內存中有一個緩存表,緩存表有256個元素,每個元素存儲收到的一包數據(最多1460字節),所以最多可以緩存256*1460字節,所有元素都被占用時,socket收到新數據時,會清空緩存表,重新開始緩存;需要讀取數據時,通過socket:recv接口主動讀取即可
    注意:緩存表位于內存中,斷電或者重啟后,緩存表中的數據會被清空;雖然緩存表可以緩存很多數據,但是建議收到數據時,還是要及時讀取出來;緩存表不斷緩存數據,會占用大量內存,在項目內存緊張的情況下,很容易出現內存不足問題導致重啟
  • 12.17、客戶示例:2G模塊3秒上傳一次GPS位置數據,軌跡丟失問題


    ? 現在的2G網絡環境無法保證"任何時間任何地點,都能及時成功的傳輸數據",延時和發送失敗的問題,肯定是存在的,如果要比較完美的行駛軌跡,需要在應用層設計好數據緩存和數據補傳工作,注意事項如下:

  • 發送當前一包數據時,在返回發送結果之前,新的數據包需要緩存起來
  • 發送失敗的數據包緩存起來
  • 緩存數據的條數可以設置一個最大值,超過這個最大值,根據業務需要,丟棄一些緩存數據,例如丟棄最早的數據
  • 如果協議允許,可以在一條報文中發送多條已緩存的數據
  • 連接斷開或者數據傳輸失敗時,做好重連動作
  • 12.18、數據透傳時,會丟失前面的一部分數據


    ? 確認下是否收發數據前是否喚醒了模塊

    十三、http問題

    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)
    證書支持情況如下:
    ? 1) AT版本:不支持證書配置,不校驗證書
    ? 2) Luat版本:支持證書配置,支持單向認證和雙向認證
  • 4G模塊
    支持證書配置,支持單向認證和雙向認證
    支持如下六種加密套件:
    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、為什么頻繁請求會失敗


    ? 支持的http連接總數有限,參考12.9章節
    ? 建議一個http連接返回請求結果之后,再去請求下一個連接;不要使用循環定時器方式不斷的發起新的http請求

    13.3、支持發送什么格式的數據


    ? 任何數據格式都支持

  • AT版本:使用AT+HTTPDATA命令時,指定數據長度,支持任何格式的數據發送,使用方法參考AT手冊
  • Luat版本:參考http的api手冊,按照參數要求傳入數據即可
  • 13.4、如何查詢錯誤碼


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


  • AT版本:參考AT手冊,主要是使用AT+HTTPDATA命令錄入文件數據【最長支持100KB】后,發送AT+HTTPACTION=1利用post上傳
  • Luat版本:參考http的demo,在模塊文件系統支持的空間范圍內,post的文件沒有大小限制
  • 13.6、為什么POST JSON格式的數據會出現失敗


    檢查一下是否忘記設置了"Content-Type: application/json"請求頭

  • AT版本:參考AT手冊,2G模塊使用AT+HTTPPARA=“USER_DEFINED”,“Content-Type: application/json”;4G模塊使用AT+HTTPPARA=“USERDATA”,“Content-Type: application/json”
  • Luat版本:參考http的demo,在head參數中傳入{[“Content-Type”]=“application/json”}
  • 13.7、AT版本如何設計HTTP應用邏輯


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

    13.8、數據接收緩存問題


  • AT版本:有緩存機制,內存中有一個的緩沖區(2G模塊300KB,4G模塊319499字節),收到數據后,插入此緩沖區,然后通過AT口輸出urc,提示收到的數據長度;緩沖區滿之后,再收到新數據,會丟棄新收到的數據,并通過AT口輸出urc提示出錯;需要讀取數據時,發送AT+HTTPREAD命令讀取,可分段讀取,也可全部讀取

    注意:緩沖區位于內存中,斷電或者重啟后,緩存表中的數據會被清空;雖然緩沖區可以緩存很多數據,但是建議收到數據時,通過AT+HTTPREAD及時讀取出來,以防緩沖區滿出錯

  • Luat版本:有如下兩種緩存機制, http.request接口可以設置使用何種緩存機制,http的demo中有詳細示例可供參考
    ? 1) 內存緩存:內存中有一個緩沖區,在項目剩余可用內存的范圍內,此緩沖區沒有大小限制,例如項目可用內存剩余200KB,則此緩沖區的理想最大值是200KB;收到的數據都會緩存到此緩沖區,如果收到的數據超過緩沖區大小,會導致內存不足重啟;數據接收完整后,通過回調函數傳出緩沖區數據,供用戶應用腳本使用

    注意:緩沖區位于內存中,斷電或者重啟后,緩沖區中的數據會被清空;如果接收的數據過多,不建議使用內存緩存的機制,可能會導致內存不足重啟
    ? 2) 文件緩存:接收到的數據可以保存在文件中,在文件系統剩余空間的范圍內,此文件沒有大小限制,例如項目剩余文件系統空間200KB,則此文件的理想最大值是200KB;收到的數據都會保存到此文件中,如果收到的數據文件最大值,會導致保存失敗,新數據被丟棄;數據接收完整后,通過回調函數傳出文件完整路徑,供用戶應用腳本使用

    注意:文件位于文件系統中,斷電或者重啟后,文件不會被自動清空刪除;如果文件已經不再使用,一定要通過os.remove接口將文件刪除。否則會一直占用文件系統空間,導致可用文件系統空間變小

  • 13.9、為什么https訪問失敗


  • 確認下使用的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章節,檢查服務器是否支持模塊支持的加密套件
  • 發日志文件給合宙技術支持人員分析
  • 十四、mqtt問題

    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)
    證書支持情況如下:
    ? 1) AT版本:不支持證書配置,不校驗證書
    ? 2) Luat版本:支持證書配置,支持單向認證和雙向認證
  • 4G模塊
    支持證書配置,支持單向認證和雙向認證
    支持如下六種加密套件:
    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版本如何設計MQTT應用邏輯


    ? 參考:http://doc.openluat.com/article/625/0

    14.3、有沒有免費的MQTT broker可用


    ? 合宙有一個lbsmqtt.airm2m.com:1884的broker,沒有網頁端控制頁面,可以用模塊和mqtt.fx客戶端配合測試

    14.4、如何實現掉線自動重連


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

  • 檢查下是否存在代碼邏輯錯誤,導致異常
  • 檢查下是否不斷重啟,導致異常
  • 檢查下服務器網絡是否穩定,不要用內網穿透方式搭建服務器
  • 檢查下使用環境是否網絡覆蓋不好,例如車庫、地下、電梯、山區等
  • 2G模塊不要使用中國聯通卡
  • 檢查下模塊信號、網絡注冊、網絡附著、PDP激活狀態
  • 排查是否為設備天線問題:發出來設備的天線調試指標參數給合宙技術支持人員;曾經有一個客戶天線指標明顯有問題,導致10幾個小時出現30次左右掉線;后來重新調試天線之后,40個小時出現幾次掉線
  • 如果經常出現連接被動斷開:
    ? 1) 檢查下mqtt keep alive的時間,一般建議使用2分鐘【如果每2分鐘內都有應用數據收發,則可以把mqtt keep alive的時間設置的長一點兒】,除非有強制要求,否則不能太長,也不能太短。不建議超過4分鐘,基站策略會關閉長時間沒有數據傳輸的連接,太長時間可能會導致連接被基站關閉;不建議少于1分鐘,太短時間可能會因為網絡環境波動導致上行數據發送超時,可能超過1.5倍的心跳時間,從而被服務器主動斷開連接
    ? 2) 檢查下是否在1.5倍的mqtt keep alive的時間,沒有成功發送數據到服務器,就會被被服務器主動斷開,這種情況一般都是發送數據超時引起的
  • 排查是否為網絡問題:如果同一地點的所有設備都有問題,可能和網絡環境有關系;使用手機設置為同樣的網絡模式,對比測試確認下;或者把設備移動到其他距離此地點比較遠的地方對比測試。【注意:目前2G網絡環境在逐步惡化,在網絡較好的情況下,24小時出現10次以內的掉線都可以認為正常,僅僅作為經驗值參考】
  • 如果要降低掉線率,可通過如下方式設置【注意:在網絡環境不變的情況下,降低掉線率意味著會增加響應延時】
    ? 1) 2G模塊
    ? A. 加大TCP重傳次數和重傳間隔:AT版本通過AT+TCPUSERPARAM命令設置;Luat版本通過socket.setTcpResendPara接口設置
    ? B. mqtt keep alive的時間,一般建議使用2分鐘【如果每2分鐘內都有應用數據收發,則可以把mqtt keep alive的時間設置的長一點兒】,除非有強制要求,否則不能太長,也不能太短。不建議超過4分鐘,基站策略會關閉長時間沒有數據傳輸的連接,太長時間可能會導致連接被基站關閉;不建議少于1分鐘,太短時間可能會因為網絡環境波動導致上行數據發送超時,可能超過1.5倍的心跳時間,從而被服務器主動斷開連接
    ? C. 減少Qos1和Qos2的publish使用,允許的話建議都使用Qos0
    ? 2) 4G模塊
    ? A. 加大TCP重傳次數和重傳間隔:目前還不支持
    ? B. mqtt keep alive的時間,一般建議使用2分鐘【如果每2分鐘內都有應用數據收發,則可以把mqtt keep alive的時間設置的長一點兒】,除非有強制要求,否則不能太長,也不能太短。不建議超過4分鐘,基站策略會關閉長時間沒有數據傳輸的連接,太長時間可能會導致連接被基站關閉;不建議少于1分鐘,太短時間可能會因為網絡環境波動導致上行數據發送超時,可能超過1.5倍的心跳時間,從而被服務器主動斷開連接
    ? C. 減少Qos1和Qos2的publish使用,允許的話建議都使用Qos0
  • 排查是否設備單體問題:如果同一地點,某些設備正常,某些設備異常,按照如下幾種情況分析
    ? 1) 分析正常設備和異常設備的使用環境是否相同:
    ? A. 如果不同,例如異常設備固定在鋼制墻壁上,正常設備放置在桌子上,鋼制墻壁可能對天線射頻有干擾,將異常設備和正常設備放置在同樣的使用環境中,再對比測試
    ? B. 如果相同,參考第2)步
    ? 2) 分析正常和異常的設備,駐留的小區是否相同:
    ? A. 如果相同,重點排查異常設備的天線射頻部分,分析不出結果的話,異常設備寄給合宙分析
    ? B. 如同不同,多測試幾次,確認下,是不是在異常小區內很容易出問題,如果異常小區很容易出問題,可能就是小區擁堵造成的
  • 提供日志給合宙技術支持人員
    ? 1) 2G模塊:使用合宙技術支持人員提供的debug core文件,參考:http://oldask.openluat.com/article/63 抓日志
    ? 2) 4G模塊:參考1.2.6章節中的1和2,提供Luatools下的trc文件和sdl文件
  • 14.6、有沒有認證機制


    ? 有,每個設備有clientid、username、password

    14.7、client id是否允許重復


    ? 不允許重復,重復的話,服務器會踢掉上一個相同id的設備

    14.8、是否支持通配符


    ? 訂閱的主題支持通配符,所以建議訂閱的主題復雜且不易被猜;建議使用自建服務器,或者項目之間隔離,公網broker不可靠
    ? 參考:http://doc.openluat.com/article/600/0

    14.9、Qos0、1、2如何選擇


    ? 應用允許的情況下,建議使用Qos0,Qos1和Qos2會加重網絡負擔,4G網絡還好,特別是2G網絡,在網絡擁堵和較差的情況下,數據傳輸的次數越多,掉線的概率就會越高

    14.10、AT版本publish json格式的數據,如何處理"


    需要轉義處理,參考:http://oldask.openluat.com/article/122

    14.11、如何查詢錯誤碼


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


  • AT版本:可通過AT+MQTTMSGSET命令設置是否緩存,詳情參考AT手冊
    ? 1) 不緩存:通過AT+MQTTMSGSET=0設置;收到訂閱的publish報文后,立即通過AT口輸出主題、payload長度、payload內容,每個報文中支持的payload內容最長1360字節
    ? 2) 內存緩存:通過AT+MQTTMSGSET=1設置;內存中有一個緩存表,最多支持緩存4條publish報文;收到訂閱的publish報文后,插入緩沖表中的空閑位置,然后通過AT口輸出存儲位置;緩存表滿之后,新收到的publish報文會覆蓋最舊的publish報文
    注意:緩存表位于內存中,斷電或者重啟后,緩存表中的數據會被清空;建議收到數據時,通過AT+MQTTMSGGET及時讀取出來,以防緩沖區滿覆蓋丟失數據
  • Luat版本:
    內存中有一個緩存表,在項目剩余可用內存的范圍內,此緩存表沒有大小限制,例如項目可用內存剩余200KB,則此緩存表的理想最大值是200KB;收到的publish報文都會緩存到此緩存表,如果收到的數據超過緩存表大小,會導致內存不足重啟;需要讀取數據時,通過mqtt:receive接口主動讀取即可
  • 注意:緩存表位于內存中,斷電或者重啟后,緩存表中的數據會被清空;雖然緩存表可以緩存很多數據,但是建議收到數據時,還是要及時讀取出來;緩存表不斷緩存數據,會占用大量內存,在項目內存緊張的情況下,很容易出現內存不足問題導致重啟

    14.13、為什么mqtt ssl訪問失敗


  • 確認下使用的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章節,檢查服務器是否支持模塊支持的加密套件
  • 發日志文件給合宙技術支持人員分析

  • 十五、遠程升級問題


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

    十六、阿里云問題

    16.1、如何連接阿里云


  • 2G模塊AT版本:必須使用AT_S_SSL或者AT_S_8955F固件才能支持
    ? 1) 一機一密參考: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) 一機一密參考: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等其他云平臺嗎


    ? 支持,但是需要用戶自己開發,沒有提供官方例程和lib文件
    ? 開發者伙伴發布了一些文章在ask網站,僅供參考,不保證正確和穩定性
    ? 華為云: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、一型一密方案,設備在線運行了很多天后,模塊中的設備密鑰和阿里云平臺上的密鑰不一致導致無法上線


    ? 有一個客戶陸續反映此問題,目前還沒有定位到根本原因,可按照如下方式協助確認此問題:

  • 首先從阿里云平臺導出所有設備的密鑰保存下來,然后設備復現此問題后,對比一下模塊中的設備密鑰和本地保存的密鑰是否一致:如果不一致,就是模塊端的問題;如果一致,就是阿里云平臺端的問題。【注意:必須在設備正常在線狀態下,從阿里云平臺導出密鑰保存下來,設備復現問題后,對比才有意義;如果設備已經復現問題,再從阿里云平臺導出密鑰對比,沒有意義】
  • 在腳本中增加一個輔助保存設備密鑰的功能:連接阿里云成功后,將設備密鑰保存到nvm中,復現問題后,對比nvm中的密鑰和sn中存儲的密鑰是否一致
  • ? 在定位出根本原因之前,可通過如下方式規避處理:在阿里云上刪除此設備,然后再重新錄入

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


  • 確認下使用的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模塊:所有版本都支持
  • 確認下product key中的大小寫是否正確,連接阿里云服務器時,會用到這個product key,大小寫敏感,大小寫出錯會導致域名解析失敗
  • 默認使用模塊imei作為client id連接阿里云,從日志中確認下實際imei和模塊標簽上的imie是否一致,如果不一致,可能模塊沒寫imei,參考6.2章節分析處理
  • 發日志文件給合宙技術支持人員分析
  • 16.5、如何降低阿里云的離線率


    ? 目前2G網絡環境在逐步惡化,在網絡較好的情況下,24小時出現10次以內的掉線【僅僅作為經驗值參考】都可以認為正常,如果掉線率太高,需要日志分析,如果不方便抓日志,可以按照如下方式處理后,對比看下是否有改善:

  • 2G模塊
    ? 1) 加大TCP重傳次數和重傳間隔:AT版本通過AT+TCPUSERPARAM命令設置;Luat版本通過socket.setTcpResendPara接口設置
    ? 2) mqtt keep alive的時間,一般建議使用2分鐘【如果每2分鐘內都有應用數據收發,則可以把mqtt keep alive的時間設置的長一點兒】,除非有強制要求,否則不能太長,也不能太短。不建議超過4分鐘,基站策略會關閉長時間沒有數據傳輸的連接,太長時間可能會導致連接被基站關閉;不建議少于1分鐘,太短時間可能會因為網絡環境波動導致上行數據發送超時,可能超過1.5倍的心跳時間,從而被服務器主動斷開連接
    ? 3) 減少Qos1和Qos2的publish使用,允許的話建議都使用Qos0
  • 4G模塊
    ? 1) 加大TCP重傳次數和重傳間隔:目前還不支持
    ? 2) mqtt keep alive的時間,一般建議使用2分鐘【如果每2分鐘內都有應用數據收發,則可以把mqtt keep alive的時間設置的長一點兒】,除非有強制要求,否則不能太長,也不能太短。不建議超過4分鐘,基站策略會關閉長時間沒有數據傳輸的連接,太長時間可能會導致連接被基站關閉;不建議少于1分鐘,太短時間可能會因為網絡環境波動導致上行數據發送超時,可能超過1.5倍的心跳時間,從而被服務器主動斷開連接
    ? 3) 減少Qos1和Qos2的publish使用,允許的話建議都使用Qos0
  • 16.6、阿里云網站上的異常信息和模塊動作的對應關系


    阿里云網站異常信息模塊動作
    Device disconnect發送了disconnect報文,可能是邏輯問題,導致異常發送了disconnect報文,需要腳本日志文件分析【2G模塊2.3.5版本之前的部分版本腳本lib,存在一個bug,可能會導致此問題,建議更新到2.3.5以及之后的版本】
    Connectoin reset by peer模塊發送超時失敗,沒有斷開mqtt連接,直接斷開了socket【可參考16.5章節優化】
    keepalive timeout模塊發送mqtt心跳超時,被服務器斷開【可參考16.5章節優化】
    kicked by the same device有兩種可能性:

    1、存在相同client id的設備,默認使用模塊imei作為client id,可能是imei重復,可參考6.2章節確認下是否模塊imei為默認值

    2、設備在線狀態下,發生了重啟,重啟后成功連接阿里云【如果使用了errDump功能模塊,可參考22.3章節檢查下是否有異常信息上報】

    16.7、如何批量寫入三元組


    ? 一機一密的三元組信息為:ProductKey、DeviceName、DeviceSecret
    ? 一型一密的三元組信息為:ProductKey、ProductSecret、DeviceName
    ? 一型一密的三元組信息為:ProductKey、ProductSecret、DeviceName
    ? ProductKey和ProductSecret可以直接固化在代碼中
    ? DeviceName建議直接使用模塊的IMEI,也可以使用MCU端的一個唯一ID,只要這個ID在同一個ProductKey下是唯一的即可
    ? DeviceSecret的批量寫入,詳細說明如下:

  • 一機一密,有如下兩種方式:
    ? 1) 在工廠燒錄固件時,上位機通過模塊uart口將DeviceSecret寫入到模塊中【強烈建議存儲在模塊sn中,參考6.4章節;Luat版本也可存儲在nvm中,參考30.3章節;AT版本,如果mcu端可以存儲,也可以存儲在mcu端】
    ? 2) 終端設備第一次開機運行時,連接自建的服務器,將ProductKey和DeviceName上傳給自建服務器,自建服務器訪問阿里云獲取對應的DeviceSecret,然后將DeviceSecret下發給終端設備存儲【強烈建議存儲在模塊sn中,參考6.4章節;Luat版本也可存儲在nvm中,參考30.3章節;AT版本,如果mcu端可以存儲,也可以存儲在mcu端】
  • 一型一密:在連接阿里云過程中,終端設備會自動動態注冊,注冊成功后,阿里云服務器會返回對應的DeviceSecret給終端設備,終端設備存儲起來即可【強烈建議存儲在模塊sn中,參考6.4章節;Luat版本也可存儲在nvm中,參考30.3章節;AT版本,如果mcu端可以存儲,也可以存儲在mcu端】;之后再去連接阿里云,不需要再次動態注冊,因為阿里云僅允許動態注冊一次,重復注冊會返回錯誤
    ? 更多說明參考:http://doc.openluat.com/article/600/0
  • 16.8、AT版本,MCU端如何實現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接口


    十七、基站定位問題

    17.1、如何使用基站定位


    ? 目前合宙的2G和4G模塊都支持基站定位,此服務免費

  • 2G模塊AT版本:參考AT手冊,使用AT+AMGSMLOC命令查詢
  • 4G模塊AT版本:參考AT手冊,使用AT+CIPGSMLOC命令查詢
  • Luat版本:參考lbsLoc的demo
  • 17.2、基站定位原理


    ? 模塊正常聯網后,搜索附近的小區信息,上報給后臺;后臺查詢小區經緯度,并結合信號強度等因素進行計算(三角定位原理),最后返回計算出來的經緯度給模塊

    17.3、基站定位精度如何


    ? 搜索到的小區越多,定位的精度越高;一般來說,城市中心定位精度比郊區和農村定位精度高,城市中心的定位精度在幾十米到幾百米不等,郊區和農村的定位精度更低,可能會有幾千米甚至更多的誤差

  • AT版本:單小區定位,僅僅將駐留小區上報的后臺參與定位
  • Luat版本:多小區定位,將實時搜索到的所有小區同時上報給后臺參與定位
    基站定位的誤差都比較大,如果需要準確定位,請使用支持GPS的模塊,例如Air800、Air530
  • 17.4、為什么基站定位失敗


    ? 搜索到的小區越多,定位的精度越高;一般來說,城市中心定位精度比郊區和農村定位精度高,城市中心的定位精度在幾十米到幾百米不等,郊區和農村的定位精度更低,可能會有幾千米甚至更多的誤差

  • AT版本:參考AT手冊的錯誤碼,如果返回后臺查詢位置失敗的錯誤,則發送AT+CREG=2、AT+CEREG=2兩個AT命令后,根據注冊的網絡制式,發送AT+CREG?或者AT+CEREG?查詢當前駐留的小區id,然后在電腦瀏覽器中打開 http://bs.openluat.com/ ,手動查找當前駐留小區的位置;如果手動可以查到位置,則服務器存在BUG,直接向技術支持人員反映問題;如果手動無法查到位置,則基站數據庫還沒有收錄當前設備的小區位置信息,向技術支持人員反饋,我們會盡快收錄
  • Luat版本:
    ? 1) main.lua中的PRODUCT_KEY和此設備在iot.openluat.com中所屬項目的ProductKey必須一致,請去檢查
    ? 2) 后臺基站數據庫查詢不到所有小區的位置信息;在trace中向上搜索encellinfo,然后在電腦瀏覽器中打開http://bs.openluat.com/,手動查找encellinfo后的所有小區位置;如果手動可以查到位置,則服務器存在BUG,直接向技術支持人員反映問題;如果手動無法查到位置,則基站數據庫還沒有收錄當前設備的小區位置信息,向技術支持人員反饋,我們會盡快收錄
  • 17.5、如何在iot.openluat.com中查詢設備的基站定位請求記錄


    ? 因基站定位請求數據太多,為了保證iot后臺運行的穩定性,不再保存請求記錄,如果實在有查詢需求,聯系合宙技術支持人員處理

    17.6、合宙官方的基站定位能在國外使用嗎


    ? 不能,沒有國外的基站數據庫

    十八、GPS定位問題


    18.1、哪些模塊支持GPS定位


    ? 目前僅:Air800、Air801、Air530支持
    ? 其余模塊例如Air720G如果要支持GPS,可以采用Air720G+Air530方案,使用Luat二次開發實現

    18.2、GPS天線如何設計


    ? 目前僅:Air800、Air801、Air530支持
    ? 其余模塊例如Air720G如果要支持GPS,可以采用Air720G+Air530方案,使用Luat二次開發實現

    18.2、GPS天線如何設計


    ? 參考:https://www.jianshu.com/p/f52e9a52cc11

    18.3、Air800模塊如何測試信噪比


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

    18.4、Air800模塊如何輸出原始NMEA數據


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

  • 使用Air800官方開發板+客戶固件對比測試:如果Air800官方開發板也存在同樣問題,重點檢查以下步驟中的環境問題和軟件問題;如果Air800沒問題,重點檢查一下步驟中的硬件問題
  • 不能在室內測試,必須到室外測試;如果只能在室內測試,可以淘寶搜索“gps信號轉發器”,但是不可用于rtk定位測試。為什么不能在室內測試,參考:http://oldask.openluat.com/article/66
  • 檢查gps天線
    ? 1) 必須使用gps天線,普通的gsm、藍牙、wifi、433等天線不支持gps定位
    ? 2) gps陶瓷天線,如果大板和陶瓷天線面積都比較小,一定要去正規天線廠調試。如果面積都比較大,實在沒條件調試,可以不去調試
    ? 3) 天線朝上,面向天空,天線上方不能有金屬物質,不能有較厚的遮擋物(例如幾厘米的塑料盒子肯定不行,幾毫米的塑料盒子可以)
    ? 4) 如果用的是有源天線,測量下供電電壓是否正常;如果使用GPLDO(LDOVIB)給天線供電:Air800 AT版本默認已經打開GPLDO(LDOVIB)供電;Luat版本需要在gps開啟之前,執行一行代碼pmd.ldoset(7,pmd.LDO_VIB)來打開供電
  • gps設備不要放在筆記本鍵盤等有電磁干擾的設備上
  • 參考:http://oldask.openluat.com/article/963 ,確認下信噪比以及天線是否受到干擾
  • Air530模塊串口的模特率是9600,Air800模塊gps串口的波特率是115200,使用時注意區分
  • 參考18.3章節輸出原始NMEA數據,如果無數據輸出,用示波器測量一下GPS_RXD上是否有數據
  • 按照合宙技術支持人員的要求,可能需要重新燒錄gps芯片軟件來定位問題,燒錄方法參考:http://oldask.openluat.com/article/964 ,如果燒錄失敗,可以找一個gps定位正常的Air800模塊對比燒錄,來確認是不是異常模塊的gps uart通信不正常
  • 天線設計不合規,參考:https://www.jianshu.com/p/f52e9a52cc11
  • 硬件設計中的阻抗不匹配
  • 18.6、如何支持秒定位(GPS定位慢)


  • Air800模塊
    ? 1) AT版本:默認支持秒定位,不需要MCU做控制
    ? 2) Luat版本:require"agps"即可
  • Air530模塊:和主控模塊使用Luat二次開發時,require"agps"即可
    注意:即使支持了秒定位,GPS斷電后第一次開機,定位速度仍然會比較慢
  • 18.7、什么是GPS的冷啟動、溫啟動、熱啟動


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

    18.8、GPS定位經緯度不準確


  • 使用Air800官方開發板+客戶固件對比測試:如果Air800官方開發板也存在同樣問題,重點檢查以下步驟中的環境問題和軟件問題;如果Air800沒問題,重點檢查一下步驟中的硬件問題
  • 坐標沒有糾偏,參考:http://www.openluat.com/GPS-Offset.html 進行糾偏處理
  • 周圍有比較高的障礙物,會導致定位誤差
  • 在開闊地帶,正常情況下定位精度只能做到5米
  • 不能在室內測試,必須到室外測試;如果只能在室內測試,可以淘寶搜索“gps信號轉發器”,但是不可用于rtk定位測試
  • 信噪比低或者天線受到干擾,參考 http://oldask.openluat.com/article/963 和 https://www.jianshu.com/p/f52e9a52cc11 做硬件優化
  • 18.9、GPS模塊內部有LNA嗎


    ? 有LNA低噪聲放大器

    18.10、GPS定位海拔不準確


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

  • 找基準點
  • rtk
  • 氣壓傳感器/海拔表
    那么,放在飛機上會更準嗎?就方向角、經緯度、速度而言,會;但是,氣壓不會準,因為艙內有增壓裝置。但是海拔而言,飛機一般用雷達、聲納,以及皮托管(氣壓)、或者陀螺儀(慣導)
  • 18.11、如何計算NMEA校驗碼


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

    18.12、可視衛星、可用衛星有什么區別


    ? 可視衛星是當前區域,接收條件良好情況下,應該可以收到衛星信號的衛星
    ? 可用衛星是當前已經收到信號并正在使用參與定位的衛星

    18.13、GGA和RMC應該用哪個


    ? 視具體情況而定,建議用gga,信息相對更全面

    18.14、如何解讀NMEA報文每個字段的含義


    ? 參考: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協議

    ? 不支持,可以使用Luat開發方式自行對接ntrip協議
    ? ntrip協議參考:https://blog.csdn.net/hanford/article/details/53025771

    18.17、已知兩個經緯度,如何計算間距?


    可以使用如下函數(但是注意,沒有考慮到地球曲率,計算結果存在誤差。建議使用高德地圖等提供的api在服務端計算
    -[[
    函數名:diffofloc
    功能 :計算兩對經緯度之間的直線距離(近似值)
    參數:
    ? latti1:緯度1(度格式,例如31.12345度)
    ?longti1:經度1(度格式)
    ?latti2:緯度2(度格式)
    ?longti2:經度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、如何解決靜態漂移


    ? 通常是因為衛星、接收器、天線等多重因素導致,建議服務端從算法層面去過濾這種漂移;設備端也可以通過振動傳感器判斷靜止狀態、wifi判斷wifi變化率較低、基站變化率較低等多種手段,較少不必要的GPS位置上報來過濾漂移

    18.19、做車載定位器,進入隧道沒辦法定位怎么辦


    ? 使用基站定位

    18.20、能否用于制作人員定位器、定位手表


    ? 可以

    18.21、使用Luat版本FLOAT底層,能否實現坐標轉換(WGS84~GCJ02)加偏/糾偏


    ? 建議在服務器端實現。因為加偏算法是很復雜的浮點運算,模塊輸出結果可能和實際情況有差;如果需要更高的加偏結果,可以使用百度/高德等地圖提供的api

    18.22、哪些地圖使用的是GCJ02坐標系


    ? 高德、騰訊;(百度是GCJ02又轉換為BD09,所以不能直接使用GCJ02)

    18.23、哪些地圖可以直接查看WGS84定位


    ? bing maps(非bing地圖),google maps(非gogole 地圖)

    18.24、車載使用時需要天線引出到車頂上嗎


  • 擋風玻璃如果沒有貼膜或者貼了不含金屬材料的膜,可以放在擋風玻璃下,但是gps信號會有一定衰減,在萬不得已的情況下,可以放在擋風玻璃下,最好再實際測試確認一下
  • 擋風玻璃如果貼了含有金屬材料的膜,則不能放在擋風玻璃下,必須將天線到車頂
  • 十九、GPIO問題


    ? 因AT版本不支持gpio操作,故本章節討論的是Luat版本下的gpio問題

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


  • 如果是2G模塊,2G模塊的某些gpio,需要打開對應的電壓域,這些gpio才能工作正常,詳情參考demo/gpio/gpioSingle/testGpioSingle.lua中的注釋,電壓域與控制的gpio對應關系如下:
    pmd.LDO_VMMC:GPIO8、GPIO9、GPIO10、GPIO11、GPIO12、GPIO13
    pmd.LDO_VLCD:GPIO14、GPIO15、GPIO16、GPIO17、GPIO18
    pmd.LDO_VCAM:GPIO19、GPIO20、GPIO21、GPIO22、GPIO23、GPIO24
  • 代碼中表示gpio id的參數有誤:
    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是按照某個方向順序排列的,gpio id和pin id不同,參考模塊硬件手冊,一定找到pin腳對應的gpio id,代碼中要使用gpio id,不能使用pin腳id
  • 是否正在使用其他復用功能;如果是,把其他功能關掉,再配置為gpio使用;例如Air202模塊的第27個腳,可以有三種用途:uart2 rxd、spi2 di、gpio 4,要配置為gpio使用前,必須確保uart2和spi2的功能沒有被使用;可參考demo\gpio\i2cGpioSwitch和demo\gpio\uartGpioSwitch兩個示例
  • 用同樣軟件在合宙官方開發板上對比測試:如果開發板沒問題,則查找自己板子的硬件問題;如果開發板有問題的話,參考第6步操作
  • 發出腳本代碼和使用的core固件名,聯系合宙技術支持人員處理
  • 19.2、GPIO的輸出能力是多少


  • 2G模塊
    ? 1) 電壓輸出最高3.3V,部分管腳最高2.8V;沒有電壓域控制的管腳電壓只能輸出0V、3.3/2.8V,有電壓域控制的管腳輸出電壓可通過電壓域控制【詳情參考demo/gpio/gpioSingle/testGpioSingle.lua中的注釋】
    ? 2) 電流最大輸出2mA
  • 4G模塊
    ? 1) 電壓最高輸出1.8V
    ? 2) 電流最高輸出2mA
  • 19.3、中斷檢測能力是多少


    ? 最快檢測20ms
    ? 中斷越頻繁,中斷檢測的及時性越低;可參考:http://oldask.openluat.com/article/930輔助理解

    19.4、哪些管腳可以用做GPIO


    ? 參考模塊硬件手冊“管腳描述”章節的表格,表格中表明可以用做gpio的都可以使用

    19.5、異常重啟,能否恢復之前的工作狀態


    ? 建議把gpio狀態寫入nvm,萬一異常重啟,根據nvm保存的狀態配置gpio

    19.6、從硬件上電到腳本可控制GPIO狀態,這段時間內的管腳電平狀態如何變化


    ? Air720系列4G模塊:http://doc.openluat.com/article/600/0

    二十、合宙官方硬件看門狗問題(僅適用于Luat版本)


    ? 因AT版本需要外接MCU主控,MCU可自行實現硬件看門狗的功能,故本章節不討論AT版本的硬件看門狗問題,僅討論Luat版本下的合宙官方硬件看門狗問題

    20.1、軟硬件設計


    ? 看門狗購買鏈接:打開:m.openluat.com,進入“周邊工具”頁面,選擇“看門狗Air153B”
    ? 看門狗硬件設計以及工作原理參考: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) --根據實際的硬件連接,自行修改這兩個管腳的gpio id

    20.1、軟硬件設計


    ? 看門狗購買鏈接:打開:m.openluat.com,進入“周邊工具”頁面,選擇“看門狗Air153B”

    20.2、硬件看門狗是否有必要


    ? 有,可以保證無人值機設備系統的穩定性,避免人肉運維的尷尬

    20.3、為什么4G模塊不需要外部硬件看門狗


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

    20.4、為什么會提示喂狗失敗(WatchDog <–> AirM2M didn’t respond : wdt reset 153b)

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


    ? 當模塊的pwrkey沒有接地,它可以使模塊開機;如果模塊pwrkey接地,則該腳懸空

    20.6、如何測試看門狗是否正常工作


    ? 有如下兩種方法:

  • 硬件上斷開喂狗管腳WDI的連接
  • 硬件連接正常,軟件上不require"wdt"
  • 20.7、能否修改看門狗喂狗時序


    ? 不能,固件已經固化在芯片中

    20.8、能否使用自己的硬件看門狗芯片

    ? 可以,軟件和硬件需要自行設計

    20.9、有沒有軟件看門狗


    ? 2G模塊的core中有一種死循環軟件看門狗機制,如果腳本中一直在死循環執行某段代碼,2G模塊半分鐘會軟件看門狗重啟【重啟原因值為poweron reason 8】
    ? 4G模塊的0027以及之后版本的core+2.2.8以及之后版本的腳本lib,實現了一種死循環軟件看門狗機制,如果腳本中一直在死循環執行某段代碼,4G模塊1分鐘會軟件看門狗重啟【沒有特定的重啟原因值,重啟原因值為普通的軟件重啟3,重啟前的日志會輸出SoftDog Restart】
    ? 除此之外,還有一種常見的業務邏輯軟件看門狗,此軟件看門狗的基本實現原理為:根據業務邏輯,連續一段時間和服務器通信不正常,則控制軟重啟;示例代碼如下:
    oftwareDogCo = sys.taskInit(function()

    while true doif sys.wait(300000) == nil then --連續5分鐘沒有喂狗,根據項目需求自行修改時長sys.restart("logic exception software dog timeout")endendend)--如下代碼是喂狗代碼,根據產品業務邏輯,在適當的位置去調用coroutine.resume(softwareDogCo,"feed")

    如何去確認這個“適當的位置”呢?下面列舉兩種常見示例:

  • 如果模塊和服務器之間有應用心跳的應答機制,則可以在模塊每次收到服務器的心跳應答時去喂狗
  • 如果沒有心跳應答機制,可以在連接服務器成功后,起個定時器,每隔一段時間去喂一次狗;連接斷開時,關閉這個喂狗定時器
  • 20.10、硬件看門狗外圍電路不規范可能導致2G模塊一直重啟


    ? 下圖為一個不規范的硬件看門狗外圍電路
    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-ioPgZXbk-1619422566533)(https://oldask.openluat.com/image/show/attachments-2019-12-JkFUgt7d5df33e2cbefac.png “undefined”)]

    ? 下圖為參考硬件連接圖
    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-AhXbhPHL-1619422566534)(https://oldask.openluat.com/image/show/attachments-2019-12-FR6D7uzD5df33e539faaa.png “undefined”)]
    ? 不規范的電路圖中,看門狗供電VDDIO沒有串聯二極管,會導致反復重啟模塊。因為二極管是為了防止單片機的供電漏掉,如果沒有二極管,在VDDIO掉電時會將看門狗的電源拉掉,導致看們關機導致拉低RESET,引起模塊重啟

    二十、合宙官方硬件看門狗問題(僅適用于Luat版本)


    ? 因AT版本需要外接MCU主控,MCU可自行實現硬件看門狗的功能,故本章節不討論AT版本的硬件看門狗問題,僅討論Luat版本下的合宙官方硬件看門狗問題

    20.1、軟硬件設計


    ? 看門狗購買鏈接:打開:m.openluat.com,進入“周邊工具”頁面,選擇“看門狗Air153B”
    ? 看門狗硬件設計以及工作原理參考: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) --根據實際的硬件連接,自行修改這兩個管腳的gpio id

    20.2、硬件看門狗是否有必要


    ? 有,可以保證無人值機設備系統的穩定性,避免人肉運維的尷尬

    20.3、為什么4G模塊不需要外部硬件看門狗


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

    20.4、為什么會提示喂狗失敗(WatchDog <–> AirM2M didn’t respond : wdt reset 153b)


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


    ? 當模塊的pwrkey沒有接地,它可以使模塊開機;如果模塊pwrkey接地,則該腳懸空

    20.6、如何測試看門狗是否正常工作


    ? 有如下兩種方法:

  • 硬件上斷開喂狗管腳WDI的連接
  • 硬件連接正常,軟件上不require"wdt"
  • 20.7、能否修改看門狗喂狗時序


    ? 不能,固件已經固化在芯片中

    20.8、能否使用自己的硬件看門狗芯片


    ? 可以,軟件和硬件需要自行設計

    20.9、有沒有軟件看門狗


    ? 2G模塊的core中有一種死循環軟件看門狗機制,如果腳本中一直在死循環執行某段代碼,2G模塊半分鐘會軟件看門狗重啟【重啟原因值為poweron reason 8】;4G模塊暫時沒有這種功能
    ? 除此之外,還有一種常見的業務邏輯軟件看門狗,此軟件看門狗的基本實現原理為:根據業務邏輯,連續一段時間和服務器通信不正常,則控制軟重啟;示例代碼如下:
    oftwareDogCo = sys.taskInit(function()

    while true doif sys.wait(300000) == nil then --連續5分鐘沒有喂狗,根據項目需求自行修改時長sys.restart("logic exception software dog timeout")endendend)--如下代碼是喂狗代碼,根據產品業務邏輯,在適當的位置去調用coroutine.resume(softwareDogCo,"feed")

    如何去確認這個“適當的位置”呢?下面列舉兩種常見示例:

  • 如果模塊和服務器之間有應用心跳的應答機制,則可以在模塊每次收到服務器的心跳應答時去喂狗
  • 如果沒有心跳應答機制,可以在連接服務器成功后,起個定時器,每隔一段時間去喂一次狗;連接斷開時,關閉這個喂狗定時器
  • 二十一、短信問題

    21.1、支持長短信嗎


  • AT版本:支持長短信的接收,但是不支持長短信的拼接,需要用戶根據PDU短信格式自行拼接;例如接收到一條100個漢字的長短信,是存儲在兩個位置的,根據短信PDU格式,讀出這兩個位置的短信后,自行拼接成原始的100個漢字的長短信
  • Luat版本:支持長短信的接收和拼接,參考sms的demo
  • 21.2、為什么Air720H模塊無法使用中國電信卡收發短信


    ? 中國電信的短信業務要回落到2G或者3G網絡下才能使用,但是Air720H不支持中國電信的2G和3G網絡頻段,所以不支持中國電信的短信業務;
    ? 支持中國移動和中國聯通的短信業務

    二十二、日志使用問題(僅適用于Luat版本)

    22.1、如何解讀Luatools抓到的腳本日志


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

    22.2、errDump功能有什么用


    ? errDump功能模塊對“量產投放市場的設備,遠程調試初步定位問題”至關重要, 強烈建議客戶一定要使用此功能,加載此功能模塊后,具備如下功能:

  • 上報core異常重啟信息到errDump調試服務器【僅4G模塊有此功能】
  • 上報腳本運行異常信息【主要是運行期間的語法錯誤】到errDump調試服務器
  • 上報主動調用errDump.appendErr或者sys.restart接口保存的錯誤日志到errDump調試服務器
  • 如果調用errDump.setNetworkLog接口打開了網絡異常日志功能后,會上報最近幾種網絡異常日志到errDump調試服務器
  • 22.3、設備使用errDump對接合宙官方服務器,如何查看設備上報的錯誤信息


    ? 登錄 iot.openluat.com,隨便選擇一個產品,點進去,點擊左側的“查詢debug”菜單,輸入設備imei,選擇開始日期、結束日期,點擊搜索即可
    ? 友情提醒:開始和結束日期的跨度越大,搜索速度越慢

    二十三、串口通信問題

    23.1、AT版本發送AT無應答


  • 檢查使用的模塊AT口是否正確,2G模塊為uart1,4G模塊為uart2;如果使用的是合宙官方開發板,注意跳線或者撥動開關切換到期望的串口
  • 發送的AT命令要以回車(0x0D)字符結尾,雖然理論上說以回車換行(0x0D 0x0A)兩個字符結尾也沒有問題,但是標準協議是以0x0D結尾。使用sscom等pc串口工具調試時,可以選擇以回車換行結尾;但是MCU端編寫程序時,強烈建議以0x0D結尾
  • 檢查使用的數據線是否正確:如果是合宙官方開發板,開發板上已經集成了usb轉串口芯片,只要使用普通的usb數據線即可,不要再使用usb轉串口數據線;如果是自己的板子,視具體情況而定
  • 檢查接線是否正確,正確的接法是:tx—rx,rx—tx,gnd—gnd
  • 檢查電平是否匹配:2G模塊電平為2.8V,4G模塊電平為1.8V
  • 參考第三章和第四章,檢查下模塊是否開機或者是否一直重啟
  • 23.2、串口數據亂碼


    ? 檢查下模塊板和主控板的參考地是否有電勢差,曾經有一個客戶的板子如下圖設計,通過主控板給模塊供電,然后只通過上圖排插針通插座的方式連接主板串口,導致地連接的阻抗增加,在弱信號下大功率發射時,會導致模塊板和主控板的參考地有電勢差,導致串口通信異常
    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-uONlTzX8-1619422566534)(https://oldask.openluat.com/image/show/attachments-2019-12-GqrKcQmE5de4aebb2f099.png “undefined”)]

    23.3、Luat版本串口問題

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


    二十四、音頻問題(僅適用于Luat版本)

    24.1、無法播放mp3文件


  • 受限于硬件,4G模塊無法支持音頻播放功能
  • 沒有燒錄mp3文件,燒錄方法和腳本完全一樣
  • 本地燒錄的mp3文件的訪問路徑不對,完整路徑參考1.1.7章節
  • 2G模塊的TTS2類型的core固件不支持mp3播放
  • 參考24.3確認所用喇叭是否支持
  • mp3文件太大,播放時內存不足,導致失敗;請借助格式工廠等第三方工具,裁剪壓縮mp3文件,可減小碼率,輸出單聲道
  • 24.2、無法播放tts


  • 受限于硬件,4G模塊無法支持音頻播放功能
  • core固件不支持tts功能,請選擇支持tts功能的core固件,帶有TTS標志或者帶有8955F標志的固件才支持tts功能
  • 參考24.3確認所用喇叭是否支持
  • 24.3、支持什么規格的喇叭


    ? 4G模塊不支持喇叭;2G模塊支持的喇叭規格為:8Ω,1W、8Ω,2W、8Ω,3W…,只要8Ω,大于等于1W都支持

    24.4、TTS音質可以更好嗎


    ? 0037以及之后版本的8955F和8955F_FLOAT固件,改善了tts播放音質,模塊需要選用Air202F、Air268F等64Mb flash的型號;因flash空間問題,非8955F的固件,無法改善

    二十五、core固件使用問題

    25.1、固件區別


  • 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版本固件,詳情參考發布包中的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功能、浮點數
    Luat_VXXXX_8955_SSL_UI_FLOAT.lod:支持SSL功能、PI接口的LCD功能、浮點數
    Luat_VXXXX_8955F.lod:64M flash版本(Air202F),支持SSL、TTS、SPI接口的LCD功能
  • 4G模塊Luat版本固件
    Luat_VXXXX_ASR1802.lod:不支持浮點數
    Luat_VXXXX_ASR1802_FLOAT.lod:支持浮點數
  • 25.2、哪里可以下載舊版本固件


    ? AT固件不方便下載舊版本固件,如果需要,直接聯系合宙技術支持人員
    ? 2G模塊Luat舊版本core固件的下載鏈接為:http://www.openluat.com/Product/file/rda8955/oldCore/core_VXXXX.zip; VXXXX 替換為特定的版本號,例如V0025
    ? 2G模塊Luat舊版本core固件的下載鏈接為:http://www.openluat.com/Product/file/rda8955/oldScript/script_LuaTask_VX.Y.Z.zip ;VX.Y.Z替換為特定的版本號,例如V2.3.5
    ? 4G模塊Luat舊版本core固件的下載鏈接為:http://www.openluat.com/Product/file/asr1802/oldCore/core_VXXXX.zip ;VXXXX替換為特定的版本號,例如V0025
    ? 4G模塊Luat舊版本core固件的下載鏈接為:http://www.openluat.com/Product/file/asr1802/oldScript/script_LuaTask_VX.Y.Z.zip ;VX.Y.Z替換為特定的版本號,例如V2.2.7

    25.3、如何在2G模塊Luat開源core中添加自己的功能模塊


    ? 參考:http://doc.openluat.com/article/600/0

    二十六、合宙云平臺問題

    26.1、提供哪些云平臺服務


  • 商用平臺(與模塊終端通信)
    遠程升級:tcp協議 域名:iot.openluat.com 端口:80
    日志服務:udp協議 域名:ota.airm2m.com 端口:9072
    基站定位:udp協議 域名:bs.openluat.com 端口:12411和12412
    AGPS星歷下載:tcp協議 域名:download.openluat.com 端口:80
  • 業務操作平臺(直接在PC瀏覽器上訪問)
    sim.openluat.com:流量卡管理查詢
    iot.openluat.com:物聯網云平臺,用于支持模塊終端的遠程升級、日志服務、基站定位功能
    erp.openluat.com:商務信息查詢
  • 開發調試平臺(不保證平臺系統的穩定性,僅方便開發者開發調試使用)
    ? tcplab.openluat.com:TCP測試平臺
  • 26.2、物聯網云平臺(iot.openluat.com)問題

    26.2.1、如何添加設備到設備列表中


    ? 不需要手動添加設備到產品的設備列表中,使用Luat版本二次開始時,update、lbsLoc都要用到產品的productKey,當設備第一次成功使用update或者lbsLoc功能時【注意:此處的成功使用,update成功指的是從云平臺上成功下載了升級包、lbsLoc成功指的是獲取到了基站對應的經緯度】,會自動將設備模塊的imei添加到productKey對應產品的設備列表中

    26.2.2、如何查詢設備在哪個產品下


    ? 把模塊IMEI發給合宙技術支持人員查詢
    ? 如果查詢不到,說明設備還沒有成功上報過,參考26.2.1處理后才能查詢到歸屬產品,此情況不影響設備正常使用update和lbsLoc功能,設備成功使用過一次update或者lbsLoc功能后,就可以在云平臺查到歸屬產品了

    26.2.3、為什么公司采購的4G模塊不在我自己創建的產品項目下


    ? 客戶向合宙采購4G模塊時,如果采購人員沒有告知合宙這批模塊放在iot.openluat.com上的哪個產品下,則合宙會以采購人的手機號為賬號,默認密碼888888,創建一個“Air720X標準模塊”的產品,此次采購的所有模塊都會放在這個產品下
    ? 通常采購人員和開發人員并不是同一個人,開發人員拿到模塊,如果使用Lua版本開發,用到了合宙服務器提供的基站定位、遠程升級功能,就會在iot.openluat.com上開發人員自己的賬號下,創建一個新產品【假設產品名為“模塊Lua開發”】,此時就會出現main.lua中的PRODUCT_KEY和模塊歸屬的產品ProductKey不一致的問題,導致基站定位和遠程升級功能無法正常使用
    ? 遇到這種問題,需要把“Air720X標準模塊”產品下的所有設備轉移到“模塊Lua開發”產品下,操作步驟如下:

  • 登錄采購人手機號碼賬號,默認密碼888888【如果不知道采購人員是誰,告知合宙技術支持人員一個模塊的IMEI來查詢】,進入“Air720X標準模塊”產品
  • 點擊設備列表->轉移全部設備->其他賬號,填入實際的賬號和項目名之后,點擊確定,開始轉移,如果設備過多,轉移耗費時間會稍長一點兒,請耐心等待;轉移完成后,會提示“操作成功”

    以后采購模塊時,如果所有的模塊都需要放在開發人員賬戶下的“模塊Lua開發”產品下,則告知采購人員,讓合宙發貨時默認全放在這個產品下,可以省去“開發人員轉移全部設備”的操作

    如果不方便指定產品,所有模塊都用做Luat二次開發,則可以進入“Air720X標準模塊”產品,打開設備列表,點擊“重置所有設備”,這樣所有模塊都沒有歸屬項目了,以后模塊使用Luat版本第一次成功使用基站定位或者遠程升級功能后,就自動加入“腳本中PRODUCT_KEY對應的項目”下

    如果查詢不到,說明設備還沒有成功上報過,參考26.2.1處理后才能查詢到歸屬產品,此情況不影響設備正常使用update和lbsLoc功能,設備成功使用過一次update或者lbsLoc功能后,就可以在云平臺查到歸屬產品了
  • 26.2.3、為什么轉移設備會失敗


    ? 要轉移的設備必須屬于源產品,如果批量轉移的設備中有些設備不屬于源產品,網站不會報錯,會忽略這些不屬于源產品的設備,僅僅轉移屬于源產品的設備

    26.2.4、如何在不同賬號間轉移產品


    此功能不對外開放,告知合宙技術支持人員:源賬號、產品ProductKey、目的賬號,由合宙技術支持人員處理

    26.3、TCP測試平臺(tcplab.openluat.com)問題

    26.3.1、如何使用TCP測試平臺

    ? 使用chrome瀏覽器打開http://tcplab.openluat.com,如下示例所示
    Openluat TCP Lab
    服務器建立在[180.97.81.180:51329] 2019/12/20 上午10:30:40
    設備通過tcp連接180.97.81.180的51329端口即可

    26.3.2、瀏覽器打開tcplab.openluat.com失敗怎么辦


    ? 建議使用chrome瀏覽器

    26.3.3、為什么模塊連接TCP測試平臺,會出現斷開的問題


    ? 模塊發送0x7F的字符,會導致平臺斷開
    ? 設備和平臺之間連續3分鐘沒有數據通信,會導致平臺斷開
    ? 除此之外,因為該平臺為測試平臺,無法保證穩定性,可能平臺存在bug導致斷開


    二十八、JSON問題

    28.1、底層使用哪個庫實現的


    ? cjson

    28.2、為什么會解析出錯


    ? 檢查數據的完整性和正確性;可在第三方json解析網站對比測試
    ? 在非協程中,解析出錯時,如果沒有判斷解析結果,直接使用解析后的table,會導致軟件異常重啟,如果使用了errDump功能模塊,軟件重啟后,會通過errDump將異常信息上報到調試服務器;如果不想異常重啟,可參考如下代碼設計
    local tDecodedData,result,errInfo = json.decode(data)

    if result and type(tDecodedData)==“table” then

    --使用tDecodedDataelse--可以使用errDump功能模塊將錯誤信息上報到調試服務器--errDump.appendErr(errInfo)end

    ? 在協程中,解析出錯時,如果沒有判斷解析結果,直接使用解析后的table,會導致協程異常退出,不會引起軟件重啟,如果使用了errDump功能模塊,會通過errDump將異常信息上報到調試服務器

    28.3、為什么HTTP POST JSON格式的數據會出現失敗


    ? 檢查一下是否忘記設置了"Content-Type: application/json"請求頭

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


    ? 需要轉義處理,參考:http://oldask.openluat.com/article/122

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

    29.1、如何支持UI顯示


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


  • 2G模塊支持,4G模塊還不支持
  • Luat版本要選擇帶有UI或者8955F后綴的lod
  • 建議選用script_LuaTask/demo/ui中已經調通的lcd;并且注意硬件lcd spi和標準spi接口對應的軟件代碼配置不同
  • 檢查對lcd的供電是否滿足lcd的供電要求
  • 29.3、最大支持的lcd分辨率是多少


    &esnp; 因內存限制,2G模塊支持的最大分辨率為240*320;如果想要更大分辨率lcd,建議使用hmi usart等串口屏,此情況需要自行開發軟件實現,不能使用core提供的ui庫
    ? 4G模塊還不支持UI功能

    29.4、如何使用自定義字體


    ? 參考:http://doc.openluat.com/article/600/0

    29.5、為什么圖片無法顯示


  • 檢查下圖片完整路徑是否正確,如果圖片是通過Luatools燒錄進去得,參考1.1.7檢查確認
  • 黑白屏不支持顯示彩色圖片
  • 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使用問題(僅適用于Luat版本)


    30.1、Luat版本用戶可使用哪些FLASH空間


  • 腳本區:
    ? 1) 用來存放通過Luatools燒錄的腳本、圖片、音頻等文件;或者通過Luatools合成腳本、圖片、音頻等文件,再通過量產燒錄工具燒錄的合成文件
    ? 2) 腳本區內的數據只讀,不可寫
    ? 3) 4G 720D、720H、720G、720SX系列的模塊的腳本區空間為1MB
    ? 4) 4G 720UX系列的模塊的腳本區空間為700KB
    ? 5) 2G模塊,不同的core固件的腳本區空間不盡相同,可用記事本打開lod文件,搜索SCRIPT_DATA_SIZE表示腳本區空間
    ? 6) 如果實際的腳本、圖片、音頻等文件的總大小超過了腳本區空間,在Luatools燒錄或者合成時會提示出錯
  • 文件系統區:
    ? 1) 用來存放程序運行過程中,動態創建的文件,例如從網絡上下載一個圖片、下載遠程升級包、本地創建的參數文件等
    ? 2) 文件系統區的文件數據可讀可寫
    ? 3) 不同的core固件分配的文件系統空間不盡相同,可通過rtos.get_fs_free_size()返回文件系統的剩余空間,單位為字節。注意:
    ? A. 此處返回的剩余空間為理論值,除了存儲文件中的實際數據之外,還要存儲文件索引信息,所以文件系統存在一個利用率的問題,一般來說85%是比較保險的一個經驗值
    ? B. 2G模塊如果用到了遠程升級功能,需要為遠程升級功能保留足夠的文件系統空間,詳情參考:http://oldask.openluat.com/article/916 4.3章節
    ? 4) lib中基于文件系統實現了一個nvm功能模塊,可用于存儲小數據量的簡單鍵值對數據,詳情參考:http://doc.openluat.com/article/600/0 ;如果存儲大數據量數據,參考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”)是無法返回Lua虛擬機中的垃圾內存空間的,所以剩余空間并不是簡單的“總空間-collectgarbage(“count”)空間”,如果要計算準確的剩余空間,在計算之前調用3次collectgarbage(collect)強制回收垃圾內存
  • 存在內存碎片的問題,并不是剩余多少內存空間就能用多少空間,比較典型的經驗值是:2G模塊collectgarbage(“count”)返回的已用內存在700多KB時,就已經到達臨界值了
  • 30.3、NVM使用問題


    ? NVM是基于文件系統實現的一個功能模塊,可用于存儲小數據量的簡單鍵值對數據,詳情參考:http://doc.openluat.com/article/600/0 ;如果存儲大數據量數據,參考fs的demo直接操作文件

    30.4、為什么讀文件失敗


    ? 文件讀取不存在權限問題,按照如下順序排查問題

  • 如果讀取的是本地燒錄的文件,檢查下文件有沒有燒錄以及完整路徑是否正確【參考1.1.7章節】
  • 如果讀取的是程序運行過程中動態創建的文件,檢查下文件是否創建成功【文件系統空間不足可能會導致文件創建失敗】以及完整路徑是否正確
  • 30.5、動態創建自定義文件的注意事項


  • 自定義的文件不要放在/lua、/ldata、/luazip、/RecDir目錄下,這些目錄為特殊目錄,core運行過程中可能會遞歸刪除這些目錄;使用rtos.make_dir接口新建一個目錄,自定義的文件可以放在自創建的這個目錄下
  • 2G模塊的文件系統還有如下注意事項:
    ? 1) 自定義的文件不要放在根目錄/下,根目錄下有最多32個文件的限制
    ? 2) 自定義的文件完整路徑長度不能超過32字節,例如/user_dir/783748932749327493274237493274932749237.txt超過了32字節,創建時會失敗

  • 30.6、是否支持外擴SPI FLASH


    ? 支持,但是無法掛載文件系統,只能使用spi接口進行讀寫數據存儲管理

    三十一、RNDIS問題

    31.1、模塊軟件中支持關閉RNDIS網卡功能嗎


    ? 不支持
    ? 如果因為電腦誤使用RNDIS造成了SIM卡流量損失,可以在電腦的網絡連接中禁用RNDIS網卡

    31.2、WINDOWS如何使用RNDIS模式上網


    ? 參考:http://doc.openluat.com/article/600/0

    三十二、PCB文件使用問題

    32.1、合宙官方的PCB文件用 PADS的什么版本可以打開


    ? 9.5

    三十三、語音通話問題

    33.1、4G模塊是否支持語音通話業務


    ? 4G模塊支持電話的呼入、呼出、接聽;但是因為沒有語音編解碼芯片,所以聽不到通話聲音

    33.2、為什么Air720G模塊無法使用中國移動卡的語音通話業務


    ? Air720G僅支持聯通3G和移動4G網絡
    ? 目前,中國移動的語音通話業務在如下幾種網絡狀態下可用:

  • 回落到2G網絡;但是Air720G不支持移動2G網絡頻段
  • 回落到3G;但是移動3G網絡已經退出,同時Air720G也不支持移動3G網絡頻段
  • 4G網絡的VOLTE;但是Air720G不支持這個功能
    所以,Air720G模塊無法使用中國移動卡的語音通話業務
    但是支持中國移動的短信業務,因為短信業務不需要回落到2G和3G網絡,直接在4G網絡下使用2G網絡的核心網就可以完成短信收發
  • 33.3、天線廠調試天線時,如何提供來電自動接聽的軟件


  • AT版本:開機后發送ATS0=1命令到模塊,接收到來電,振鈴1聲后會自動接聽
  • 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

    三十四、模塊參數

    34.1、4G模塊


    ? Flash:128Mb(16MB)
    ? DDRRAM:256Mb(32MB)
    ? 主頻:600MHz

    三十五、Luat版本腳本開發小問題

    35.1、Luat版本腳本運行框架


    ? 參考:http://doc.openluat.com/article/600/0

    35.2、sys.taskInit創建的task有沒有優先級之分


    ? sys.taskInit創建的task實際上是Lua中的協程,無優先級之分,協程的掛起和運行完全由用戶自己編寫的腳本來主動控制,當前協程運行過程中,只能被當前協程中的sys.wait和sys.waitUntil掛起,不會被外部協程掛起

    35.3、如何實現延時運行


    ? 可以使用定時器接口sys.timerStart或者sys.timerLoopStart實現延時,不阻塞任何業務邏輯
    ? 也可以在task協程中使用sys.wait或者sys.waitUntil實現延時,僅僅阻塞本task協程
    ? 也可以使用rtos.sleep接口實現延時,但是不建議這樣使用,因為這個接口會使整個軟件系統掛起
    ? 詳情參考:http://doc.openluat.com/article/600/0

    三十六、認證問題

    36.1、模塊做過哪些認證


    ? 在123.openluat.com中搜索證書,可查到具體模塊的對應證書

    36.2、客戶產品SRRC認證注意事項


  • 2G模塊
    ? 1) 使用合宙官方發布的AT或者Luat版本的內核固件即可,不需要定制內核固件
    ? 2) 不要有重啟模塊或者給模塊斷電的邏輯,如果有外部硬件看門狗,要斷掉硬件看門狗
    ? 3) 實現來電自動接聽的業務邏輯,參考33.3章節
    ? 4) 模塊射頻頭和測試儀器連接,測試儀器自行測試,不需要軟件配置其他任何功能
    ? 5) 關鍵射頻元器件清單如下
    ? 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. 天線信息需要聯系天線廠獲取
  • 36.3、模塊有入網證書(CTA)嗎


    ? 沒有
    ? 模塊都沒有入網證書,只有終端產品才允許做入網認證,我們的模塊本身是可以認證通過的,已經有幾家客戶的終端產品成功做過入網認證
    ? 4G模塊終端產品,如果要做入網測試,參考:http://doc.openluat.com/article/600/0

    三十七、SPI問題

    37.1、如何用Luat腳本模擬實現SPI


    ? 參考:http://doc.openluat.com/article/600/0

    三十八、I2C問題(僅適用于Luat版本)

    38.1、如何用腳本驅動mpu6050


    ? 參考:http://doc.openluat.com/article/600/0

    三十九、PPP撥號問題

    39.1、WINDOWS下4G模塊如何撥號上網


    ? WIN7參考:http://doc.openluat.com/article/600/0
    ? WIN10參考:http://doc.openluat.com/article/600/0

    39.2、Linux下4G模塊如何撥號上網


    ? 參考:http://doc.openluat.com/article/600/0

    四十、時鐘問題

    40.1、如何同步時鐘


    ? 參考:http://doc.openluat.com/article/600/0




    上海合宙通信模塊 - 合宙Luat,讓萬物互聯更簡單

    總結

    以上是生活随笔為你收集整理的Air系列模块常见问题列表的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    国产精品福利午夜在线观看 | 精品免费一区二区三区 | 人人爱夜夜操 | 久久久久久久久精 | 在线视频观看你懂的 | 综合色亚洲| 国产高清av | 色激情五月| 精品成人a区在线观看 | 精品国产乱码久久久久久1区2匹 | 国产v在线| 久热免费在线 | 久久久免费| 久久69av | 日韩精品免费一区 | 日韩电影在线观看一区 | 在线免费av播放 | 国产不卡精品 | 99久久精品无码一区二区毛片 | 国产精品欧美久久久久无广告 | 欧美高清视频不卡网 | 爱爱av网 | 91免费版在线观看 | 美女国产免费 | 国产九九热 | 午夜精品一区二区三区在线视频 | 国产精品99免视看9 国产精品毛片一区视频 | 中文字幕免费观看 | 亚洲精品九九 | 亚洲国产人午在线一二区 | 日韩在线中文字幕视频 | 中文字幕日韩有码 | 久久精品视频网址 | 欧美久久久一区二区三区 | 激情一区二区三区欧美 | 国产成人久久精品一区二区三区 | 婷婷丁香社区 | 在线播放亚洲 | www.国产高清| 韩日电影在线免费看 | 日韩成人邪恶影片 | 日韩欧美高清在线 | 操操操人人人 | 中文字幕资源网 国产 | 四川bbb搡bbb爽爽视频 | 久草电影免费在线观看 | 波多野结衣网址 | 天天插天天操天天干 | 91精品国产综合久久久久久久 | 日日天天| 亚洲国产精品va在线看黑人动漫 | 国产在线不卡 | 欧美另类sm图片 | 国产成人黄色在线 | 特级毛片在线观看 | 91亚洲狠狠婷婷综合久久久 | 91在线观看视频 | 久久久久久久久久久影视 | 手机av在线网站 | 在线观看视频你懂 | 日韩电影一区二区在线观看 | 99久久er热在这里只有精品15 | 成年人在线免费看视频 | 国产黄视频在线观看 | 婷婷成人在线 | 欧美精品在线视频 | av在线免费不卡 | 欧美日韩久久一区 | 久久婷婷综合激情 | 久久久96| 国产三级久久久 | 久久久精品视频成人 | 久久精品国产精品亚洲 | 在线日韩精品视频 | 亚洲电影在线看 | 亚洲开心激情 | 国产精品12 | 精品视频久久 | 在线国产视频一区 | 国产精品一区在线播放 | 热久精品 | 免费看wwwwwwwwwww的视频 久久久久久99精品 91中文字幕视频 | 日本护士三级少妇三级999 | 狠色在线| 黄色av三级在线 | 99热九九这里只有精品10 | 国产精品国产三级国产不产一地 | 五月天久久精品 | 国产精品久久久久久高潮 | 99久久99久久精品免费 | 亚洲午夜剧场 | 96亚洲精品久久 | 成人国产精品免费观看 | 美女国产免费 | 午夜国产福利视频 | av一级二级| 在线观看免费观看在线91 | 这里只有精品视频在线 | 久久精品福利视频 | 国产精品久久久久久久婷婷 | 久久不见久久见免费影院 | 中文字幕亚洲精品日韩 | 亚洲综合导航 | www.天天综合 | 人人网av | 夜夜躁狠狠躁日日躁视频黑人 | 国产精品va视频 | 91久久奴性调教 | 日本黄色免费观看 | 久久久久免费网 | 国产精品视频99 | 国产在线视频一区 | 在线免费观看国产精品 | 久久黄页| 久久综合九色综合97婷婷女人 | 免费av在线网站 | 中文高清av | 国产99久久久国产精品免费二区 | 婷婷激情五月 | 91精品啪在线观看国产线免费 | 国产亚洲成av人片在线观看桃 | 亚洲天堂精品视频在线观看 | 日韩毛片在线免费观看 | 久久免费国产视频 | 久久国内精品视频 | 久久99九九99精品 | 亚洲欧美日本国产 | 91传媒在线 | 亚洲黄色免费在线 | 国产中文字幕在线免费观看 | 国产乱码精品一区二区三区介绍 | 999久久久欧美日韩黑人 | 97精品国自产拍在线观看 | 午夜精品视频在线 | 国产xxxx| 91网址在线 | 91社区国产高清 | 国产精品免费久久久久久久久久中文 | 中文字幕a∨在线乱码免费看 | 日韩在线一区二区免费 | 国产999精品久久久久久 | 六月丁香婷婷久久 | 成人精品99 | 国产精品美乳一区二区免费 | 欧美精品在线观看免费 | 国产精品1区2区在线观看 | 国产一级视频在线免费观看 | 免费a网站 | 欧美成人h版 | 女人18精品一区二区三区 | 在线观看成人毛片 | 狠狠躁日日躁夜夜躁av | 99热精品视 | 丝袜美腿av| 国产成人精品一二三区 | 日批视频在线观看免费 | 香蕉视频免费看 | 久久爱综合 | 91av小视频 | 久久久精品视频网站 | 国产亚洲精品久久久久久久久久久久 | www成人精品 | 岛国大片免费视频 | 久久精品99久久 | 成人免费91 | 久久国产精品影片 | 国产精品av在线免费观看 | 美女在线免费观看视频 | 超碰人人超碰 | 国产91在线 | 美洲 | 久黄色| 国产精品第54页 | 五月婷亚洲 | 91av视频网| 00av视频| 国产精品精品国产色婷婷 | 黄色免费在线看 | 五月婷婷在线观看 | 最新日韩中文字幕 | 精品国产123 | 国产一区麻豆 | 欧美福利在线播放 | 免费在线观看一区二区三区 | 91cn国产在线 | 精品国产视频在线 | 亚洲国产欧美一区二区三区丁香婷 | 午夜影视剧场 | 天天天干天天天操 | 欧美国产视频在线 | 视频一区二区视频 | 亚洲精品高清在线 | 91九色精品国产 | www..com毛片| 国产一区二区在线免费观看 | 久久天天拍| 欧美久久久久久久久久久久久 | 日韩在线短视频 | 色狠狠狠 | 日韩欧在线 | 99在线免费视频 | 国产一级精品绿帽视频 | 亚洲美女在线国产 | 夜夜夜夜夜夜操 | 久久久久高清 | 色在线视频 | 久久久人 | 久久久久日本精品一区二区三区 | 综合色综合色 | 久久 亚洲视频 | 亚洲精品视频在线免费 | 国产精品一区二区三区观看 | 在线观看中文字幕网站 | 中文字幕在线播放第一页 | 一级黄视频 | 天堂av在线免费观看 | 国产一级视屏 | 国产96av| 欧美精品一区二区在线观看 | 91最新在线 | 欧美成人影音 | 久久国产精品免费一区二区三区 | 国产午夜精品一区二区三区欧美 | 综合中文字幕 | 亚洲精品视频在线免费 | 久久国产精品区 | 国产伦精品一区二区三区… | 亚洲精品免费在线观看视频 | 日韩大片在线免费观看 | 中文免费 | 97在线播放| 国产成人一区二区三区电影 | 色综合久久久久综合体桃花网 | 国产精品理论在线观看 | 成人免费观看av | 国产精品第一页在线观看 | 欧美一级在线 | 亚洲狠狠操 | 色999五月色 | 日韩久久影院 | 欧美日韩破处 | 精品国产一区二区三区在线观看 | 中文字幕日本特黄aa毛片 | 99精品欧美一区二区 | 日韩精品2区 | 伊人久久电影网 | 91丨porny丨九色 | 超碰精品在线观看 | 亚洲精品视频免费看 | 2019天天干天天色 | 午夜免费电影院 | 色播六月天| 综合国产在线观看 | 香蕉视频91 | 日本精品视频在线观看 | 91九色在线观看视频 | 四虎影视精品成人 | 免费看黄的 | 中文字幕永久 | 成人免费观看视频网站 | 婷婷在线观看视频 | 天天射天天操天天色 | 亚洲aaa毛片 | 不卡的av在线播放 | 久久精品视频18 | 国产激情久久久 | 91av在线不卡 | 激情网站免费观看 | 国产精品地址 | 西西4444www大胆无视频 | 日本精品久久久久久 | 97国产在线观看 | 国产精品美女视频 | 91香蕉国产在线观看软件 | 午夜在线日韩 | 国产精品无av码在线观看 | 国产亚洲无 | 精品一区二区综合 | 亚洲天堂网在线视频观看 | 国产精品免费大片视频 | 高清在线一区二区 | 久草com| 日韩字幕在线 | 午夜精品一区二区三区在线观看 | av在线最新| 探花视频在线观看免费版 | 久久久精品国产免费观看同学 | 91在线视频免费观看 | 波多野结衣在线视频免费观看 | 国产视频精品久久 | 国产一级特黄毛片在线毛片 | 亚洲国产片色 | 欧美在线99 | 亚洲精品久| 久久综合九色综合97婷婷女人 | 久久精品欧美日韩精品 | 欧美激情精品 | 欧美视频国产视频 | 亚洲一区日韩在线 | 日韩av快播电影网 | 国产91精品久久久久久 | 成人av影视 | 亚洲国产一区在线观看 | 日韩欧美一区二区在线 | 国产在线观看,日本 | av免费在线免费观看 | 亚洲天堂首页 | 看片黄网站 | 国产精品午夜久久 | 99婷婷狠狠成为人免费视频 | 中文字幕第一页在线vr | 一区二区视频播放 | 亚洲精品视频网址 | 天天射一射 | 天天干夜夜夜操天 | 亚洲精品日韩一区二区电影 | 美女久久久 | 国产精品videossex国产高清 | 亚洲精品一区二区久 | 婷婷五天天在线视频 | av免费在线观看网站 | 天天色天天射天天干 | 国产精久久| 色中射 | 久久国产精品免费一区二区三区 | 久草在线在线视频 | 久草免费在线 | 婷婷六月综合网 | 国产精品乱码一区二区视频 | 99成人精品 | 久久久久久久毛片 | 欧美一区二区在线免费观看 | 久久久久国产精品www | 天天综合网 天天综合色 | 91豆麻精品91久久久久久 | 久99久精品 | 日韩在线视频免费播放 | 久久久国产精品免费 | 99国产精品 | 在线中文字母电影观看 | 国产二区视频在线 | 亚洲欧美激情精品一区二区 | 黄色一级大片在线免费看国产一 | 日韩精品一区二区三区电影 | 青青草国产精品 | 精品久久久久久一区二区里番 | 国产成人a亚洲精品 | 免费观看www小视频的软件 | 久久在线免费观看视频 | 天天爱天天操天天爽 | 青青草国产成人99久久 | 91在线观看视频网站 | 精品国产乱码久久久久久浪潮 | 日日操夜夜操狠狠操 | 日批网站在线观看 | 天天se天天cao天天干 | 在线观看免费高清视频大全追剧 | 美女视频久久久 | 狠狠狠狠狠操 | 精品xxx | 亚洲欧洲国产视频 | 天天搞天天 | 国产精品久久一区二区三区, | 久久精品国产免费看久久精品 | 日韩在观看线 | 色综合天天综合 | 久久久久北条麻妃免费看 | 久久久久久久久久亚洲精品 | 一区二区三区视频网站 | 中文字幕国产 | 亚洲日本va午夜在线电影 | 久久成人免费电影 | 欧美国产日韩中文 | 成人a v视频 | 日韩欧美xxx | 色噜噜狠狠狠狠色综合久不 | 日日碰夜夜爽 | 亚洲一级在线观看 | 亚州成人av在线 | 久草视频资源 | 91香蕉嫩草| 亚洲精品短视频 | 中文字幕在线一区二区三区 | 最新午夜| 午夜视频播放 | 精品在线视频一区二区三区 | 最近中文字幕完整视频高清1 | 色视频网站在线观看一=区 a视频免费在线观看 | 国产精品第| 日韩三级在线 | 日韩一区二区三区不卡 | 不卡av在线| 在线免费观看国产视频 | 欧美日韩高清一区 | 激情 婷婷 | 久久综合精品国产一区二区三区 | 亚洲成人免费观看 | 色综合久久悠悠 | 天天综合网 天天综合色 | 国产资源网 | 91亚洲国产成人久久精品网站 | 国产精品高清免费在线观看 | 97色婷婷成人综合在线观看 | 99久久国产免费,99久久国产免费大片 | 日韩区欠美精品av视频 | 日韩小视频 | 国产中文自拍 | 久久久九九 | 日韩毛片在线播放 | 成人亚洲精品国产www | 超碰夜夜 | 久久草| 97视频人人澡人人爽 | 黄色成人av在线 | 一级成人网 | 国产精品情侣视频 | 一级α片 | 亚洲精品乱码久久久久久蜜桃91 | 国产一级片网站 | 国内精品福利视频 | 国产黄| 国产成人亚洲精品自产在线 | 91欧美视频网站 | 玖玖色在线观看 | 精品亚洲一区二区三区 | 麻豆传媒视频观看 | 中文字幕高清免费日韩视频在线 | 一区二区三区高清在线 | 欧美在线观看视频一区二区 | 玖玖玖影院 | 在线免费av网 | 在线观看视频精品 | av免费观看高清 | 成人午夜在线电影 | 在线观看黄网站 | 成人av亚洲 | 中文字幕黄色网 | 2023av| 亚洲欧美综合精品久久成人 | 在线免费观看国产 | 1024久久 | 福利久久| 久久午夜免费视频 | 激情黄色av | 精品不卡av | 国产流白浆高潮在线观看 | 九色91av| 一级a性色生活片久久毛片波多野 | 韩日色视频 | 亚洲激情五月 | 色视频在线观看免费 | 日韩久久影院 | 精品毛片一区二区免费看 | 亚洲国产精品久久久久久 | 色姑娘综合天天 | 国产理论影院 | 超碰在线公开 | 久久免费精彩视频 | 日韩黄色在线电影 | 麻花豆传媒一二三产区 | 欧美日韩国产精品久久 | 精品国产一区二区三区久久影院 | 人人干网站| 激情婷婷综合网 | 免费电影一区二区三区 | 日韩视频在线播放 | 一区二区三区四区不卡 | 中国成人一区 | 视频三区| 国产成人一区三区 | 成人黄色小说在线观看 | 中日韩欧美精彩视频 | 久久精品视频18 | 91欧美精品| www国产亚洲精品久久网站 | 日韩区欠美精品av视频 | 精品999久久久 | 亚洲欧美日韩国产一区二区三区 | 欧美激情视频在线免费观看 | 国产精品人人做人人爽人人添 | 久久久久久国产精品久久 | 日韩天堂在线观看 | 日本久久影视 | 国产精品久久久久999 | 色之综合网 | 国产激情电影综合在线看 | 日韩黄色一级电影 | 欧洲激情在线 | 久久久久久久久福利 | 精品99在线观看 | 四虎影视国产精品免费久久 | 九九视频精品免费 | 97品白浆高清久久久久久 | 日韩电影在线观看一区 | 91福利视频在线 | 国产美女在线精品免费观看 | 国产一区二区不卡视频 | 午夜免费福利视频 | 日韩免费在线 | 91精品国产高清自在线观看 | 日韩mv欧美mv国产精品 | 精品国产亚洲一区二区麻豆 | 日本黄色一级电影 | 久草99| 国产视频久久久久 | 日本狠狠干 | 91免费观看视频在线 | 久草在线费播放视频 | 91精品国产综合久久婷婷香蕉 | 国产日韩视频在线 | 国产小视频在线看 | 色综合久久网 | 久久久九色精品国产一区二区三区 | 国产精久久久久久久 | 天天干天天摸天天操 | 麻豆视频国产精品 | 国产精品亚洲视频 | 在线免费高清 | 在线看的毛片 | 日本精品视频网站 | 国产精品成人国产乱一区 | 色综合久久中文字幕综合网 | 九九热在线视频免费观看 | 国产精品久久久久久一二三四五 | 免费在线观看av网址 | 欧美精品久久久久久久免费 | 91免费视频黄 | 亚洲精品综合欧美二区变态 | 免费观看一区二区三区视频 | 久久99在线视频 | 色婷婷国产在线 | 99 国产精品| 国产精品孕妇 | 免费网站看av片 | 久久理伦片 | 狠色狠色综合久久 | 国产成人亚洲在线电影 | 精品免费| 精品国产一区二区三区在线观看 | www亚洲一区| 国产精品久久久久久久7电影 | 欧美一区影院 | 美女免费黄网站 | 成人宗合网 | 午夜精品视频一区 | 国产精品av在线免费观看 | www.国产毛片 | 欧美日韩二三区 | 99精品免费观看 | 日本一区二区免费在线观看 | 国产精品mm | 国产日产在线观看 | 国产一区二区视频在线播放 | 日韩免费看 | 日韩中文字幕第一页 | 美女网站视频免费黄 | 色婷婷亚洲综合 | 麻豆视屏 | 亚洲成av人片 | 91精品少妇偷拍99 | 精品国产精品国产偷麻豆 | 99精品国产兔费观看久久99 | 精品久久久久久久久久岛国gif | 久久久精品国产一区二区 | 国产护士av | 精品国产资源 | 亚洲综合色视频 | 五月婷婷丁香激情 | 在线午夜 | 五月激情久久 | 国产成人免费在线观看 | 99国产视频 | 亚洲另类xxxx | 操操操干干干 | 手机av在线网站 | 久久国产香蕉视频 | 中文字幕高清免费日韩视频在线 | 激情综合五月天 | 国产精品观看在线亚洲人成网 | 免费男女羞羞的视频网站中文字幕 | 蜜臀久久99精品久久久酒店新书 | 草久在线观看视频 | 色开心| 成人免费观看网站 | 91精品欧美 | 啪嗒啪嗒免费观看完整版 | 在线免费观看视频a | 欧美一二三专区 | 九色福利视频 | 久久精品99久久久久久2456 | 亚洲精品在线免费看 | 国产一区二区三区在线免费观看 | 国内精品久久久久影院男同志 | 97超碰国产在线 | 99精品国产一区二区三区不卡 | 一区二区 久久 | 国产精品12 | 国产不卡一二三区 | 日韩电影在线观看一区二区 | 麻豆精品视频 | 久久手机免费视频 | 特级毛片爽www免费版 | 97理论电影 | 欧美另类人妖 | 久久精品亚洲一区二区三区观看模式 | 久久久久久高潮国产精品视 | 亚洲最新av在线网站 | 午夜精品一区二区三区在线播放 | 天天干天天操av | 亚洲精品美女久久久久网站 | 四虎永久精品在线 | 亚洲天堂网在线观看视频 | 国产精品成人自产拍在线观看 | 免费的黄色的网站 | 久久久资源 | 99在线热播精品免费99热 | 色网站在线免费观看 | 日韩av在线资源 | av高清一区二区三区 | 国产激情久久久 | 久精品视频在线 | 天天干天天色2020 | 国产在线综合视频 | 欧美久久久久久久久中文字幕 | 日韩av午夜| 日本aaaa级毛片在线看 | 国产一二三四在线观看视频 | av电影久久 | 狠狠的日 | 亚洲视频,欧洲视频 | 香蕉色综合 | 999久久a精品合区久久久 | 久久综合九色综合97婷婷女人 | 国产精品午夜在线 | 国产在线观看,日本 | 久久免费视频在线观看30 | 日日爽天天 | 欧美99久久| 国产一区在线看 | 欧美小视频在线 | 91完整视频| 国产中文字幕网 | 国产成人一区二区三区免费看 | 亚洲精品视频在线观看免费 | 久久久久久久久久久久亚洲 | 中文字幕有码在线观看 | 国内99视频 | 亚洲精品乱码久久久久久9色 | 国产一级在线播放 | 天天综合狠狠精品 | av官网在线 | 97电影在线 | 在线网址你懂得 | 超碰在线94 | 手机色在线 | 视频一区视频二区在线观看 | 人人干干人人 | 亚洲成人免费在线 | 久久久久综合精品福利啪啪 | 久久av一区二区三区亚洲 | 99视频国产精品免费观看 | 激情开心站 | 又黄又爽的免费高潮视频 | 韩国av三级 | 在线视频 一区二区 | 国产精品99久久久久久人免费 | 又色又爽的网站 | 狠狠干,狠狠操 | 国产成人免费在线观看 | 天堂视频中文在线 | 国产小视频在线看 | 国产成人精品免费在线观看 | 91av原创| 久久avav | av大全在线免费观看 | 国产在线一区观看 | 欧美另类视频 | 国产精选视频 | 日韩av电影中文字幕 | 国产成人免费高清 | 亚洲一区不卡视频 | 黄色毛片一级片 | 在线观看涩涩 | 久久婷婷网| 久久婷婷国产色一区二区三区 | 国产自产高清不卡 | 国产福利电影网址 | 中文字幕你懂的 | 久久精品艹 | 免费国产在线视频 | 三上悠亚一区二区在线观看 | 狠狠色伊人亚洲综合成人 | 中文字幕在线成人 | 久久字幕精品一区 | 国产一二三区在线观看 | 久久在线 | 久久艹在线观看 | 亚洲精品国偷拍自产在线观看蜜桃 | 国产精品系列在线观看 | 久草色在线观看 | 在线观看va | 欧美激情第28页 | 国产精品a久久久久 | 亚洲精品国产高清 | 99精品观看 | 日本性高潮视频 | 午夜av剧场 | 日韩av一区在线观看 | 97色视频在线 | 91看片在线看片 | 婷婷午夜 | 最近高清中文在线字幕在线观看 | 麻豆国产露脸在线观看 | 国产精品99久久免费黑人 | 99精品国产福利在线观看免费 | 男女啪啪网站 | 午夜国产一区二区三区四区 | 嫩草av在线| 激情五月婷婷综合网 | 欧美精品在线视频 | www.色国产 | www在线观看国产 | 午夜电影一区 | 西西人体www444 | 最新日韩在线观看视频 | 欧洲精品视频一区 | 久久伊人精品一区二区三区 | 伊人久久精品久久亚洲一区 | a精品视频 | 五月激情丁香婷婷 | 久久视频一区 | 五月婷婷av | 日韩av一区二区在线播放 | 国产不卡在线观看视频 | 国产女人免费看a级丨片 | 精品视频99| 精品99免费视频 | 日韩一区在线免费观看 | 免费福利视频网站 | 欧美一级专区免费大片 | 午夜久久福利视频 | 色综合夜色一区 | 黄色软件在线观看 | 婷婷综合网| 国产高清第一页 | 一区二区三区中文字幕在线观看 | 国产精品久久久久久久婷婷 | 色婷婷激情| 在线观看免费成人 | 一区二区三区免费在线播放 | 成人全视频免费观看在线看 | 亚洲精品色视频 | 国产手机视频精品 | 天天爱天天操 | 精品1区2区 | 丁香婷婷综合激情 | 婷婷综合亚洲 | 91成人小视频 | 欧美精品久久久久久久免费 | 免费视频91 | 国内精品二区 | 91精品影视 | 国产精品普通话 | 亚洲精品小视频 | 国产高清免费在线观看 | 久草精品免费 | 日韩精品不卡在线 | 最近中文字幕免费大全 | 九九热在线免费观看 | 91麻豆精品国产 | 国产精品片 | 久久99精品久久久久久三级 | 成人在线免费看视频 | 五月天免费网站 | 国产高清中文字幕 | 国产精品黑丝在线观看 | 色射爱| av黄色在线观看 | 免费无遮挡动漫网站 | 91av在线免费视频 | 久久综合成人网 | 国产综合在线视频 | 国产高清视频免费在线观看 | www视频在线免费观看 | 日韩性xxx| 亚洲精品成人免费 | 在线激情小视频 | 国产精品二区在线 | 在线播放亚洲激情 | 日韩精选在线观看 | 久久久久亚洲国产精品 | 精品一区二区影视 | 精品久久久久久亚洲综合网站 | 日韩午夜在线观看 | 黄色国产在线观看 | 开心激情五月网 | 色综合久久88色综合天天人守婷 | 日韩国产在线观看 | 天天色棕合合合合合合 | 在线免费黄色av | 91精品国产高清自在线观看 | 97精品国自产拍在线观看 | 欧美日韩视频在线观看一区二区 | 国产一区二区中文字幕 | 国产免费黄色 | 久久久麻豆| 久久爱www.| 日日夜夜免费精品视频 | 国产精品亚洲成人 | 亚洲天天摸日日摸天天欢 | 国产原创av片 | 五月婷婷中文网 | 国产成人久久av免费高清密臂 | 深爱开心激情网 | 久久精品一区二区三区中文字幕 | 99日韩精品 | 亚洲第一伊人 | 视频在线91 | 天天艹天天干天天 | 日本中文字幕网址 | 久久电影中文字幕视频 | 国产丝袜网站 | 免费看高清毛片 | 成年人视频在线免费 | 久久国产手机看片 | 中文字幕免费一区 | 久久精品日产第一区二区三区乱码 | 欧美巨大 | 久久久资源 | 日本xxxxav | 久久久久久久久久久久国产精品 | 国产成人综合精品 | 综合色中色 | 97在线播放视频 | 亚洲不卡在线 | 久久激情视频 久久 | 婷婷在线精品视频 | 国产精品久久久久久欧美 | 99色亚洲| 亚洲区精品视频 | 国产精品视频专区 | 中文字幕高清在线播放 | 久久精品久久久精品美女 | 毛片精品免费在线观看 | 久草在线观 | 在线国产能看的 | 懂色av懂色av粉嫩av分享吧 | 亚洲va欧美va人人爽春色影视 | 丁香av在线 | 91一区一区三区 | 亚洲国产精品视频在线观看 | 国产无区一区二区三麻豆 | 亚洲不卡123| 永久免费看av | 国产人在线成免费视频 | 99国产精品一区 | 狠狠色狠狠色综合系列 | 麻豆视频免费网站 | 亚洲春色综合另类校园电影 | 天天草视频 | 久免费 | 亚洲国产网址 | 久久这里只有精品1 | 九九精品久久 | 久久av免费电影 | 天天干 天天摸 天天操 | 国产精品美女久久久久久久网站 | 99国产成+人+综合+亚洲 欧美 | 国产精品色婷婷视频 | 精品视频9999 | 91在线观 | av在线网站观看 | 精品国产一区二区三区在线 | 波多野结衣视频一区 | 精壮的侍卫呻吟h | 日韩精品久久一区二区 | 国产精品毛片久久 | 国产视| 国产亚洲成av人片在线观看桃 | 久久久精品久久日韩一区综合 | 亚洲国产精品成人va在线观看 | 国产视频一区在线 | 国产一级一片免费播放放a 一区二区三区国产欧美 | 成人精品影视 | 日韩免费观看一区二区 | 欧美日韩一区二区三区在线观看视频 | 99精品欧美一区二区三区 | 97国产在线观看 | 麻花传媒mv免费观看 | 中文字幕精品视频 | av片在线观看免费 | 欧美亚洲国产一卡 | 欧美精品在线视频观看 | 91中文字幕在线播放 | 久久人人97超碰国产公开结果 | 欧美 激情在线 | 亚洲免费在线观看视频 | 免费av电影网站 | 青春草免费视频 | 97人人爽人人 | 国产精品99久久久久久小说 | 精品亚洲视频在线观看 | 伊人中文在线 | 五月婷婷.com | 中文字幕免费观看视频 | 久久久久福利视频 | 91av视频在线免费观看 | 91黄色影视 | 在线观看视频一区二区 | 97视频在线播放 | 日韩欧美视频免费观看 | 成人欧美一区二区三区黑人麻豆 | 成人黄色短片 | 国产综合视频在线观看 | 欧美在线一级片 | 国产福利在线 | 一级黄色在线免费观看 | 精品国产123 | 97超碰国产在线 | 亚州精品天堂中文字幕 | 天天色天天综合 | 亚洲va综合va国产va中文 | 正在播放久久 | 欧美精品一区二区在线观看 | 久久精品123 | 久久香蕉国产 | 2022中文字幕在线观看 | 日韩性xxxx | 韩国一区二区三区视频 | 国产精华国产精品 | 国产午夜av | 色综合a| 久久久精品二区 | 日韩xxxbbb | 日本一区二区免费在线观看 | 久久天堂精品视频 | 国产黄色成人 | 视频在线播放国产 | 日韩和的一区二在线 | 亚洲综合一区二区精品导航 | 欧洲色吧| 狠狠操在线 | 一区二区国产精品 | 免费在线观看一区二区三区 | 日韩av片免费在线观看 | 久久免费在线视频 | 色婷婷综合视频在线观看 | 99久久精品无码一区二区毛片 | 亚洲欧洲精品一区 | 国产精品免费观看网站 | 欧美有色 | 美女福利视频一区二区 | 日本系列中文字幕 | 在线国产能看的 | 国产午夜精品免费一区二区三区视频 | 国产精品高潮呻吟久久av无 | 青青草国产免费 | 综合网伊人 | 97超碰国产精品女人人人爽 | 97影视 | 国产精品普通话 | 欧美激情精品久久久久 | 日韩精品不卡在线 | 久久久久久久久精 | 99精品美女 | 国产精品日韩在线观看 | 久久精品久久精品久久精品 | 天天插天天爱 | 免费网站v | 欧美一级视频在线观看 | 国产大尺度视频 | 欧美国产日韩在线视频 | 国产成人一区二区啪在线观看 | 97成人精品 | 新av在线| 亚洲欧美日本A∨在线观看 青青河边草观看完整版高清 | 天天综合久久 | 91一区二区三区久久久久国产乱 | 国产经典 欧美精品 | 国产精品一区二区久久精品爱微奶 | 亚洲精品福利在线 | 激情综合网五月激情 | 天天天干夜夜夜操 | 精品不卡视频 | 国产精品四虎 | 狠狠色伊人亚洲综合网站色 | av一区在线播放 | 成人一级免费电影 | 国产高清av免费在线观看 | a黄在线观看 | 在线 精品 国产 | 久久与婷婷 | 久久久伊人网 | 91九色视频国产 | 亚洲精品欧美精品 | 激情婷婷欧美 | 国产精品成人在线 | av线上看 | 91激情视频在线播放 |