物聯(lián)網(wǎng) (IoT) 應(yīng)用的開發(fā)人員需要確保他們的無線傳感器系統(tǒng)能夠無縫連接到基于云的軟件和服務(wù)。但是,這通常需要選擇和使用多個無線接口。確保這些接口都能滿足他們的要求,可讓他們不再將注意力集中在更高級別的物聯(lián)網(wǎng)應(yīng)用本身。
為了解決這個問題,許多供應(yīng)商都提供了開發(fā)板和軟件,幫助物聯(lián)網(wǎng)開發(fā)人員快速部署能夠通過局域網(wǎng)、中型網(wǎng)絡(luò)和廣域網(wǎng)進行無線連接的傳感器設(shè)備。
本文將介紹 Ltd. 提供的一個此類解決方案,并說明其特征和特性,然后展示如何應(yīng)用。
對于大多數(shù)物聯(lián)網(wǎng)應(yīng)用而言,高效的無線連接是物聯(lián)網(wǎng)設(shè)備設(shè)計的關(guān)鍵要求。迄今為止,沒有任何一種無線技術(shù)成為首選的連接解決方案。事實上,沒有任何一種無線技術(shù)可能占據(jù)優(yōu)勢地位,因為無線提供商總能提供更加有效的替代方案。
物聯(lián)網(wǎng)應(yīng)用的使用案例非常多,這就使得單一連接解決方案的概念變得更加復雜。相同的物聯(lián)網(wǎng)應(yīng)用可能提出不同的連接要求,這取決于用戶的物理位置、數(shù)據(jù)吞吐量要求和其他條件。有時,同一個應(yīng)用可能要求同一部物聯(lián)網(wǎng)設(shè)備支持使用藍牙與附近用戶進行交互,使用 Wi-Fi 與其他本地資源交互,使用 LTE 蜂窩網(wǎng)絡(luò)在 Wi-Fi 范圍外保持連接,甚至是使用 或 與流入中央物聯(lián)網(wǎng)網(wǎng)關(guān)或控制器的其他地理位置分散型物聯(lián)網(wǎng)設(shè)備相連接。
如果這些設(shè)備能夠支持使用所有這些技術(shù)進行靈活連接,那么將為物聯(lián)網(wǎng)應(yīng)用開發(fā)人員帶來顯著競爭優(yōu)勢。早期實現(xiàn)這種多技術(shù)連接的方法導致設(shè)計過于復雜、成本過高,或者體積過大,以至無法滿足物聯(lián)網(wǎng)設(shè)計要求。即使使用較早的無線收發(fā)器,開發(fā)人員也面臨著與射頻信號路徑優(yōu)化、降噪、物理布局等相關(guān)的挑戰(zhàn)。
對于開發(fā)人員而言,為單個無線技術(shù)構(gòu)建優(yōu)化的硬件解決方案已經(jīng)非常困難。在旨在支持多種無線技術(shù)的硬件設(shè)計中,復雜性甚至還會顯著增加。即便在設(shè)計了合適的硬件之后,軟件工程師還要應(yīng)對物聯(lián)網(wǎng)設(shè)計中爭奪相同有限資源的多個協(xié)議棧和軟件服務(wù)。
不足為奇的是,有效的多技術(shù)無線連接解決方案的部署,在最好的情況下也是有限的。 的多技術(shù)無線板和軟件可降低無線物聯(lián)網(wǎng)開發(fā)的復雜性,只需組合一些硬件和軟件即可,從而解決了這些難題。
無線選項
FiPy 和 GPy 是 55 x 20 x 3.5 毫米(mm)板,旨在為物聯(lián)網(wǎng)設(shè)計提供完整的多技術(shù)無線解決方案。與大多數(shù)無線產(chǎn)品不同,F(xiàn)iPy 支持藍牙 4.2、IEEE 802.11b/g/n Wi-Fi、窄帶 LTE、 和 。GPy 板不包含 和 ,但提供與 FiPy 相同的功能。本文重點介紹 FiPy 板。
在物聯(lián)網(wǎng)設(shè)計產(chǎn)品中,支持 LTE 蜂窩網(wǎng)絡(luò)是一種快速興起的趨勢。 的 LTE 解決方案是為其不斷擴大的支持蜂窩網(wǎng)絡(luò)的電路板系列而設(shè)計的,支持 LTE Cat M1 和 NB-IoT,在降低功耗的同時保持與大多數(shù)物聯(lián)網(wǎng)設(shè)備要求相符的吞吐量水平。通過利用這些不同的連接選項,開發(fā)人員可以優(yōu)化其無線實現(xiàn),以滿足靜態(tài)或動態(tài)應(yīng)用對范圍、吞吐量和功耗的需求。
該板為除連接之外的物聯(lián)網(wǎng)設(shè)計要求提供了一個合適的平臺。FiPy 的核心是 SoC,集成了雙處理器、8 MB 閃存、4 MB 的 RAM,還有一個提供藍牙和 Wi-Fi 連接的射頻無線電子系統(tǒng)。當網(wǎng)絡(luò)處理器執(zhí)行通信協(xié)議棧時,主處理器可以運行用戶代碼。
SoC 帶有多通道 12 位模數(shù)轉(zhuǎn)換器 (ADC) 和一對 8 位數(shù)模轉(zhuǎn)換器 (DAC),可以滿足基本物聯(lián)網(wǎng)感測要求。除了標準串行接口、GPIO 和串行接口, 還通過板的可配置端口,提供模擬和射頻功能(圖 1)。
圖 1: FiPy 板引出了其處理器的引腳,開發(fā)人員可以將其映射到處理器的集成模擬和數(shù)字功能。(圖片來源:)
除了廣泛的功能外,F(xiàn)iPy 還提供節(jié)能特性,以滿足以電池供電的物聯(lián)網(wǎng)設(shè)計的節(jié)能要求。例如,開發(fā)人員可以將處理器置于深度休眠模式,并使用專用的超低功耗 (ULP) 處理器來處理 I/O 活動,電力消耗低至 25 微安 (μA)。ULP 處理器獨立于主處理器工作,可執(zhí)行用戶代碼來訪問 GPIO,或者使用 SoC 的集成 ADC 或 DAC 執(zhí)行數(shù)據(jù)轉(zhuǎn)換,為開發(fā)人員提供靈活的低功耗操作平臺,而不會影響外設(shè)工作。
插件硬件增強
對于具有更廣泛感測要求的物聯(lián)網(wǎng)設(shè)計,開發(fā)者可將 FiPy 與 的 感測板和 位置跟蹤板結(jié)合起來。
對于感測應(yīng)用, 板提供 加速計、 Labs -A20 溫度/濕度傳感器、Lite-On LTR--01 環(huán)境光傳感器、NXP 壓力傳感器——所有這些均通過板的共享 I2C 串行總線進行連接(圖 2)。在正常工作狀態(tài)下,所有這些傳感器都消耗最小的功率。例如,NXP 壓力傳感器在正常采樣模式下僅消耗 40 μA,而功耗最大的傳感器 Lite-On LTR--01 環(huán)境光傳感器則消耗大約 250 μA。其他兩個傳感器分別消耗大約 150 μA。
圖 2:通過將 FiPy 插入 板,開發(fā)人員可以構(gòu)建出能夠使用多個無線連接選項的多傳感器物聯(lián)網(wǎng)設(shè)備。(圖片來源:)
由于 和 FiPy 的功耗需求相對較低,開發(fā)人員可以使用電池運行基于 的設(shè)計長達數(shù)年。 板包括 的 電池充電器 IC 和連接器,使用帶有 JST 連接器的合適可充電電池(例如 270 毫安小時 (mAh) 鋰離子聚合物 (LiPo) 電池)為設(shè)計供電。
對于位置跟蹤應(yīng)用, 板結(jié)合了精確的全球?qū)Ш叫l(wèi)星系統(tǒng) (GNSS) GPS 傳感器和加速計,以及與 中所用相同的 LiPo 電池充電子系統(tǒng)。
和 傳感器板上的針座提供了一個簡單的解決方案,可構(gòu)建專用于每個物聯(lián)網(wǎng)應(yīng)用的硬件平臺。開發(fā)人員只需將 FiPy 板插入適當?shù)臄U展板,即可創(chuàng)建特定的硬件配置。對于不需要 或 連接的應(yīng)用,開發(fā)人員可以改為使用 GPy 板。
插件軟件增強
對于原型開發(fā)而言,組合多個板來擴展整體硬件功能是常見而重要的功能。但在過去,基礎(chǔ)設(shè)計的硬件增強可能會在軟件方面帶來重大挑戰(zhàn),因為開發(fā)人員要努力尋找和集成支持特定硬件配置所需的不同軟件驅(qū)動程序和中間件。由于能夠支持 , 讓應(yīng)用軟件開發(fā)變得非常簡單,就如同將插件板用于物聯(lián)網(wǎng)設(shè)備硬件一樣。
采用 語言,利用面向硬件的支持來增強其功能。同時, 消除了嵌入式系統(tǒng)中不需要的 功能,增強了性能,同時減少了資源受限的嵌入式設(shè)計的存儲器空間占用。
與 相同, 讓開發(fā)人員只需導入一個模塊即可添加特定軟件功能。例如,開發(fā)人員只需加載 ADC 模塊和讀取值,即可對 FiPy 的集成 ADC 進行編程(列表 1)。
Copy
adc = .ADC() # an ADC
apin = adc.(pin=‘P16’) # an pin on P16
val = apin() # read an
列表 1:與 相同, 允許開發(fā)人員通過導入軟件模塊來增強其軟件功能,從而提供了一種簡單方法來添加硬件特定的功能,如從模數(shù)轉(zhuǎn)換器 (ADC) 讀取數(shù)據(jù),如下所示。(代碼來源:)
正如開發(fā)人員可以輕松地通過擴展板來增強設(shè)計一樣,他們可以通過導入適當?shù)哪K來增加補充支持。將無線板插入擴展板后,開發(fā)人員只需將相應(yīng)的 模塊添加到其代碼中即可。
的編程模型讓開發(fā)人員能夠無縫地使用這些模塊來快速實現(xiàn)物聯(lián)網(wǎng)應(yīng)用。與列表 1 所示的對 ADC 硬件的軟件支持相同,對硬件擴展(例如 )的軟件支持只需開發(fā)人員導入相應(yīng)的模塊即可。除了一套完整的傳感器專用模塊,還提供了演示其在典型軟件應(yīng)用中使用的示例軟件,可以隨時使用。例如,為了讀取 的 溫度和濕度傳感器,在實例化用于讀取傳感器的溫度值 (si.()) 和濕度值 (si.()) 的 對象 ((py)) 之前,開發(fā)人員只需導入 模塊和傳感器專用模塊(列表 2)。
Copy
from
from
from
from
from ,,
py = ()
mp = (py,mode=) # in . Mode may also be set to , a in
si = (py)
lt = (py)
li = (py)
(mp.())
(mp.())
mpp = (py,mode=) # in Pa. Mode may also be set to , a in
(mpp.())
(si.())
(si.())
(lt.())
(li.())
(li.roll())
(li.())
(py.())
列表 2:開發(fā)人員可以學習 API 和相關(guān)軟件示例,以便使用 硬件板中集成的傳感器特定 模塊。(代碼來源:)
由于采用了這種模塊化方法,實現(xiàn)無線連接同樣簡單。開發(fā)人員只需為所需的無線技術(shù)導入適當?shù)哪K,以及用于 或 MQTT 等協(xié)議的其他模塊。除了這些無線通信模塊之外, 示例軟件還演示了開發(fā)人員如何快速建立 Wi-Fi 連接,并使用 MQTT 與 IO 等基于云的服務(wù)進行交互(列表 3)。 IO 在原型開發(fā)免費服務(wù)計劃中提供,是簡單的云資源,設(shè)計用于創(chuàng)建物聯(lián)網(wǎng)數(shù)據(jù)流流程,包括輸入數(shù)據(jù)流、數(shù)據(jù)管理和分析。
Copy
from mqtt
time
from WLAN
def (, msg):
(“: “ + msg)
wlan = WLAN(mode=WLAN.STA)
wlan.(“”, auth=(WLAN.WPA2, “”), =5000)
not wlan.():
.idle()
(“ to Wifi\n”)
= (“”, “”,user=“”, =“”, port=1883)
.()
.()
.(=“//”)
True:
(“ ON”)
.(=“//”, msg=“ON”)
time.(1)
(“ OFF”)
.(=“//”, msg=“OFF”)
time.(1)
列表 3: 的示例軟件演示了開發(fā)人員如何使用幾個簡單的 Wi-Fi 模塊調(diào)用(以黃色突出顯示),通過 MQTT 與基于云的資源(例如此處所示的 IO)進行交互。(代碼來源:)
多技術(shù)無線板與 相結(jié)合,為開發(fā)無線物聯(lián)網(wǎng)設(shè)計提供了強大的平臺,能夠動態(tài)響應(yīng)不斷變化的連接環(huán)境。很多物聯(lián)網(wǎng)應(yīng)用都要求隨時訪問傳入的數(shù)據(jù)流。但是,舉例來說,每當局域網(wǎng)發(fā)生故障,或者由于干擾或網(wǎng)絡(luò)事件導致本地 Wi-Fi 信號強度下降時,應(yīng)用將無法訪問旨在通過 Wi-Fi LAN 與云進行交互的物聯(lián)網(wǎng)設(shè)備。但是,對于 板,開發(fā)人員只需切換到另一個無線連接選項即可。
例如,要通過 LTE 蜂窩服務(wù)連接,開發(fā)人員只需使用 LTE 模塊。相同的底層方法允許開發(fā)人員在 Wi-Fi 和 LTE 蜂窩連接之間進行切換,而無需更改構(gòu)建來與主機交互或提供應(yīng)用級別功能的更高級代碼。例如,要使用 LTE 連接,開發(fā)人員只需加載 LTE 模塊,并且實例化相應(yīng)的 LTE 對象,然后連接到提供商服務(wù)。因此,開發(fā)人員只需稍作改動,即可在應(yīng)用中切換到 LTE 連接(列表 4)。
Copy
from mqtt
time
from LTE
def (, msg):
(“: “ + msg)
lte = LTE()
lte.()
not lte.():
.idle()
(“ to LTE\n”)
= (“”, “”, user=“”, =“”, port=1883)
.()
.()
.(=“//”)
True:
(“ ON”)
.(=“//”, msg=“ON”)
time.(1)
(“ OFF”)
.(=“//”, msg=“OFF”)
time.(1)
列表 4: 示例軟件演示了開發(fā)人員如何使用 LTE 連接(以藍色突出顯示)而不是 Wi-Fi(在列表 3 中以黃色突出顯示),執(zhí)行與云資源交互的更高級操作。(代碼來源:)
同樣的常規(guī)方法也適用于將連接切換到藍牙、 或 ,以響應(yīng)變化的條件。因此,開發(fā)人員可以構(gòu)建出能夠輕松支持各種無線連接技術(shù)的物聯(lián)網(wǎng)設(shè)備。當操作或功能要求需要切換到不同的連接選項時(甚至在運行時期間進行切換),開發(fā)人員就可以輕松實現(xiàn)所需的動態(tài)切換功能,以保持可用性或滿足不斷變化的性能要求。
總結(jié)
開發(fā)人員可以使用專門為支持多種無線技術(shù)(包括藍牙、Wi-Fi、LTE、 和 )而構(gòu)建的 板,快速滿足新興的無線連接要求。通過將這些板與基于 的軟件相結(jié)合,開發(fā)人員可以快速實現(xiàn)能夠響應(yīng)不斷變化的無線連接要求的物聯(lián)網(wǎng)設(shè)備。