創(chuàng)客和專業(yè)工程師都越來(lái)越多地采用無(wú)線連接來(lái)增強(qiáng)項(xiàng)目功能,并將其連接到物聯(lián)網(wǎng) (IoT)。此類項(xiàng)目所用的單板計(jì)算機(jī) (SBC) 通常集成了藍(lán)牙和 Wi-Fi,但對(duì)于更遠(yuǎn)的距離,蜂窩接口是一種很好的替代方案。
盡管蜂窩調(diào)制解調(diào)器能夠提供更遠(yuǎn)的距離,但缺點(diǎn)是增加了項(xiàng)目的復(fù)雜性、尺寸、成本和功耗,而且還必須滿足授權(quán)頻譜分配方面的監(jiān)管法規(guī)。
本文探討將蜂窩模塊用于創(chuàng)客項(xiàng)目無(wú)線連接的優(yōu)勢(shì),并介紹在實(shí)施過(guò)程中出現(xiàn)的硬件、軟件和法規(guī)方面的挑戰(zhàn)。
之后,本文還給出了解決方案,幫助克服創(chuàng)客和設(shè)計(jì)人員在利用基于蜂窩的遠(yuǎn)距離射頻連接時(shí)所面臨的挑戰(zhàn)。
蜂窩連接的優(yōu)勢(shì)(和缺點(diǎn))
當(dāng)今的低功耗藍(lán)牙和 Wi-Fi 技術(shù)雖然也在醞釀變化,但目前還不支持直接連接到物聯(lián)網(wǎng)。相比之下,智能手機(jī)則可以與低功耗藍(lán)牙、Wi-Fi 和(蜂窩)物聯(lián)網(wǎng)進(jìn)行互操作。因此,可將其用作創(chuàng)客項(xiàng)目 SBC 等以無(wú)線方式連接的設(shè)備與云之間的網(wǎng)關(guān)。類似地,Wi-Fi 路由器和電纜調(diào)制解調(diào)器也能構(gòu)成適用于支持 Wi-Fi 的 SBC 的網(wǎng)關(guān)(圖 1)。
圖 1: 低功耗藍(lán)牙(之前稱為智能藍(lán)牙)和 Wi-Fi 等無(wú)線技術(shù)需要路由器或網(wǎng)關(guān)才能訪問(wèn)互聯(lián)網(wǎng),因而限制了傳感器的移動(dòng)性和距離。蜂窩模塊可直接連接到其他支持 IP 的設(shè)備,因此不需要路由器或網(wǎng)關(guān)。(圖片來(lái)源: Nordic Semiconductor)
對(duì)許多創(chuàng)客應(yīng)用而言,通過(guò)網(wǎng)關(guān)進(jìn)行的物聯(lián)網(wǎng)連接是一種令人滿意的解決方案。但如果傳感器移到網(wǎng)關(guān)的無(wú)線范圍以外(對(duì)于低功耗藍(lán)牙和 Wi-Fi,超過(guò) 30 到 100 米之外),連接將會(huì)中斷。這一限制導(dǎo)致創(chuàng)客無(wú)法開發(fā)置于遠(yuǎn)程位置或持續(xù)移動(dòng)的項(xiàng)目。蜂窩模塊提供了一種解決方案。
蜂窩模塊并非什么新事物。圍繞該技術(shù)已發(fā)展出一個(gè)提供機(jī)對(duì)機(jī) (M2M) 應(yīng)用的龐大產(chǎn)業(yè)。例如,處于遠(yuǎn)程位置的自動(dòng)售貨機(jī)通常通過(guò)蜂窩鏈路連接到公司的計(jì)算機(jī)。鑒于從頭設(shè)計(jì)蜂窩調(diào)制解調(diào)器的難度極大,該解決方案以經(jīng)過(guò)測(cè)試、驗(yàn)證和認(rèn)證的即插即用模塊的形式提供。
蜂窩模塊制造商現(xiàn)在提供專門面向創(chuàng)客的產(chǎn)品,能夠兼容 Microchip Technology、Arduino 和 Adafruit 等供應(yīng)商提供的常用 SBC。利用蜂窩模塊,創(chuàng)客項(xiàng)目 SBC 無(wú)需使用網(wǎng)關(guān),便可以將數(shù)據(jù)直接發(fā)送到另一臺(tái)通過(guò)互聯(lián)網(wǎng)連接的遠(yuǎn)程設(shè)備,例如創(chuàng)客的智能手機(jī)(當(dāng)其遠(yuǎn)離 SBC 時(shí))或云服務(wù)器。而且,蜂窩調(diào)制解調(diào)器還能提供遠(yuǎn)達(dá)數(shù)十千米的距離,從而將無(wú)線創(chuàng)客項(xiàng)目的范圍擴(kuò)大至遠(yuǎn)遠(yuǎn)超過(guò)家庭范圍。而且,使用蜂窩調(diào)制解調(diào)器,在將無(wú)線設(shè)備添加到 LAN 時(shí)不需要極不方便的密碼輸入過(guò)程。
蜂窩通信使用授權(quán)頻率。盡管存在一定的使用費(fèi)用,但優(yōu)點(diǎn)是這些頻率得到了嚴(yán)格的控制,相對(duì)而言避免了困擾 2.4 Ghz 等免授權(quán)頻段的擁塞問(wèn)題和相關(guān)干擾。獲取網(wǎng)絡(luò)訪問(wèn)權(quán)限的過(guò)程與手機(jī)采用的過(guò)程相同;用戶需要訂閱本地運(yùn)營(yíng)商的服務(wù)。之后,他們將獲得一個(gè)用戶標(biāo)識(shí)模塊 (SIM),插入此模塊時(shí)將會(huì)進(jìn)行驗(yàn)證,從而根據(jù)合同條款實(shí)現(xiàn)一定數(shù)量的數(shù)據(jù)上傳和下載。
除了許可證費(fèi)用之外,蜂窩連接還存在一些其他缺點(diǎn)。相對(duì)而言,這些模塊的體積和重量較大,價(jià)格比較昂貴,功耗也遠(yuǎn)大于低功耗藍(lán)牙和 Wi-Fi。而且,直接連接到蜂窩網(wǎng)絡(luò)要比連接到智能手機(jī)或路由器更為復(fù)雜。
此外,商用領(lǐng)域存在多種蜂窩技術(shù)(例如 GSM、GPRS 和 CDMA),每種技術(shù)又有多代(2G、2.5G、3G 和 4G),全球范圍內(nèi)有數(shù)十個(gè)蜂窩頻帶。因此,針對(duì)特定地點(diǎn)選擇蜂窩模塊需要慎之又慎。
請(qǐng)注意,2G 模塊的價(jià)格通常最低,但需要注意的是,運(yùn)營(yíng)商正在逐步淘汰這種較舊的技術(shù),雖然這一過(guò)程可能需要多年的時(shí)間。
蜂窩模塊在創(chuàng)客項(xiàng)目中隨處可見
有了蜂窩模塊,現(xiàn)在創(chuàng)客需要做的只是確保模塊的物理接口與目標(biāo) SBC 的物理接口匹配,簽訂運(yùn)營(yíng)商合同,插入 SIM,然后選擇相應(yīng)的天線。
蜂窩模塊制造商爭(zhēng)先恐后地進(jìn)入迅猛發(fā)展的創(chuàng)客市場(chǎng),并提供通過(guò)針座引腳或電纜直接連接常用 SBC 的單元。例如,MikroElektronika 在其 Click Board 系列提供了大量蜂窩模塊,可通過(guò)機(jī)械連接器直接連接 Microchip 的 Curiosity SBC。
這些 SBC 使用 Microchip 的 8 位、16 位或 32 位 PIC 微控制器,并包含帶 USB 接口的集成編程器/調(diào)試器;mTouch 按鈕、模擬電位計(jì)、開關(guān)和 RGB LED;最關(guān)鍵的是,支持 MikroElektronika 的 mikroBUS 接口(圖 2)。
這些 SBC 可使用 Microchip 的 MPLAB X 集成開發(fā)環(huán)境 (IDE) 進(jìn)行編程,而 8 位和 16 位微控制器版本則可使用 MPLAB Xpress IDE 進(jìn)行編程,后者適合不太熟悉 PIC 微控制器的創(chuàng)客。
圖 2: Microchip 的 Curiosity SBC 使用 mikroBUS 接口,因而能夠輕松地連接一個(gè) 2.5G GSM/GPRS Click Board 蜂窩模塊。(圖片來(lái)源: Microchip Technology)
MikroElektronika 的 GSM 4 click 通過(guò)針座引腳連接到 Curiosity SBC,并直接從該 SBC 獲取 3.3 伏或 5 伏電壓。該蜂窩模塊基于 u-blox SARA-G3 系列 2.5G GSM/GPRS 調(diào)制解調(diào)器,該調(diào)制解調(diào)器集成了一個(gè)射頻收發(fā)器和一個(gè)功率放大器以實(shí)現(xiàn)更遠(yuǎn)的應(yīng)用距離(圖 3)。SARA-G3 專為 M2M 應(yīng)用而設(shè)計(jì),因此非常適合只需要跨蜂窩物聯(lián)網(wǎng)發(fā)送較少傳感器數(shù)據(jù)的創(chuàng)客。
該蜂窩調(diào)制解調(diào)器包含 Ipv4 和 Ipv6 通信協(xié)議,因此可與互聯(lián)網(wǎng)上任何其他支持 IP 協(xié)議的設(shè)備進(jìn)行互操作。四頻版本的 SARA-G3 已經(jīng)面市,可以在北美、南美和中美地區(qū)所用的 850 和 1900 Mhz 頻段,以及歐洲、非洲、中東和亞洲地區(qū)所用的 900 和 1800 Mhz 頻段運(yùn)行。
圖 3: MikroElektronika 的 GSM 4 click 基于此處顯示的 u-blox SARA-G3 調(diào)制解調(diào)器。該調(diào)制解調(diào)器集成了功率放大器 (PA) 以擴(kuò)大應(yīng)用范圍。(圖片來(lái)源:u-blox)
除了發(fā)送和接收數(shù)據(jù)之外,GSM 4 click 還能對(duì)電話呼叫或信息做出響應(yīng)和反應(yīng)。它包含一個(gè)天線連接器(但不含天線)和一個(gè) SIM 卡插座。與 PIC 微控制器的通信是通過(guò) UART 連接或 USB 端口進(jìn)行的。
MikroElektronika 針對(duì)其 Click Board 產(chǎn)品提供了 mikroC IDE。其中包括 Visual TFT,一個(gè)“所見即所得”的圖形用戶界面設(shè)計(jì)工具,和一個(gè)功能完備的 C 編譯器。
對(duì)于熟悉使用 UART 連接、通過(guò) 3 到 5 伏電源運(yùn)行的 Arduino SBC 的創(chuàng)客而言,Adafruit 的 FONA 808 蜂窩 + GPS 分線提供了一種很好的選擇(但它也能與幾乎所有微控制器配合使用)。該模塊是一個(gè)具備 GPS 和 GPRS 數(shù)據(jù)發(fā)送與接收功能的四頻 (850/900/1800/1900 Mhz) GSM 2G 無(wú)線電。例如,必須將一個(gè) 16 針針座焊接到分線引腳孔,才能將該模塊連接到 Arduino SBC。
圖 4: Adafruit 的 FONA 808 非常適合與 Arduino SBC 配合使用。與其他蜂窩調(diào)制解調(diào)器一樣,它也需要 SIM 卡和天線。(圖片來(lái)源:Adafruit)
如果開發(fā)人員想要利用 3G 的速度和帶寬優(yōu)勢(shì),SparkFun Electronics 的 Particle Electron 3G 套件不失為一個(gè)很好的選擇。該套件提供兩個(gè)版本:一個(gè)適用于 850/1900 Mhz 工作頻段,另一個(gè)適用于 900/1800 Mhz 工作頻段。
套件中不僅包含蜂窩模塊(另一個(gè) u-blox SARA 供電單元),還集成了一個(gè) STMicroelectronics STM32 ARM? Cortex?-M3 微控制器,如果愿意,可以獨(dú)立于 SBC 工作。Electron 套件附帶了用于設(shè)備編程的 Particle IDE 和云平臺(tái)。Particle IDE 類似于 Arduino 開發(fā)平臺(tái)。
與一些其他面向創(chuàng)客應(yīng)用的蜂窩模塊不同,Particle Electron 套件非常完整,附帶了 SIM 卡、為期 3 個(gè)月的 1 MB/月的數(shù)據(jù)計(jì)劃、2000 mAh 鋰電池(該器件也可通過(guò)外部電源供電)、天線,以及用于原型開發(fā)的試驗(yàn)板。
與蜂窩調(diào)制解調(diào)器通信
連接蜂窩模塊并收發(fā)數(shù)據(jù)需要一定的編碼技能,但這些技能不會(huì)超過(guò)熟悉 Arduino 等 IDE 的創(chuàng)客為微控制器編程所需的技能范圍。
SBC 通常與使用 UART 串行鏈路的蜂窩模塊通信。AT 命令是控制蜂窩調(diào)制解調(diào)器的標(biāo)準(zhǔn)方法。該命令包含一系列短文本字符串,可以將這些字符串進(jìn)行組合,以生成撥號(hào)、掛斷和更改連接參數(shù)等操作。
有兩種類型的 AT 命令: 基本命令是不以“+”開頭的命令?!癉”(撥號(hào))、“A”(應(yīng)答)、“H”(勾控制)和“O”(恢復(fù)在線數(shù)據(jù)狀態(tài))都是基本命令的示例(列表 1)。
void gsm4_init( void )
{
engine_init( gsm4_evn_default );
at_cmd_save( "RING", 1000, NULL, NULL, NULL, gsm4_ev_ring );
at_cmd( "AT" );
at_cmd( "AT+CSCS="GSM"" );
at_cmd( "AT+CMGF=1" );
}
列表 1: 此代碼示例在測(cè)試?yán)讨惺褂?AT 命令拒絕蜂窩模塊所接到的通話。(代碼來(lái)源: MikroElektronika)
擴(kuò)展命令是以“+”開頭的命令。例如,“+CMGS”(發(fā)送 SMS 信息)、“+CMGL”(列出 SMS 信息)和“+CMGR”(讀取 SMS 信息)。請(qǐng)注意,GSM 僅使用擴(kuò)展命令。
“最終結(jié)果”代碼標(biāo)記 AT 命令響應(yīng)的結(jié)束。它表明 GSM 模塊已完成命令行的執(zhí)行?!癘K”和“ERROR”是兩個(gè)經(jīng)常用到的最終結(jié)果代碼?!癘K”代碼表示命令行已成功執(zhí)行?!癊RROR”代碼表示在蜂窩模塊嘗試執(zhí)行命令行時(shí)出現(xiàn)錯(cuò)誤。發(fā)生錯(cuò)誤后,蜂窩模塊將不會(huì)處理命令行字符串中剩余的 AT 命令。
AT 命令的語(yǔ)法因模塊制造商而異。此外,模塊可能只能響應(yīng) AT 命令的子集,但專為無(wú)線應(yīng)用設(shè)計(jì)的蜂窩模塊對(duì) AT 命令的支持通常要優(yōu)于普通手機(jī)。創(chuàng)客應(yīng)該從各個(gè)模塊制造商的 AT 命令參考指南中尋求建議,而且這些指南還能告知?jiǎng)?chuàng)客如何對(duì) AT 命令進(jìn)行格式化,以及如何解釋蜂窩模塊的響應(yīng)。
但每個(gè)調(diào)制解調(diào)器都能響應(yīng)四條基本 AT 命令:
“設(shè)置”命令 [At+<參數(shù)>=<值>] 用于存儲(chǔ)值。
例如, AT+CREG=1 // Set Command
“提取”命令 [AT+<參數(shù)>?] 用于讀取存儲(chǔ)的值。
例如,AT+CREG? // Get Command
測(cè)試命令 [At+<命令>=?] 用于確定支持的值范圍。
例如,AT+CREG=? // Test Command
執(zhí)行命令 [At+<參數(shù)>] 用于調(diào)用蜂窩調(diào)制解調(diào)器的特定功能。
例如,AT+CREG // Execution Command
其他通用(和實(shí)用)AT 命令包括:
-
移動(dòng)網(wǎng)絡(luò)注冊(cè)狀態(tài) (AT+CREG)
-
無(wú)線電信號(hào)強(qiáng)度 (AT+CSQ)
-
電池電量水平和電池充電狀態(tài) (AT+CBC)
-
與遠(yuǎn)程調(diào)制解調(diào)器建立數(shù)據(jù)連接(ATA、ATD 等)
-
執(zhí)行安全相關(guān)的任務(wù),例如更改密碼 (AT+CPWD)
-
獲取或更改蜂窩模塊的配置。例如,更改 GSM 網(wǎng)絡(luò) (AT+COPS) 或無(wú)線電鏈路協(xié)議參數(shù) (AT+CRLP)
AT 命令的發(fā)送和接收均由特定的 SBC、IDE 和所選的編程語(yǔ)言通過(guò)串行通信鏈路實(shí)現(xiàn)。蜂窩模塊不知道串行鏈路的另一端是什么,而只是響應(yīng)跨鏈路發(fā)送的 AT 命令。(類似地,SBC 也不知道其連接的是蜂窩模塊)。
蜂窩模塊通常具有多個(gè) UART I/O,其中一些具有專用功能。例如 GSM 4 click 的引腳 14 是專門的數(shù)據(jù)發(fā)送輸出,而引腳 13 是專門的數(shù)據(jù)接收(圖 5)。
圖 5: 蜂窩調(diào)制解調(diào)器通常采用多個(gè) UART I/O,其中一些具有特定功能。(表格來(lái)源: MikroElektronika)
例如,當(dāng)采用 Curiosity SBC 和 GSM 4 click 蜂窩模塊時(shí),借助 AT 命令的不可知性,開發(fā)人員可以采用 Microchip MPLAB X、MPLAB Xpress 或 MikroElektronika mikroC IDE。在用戶從 GitHub 存儲(chǔ)庫(kù)下載 Adafruit FONA 庫(kù)并將其移到 Arduino 庫(kù)文件夾后,F(xiàn)ONA 808 便可以使用 Arduino IDE 進(jìn)行編程。
在制造商的開源代碼庫(kù)中通??梢哉业綆缀跛蟹涓C模塊操作的 AT 命令。MikroElektronika 的 AT 命令可以在 libstock.mikroe.com 找到,而 Adafruit 的 AT 命令則位于 GitHub 存儲(chǔ)庫(kù)中。其他 AT 命令源來(lái)自蜂窩調(diào)制解調(diào)器的制造商。例如,u-blox 撰寫了一篇應(yīng)用說(shuō)明,提供了幾乎涵蓋所有使用場(chǎng)景的 AT 命令示例(參考資料 1),而 Adafruit 則提供了一本列有 SIM Tech AT 命令的手冊(cè)。
總結(jié)
蜂窩模塊為所有場(chǎng)景下需要物聯(lián)網(wǎng)連接的創(chuàng)客項(xiàng)目提供了“插件式”解決方案(前提是項(xiàng)目在蜂窩基站范圍以內(nèi))。市場(chǎng)上有一系列成熟的 2G、2.5G 和 3G 蜂窩模塊能夠與流行的創(chuàng)客 SBC 完美匹配,而硬件考慮范圍僅限于選擇和匹配相應(yīng)的天線、機(jī)械連接器及電池。由于蜂窩網(wǎng)絡(luò)需要授權(quán),因此還需要使用 SIM 卡并簽訂數(shù)據(jù)合同。
-
低功耗
+關(guān)注
關(guān)注
10文章
2396瀏覽量
103670 -
智能藍(lán)牙
+關(guān)注
關(guān)注
9文章
130瀏覽量
32766 -
蜂窩模塊
+關(guān)注
關(guān)注
0文章
6瀏覽量
3394
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論