SIM應用那些事兒,你做對了嗎?
序言
八月,在時光流轉間格外美好~朋友們在徵名活動中書寫詩意,合宙的小夥伴們也忙碌到飛起;新系列產品、新一期直播正在緊張籌備中,敬請期待!
本期將針對常用SIM功能那些事兒,以Air724UG開發板為例進行實操演示,Demo原始碼可通過LuaTools或LuatIDE獲取。
前期主要準備工作
硬體準備
EVB_Air724UG_A13開發板(本文操作適用於合宙Cat.1系列的開發板),以及天線、SIM卡、USB線。
如上圖所示:
在開發板SIM0卡座上插入一張能識別的SIM卡,USB線接到左側USB口(注意:不要接到右邊的串列埠USB上)。開關撥到ON位置,按開機鍵1s以上開機。
軟體準備
Windows電腦搭建Luat開發環境,可參考下文:
https://doc.openluat.com/wiki/21?wiki_page_id=1923
API說明
https://doc.openluat.com/wiki/21?wiki_page_id=2292
SIM功能Demo實操演示
例程參考
本文演示SIM功能相關例項程式,在LuaTools/LuatIDE指令碼庫的demo\simId資料夾下。
最新版LuatIDE下載
https://marketplace.visualstudio.com/items?itemName=luater.luatide
DEMO修改示例
1)開啟一個任務設定卡座id號
1.3基線韌體可以在sim卡0和sim卡1自動識別,1.2基線不行。
--sim_id :sim卡的卡座id號
local sim_id=0
sys.taskInit(function()
--呼叫sim.lua中的設定sim卡id號函式
sim.setId(sim_id)
sys.wait(10000)
end)
2)獲取SIM卡引數
開啟一個迴圈定時器,呼叫sim.lua中函式,列印SIM卡引數即可。
sys.timerLoopStart(function () --獲取sim卡iccid ril.request("AT+ICCID") log.info("sim_iccid:",sim.getIccid()) --獲取sim卡imsi log.info("sim_imsi:",sim.getImsi()) --獲取sim卡status log.info("sim_status:",sim.getStatus()) --獲取sim卡id log.info("sim_id:",sim.getId()) end,1000)
3)燒錄指令碼到開發板
在瞭解並修改demo後,將demo和對應的底包下載到開發板,下載的方式這裡不詳細說明,請參考環境搭建中的燒錄章節:
https://doc.openluat.com/wiki/21?wiki_page_id=1923
4)列印日誌資訊
下載完成後重啟,可以看到LuaTools工具中列印的資訊:
SIM功能常見問題
為什麼讀不到SIM卡
由於原因較多,可按以下步驟排查:
-
看模組開機沒?AT指令能不能用?SIM卡放到別的機器上是不是可用?
-
看模組與卡座之間連線有沒有問題,去掉ESD器件和線路上的濾波電容,檢查原理圖和PCB與實物是否相符,尤其是SIM卡座規格書引腳編號和原理圖、PCB是否一致。
-
開機瞬間用示波器測試下sim_vdd管腳波形,如果波形有1.8v-3.3v-0v 變化,一般是卡座到模組引腳之間問題,要識別到卡,才會有電壓輸出。
-
如果以上都排除了,重新燒錄韌體嘗試。
為什麼SIM卡供電腳沒電壓
-
SIM卡要識別到卡才會有電壓輸出;
-
在模組開機後10s到15s左右,SIM_VDD會拉高到1.8V左右,開始找卡:如未能與SIM卡通訊成功,則短時關閉再拉高到3V左右去找卡;如果還未找到,就關閉SIM_VDD,整個過程6s左右。
專網絡卡如何訪問白名單
使用定向IP的物聯網絡卡,需要把域名或IP加入白名單才能使用,下面列出模組會訪問的域名或IP伺服器。