1. 程式人生 > 其它 >SIM應用那些事兒,你做對了嗎?

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伺服器。


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