基于 nRF9151、Zephyr、Onomondo 和 Conexa SIM 卡的物聯(lián)網(wǎng) Blink 系統(tǒng)
摒棄無線網(wǎng)絡(luò),選擇全球蜂窩網(wǎng)絡(luò)!借助 nRF9151、Zephyr 操作系統(tǒng)和 SIM 卡,實(shí)現(xiàn)專業(yè)級(jí)物聯(lián)網(wǎng)。將您的嵌入式技術(shù)提升至商業(yè)級(jí)物聯(lián)網(wǎng)水平。
如果你曾經(jīng)使用 Wi-Fi 來完成過某種操作——比如讓一個(gè) ESP32 上的 LED 發(fā)光閃爍,或者讓一個(gè)傳感器將數(shù)據(jù)傳送到儀表板上——那么你就已經(jīng)體驗(yàn)到了聯(lián)網(wǎng)設(shè)備的強(qiáng)大功能了。
但無線網(wǎng)絡(luò)也有其局限性。這取決于路由器、密碼以及覆蓋范圍。
蜂窩式物聯(lián)網(wǎng)則有所不同。
正是它讓追蹤器能夠在山中正常運(yùn)行。它使包裹寄存柜能夠在城市中心保持聯(lián)網(wǎng)狀態(tài)。它還使機(jī)器能夠跨越國(guó)界進(jìn)行通信——無需依賴無線網(wǎng)絡(luò)。
這是你踏入那個(gè)世界的第1步。
在本教程中,您將不僅僅點(diǎn)亮一個(gè) LED 燈。您將構(gòu)建一個(gè)小型的物聯(lián)網(wǎng)設(shè)備,能夠深入到您周圍看不見的基礎(chǔ)設(shè)施中——找到一座移動(dòng)電話基站,與之進(jìn)行通信,并接入互聯(lián)網(wǎng)。
而當(dāng)它成功運(yùn)作時(shí),LED 就會(huì)亮起。
步驟 1 — 準(zhǔn)備硬件設(shè)備
在代碼執(zhí)行之前,一些重要的事情已經(jīng)在物理層面發(fā)生了:你的設(shè)備獲得了其自身的標(biāo)識(shí)信息。
情況介紹:
當(dāng)你打開北歐公司的 nRF9151 開發(fā)套件時(shí),你會(huì)看到主板以及兩張 SIM 卡:一張來自 Onomondo,另一張來自 Conexa(無線邏輯)。
此外,你還會(huì)得到一張漂亮的貼紙。
那個(gè)貼紙直接掉到了我筆記本電腦機(jī)蓋上的“貼紙墳場(chǎng)”里。
“神奇”SIM卡:奧諾蒙多
Onomondo 是一款現(xiàn)代化的、基于云的蜂窩網(wǎng)絡(luò),其設(shè)計(jì)初衷是為了讓物聯(lián)網(wǎng)開發(fā)盡可能地簡(jiǎn)便快捷。
其工作原理如下:Onomondo 利用了一項(xiàng)名為“APN 重寫”的功能。APN(接入點(diǎn)名稱)實(shí)際上就是您的設(shè)備與移動(dòng)基站進(jìn)行通信時(shí)所使用的網(wǎng)關(guān)和密碼。
開發(fā)者體驗(yàn):如果您的代碼未能發(fā)送 APN 信息,發(fā)送了空的 APN 信息,甚至發(fā)送了諸如“my_broken_apn”這樣的錯(cuò)誤信息,Onomondo 網(wǎng)絡(luò)會(huì)發(fā)現(xiàn)這一錯(cuò)誤,忽略它,并仍然為您連接到互聯(lián)網(wǎng)。
結(jié)論:它完全支持即插即用。您無需在固件中設(shè)置任何密碼。它是用于您的首個(gè)“Hello World”項(xiàng)目的最佳 SIM 卡。
“企業(yè)”SIM卡:康塞納(無線邏輯)
康塞薩是一個(gè)高度安全的企業(yè)級(jí)網(wǎng)絡(luò)。如果您查看隨此 SIM 卡附帶的文件,就會(huì)發(fā)現(xiàn)它會(huì)為您的板卡分配一個(gè)靜態(tài)私有 IP 地址(例如:100.120.x.x)。
其工作原理如下:由于康塞薩將您的設(shè)備置于安全、私密的網(wǎng)絡(luò)中,因此它會(huì)實(shí)施嚴(yán)格的認(rèn)證機(jī)制。當(dāng)您的 nRF9151 設(shè)備試圖與本地基站進(jìn)行通信時(shí),該基站會(huì)要求提供確切的 APN(接入點(diǎn)名稱)、用戶名和密碼。
開發(fā)人員體驗(yàn):如果您嘗試連接但未提供這些憑證,塔設(shè)備將立即拒絕您的設(shè)備。您的 nRF9151 將持續(xù)閃爍其“搜索”指示燈,您可能會(huì)認(rèn)為您的板子出現(xiàn)了故障。
結(jié)論:對(duì)于大規(guī)模的商用安全設(shè)備而言,這正是您所期望的解決方案,但需要在您的代碼中進(jìn)行一些額外的設(shè)置。
兩種 SIM 卡都能將您的設(shè)備接入一個(gè)安全、私密且具有固定 IP 地址的網(wǎng)絡(luò)。但對(duì)于初學(xué)者而言,不妨從 Onomondo SIM 開始,這樣就能輕松實(shí)現(xiàn)首次成功連接。
一旦您適應(yīng)了這個(gè)流程,就切換到 Conexa SIM 并學(xué)習(xí)如何使用嚴(yán)格的憑證來安全地對(duì)物聯(lián)網(wǎng)設(shè)備進(jìn)行身份驗(yàn)證!
將奧諾蒙多 SIM 卡連接到儀表盤上
請(qǐng)把手中的 SIM 卡拿出來看一看。
注意:我將先介紹奧諾莫多的設(shè)置,然后進(jìn)行一次類似的使用康塞薩設(shè)備的測(cè)試。
檢查覆蓋范圍鏈接
與 Wi-Fi 密碼不同,這個(gè)微型芯片就是你的設(shè)備的“通行證”。它向移動(dòng)網(wǎng)絡(luò)傳達(dá)信息:“此設(shè)備被允許存在?!?
將奧諾蒙多納米-SIM卡插入板上的插槽中。
通過 USB 連接板子,并按下電源開關(guān)。
第 2A 步 - 注冊(cè) SIM 卡并設(shè)置 Onomondo 賬戶
現(xiàn)在請(qǐng)?jiān)L問 Onomondo 應(yīng)用頁面并注冊(cè)卡片。我猜測(cè)您可以在公司和網(wǎng)址字段中填寫“未提供”(N/A),只需說明您是通過 Hackster 發(fā)現(xiàn)這些信息的即可。
奧諾莫諾登記內(nèi)容包括:
?總計(jì) 50MB 數(shù)據(jù)(初始 10MB 加上額外 40MB)
?免費(fèi)試用 60 天的平臺(tái)服務(wù)
?實(shí)時(shí)網(wǎng)絡(luò)洞察的訪問權(quán)限
?對(duì)設(shè)備網(wǎng)絡(luò)訪問的精細(xì)控制
一旦您進(jìn)入門戶儀表板,您的 SIM 卡狀態(tài)應(yīng)顯示為“激活”,其標(biāo)志為綠色圖標(biāo)。
恭喜!您已成功將 nRF9151 設(shè)備連接至 Onomondo 網(wǎng)絡(luò),您的設(shè)備現(xiàn)已上線。
點(diǎn)擊“查看”可查看您的 SIM 卡及其數(shù)據(jù)使用情況的詳細(xì)信息。您可以盡情探索 Onomondo 門戶網(wǎng)站的其他內(nèi)容,以了解還有哪些可用的服務(wù)。
第 3 步 - 安裝 OpenVPN,以便從您的筆記本電腦通過 IP 地址訪問設(shè)備
盡管 nRF9151 設(shè)備具有 IP 地址,但發(fā)送 Ping 請(qǐng)求會(huì)失敗,因?yàn)?SIM 卡處于受保護(hù)的網(wǎng)絡(luò)內(nèi)。若要通過其 IP 地址訪問您的設(shè)備,在電腦上安裝帶有配置文件的 OpenVPN 軟件。
訪問 openvpn.net 網(wǎng)站,下載與您操作系統(tǒng)相兼容的 OpenVPN 桌面版軟件。
啟動(dòng) OpenVPN 連接。
第 4A 步 — 安裝 Onomondo 虛擬專用網(wǎng)絡(luò)配置文件
對(duì)于本次教程,您無需使用 VPN 來通過私有 IP 訪問您的 SIM 卡,因此執(zhí)行步驟 4A 或 4B 并非須要。
點(diǎn)擊頁面右上角的您的電子郵件地址。從下拉列表中選擇“API 文檔”。
現(xiàn)在您將進(jìn)入文檔頁面。
從列表中選擇“OpenVPN”選項(xiàng)卡。
既然您已經(jīng)有了配置文件,那么請(qǐng)轉(zhuǎn)到屏幕底部,選擇“上傳文件”,然后瀏覽到您在電腦上保存該文件的位置。
確認(rèn)文件導(dǎo)入。
導(dǎo)入文件后,請(qǐng)點(diǎn)擊“連接”。
要進(jìn)行連接,請(qǐng)使用您用于 Onomondo 門戶網(wǎng)站的相同登錄信息進(jìn)行登錄。
請(qǐng)使用您用于 Onomondo 門戶的相同登錄信息來建立連接。
在您的 VPN 隧道開啟的情況下,您現(xiàn)在可以與 nRF9151 設(shè)備建立直接連接。您不再只是將數(shù)據(jù)發(fā)送到一個(gè)空無一物的地方——您可以在任何地方主動(dòng)管理、測(cè)試并與您的硬件進(jìn)行通信。
現(xiàn)在,讓我們進(jìn)入真正的樂趣環(huán)節(jié):編寫一些代碼。如果您選擇使用 Conexa SIM,流程會(huì)與之類似,但會(huì)使用 SIMPro 和 DevicePro 門戶網(wǎng)站。
步驟 2B — 注冊(cè) Conexa SIM 并設(shè)置設(shè)備門戶
康塞薩 SIM 卡使用的(VF-NL)IMSI 格式,這意味著它不支持窄帶物聯(lián)網(wǎng)覆蓋;僅提供 LTE-M 連接服務(wù)。
目前,在波蘭(以我的情況為例),VF-NL 系統(tǒng)唯一經(jīng)過驗(yàn)證的網(wǎng)絡(luò)部署是與 Orange 網(wǎng)絡(luò)合作完成的。由于這一原因,此 SIM 卡沒有特定的引導(dǎo)配置文件,因此它會(huì)在任何特定時(shí)間自動(dòng)連接到該區(qū)域中可用的最佳網(wǎng)絡(luò)。
注意:SimPro 控制面板不支持 Safari 瀏覽器,因此請(qǐng)切換至 Chrome 或 Firefox 瀏覽器,以確保門戶功能正常運(yùn)行。
小心地將納米型 SIM 卡從其塑料托架中取出。
將塑料卡片翻轉(zhuǎn)過來,掃描二維碼即可跳轉(zhuǎn)至注冊(cè)頁面,在那里您可以領(lǐng)取免費(fèi)的數(shù)據(jù)。
完成SIM卡注冊(cè)后,您將獲得康內(nèi)薩網(wǎng)絡(luò)及 SIMPro 連接管理平臺(tái) 12 個(gè)月的使用權(quán)限。此外,您還將額外獲得 45MB 的數(shù)據(jù)流量,超出部分與您所購 SIM 卡原有的 5MB 數(shù)據(jù)流量相同。
是的,一旦你提交了注冊(cè)表單,可能需要一段時(shí)間來處理,所以請(qǐng)?zhí)崆白龊眯睦頊?zhǔn)備。在我等待獲得 SIM Pro 平臺(tái)訪問權(quán)限的這段時(shí)間里,讓我們使用 Onomondo 來開始編寫代碼吧。
與奧諾莫諾相比,這款 SIM 卡具有密碼和緊急解鎖碼。
第 4B 步 - 為康塞薩安裝無線邏輯 VPN 配置文件
一旦您能夠訪問設(shè)備專業(yè)門戶,就在主頁面上下載.ovpn 配置文件。
“SIM隧道”能夠?qū)⑺卸丝诤蛥f(xié)議(如 SSH、FTP、Telnet、HTTP/S、RTSP 等)安全地傳輸至 SIM 卡。欲了解更多相關(guān)內(nèi)容,請(qǐng)?jiān)L問無線邏輯官方網(wǎng)站。
注意:我正在等待從康內(nèi)薩公司的無線邏輯所有者那里獲得對(duì)設(shè)備專業(yè)平臺(tái)的訪問權(quán)限。要讓他們的系統(tǒng)正常運(yùn)行確實(shí)很困難,所以我更傾向于選擇奧諾蒙多,因?yàn)樗氖褂闷饋砀?jiǎn)便,安裝也更快。
對(duì)于本次輔導(dǎo)課程,您無需使用 VPN 來通過私有 IP 訪問您的設(shè)備,所以這并非至關(guān)重要。
第 4 步 — 軟件環(huán)境 nRF 連接軟件開發(fā)工具包
蜂窩式物聯(lián)網(wǎng)并非像Arduino那樣簡(jiǎn)單易用。它更接近于實(shí)際生產(chǎn)中所使用的嵌入式系統(tǒng)。
這就是我們采用以下方式的原因:
?nRF 連接軟件開發(fā)工具包
?澤菲爾實(shí)時(shí)操作系統(tǒng)
?Visual Studio Code
安裝流程:
安裝“nRF Connect for Desktop”。
nRF Connect for Desktop 作為 Nordic Semiconductor 公司專業(yè)開發(fā)工具的集中式跨平臺(tái)網(wǎng)關(guān)而存在。雖然實(shí)際的編碼和編譯工作是在 VS Code 中完成的,但這款桌面軟件提供了一個(gè)圖形化的“應(yīng)用商店”界面,用于運(yùn)行獨(dú)立于集成開發(fā)環(huán)境(IDE)的特定硬件工具。
通過安裝這個(gè)中心設(shè)備,開發(fā)者能夠使用一套模塊化的應(yīng)用程序,這些應(yīng)用程序?qū)閷?shí)時(shí)硬件診斷和優(yōu)化而設(shè)計(jì):
“細(xì)胞監(jiān)控器”:一種高級(jí)診斷工具,用于實(shí)時(shí)追蹤移動(dòng)設(shè)備并評(píng)估 AT 命令,取代了傳統(tǒng)的 LTE 鏈路監(jiān)控器。
程序員:一個(gè)用于查看內(nèi)存布局以及直接將編譯后的.hex 文件寫入 SoC 的可視化界面。
功率分析器:與功率分析器套件(PPK2)配合使用時(shí),是一款用于分析電流消耗的重要工具,對(duì)于低功耗的澤弗爾應(yīng)用來說至關(guān)重要。
藍(lán)牙低功耗技術(shù):一款功能全面的工具,可用于掃描、宣傳以及測(cè)試支持藍(lán)牙低功耗技術(shù)的設(shè)備上的 GATT 服務(wù)。
nRF Connect for Desktop 的安裝完成了整個(gè)環(huán)境的搭建,它彌合了固件(Zephyr/NCS)與物理硬件之間的差距,提供了調(diào)試蜂窩連接和電源效率所需的可見性,而標(biāo)準(zhǔn)的文本編輯器無法提供這些功能。
打開工具鏈管理器并安裝快速啟動(dòng)程序。
在安裝過程中,系統(tǒng)會(huì)提示您為您的板卡命名。在第三步中,您需要選擇要上傳的固件;請(qǐng)選擇 AT 命令。
現(xiàn)在編程過程將要開始了。
然后系統(tǒng)會(huì)驗(yàn)證您的電路板。
然后,“快速啟動(dòng)”功能會(huì)提醒您包裝盒中所包含的默認(rèn) SIM 卡類型。
然后,您可以通過打開“蜂窩監(jiān)控器”來測(cè)試 AT 命令。然后,您可以通過打開“蜂窩監(jiān)控器”來測(cè)試 AT 命令。
探索這些學(xué)習(xí)資源,以獲取更多信息。
現(xiàn)在您需要安裝開發(fā)工具包。由于我使用的是 VS Code 開發(fā)環(huán)境,所以我會(huì)選擇方案 1。
使用擴(kuò)展程序打開 VS Code。
在擴(kuò)展程序、SDK 和工具鏈成功安裝之后。
這樣您在 VS Code 中就會(huì)擁有正確的構(gòu)建配置了。
恭喜!您已成功完成開發(fā)環(huán)境的設(shè)置。
既然所有設(shè)備都已安裝完畢,那我們就打開“蜂窩網(wǎng)絡(luò)監(jiān)控器”吧。
既然您已經(jīng)準(zhǔn)備好了相關(guān)環(huán)境,那么這就是您開始直接與硬件進(jìn)行交互的地方了。
要實(shí)時(shí)查看您的設(shè)備與基站的交互情況,請(qǐng)打開“蜂窩網(wǎng)絡(luò)監(jiān)控器”應(yīng)用程序。此應(yīng)用程序是解決連接問題或確認(rèn)漫游狀態(tài)的最強(qiáng)大工具。
點(diǎn)擊左上角顯示的設(shè)備名稱,即可連接到系統(tǒng)檢測(cè)到的該設(shè)備。
點(diǎn)擊“開始”以進(jìn)行追蹤。
然后,您將能夠?qū)崟r(shí)看到追蹤過程。
如需進(jìn)行更詳細(xì)的調(diào)試操作,請(qǐng)安裝“程序員”、“細(xì)胞監(jiān)測(cè)器”和“電源分析器”程序。
當(dāng)你使用北歐公司的“蜂窩監(jiān)測(cè)器”時(shí),其顯示屏可能會(huì)給人一種錯(cuò)覺。左側(cè)“LTE連接”旁的綠色勾選標(biāo)記并不意味著你已經(jīng)連上了網(wǎng)絡(luò)!
要證明您確實(shí)繞過了基站的“保安”并獲取到了 IP 地址,您需要查看屏幕中央的“LTE 網(wǎng)絡(luò)”選項(xiàng)卡。
檢查的三個(gè)方面,以確認(rèn)網(wǎng)絡(luò)連接是否正常:
EPS 網(wǎng)絡(luò)注冊(cè)狀態(tài)(魔數(shù))
這是您屏幕上最重要的數(shù)字。
狀態(tài) 2:搜索/連接中。如果您停留在狀態(tài) 2,塔會(huì)捕捉到您的信號(hào),但它正在積極地決定是否允許您進(jìn)入(或者默默地將您拒之門外)。
狀態(tài) 2:搜索/連接中。如果您停留在狀態(tài) 2,塔會(huì)捕捉到您的信號(hào),但它正在積極地決定是否允許您進(jìn)入(或者默默地將您拒之門外)。
狀態(tài) 3:注冊(cè)被拒絕。該基站明確拒絕了您的 SIM 卡。
狀態(tài) 5(或 1):已注冊(cè)漫游(或歸屬)模式。這就是我們的目標(biāo)!在奧諾蒙多的截圖中,您可以看到顯示的是 5。這意味著網(wǎng)絡(luò)已驗(yàn)證了 SIM 卡、接受了 APN 設(shè)置,并為設(shè)備分配了相應(yīng)的權(quán)限。
活動(dòng)狀態(tài)
?在 RRC 狀態(tài)的正下方,查看“活動(dòng)狀態(tài)”這一文本內(nèi)容。
?正確翻譯:未注冊(cè)、正在上傳或搜索中。(您已被鎖定)
?譯文:良好:已注冊(cè),正在漫游中。(您已正式上線!)
第 5 步 — 設(shè)置 Zephyr 實(shí)時(shí)操作系統(tǒng)環(huán)境
從本質(zhì)上講,Zephyr 實(shí)時(shí)操作系統(tǒng)已包含在 nRF Connect SDK(NCS)的安裝包中,因此無需單獨(dú)安裝——除非您打算獨(dú)立于 Nordic 生態(tài)系統(tǒng)進(jìn)行應(yīng)用程序開發(fā)。
就我使用 macOS 系統(tǒng)的情況而言,Zephyr 是這樣安裝的:
現(xiàn)在你已經(jīng)準(zhǔn)備好去創(chuàng)造真正的東西了。
第 6A 步 — 利用 Zephyr 操作系統(tǒng)和 Onomondo 構(gòu)建您的首個(gè) nRF9151 應(yīng)用程序
打開 Visual Studio Code,進(jìn)入 nRF Connect 擴(kuò)展程序界面,然后點(diǎn)擊“創(chuàng)建新應(yīng)用程序”。
打開 VS Code 并進(jìn)入 nRF Connect 擴(kuò)展程序頁面。點(diǎn)擊“創(chuàng)建新應(yīng)用程序”,在此您可以選擇從現(xiàn)有示例中復(fù)制內(nèi)容,或者瀏覽 nRF Connect SDK 擴(kuò)展索引以訪問外部資源庫。
雖然我強(qiáng)烈建議您深入研究 SDK 中提供的各種示例,以全面了解 Zephyr 實(shí)時(shí)操作系統(tǒng)和 Nordic SDK 的功能,但目前我們將重點(diǎn)放在空白應(yīng)用程序上。
其他樣本的詳細(xì)操作步驟將在另一篇教程中進(jìn)行詳細(xì)介紹。
請(qǐng)隨意為您的應(yīng)用程序命名,然后按“Enter”鍵以完成項(xiàng)目結(jié)構(gòu)的設(shè)置。
系統(tǒng)將會(huì)提示您掃描相關(guān)套件;請(qǐng)點(diǎn)擊“搜索”按鈕。
一旦完成,您將獲得一個(gè)包含所有開發(fā)所需文件的項(xiàng)目模板。
打開您項(xiàng)目的“prj.conf”文件,并將以下幾行內(nèi)容粘貼進(jìn)去:
接下來是代碼部分。這是在澤弗爾系統(tǒng)中連接到基站的最簡(jiǎn)單方法。
打開“src/main.c”文件,刪除默認(rèn)的代碼,并粘貼這個(gè)完整的程序。該程序配有詳細(xì)的注釋,以便您能清楚地了解其運(yùn)行情況:
點(diǎn)擊活動(dòng)欄中的“nRF Connect”圖標(biāo)。在底部的應(yīng)用程序面板中,找到您的項(xiàng)目并點(diǎn)擊“+ 添加構(gòu)建配置”以定義您的硬件目標(biāo)。
在“構(gòu)建配置”菜單中,請(qǐng)確保“SDK”和“工具鏈”均設(shè)置為您所安裝的 nRF Connect 版本。
然后,請(qǐng)將“板子”目標(biāo)精確設(shè)置為“nrf9151dk/nrf9151/ns”,以與您的硬件相匹配。
滾動(dòng)至“構(gòu)建配置”面板底部,然后點(diǎn)擊“構(gòu)建配置”。
終端會(huì)自動(dòng)開啟,這樣您就可以在編譯項(xiàng)目的過程中隨時(shí)查看進(jìn)度了。
當(dāng)構(gòu)建過程順利完成(對(duì)于 nRF Connect SDK v3.2.4 版本來說這是應(yīng)該會(huì)發(fā)生的)時(shí),您會(huì)在狀態(tài)欄中收到一條通知,并且您的二進(jìn)制圖像將準(zhǔn)備好用于向硬件進(jìn)行寫入操作。
現(xiàn)在您已準(zhǔn)備好對(duì)板子進(jìn)行燒錄操作。在 nRF Connect 側(cè)邊欄中,切換至“操作”標(biāo)簽頁,然后點(diǎn)擊“燒錄”以將編譯好的圖像加載到您的 nRF9151 上。
現(xiàn)在將使用西夫瑞特公司的元工具“韋斯特”來啟動(dòng)閃存過程。您可以在終端中查看其運(yùn)行進(jìn)度,它會(huì)清除、編譯并驗(yàn)證您在 nRF9151 上的二進(jìn)制文件。
在 nRF Connect 側(cè)邊欄中,點(diǎn)擊“連接設(shè)備”選項(xiàng)卡。在此處,您會(huì)看到您的 nRF9151 DK 列在其中,這表明工具鏈已與您的硬件建立了穩(wěn)固的連接。
點(diǎn)擊您的 nRF9151 DK 的名稱,即可展開下拉列表并查看可用的串行端口及硬件詳情。
點(diǎn)擊您的 nRF9151 DK 的名稱以展開下拉列表。這樣就能看到可用的串行端口(VCOM)以及具體的硬件細(xì)節(jié),從而讓您能夠直接與該板進(jìn)行連接。
VCOM0:通常為應(yīng)用程序端口。在此處,您的 Zephyr 系統(tǒng)的日志消息(例如“正在連接至 Onomondo...”)將會(huì)顯示出來。
VCOM1:通常為調(diào)制解調(diào)器/AT端口。如果您想通過手動(dòng)發(fā)送“AT+CEREG?”命令來查詢您的注冊(cè)狀態(tài),那么此端口便是您應(yīng)使用的端口。
在下拉列表中找到“VCOM0”,然后點(diǎn)擊其旁邊的“插件”(分支)圖標(biāo)。這將打開屏幕底部的串行終端,在那里您可以實(shí)時(shí)監(jiān)控應(yīng)用程序的日志。
一旦端口開啟,您將在終端中收到實(shí)時(shí)日志。這使您能夠監(jiān)控設(shè)備的啟動(dòng)順序、調(diào)制解調(diào)器的初始化過程以及它連接到 Onomondo 網(wǎng)絡(luò)時(shí)的實(shí)時(shí)連接狀態(tài)。
如果終端為空或者您錯(cuò)過了初始啟動(dòng)信息,請(qǐng)按下 nRF9151 DK 上的物理復(fù)位按鈕以刷新輸出并從頭開始查看完整的啟動(dòng)序列。
一旦設(shè)備成功連接到 LTE-M Onomondo 網(wǎng)絡(luò),您將在終端上看到一條確認(rèn)信息,并且板上的 LED 將會(huì)亮起以表示已建立連接。
好的,那么指示燈在哪里呢?當(dāng)正在搜索信號(hào)時(shí),LED 將會(huì)閃爍,一旦成功連接到奧諾蒙多網(wǎng)絡(luò),它就會(huì)切換為穩(wěn)定的常亮狀態(tài)。
編輯 main.c 代碼:
因?yàn)樵嫉?`lte_lc_connect()` 函數(shù)是阻塞式的(它會(huì)讓代碼完全暫停,直到調(diào)制解調(diào)器連接到網(wǎng)絡(luò)),所以在其運(yùn)行過程中,您無法在主線程中輕松地閃爍 LED 燈。
要解決這個(gè)問題,我們需要切換到 lte_lc_connect_async() 函數(shù)。此函數(shù)會(huì)在后臺(tái)啟動(dòng)連接過程并立即返回,從而讓您的主循環(huán)能夠繼續(xù)運(yùn)行。它接受一個(gè)事件處理程序(一個(gè)回調(diào)函數(shù)),該函數(shù)會(huì)在網(wǎng)絡(luò)成功連接時(shí)通知我們。
重建應(yīng)用程序
再把它刷新一下
打開串行終端,您就會(huì)看到日志輸出——與視頻中所展示的內(nèi)容類似——顯示著您連接的實(shí)時(shí)狀態(tài)。
VS Code 網(wǎng)絡(luò)模塊 NRF9151 的串行輸出
當(dāng)調(diào)制解調(diào)器正在搜索信號(hào)時(shí),控制板上的指示燈會(huì)閃爍;一旦連接成功建立,指示燈將變?yōu)榉€(wěn)定的綠色,以表明已成功接入奧諾蒙多網(wǎng)絡(luò)。
為了實(shí)現(xiàn)更復(fù)雜的功能,我們采用了工作函數(shù)。在這里,nrf_modem_lib_init() 自動(dòng)處理后臺(tái)初始化工作,這樣您只需調(diào)用 lte_lc_connect_async() 就能開始連接過程,而無需阻塞主應(yīng)用程序。
第 6B 步 — 利用 Zephyr 運(yùn)行時(shí)操作系統(tǒng)和 Conexa 構(gòu)建您的首個(gè) nRF9151 應(yīng)用程序
您使用的是一款無線邏輯(康薩-LD)SIM卡。與標(biāo)準(zhǔn)的物聯(lián)網(wǎng) SIM 卡不同,這種特定的 SIM 卡需要一個(gè)專用的 APN、用戶名和密碼才能連接到網(wǎng)絡(luò)。如果調(diào)制解調(diào)器在握手過程中沒有提供這些憑證,基站將拒絕連接。
在完成步驟 2B 的注冊(cè)后,無線邏輯公司將通過電子郵件向您發(fā)送一個(gè)包含您的 APN 信息的 Excel 文件附件。
好消息是,您無需更改我們剛剛編寫的 C 代碼。您只需在您的 prj.conf 文件中添加幾行代碼,就能讓 Zephyr 的分組數(shù)據(jù)網(wǎng)絡(luò)(PDN)庫使用您的憑證即可。
本文編譯自hackster.io





