今天我會分享關于4G模組軟件的模塊信息之強基篇,其中詳細分析了模塊信息,必看版。
一、模塊信息概述模塊信息是每一個模塊攜帶的信息,就像人的身份證一樣,這些信息確定了模塊的唯一性; 包含設備唯一id,硬件型號,模組的硬件版本號,固件版本號等; 模塊遠程升級需要上傳模塊信息,解決和分析某些問題的時候可能也會需要確認模塊信息。
二、演示功能概述使用Air780E核心板燒錄底層固件(LuatOS- SoC_V1112_EC618_FULL.soc)和hmeta例程腳本學習有關模塊信息的api函數.
三、硬件準備
3.1 Air780E核心板使用Air780E核心板,
3.2 SIM卡中國大陸環境下,可以上網的sim卡,一般來說,使用移動,電信,聯通的 物聯網卡或者手機卡都行。
3.3 PC電腦WINDOWS系統。
3.4 數據通信線
四、軟件環境
4.1 Luatools工具要想燒錄LuatOS固件到4G模組中,需要用到的調試工具:Luatools; Luatools工具集具備以下幾大核心功能: 一鍵獲取最新固件:自動連接服務器,輕松下載最新的模組固件. 固件與腳本燒錄:便捷地將固件及腳本文件燒錄至目標模組中. 串口日志管理:實時查看模組通過串口輸出的日志信息,并支持保存功能. 串口調試助手:提供簡潔的串口調試界面,滿足基本的串口通信測試需求. Luatools下載之后,新建一個命名為"Luatools"的文件夾,將下載的Luatools_v3.exe拷貝或移動到新建的Luatools文件夾內,點擊Luatools_v3.exe即可運行.
4.2 準備需要燒錄的代碼首先要說明一點:腳本代碼,要和固件的soc文件一起燒錄.
4.2.1 燒錄的底層固件文件底層core下載地址:LuatOS固件版本下載地址
Air780E的底層固件在Luatools解壓后目錄的:
LuatOS-SoC_V1112_EC618_FULL.soc
4.2.2 燒錄的腳本代碼首先,要下載Air780的LuatOS示例代碼到一個合適的項目目錄。
下載流程參考下圖:
下載的文件解壓,找到LuatOS-Air780E-master\demo\hmeta\main.lua,如圖:
五、API說明
5.1 mcu.unique_id()
獲取設備唯一id。 參數 無 返回值 [td]例子
5.2 mobile.imei(index)獲取設備IMEI 參數 [td]傳入值類型 | 解釋 | int
| 編號,默認0.在支持雙卡的模塊上才會出現0或1的情況
|
返回值 [td]例子
5.3 hmeta.model()獲取硬件型號 參數 無 返回值 [td]返回值類型 | 解釋 | string
| 若能識別到,返回硬件型號,否則會是nil
|
例子
5.4 rtos.bsp()獲取硬件bsp型號 參數 無 返回值 [td]例子
5.5 hmeta.hwver() 獲取模組的硬件版本號 參數 無 返回值 [td]返回值類型 | 解釋 | string
| 若能識別到,返回模組的硬件版本號,否則會是nil
|
例子
5.6 rtos.version()獲取固件版本號 參數 無 返回值 [td]例子
六、功能驗證
6.1 燒錄固件
6.1.1 正確連接電腦和4G模組電路板使用帶有數據通信功能的數據線,不要使用僅有充電功能的數據線.
6.1.2 識別4G模組的boot引腳在下載之前,要用模組的boot引腳觸發下載,也就是說,要把4G模組的boot引腳拉到1.8v,或者直接把boot引腳和VDD_EXT引腳相連.我們要在按下BOOT按鍵時讓模塊開機,就可以進入下載模式了.
具體到Air780E開發板: 1、當我們模塊沒開機時,按著BOOT鍵然后長按POW開機。 2、當我們模塊開機時,按著BOOT鍵然后點按重啟鍵即可。
6.1.3 識別電腦的正確端口判斷是否進入BOOT模式:模塊上電,此時在電腦的設備管理器中,查看串口設備,會出現一個端口表示進入了boot下載模式,如下圖所示:
6.1.4 用Luatools工具燒錄新建項目 首先,確保你的Luatools的版本,大于等于3.0.6版本的. 在Luatools的左上角上有版本顯示的,如圖所示:
Luatools版本沒問題的話,就點擊Luatools右上角的“項目管理測試”按鈕,如下圖所示:
這時會彈出項目管理和燒錄管理的對話框,可以新建一個項目,如下圖:
開始燒錄 選擇Air780E板子對應的底層core和剛改的main.lua腳本文件.下載到板子中.
點擊下載后,我們需要進入boot模式才能正常下載. 如果沒進入boot模式會出現下圖情況:
進入boot模式下載,如圖:
6.2 例程
6.3 對應log
七、總結通過本章學習,你可以學習到模塊唯一ID,模塊硬件型號,固件版本,硬件版本的獲取方法.
八、常見問題
8.1 模塊唯一ID文檔mobile.sn()獲取SN,出廠未必有寫SN;一般用途的唯一id,可以用mobile.imei()代替;如需要真正的唯一ID,使用mcu.unique_id()
8.2 通過IMEI查詢模塊生產記錄云平臺(openluat.com)
|