隨著更高精度 RTLS 需求的日益增長,開發(fā)人員發(fā)現(xiàn)自己被困在雙向測距或到達時間差 (TDOA) 定位等復(fù)雜的高精度方法之中。
Decawave 的集成式模塊和軟件為開發(fā)人員提供了一種更簡單的 RTLS 解決方案,能夠輕而易舉地提供更精確的定位結(jié)果。
本文將回顧包括雙向測距和 TDOA 在內(nèi)的 RTLS 應(yīng)用及算法,并討論不同 RTLS 方法的相關(guān)實現(xiàn)權(quán)衡。之后,本文將介紹一種 Decawave UWB 收發(fā)器,重點說明使用該器件進行設(shè)計的具體要求。最后,本文將探討 Decawave 軟件架構(gòu)和配套的固件開發(fā),說明在 Decawave 平臺上開發(fā)用戶應(yīng)用的具體方法。
RTLS 系統(tǒng)的作用
精密 RTLS 已成為在辦公大樓、倉庫、制造廠和裝配線中用于確定或跟蹤人員及移動資產(chǎn)位置的有效方法。依據(jù)此方法,一個移動對象(標(biāo)簽)使用低速率無線個人局域網(wǎng) (LR-WPAN) 標(biāo)準(zhǔn) IEEE 802.15.4-2011 中規(guī)定的標(biāo)準(zhǔn)格式和 UWB 技術(shù),與固定位置的設(shè)備(定位點)交換信息。通過確定標(biāo)簽與多個定位點之間的距離,相關(guān)應(yīng)用可以確定標(biāo)簽相對這些已知定位點的位置,進而確定標(biāo)簽的絕對位置。RTLS 方法
RTLS 應(yīng)用使用多種方法確定距離。在最簡單的方法中,應(yīng)用或標(biāo)簽可以使用大多數(shù)收發(fā)器提供的接收信號強度指示器 (RSSI) 參數(shù),來評估標(biāo)簽相對發(fā)射定位點的位置。由于存在多種可能影響鏈路預(yù)算的因素,此方法最多只能提供粗略的位置估計。相比之下,許多基于 RTLS 的新興應(yīng)用要求將絕對位置確定到幾厘米的精度。高精度 RTLS 使用飛行時間方法,而這類方法幾乎不受射頻信號強度大幅變動的影響。依據(jù)此方法,可通過測量射頻信號從標(biāo)簽傳遞到多個定位點所需的時間,來確定標(biāo)簽的位置。利用射頻信號通過空氣傳播時的已知傳播延遲,RTLS 應(yīng)用可以將飛行時間轉(zhuǎn)換為距離。
例如,如果標(biāo)簽到所有三個定位點之間的飛行時間完全相同,那么按理說,這種情況僅在標(biāo)簽與這些定位點等距時才會出現(xiàn)。由于應(yīng)用知道各個定位點的確切位置,因此它能確定標(biāo)簽的絕對位置。
但是,要測量標(biāo)簽發(fā)射器的傳播時間,定位點接收器需要使用與標(biāo)簽相同的時基,才能正確評估標(biāo)簽消息中內(nèi)嵌的時間信息。如果定位點的時基滯后或領(lǐng)先于標(biāo)簽的時基,則計算的距離將會分別比實際距離更近或更遠。
一種 RTLS 方法采取簡單的方式應(yīng)對這一問題,即對標(biāo)簽發(fā)射器和定位點接收器進行時間同步,確保每個定位點接收消息的時基與標(biāo)簽相同。即使在最佳情況下,實現(xiàn)時間同步也很有挑戰(zhàn),而在無線標(biāo)簽四處移動的 RTLS 應(yīng)用中,這根本就不切實際。
另一種方法 TDOA 僅對定位點進行同步,從而消除了與移動標(biāo)簽同步相關(guān)的難點。為確定位置,RTLS 應(yīng)用使用跨多個定位點測得的標(biāo)簽信號到達時間之差。例如,考慮之前三個定位點(A1、A2 和 A3)圍繞一個標(biāo)簽等距離分布的示例。在標(biāo)簽移動后,如果各個定位點的 TDOA 被發(fā)現(xiàn)分別為 0、1 納秒 (ns) 和 0,則表示該標(biāo)簽在遠離定位點 A2 的直線方向上移動了約 30 厘米 (cm)(假設(shè)射頻傳播的速度為光速)。TDOA 的定位點同步要求與嘗試同步定位點和標(biāo)簽相比,難度要小得多。但即便如此,此方法的精度仍取決于高度精確的同步。即便是一納秒的同步差,也可能導(dǎo)致位置測量出現(xiàn)幾厘米的差別。
雙向測距
雙向測距 RTLS 方法完全不需要精確的時間同步,但在標(biāo)簽中引入了傳輸能力要求。這種方法通過支持標(biāo)簽和定位點彼此交換定時信息,來規(guī)避不同時基帶來的不確定性。標(biāo)簽和定位點無需同步它們的時基,而是使用一種簡短的雙向信息傳輸協(xié)議,實現(xiàn)精確地確定飛行時間和準(zhǔn)確地計算標(biāo)簽位置。依據(jù)此方法,標(biāo)簽發(fā)射簡短的標(biāo)識信號,向周圍的定位點“亮明身份”。每個收到標(biāo)簽的初始標(biāo)識信息的定位點隨即與標(biāo)簽合作進行簡短的雙向數(shù)據(jù)交換,用于確定飛行時間,而無需考慮定位點與標(biāo)簽之間存在的時基差。
Decawave 在其雙向測距 RTLS 協(xié)議中,從發(fā)現(xiàn)階段和測距階段的角度定義了此過程(圖 1)。在發(fā)現(xiàn)期間,標(biāo)簽定期傳送簡短的標(biāo)識信號(即眨眼信號),并等待來自定位點的響應(yīng)。在標(biāo)簽和定位點彼此識別后,配對的標(biāo)簽和定位點使用簡短的雙向信息交換,其中包含了測距所需的信息。
圖 1:在 Decawave 的雙向測距協(xié)議中,標(biāo)簽和定位點交換一系列消息,以完成發(fā)現(xiàn)并提供測距信息。(圖片來源:Decawave)
對于開發(fā)人員而言,實現(xiàn)這些精確設(shè)計的消息交換協(xié)議及其底層 UWB 無線電子系統(tǒng)帶來的挑戰(zhàn)可能令人生畏。但憑借 Decawave DWM1001 模塊,開發(fā)人員只需很少的額外工作,就能快速向其應(yīng)用中添加精確的 RTLS 功能。
集成式 RTLS 模塊
Decawave DWM1001 模塊可完整實現(xiàn) RTLS,將 Decawave DW1000 UWB 收發(fā)器與一個 Nordic Semiconductor NRF52832 無線 MCU 和一個 STMicroelectronics LIS2DH12 3 軸運動傳感器集成在一起。盡管 DW1000 提供符合 IEEE 802.15.4-2011 標(biāo)準(zhǔn)的射頻信號發(fā)送功能,但 NRF52832 MCU 仍針對 RTLS 應(yīng)用執(zhí)行其內(nèi)嵌的固件。LIS2DH12 傳感器在電源管理中扮演著重要的角色。在任何復(fù)雜的射頻應(yīng)用中,射頻設(shè)計往往都會帶來一些最艱巨的挑戰(zhàn),尤其在要求極小封裝和極低功耗的移動應(yīng)用中。DWM1001 模塊通過充分利用 DW1000 收發(fā)器提供的集成式射頻設(shè)計(圖 2)解決了這些問題。
圖 2:Decawave DW1000 收發(fā)器集成了無線電信號路徑和數(shù)字控制邏輯,以提供一個完整的符合 IEEE802.15.4-2011 標(biāo)準(zhǔn)的系統(tǒng)。(圖片來源:Decawave)
DW1000 提供集成了射頻前端的完整 UWB 收發(fā)器,能夠支持六個從 3.5 GHz 到 6.5 GHz 的 IEEE802.15.4-2011 通道,標(biāo)準(zhǔn)比特率為 110 Kb/s、850 Kb/s 和 6.81 Mb/s。該器件的集成數(shù)字控制子系統(tǒng)用于管理收發(fā)器,并支持雙向測距和 TDOA RTLS 系統(tǒng),定位精度可達 10 厘米。利用集成的一次性可編程存儲器 (OTP),開發(fā)人員可以存儲用于校準(zhǔn)和糾錯的數(shù)據(jù),同時器件的可配置不間斷存儲器 (AON) 會在器件處于下文所述的低功耗狀態(tài)期間保留配置數(shù)據(jù)。
在工作期間,該設(shè)備發(fā)送和接收標(biāo)準(zhǔn) IEEE802.15.4-2011 幀,其中包含同步標(biāo)頭 (SHR)、物理層標(biāo)頭 (PHR),以及構(gòu)成總體物理層服務(wù)數(shù)據(jù)單元 (PSDU) 的多達 127 字節(jié)的數(shù)據(jù)。除了標(biāo)準(zhǔn)幀以外,該設(shè)備還支持專有幀格式,該幀格式為需要發(fā)送更大數(shù)據(jù)有效載荷、但不要求符合 IEEE802.15.4-2011 標(biāo)準(zhǔn)的應(yīng)用提供了多達 1023 個數(shù)據(jù)字節(jié)。
對于符合標(biāo)準(zhǔn)的應(yīng)用,開發(fā)人員可以從一系列工作模式中進行選擇,以滿足特定的雙向測距和 TDOA 操作使用實例。這些工作模式預(yù)先組合了數(shù)據(jù)速率、有效載荷大小和預(yù)先配置的前導(dǎo)碼長度。例如,適用于遠程應(yīng)用的模式組合了較低的數(shù)據(jù)速率以及有利于在干擾或較弱信號中完成發(fā)現(xiàn)和測距的較長前導(dǎo)碼。反之,具有較高數(shù)據(jù)速率和較短前導(dǎo)碼的模式則支持短程應(yīng)用。其他模式以不同大小的數(shù)據(jù)有效載荷支持這類遠程和短程應(yīng)用的特征。
功耗最小化
在實踐中,開發(fā)人員會選擇幀大小盡可能短的工作模式,以最大限度減小總體功耗,并讓器件快速恢復(fù)低功耗狀態(tài)。DW1000 提供了多種低功耗模式。在非活動期內(nèi),可以將器件置于待機模式,此模式的電流消耗僅為 19 毫安 (mA)。如果需要長期保持非活動狀態(tài),開發(fā)人員可將器件置于低功耗休眠模式,此時的電流消耗僅約 1 微安 (μA),而深度睡眠模式的電流消耗更是不超過 100 納安 (nA)(典型值 50 nA)。但與任何射頻設(shè)計一樣,收發(fā)器工作期間的功耗會顯著增大。例如,要傳輸符合 IEEE802.15.4-2011 標(biāo)準(zhǔn)的幀,同步標(biāo)頭和數(shù)據(jù)包等較長的幀組件消耗了大部分功耗(圖 3)。
圖 3:Decawave DW1000 的 RTLS 幀傳輸會導(dǎo)致各個幀組件的功耗顯著增大,這促使設(shè)計人員開始尋求具有最短的有用同步標(biāo)頭和數(shù)據(jù)有效載荷的工作模式。(圖片來源:Decawave)
與接收器操作相關(guān)的功耗甚至更大,這給功耗受限型設(shè)計帶來了更艱巨的挑戰(zhàn)(圖 4)。開發(fā)人員可以將 DW1000 設(shè)定為在發(fā)送或接收操作后恢復(fù)其中一種低功耗狀態(tài)。即便如此,標(biāo)準(zhǔn)協(xié)議和幀的性質(zhì)使得用于降低幀操作期間功耗的選擇很少。
圖 4:由于前導(dǎo)碼查尋階段的持續(xù)時間較長,因此接收幀所需的功耗要求甚至高于傳輸操作。(圖片來源:Decawave)
DW1000 提供了獨特的節(jié)能功能來降低前導(dǎo)碼 RX 階段的功耗。開發(fā)人員可以為器件編制專門的前導(dǎo)碼嗅探模式,而不是讓接收器一直保持工作狀態(tài)。這種情況下,DW1000 定期為接收器通電,查找前導(dǎo)碼,如果未找到前導(dǎo)碼則恢復(fù)待機狀態(tài)(圖 5)。
圖 5:開發(fā)人員可通過使用 DW1000 的嗅探功能來降低與接收器操作相關(guān)的功耗,使得器件在待機模式與接收器活動模式之間交替變化。(圖片來源:Decawave)
前導(dǎo)碼嗅探等功能對于電池供電型標(biāo)簽而言尤其重要。開發(fā)人員可在 RTLS 操作期間應(yīng)用多種節(jié)能方法。其中一種方法利用的是圖 1 所示雙向測距協(xié)議中存在的不同已知延遲。
例如,在發(fā)現(xiàn)階段,定位點對標(biāo)簽“眨眼信號”的測距初始化應(yīng)答會在一定的延遲后發(fā)生。開發(fā)人員可基于幀率和其他參數(shù)估算此延遲,在其定位點設(shè)計中測量其實際值,甚至在其定位點設(shè)計中構(gòu)建特定的響應(yīng)延遲時間。然后,開發(fā)人員可以在預(yù)期的延遲時間內(nèi)安全地將標(biāo)簽接收器保持關(guān)閉狀態(tài),要搜尋響應(yīng)則將接收器開啟,如果測距初始化應(yīng)答未在合理的窗口內(nèi)到達,則將接收器再次關(guān)閉。
類似地,開發(fā)人員可以采取措施來限制在測距過程中需要將無線電保持開啟狀態(tài)的時間。例如,開發(fā)人員可以在設(shè)備中預(yù)加載所有需要的數(shù)據(jù),并使用直接存儲器訪問來加快 DW1000 與主機內(nèi)存之間的數(shù)據(jù)傳輸。
雖然這些低級優(yōu)化可以提高增量節(jié)能,但開發(fā)人員還可通過動態(tài)更改位置更新速率進一步改善節(jié)能效果。標(biāo)簽停止移動后,便沒有必要繼續(xù)執(zhí)行高能耗的發(fā)現(xiàn)和測距階段。標(biāo)簽可以安全地進入低功耗休眠狀態(tài),并在其開始移動后喚醒,繼續(xù)以標(biāo)稱速率進行更新。
通過集成 LIS2DH12 運動傳感器,DWM1001 模塊支持動態(tài)速率調(diào)整,并且支持兩種運動相關(guān)的工作模式:低功耗和響應(yīng)模式。開發(fā)人員可以對該模塊進行配置,在 LIS2DH12 感應(yīng)到模塊處于靜止?fàn)顟B(tài)時,DW1000 收發(fā)器以低功耗模式運行。當(dāng) LIS2DH12 檢測到移動時,收發(fā)器可以恢復(fù)為響應(yīng)模式,這時 DW1000 收發(fā)器將恢復(fù)正常的更新速率。
開發(fā)人員還可以進一步優(yōu)化其 RTLS 應(yīng)用,基于對象的速度和加速度來控制更新速率。例如,緩慢移動的標(biāo)簽可能只需較低的更新頻率便可保持必要的定位精度。隨著標(biāo)簽速度的增加,應(yīng)用可通過提高位置更新速率進行響應(yīng)。
RTLS 開發(fā)
除了能夠支持動態(tài)更新速率等 RTLS 特性之外,該模塊還提供了基本的 RTLS 開發(fā)優(yōu)勢。例如,DW1000 收發(fā)器針對電源去耦、天線網(wǎng)絡(luò)匹配、基準(zhǔn)振蕩器和其他元器件采行了多種特定的接口要求(圖 6)。類似地,NRF52832 無線 MCU 和 LIS2DH12 運動傳感器也存在自己的接口設(shè)計需求。圖 6:Decawave DW1000 收發(fā)器采用嚴格的接口要求,從而確保可靠的電源、射頻和定時信號。(圖片來源:Decawave)
盡管類似這樣的高級器件采用了高度簡化的設(shè)計,但在要求以最低功耗實現(xiàn)最高性能的設(shè)計中,設(shè)計人員要想優(yōu)化集成,仍可能面臨嚴峻的挑戰(zhàn)。DWM1001 模塊將集成要求降低至少數(shù)幾個電源、接地和數(shù)字接口的連接(圖 7)。
圖 7:Decawave DWM1001 模塊通過提供完全集成的設(shè)計(集成了 DW1000 收發(fā)器與無線 MCU 和運動傳感器)簡化了 RTLS 開發(fā)。(圖片來源:Decawave)
軟件模型
類似地,該模塊還利用其預(yù)裝的 Decawave 定位和網(wǎng)絡(luò)堆棧 (PANS) 庫固件大幅簡化了軟件開發(fā)與集成。PANS 庫基于 MCU 的片載低功耗藍牙 (BLE) 堆棧而構(gòu)建,包含開源 eCos 實時操作系統(tǒng) (RTOS)、一個網(wǎng)絡(luò)層,以及支持 BLE 服務(wù)、RTLS 管理服務(wù)和雙向測距 (TWR) 定位引擎的若干應(yīng)用層(圖 8)。圖 8:Decawave 定位和網(wǎng)絡(luò)堆棧 (PANS) 庫組合了藍牙堆棧、RTOS、網(wǎng)絡(luò)層和應(yīng)用服務(wù)層,提供了一個功能豐富的 RTLS 應(yīng)用平臺。(圖片來源:Decawave)
在構(gòu)建于 DWM1001 的 MCU 上運行的固件應(yīng)用時,開發(fā)人員通過綜合應(yīng)用編程接口 (API) 訪問 PANS 庫,該接口提供了各個 PANS 模塊的相應(yīng)入口點,從而對該模塊進行配置和控制。PANS API 包含多個適用單獨模塊的 API 集,其中包括開發(fā)人員 C 代碼、串行接口庫(CPI 和 UART)以及 BLE 庫(圖 9)。
應(yīng)用直接與這四個高級 API 連接,進而通過一個通用 API 解析器將這些調(diào)用轉(zhuǎn)換為對 PANS 庫的通用 API 調(diào)用,來實現(xiàn)對 PANS 庫的訪問。在此角色中,通用層提供了對 PANS 庫的通用接口。
圖 9:Decawave 通過廣泛的 API 提供 PANS 庫訪問,每個 API 提供對底層線程化執(zhí)行模型的簡單訪問。(圖片來源:Decawave)
線程化架構(gòu)
在此架構(gòu)中,DWM1001 固件軟件使用線程化模型,基本上為堆棧中的每個模塊和庫都提供了單獨的線程。堆棧頂部四個模塊各自的線程將解析請求傳遞到通用 API 解析器線程,該線程則驗證每條請求并調(diào)用 PANS 庫,從而生成相應(yīng)的響應(yīng)。通用 API 線程進而使用發(fā)起調(diào)用時提供的回調(diào)函數(shù),將結(jié)果返回到位于堆棧頂部的調(diào)用模塊。盡管這一多層系統(tǒng)看似非常復(fù)雜,但從開發(fā)人員的編程模型看卻相對簡單。將 API 調(diào)用與獨立線程回調(diào)配合使用,有助于優(yōu)化資源利用率和總體應(yīng)用性能。
與此同時,底層復(fù)雜性也被一系列 API 屏蔽,這些 API 將面向應(yīng)用的高級調(diào)用轉(zhuǎn)換為經(jīng)優(yōu)化的與 DWM1001 硬件進行交互的特定線程化操作。DWM1001 編程模型則進一步簡化了開發(fā)人員與此系統(tǒng)的交互。開發(fā)人員使用系統(tǒng)內(nèi)建的用戶專用應(yīng)用線程,而不需要與多個線程和 API 交互。
如列表 1 所示,開發(fā)人員使用一個簡單的 API 調(diào)用 (
dwm_thread_create
) 來調(diào)用注冊了用戶應(yīng)用線程函數(shù) (app_thread_entry
) 的用戶應(yīng)用線程。副本
? /* Create thread */
? rv = dwm_thread_create(THREAD_APP_PRIO, app_thread_entry, (void*)NULL, "app", THREAD_APP_STACK_SIZE, &hndl);
? APP_ERR_CHECK(rv);
?
? /* Start the thread */
? dwm_thread_resume(hndl);
列表 1:利用 Decawave 線程模型,開發(fā)人員只需一對簡單的 API 調(diào)用便可注冊并啟動其用戶應(yīng)用線程。(代碼來源:Decawave)
Decawave 提供了用戶應(yīng)用線程和回調(diào)示例代碼。該示例代碼捆綁在一個 Oracle Virtual Box 虛擬機映像中,其中包含了完整的工具鏈、庫和簡單的示例應(yīng)用。該軟件包設(shè)計為與連接到 Windows PC 的 Decawave DWM1001-DEV 開發(fā)板配合使用,提供了一個用于創(chuàng)建定制 RTLS 應(yīng)用軟件的框架。
包含在該軟件包中的示例代碼演示了關(guān)鍵的用戶線程函數(shù)設(shè)計模式(列表 2)。在此示例中,用戶線程函數(shù) (
app_thread_entry
) 設(shè)置了應(yīng)用特定的配置參數(shù)(例如更新速率),并使用 API 函數(shù) dwm_evt_cb_register
及其回調(diào)函數(shù)名稱 (on_dwm_evt
) 注冊了回調(diào)。注冊回調(diào)后,示例線程進入主循環(huán) – 在此實例中為一系列延遲函數(shù)調(diào)用,用于減少資源利用。副本
void app_thread_entry(uint32_t data)
{
? .
? .
? .
? /* Update rate set to 1 second, stationary update rate set to 5 seconds */
? APP_ERR_CHECK(dwm_upd_rate_set(10, 50));
?
? /* Register event callback */
? dwm_evt_cb_register(on_dwm_evt, 0);
?
? .
? .
? .
?
? while (1) {
??? /* Thread loop */
??? dwm_thread_delay(100);
? }
}
列表 2:在 Decawave 固件開發(fā)包的這個片段中,示例代碼展示了用于在用戶應(yīng)用線程例程中注冊回調(diào)和執(zhí)行主循環(huán)的基本設(shè)計模式。(代碼來源:Decawave)
示例回調(diào)函數(shù) (
on_dwm_evt
) 演示了在發(fā)生事件時調(diào)用的基本事件處理程序(列表 3)。在此代碼示例中,唯一的有效事件是有可用的新位置信息 (DWM_EVT_NEW_LOC_DATA
)。在該事件的處理程序中,代碼演示了檢索可用定位點生成的位置數(shù)據(jù)所需的簡單調(diào)用集。完成其事件處理任務(wù)后,回調(diào)直接進入休眠狀態(tài)。副本
/**
?* Event callback
?*
?* @param[in] p_evt? Pointer to event structure
?* @param[in] p_data Pointer to user data
?*/
void on_dwm_evt(dwm_evt_t *p_evt, void *p_data)
{
? int i;
?
? switch (p_evt->header.id) {
? /* New location data */
? case DWM_EVT_NEW_LOC_DATA:
??? /* Process the data */
?
??? printf("\nT:%lu ", dwm_systime_us_get());
??? if (p_evt->data.loc.p_pos == 0) {
????? /* Location engine is disabled */
??? } else {
????? printf("POS:[%ld,%ld,%ld,%u] ", p_evt->data.loc.p_pos->x,
????????? p_evt->data.loc.p_pos->y, p_evt->data.loc.p_pos->z,
????????? p_evt->data.loc.p_pos->qf);
??? }
?
??? for (i = 0; i < p_evt->data.loc.anchors.dist.cnt; ++i) {
????? printf("DIST%d:", i);
?
????? printf("0x%04X", (unsigned int)(p_evt->data.loc.anchors.dist.addr[i] & 0xffff));
????? if (i < p_evt->data.loc.anchors.an_pos.cnt) {
??????? printf("[%ld,%ld,%ld]",
??????????? p_evt->data.loc.anchors.an_pos.pos[i].x,
??????????? p_evt->data.loc.anchors.an_pos.pos[i].y,
??????????? p_evt->data.loc.anchors.an_pos.pos[i].z);
????? }
?
????? printf("=[%lu,%u] ", p_evt->data.loc.anchors.dist.dist[i],
????????? p_evt->data.loc.anchors.dist.qf[i]);
??? }
??? printf("\n");
??? break;
?
? default:
??? break;
? }
?
? /* Indicate the application has finished the tasks and can now */
? dwm_sleep();
}
列表 3:此 Decawave 示例應(yīng)用片段演示的回調(diào)提供了用于訪問新位置數(shù)據(jù)的基本事件處理程序。(代碼來源:Decawave)
例如,在一個完整的物聯(lián)網(wǎng) (IoT) RTLS 應(yīng)用中,標(biāo)簽和定位點會通過鏈接到連接互聯(lián)網(wǎng)的網(wǎng)關(guān)系統(tǒng)的路由定位點進行通信。Decawave 即將推出其第二版固件包,將通過基于 Linux 的軟件包提供網(wǎng)關(guān)支持,并會使用熟悉的 IoT 信息傳輸協(xié)議,包括 HTTP、WebSockets、MQTT 和 AMQP。
總結(jié)
RTLS 在廣泛的應(yīng)用中扮演越來越重要的角色。盡管 RTLS 方法基于相對簡單的原理,但這些方法的實現(xiàn)需要復(fù)雜的射頻/模擬設(shè)計、系統(tǒng)設(shè)計以及軟件開發(fā),以確保使用最小的功耗獲得最高的精度。Decawave DWM1001 模塊提供了完整的 RTLS 系統(tǒng),其中結(jié)合了 Decawave 的集成式 DW1000 UWB 收發(fā)器以及無線 MCU 和運動傳感器。利用此模塊和配套的軟件包,開發(fā)人員可以快速實現(xiàn)高精度的電池供電型 RTLS 系統(tǒng)。
評論
查看更多