1 引言
? ? ? ? 最近朋友把國內的設備拿到新加坡了,然后發現原本國內可以使用的設備無法在異國他鄉聯網,所以就叫我來看看,發現是附網返回狀態、入網APN發生了改變導致的。另外,如果在境外使用國產4G模組撥號入網,也需要關注4G模組與本地基站是否能匹配上,如是否支持cat1以及當地基站是否支持模組支持的band(通過硬件手冊可以查看到,如下圖示)。
2 AT撥號實驗
(1)在新加坡使用中國移動卡,AT撥號log如下:
[ Debug]: 1970-01-01 08:04:42, ML302_IO_Send:93: requests :: AT
[ Debug]: 1970-01-01 08:04:43, ML302_AsycnProcess:1501: >RCV:10:AT
OK[ Debug]: 1970-01-01 08:04:43, ML302_IO_Send:93: requests :: ATE0[ Debug]: 1970-01-01 08:04:43, ML302_AsycnProcess:1501: >RCV:12:ATE0
OK[ Info]: 1970-01-01 08:04:43, ML302_IsExist:618: find ml302 device
[ Debug]: 1970-01-01 08:04:46, ML302_IO_Send:93: requests :: AT+CGATT=0 //取消附著網絡[ Debug]: 1970-01-01 08:04:47, ML302_AsycnProcess:1501: >RCV:6:
OK[ Debug]: 1970-01-01 08:04:47, ML302_IO_Send:93: requests :: AT+CGDCONT=1,"IP","cmnet" //設置apn[ Debug]: 1970-01-01 08:04:47, ML302_AsycnProcess:1501: >RCV:6:
OK[ Debug]: 1970-01-01 08:04:47, ML302_IO_Send:93: requests :: AT+CGATT=1 //附著網絡[ Debug]: 1970-01-01 08:04:53, ML302_AsycnProcess:1501: >RCV:6:
OK[ Debug]: 1970-01-01 08:04:53, ML302_IO_Send:93: requests :: AT+CEREG? //查詢網絡注冊狀態[ Debug]: 1970-01-01 08:04:54, ML302_AsycnProcess:1501: >RCV:21:
+CEREG: 0,5 //注冊成功5表示漫游
OK[ Debug]: 1970-01-01 08:04:54, ML302_IO_Send:93: requests :: AT+CEREG?[ Debug]: 1970-01-01 08:04:55, ML302_AsycnProcess:1501: >RCV:21:
+CEREG: 0,5
OK
上述發現,查看網絡注冊狀態時,返回的是漫游狀態,與境內的不一致。
所以,代碼在判斷返回值時需要注意。
(2)使用新加坡本地電信卡,AT撥號時需要注意
如果使用AT+CGDCONT=1,"IP","e-ideas" (電信的一個APN接入點),遇到了撥號不成功,
[ Debug]: 2024-07-06 15:42:05, ML302_IO_Send:93: requests :: AT
[ Debug]: 2024-07-06 15:42:06, ML302_AsycnProcess:1501: >RCV:10:AT
OK[ Debug]: 2024-07-06 15:42:06, ML302_IO_Send:93: requests :: ATE0[ Debug]: 2024-07-06 15:42:06, ML302_AsycnProcess:1501: >RCV:12:ATE0
OK[ Info]: 2024-07-06 15:42:06, ML302_IsExist:618: find ml302 device
[ Debug]: 2024-07-06 15:42:09, ML302_IO_Send:93: requests :: AT+CGATT=0[ Debug]: 2024-07-06 15:42:10, ML302_AsycnProcess:1501: >RCV:6:
OK[ Debug]: 2024-07-06 15:42:10, ML302_IO_Send:93: requests :: AT+CGDCONT=1,"IP","e-ideas" //懷疑是apn名字有-,導致模組設置失敗[ Debug]: 2024-07-06 15:42:10, ML302_AsycnProcess:1501: >RCV:6:
OK[ Debug]: 2024-07-06 15:42:10, ML302_IO_Send:93: requests :: AT+CGATT=1[ Debug]: 2024-07-06 15:42:16, ML302_AsycnProcess:1501: >RCV:6:
OK[ Debug]: 2024-07-06 15:42:16, ML302_IO_Send:93: requests :: AT+CEREG?[ Debug]: 2024-07-06 15:42:17, ML302_AsycnProcess:1501: >RCV:21:
+CEREG: 0,1
OK[ Debug]: 2024-07-06 15:42:17, ML302_IO_Send:93: requests :: AT+CGACT=1,1[ Debug]: 2024-07-06 15:42:18, ML302_AsycnProcess:1501: >RCV:17:
+CME ERROR: 3 //返回OPERATION_NOT_ALLOWED錯誤[ Debug]: 2024-07-06 15:42:18, ML302_IO_Send:93: requests :: AT+CGACT=1,1[ Debug]: 2024-07-06 15:42:19, ML302_AsycnProcess:1501: >RCV:17:
+CME ERROR: 3 //返回OPERATION_NOT_ALLOWED錯誤
此時,更換另外一個電信的APN接入點,AT+CGDCONT=1,"IP","hicard" (電信另一個APN接入點)就可以了。
上圖中,看就名字不同,其它信息一致。使用hicard后就成功了。
3 后記
? ? ? ? 最近工作忙,太久沒來更新文章了,后期計劃把這段時間工作的內容總結一下,主要是Lora無線通信技術入門的心得,希望通過總結讓自己更系統的掌握Lora相關技術吧。
over!