從歷史上看,可穿戴設(shè)計(jì)很難進(jìn)行原型設(shè)計(jì)。核心問(wèn)題是規(guī)模問(wèn)題。大多數(shù)現(xiàn)成的開(kāi)發(fā)板和系統(tǒng)都是針對(duì)尺寸和重量并不重要的臺(tái)式環(huán)境而設(shè)計(jì)的。
較大的電路板尺寸使制造商可以使用相對(duì)簡(jiǎn)單的PCB生產(chǎn)線輕松提供低成本的開(kāi)發(fā)支持。相對(duì)大量的電路板空間也支持傳統(tǒng)的插頭連接器以進(jìn)行擴(kuò)展。這些插頭連接器上的大引腳尺寸和間距使得易于使用一次性面包板和極低成本的原型制作服務(wù)作為自定義I / O擴(kuò)展。
雖然可以使用可以執(zhí)行可穿戴設(shè)備功能的面向臺(tái)式開(kāi)發(fā)系統(tǒng)來(lái)構(gòu)建功能強(qiáng)大的系統(tǒng),但是對(duì)于試用用戶和早期采用者可以使用的系統(tǒng)的需求而言卻失敗了,就好像它是真正的產(chǎn)品一樣。當(dāng)涉及到可用性和其他重要的劇院內(nèi)測(cè)試和實(shí)驗(yàn)時(shí),不舒服和沉重的健身可穿戴設(shè)備將無(wú)法實(shí)現(xiàn)。我們需要的是一個(gè)平臺(tái),它提供了傳統(tǒng)開(kāi)發(fā)板的大多數(shù)(如果不是全部)靈活性,但其形狀因素對(duì)于可穿戴設(shè)備設(shè)計(jì)是有意義的。
MikroElektronika的 Hexiwear 等平臺(tái)提供了一種在真實(shí)的用戶環(huán)境中構(gòu)建應(yīng)用程序并對(duì)其進(jìn)行測(cè)試的方法。Hexiwear平臺(tái)的核心是以開(kāi)放式開(kāi)發(fā)環(huán)境支持的可穿戴形式提供集成的MCU和外圍設(shè)備解決方案。更重要的是,它采用緊湊型六邊形模塊的外形封裝,可輕松連接到腕帶,用作支持物聯(lián)網(wǎng)的智能手表?;蛘?,它可以安裝在吊墜環(huán)中,用作胸針或整合到衣物中。
外形尺寸也適用于更廣泛的智能家居環(huán)境,可以將其作為可拆卸元件部署在壁掛式模塊或更大的機(jī)械系統(tǒng)中。以Hexiwear為基礎(chǔ)的智能家居項(xiàng)目包括智能浴室秤,可將測(cè)量的重量傳輸至用戶的智能手機(jī),門(mén)鈴能夠遠(yuǎn)程向房主報(bào)告活動(dòng)并向訪客顯示自定義信息,以及智能冰箱磁鐵能夠在Hexiwear的展示中向用戶報(bào)告內(nèi)部溫度。
Hexiwear平臺(tái)基于Kinetis K64F MCU,采用ARM?Cortex?-M4內(nèi)核,運(yùn)行頻率高達(dá)120 MHz,支持多種外設(shè),包括ADC,DAC,定時(shí)器和串行接口(圖1)。
可穿戴設(shè)備包括藍(lán)牙低功耗(BLE)SoC和8個(gè)針對(duì)健康和其他典型物聯(lián)網(wǎng)應(yīng)用而優(yōu)化的傳感器,例如六軸加速度計(jì)和磁力計(jì),三軸陀螺儀,壓力傳感器,溫度和濕度傳感器以及光學(xué)心臟速率傳感器。它還包括一個(gè)1.1英寸的OLED彩色顯示屏。
大多數(shù)板載外設(shè)使用I 2 C總線進(jìn)行通信??梢酝ㄟ^(guò)MikroBus擴(kuò)展,安排為兩個(gè)平行的八位頭連接器。這允許連接MikroElektronika的Click板以及自定義擴(kuò)展模塊和其他供應(yīng)商的模塊。MikroBus連接器引腳間距設(shè)計(jì)為與標(biāo)準(zhǔn)100密耳間距面包板兼容,可在自定義I / O模塊上輕松進(jìn)行初始原型設(shè)計(jì)。
MikroBus可以訪問(wèn)多個(gè)串行I / O總線,并提供模擬,PWM和中斷引腳。除I 2 C外,還可通過(guò)SPI和UART接口進(jìn)行連接。已經(jīng)可用的Click模塊包括GPS接收器,RFID閱讀器,GSM收發(fā)器,甚至是基于線圈天線的閃電傳感器。
Hexiwear上的運(yùn)動(dòng)傳感器系列使平臺(tái)能夠進(jìn)入可穿戴設(shè)備和家庭之外的應(yīng)用。加速度計(jì),陀螺儀,磁力計(jì)和壓力傳感器的組合使得可以創(chuàng)建具有十個(gè)自由度的慣性測(cè)量單元,用于無(wú)GPS的航空導(dǎo)航。一位用戶已應(yīng)用此功能為航拍無(wú)人機(jī)和四軸飛行器創(chuàng)建機(jī)載飛行監(jiān)控系統(tǒng)。Hexiwear小巧輕便,無(wú)人駕駛。該應(yīng)用程序通過(guò)提供有關(guān)無(wú)人機(jī)位置和航向的準(zhǔn)確反饋,支持在能見(jiàn)度較差的情況下飛行。當(dāng)與傳感器融合技術(shù)一起使用時(shí),不同的運(yùn)動(dòng)傳感器有助于補(bǔ)償其他運(yùn)動(dòng)傳感器。壓力傳感器有助于改善高度的準(zhǔn)確報(bào)告。
諸如Hexiwear中使用的NXP FXOS8700CQ之類(lèi)的加速度計(jì)基于MEMS結(jié)構(gòu)。單維加速度計(jì)使用附接到電極的柔性懸臂,其保持能夠相對(duì)于第二電極移動(dòng)的質(zhì)量塊。整體結(jié)構(gòu)充當(dāng)電容器。隨著質(zhì)量移動(dòng),電容板之間的距離改變,導(dǎo)致電容的變化。通過(guò)跟蹤這些電容變化,傳感器接口可以檢測(cè)沿懸臂運(yùn)動(dòng)方向的加速度變化。三個(gè)正交安裝,提供三軸檢測(cè)。
加速度計(jì)的移動(dòng)重量振蕩的趨勢(shì)導(dǎo)致電容的短期變化和對(duì)振動(dòng)的敏感性。另一方面,陀螺儀基于振動(dòng)的微機(jī)械臂,當(dāng)設(shè)備旋轉(zhuǎn)時(shí),該機(jī)械臂記錄增大的振幅。像一個(gè)依賴于旋轉(zhuǎn)元件的更大的陀螺儀,測(cè)量對(duì)短期沖擊和外部振動(dòng)相對(duì)不敏感。然而,陀螺儀易于漂移并且對(duì)溫度變化更敏感。
陀螺儀和加速度計(jì)的讀數(shù)以及FXOS8700CQ中的磁力計(jì)的組合提供了消除大部分運(yùn)動(dòng)噪聲源的能力。在相對(duì)簡(jiǎn)單的傳感器融合應(yīng)用中,互補(bǔ)的一對(duì)濾波器(圖2)可以消除每種傳感器類(lèi)型的大部分噪聲。例如,采用角度數(shù)據(jù)計(jì)算傾斜角度,低通濾波器有助于消除轉(zhuǎn)換為角度坐標(biāo)的加速度計(jì)讀數(shù)的短期誤差,高通濾波器消除陀螺儀的長(zhǎng)期漂移和溫度波動(dòng)。與磁力計(jì)讀數(shù)的比較可以提供方向的確認(rèn)。
這些傳感器可以應(yīng)用和組合,用于使用Hexiwear開(kāi)發(fā)的可穿戴應(yīng)用。一個(gè)例子是老年人的跌倒監(jiān)視器。另一款是個(gè)人心臟監(jiān)護(hù)儀,適合那些希望改善健康狀況的人。這兩種應(yīng)用都證明了傳感器融合的有效性,以及多種傳感器類(lèi)型產(chǎn)生可靠輸出的能力。
如果我們將上述無(wú)人機(jī)中使用的傳感器融合技術(shù)應(yīng)用于跌落探測(cè)器,則可以構(gòu)建一種傳感器,由于加速度計(jì)輸入端出現(xiàn)短期噪聲,因此不太可能容易引起誤報(bào)警。如果佩戴在皮帶或手腕上,陀螺儀將在跌倒期間檢測(cè)到身體或手臂的旋轉(zhuǎn),并且加速計(jì)將記錄突然增加,然后突然停止并且一段時(shí)間的小動(dòng)作。總而言之,軟件可以識(shí)別跌倒的模式。許多研究論文已經(jīng)研究了跌落的典型運(yùn)動(dòng)曲線,可用于在跌倒探測(cè)器應(yīng)用中獲得適當(dāng)?shù)拈撝?。基于從跌倒測(cè)試中捕獲的運(yùn)動(dòng)數(shù)據(jù)的機(jī)器學(xué)習(xí)技術(shù)已被證明有助于開(kāi)發(fā)更強(qiáng)大的檢測(cè)技術(shù)。
從重大充血性心臟事件中恢復(fù)的人可以以類(lèi)似的方式使用部署在Hexiwear中的傳感器。在這種情況下,輸入將包括來(lái)自Maxim MAX30101心率傳感器的信號(hào)。輕度運(yùn)動(dòng)對(duì)于從充血性心力衰竭中恢復(fù)非常重要,但是不要過(guò)度運(yùn)動(dòng)同樣重要。通過(guò)跟蹤運(yùn)動(dòng)結(jié)合心率,可穿戴應(yīng)用可以幫助確定患者是否滿足他或她的運(yùn)動(dòng)目標(biāo)并且不會(huì)過(guò)度壓力。針對(duì)運(yùn)動(dòng)數(shù)據(jù)的心率異常讀數(shù)可用于觸發(fā)由主機(jī)智能手機(jī)向健康專(zhuān)業(yè)人員中繼的警報(bào)。可以類(lèi)似地利用心率數(shù)據(jù)來(lái)增強(qiáng)跌倒檢測(cè)器,以幫助確定事件之后佩戴者的狀態(tài)。
在使用Hexiwear構(gòu)建可穿戴設(shè)備或其他傳感器驅(qū)動(dòng)用途的應(yīng)用程序時(shí),硬件I / O,處理器和傳感器只是等式的一部分。為了簡(jiǎn)化應(yīng)用程序的創(chuàng)建,該平臺(tái)由完整的開(kāi)源工具鏈和庫(kù)提供支持,這些工具鏈和庫(kù)可通過(guò)GitHub在線存儲(chǔ)庫(kù)和ARM的mbed代碼庫(kù)等獲得。這些庫(kù)包括用于云連接的模塊,提供對(duì)諸如WolkSense等服務(wù)的訪問(wèn)。
Hexiwear開(kāi)發(fā)套件的核心是恩智浦Kinetis軟件開(kāi)發(fā)套件(SDK)。這是一個(gè)基于Eclipse和GNU代碼庫(kù)的工具鏈。IDE基于Eclipse,GNU編譯器集合(GCC)和GNU調(diào)試器(GDB)支持Eclipse。下載并安裝Kinetis工具后,用戶可以從GitHub Hexiwear存儲(chǔ)庫(kù)添加模塊。另一個(gè)開(kāi)發(fā)環(huán)境是Zerynth,它為熟悉Python的程序員提供了一種開(kāi)始為模塊開(kāi)發(fā)的方法。
GitHub下載包括示例引導(dǎo)加載程序和項(xiàng)目文件,可用作目標(biāo)應(yīng)用程序的模板。通常,通過(guò)Hexiwear擴(kuò)展塢(圖3)啟用下載和硬件支持,通過(guò)USB從mbed下載的驅(qū)動(dòng)程序處理通過(guò)USB進(jìn)行通信。
GitHub提供的示例代碼模塊通常使用簡(jiǎn)單的循環(huán)main()結(jié)構(gòu)。應(yīng)用程序繼續(xù)執(zhí)行main()函數(shù)中的每個(gè)語(yǔ)句,然后循環(huán)回到開(kāi)頭。防止電池供電平臺(tái)過(guò)度活動(dòng)的常用策略是在main()循環(huán)的末尾插入wait(x)函數(shù)。即使有這么簡(jiǎn)單的結(jié)構(gòu),健康監(jiān)測(cè)可穿戴應(yīng)用的核心就在那里。但是,Hexiwear GitHub存儲(chǔ)庫(kù)上的許多模塊支持的操作系統(tǒng)(如mbed OS或FreeRTOS)提供了更靈活的選項(xiàng),能夠?qū)嵗鄠€(gè)協(xié)作線程,這些線程可以由來(lái)自各種外圍設(shè)備的硬件中斷觸發(fā)。
物聯(lián)網(wǎng)可穿戴設(shè)備的典型應(yīng)用是活動(dòng)監(jiān)視器,它通過(guò)BLE定期向智能手機(jī)或平板電腦報(bào)告狀態(tài)。在一個(gè)簡(jiǎn)單的main()結(jié)構(gòu)中,組織應(yīng)用程序的最簡(jiǎn)單方法是在每次傳遞中輪詢感興趣的傳感器,過(guò)濾數(shù)據(jù)然后緩沖已處理的值。盡管在每次通過(guò)時(shí)通過(guò)BLE進(jìn)行數(shù)據(jù)通信是可行的,但這可能會(huì)快速耗盡電池并且在很大程度上是不必要的。一種方法是實(shí)現(xiàn)全局計(jì)數(shù)器變量并在每次傳遞時(shí)緩沖隊(duì)列中的數(shù)據(jù),直到達(dá)到計(jì)數(shù)器閾值。一個(gè)簡(jiǎn)單的if-then語(yǔ)句可以確定是否觸發(fā)了BLE訪問(wèn)函數(shù)。這將從緩沖區(qū)收集數(shù)據(jù),重新建立與智能手機(jī)的連接并發(fā)送數(shù)據(jù)。
可以通過(guò)Hexi_KW40Z.h頭文件中定義的C ++類(lèi)訪問(wèn)BLE模塊。這提供了許多通過(guò)BLE發(fā)送和接收數(shù)據(jù)的功能。此類(lèi)的默認(rèn)版本包括為傳輸運(yùn)行狀況數(shù)據(jù)以及天氣和運(yùn)動(dòng)傳感器數(shù)據(jù)而設(shè)置的數(shù)據(jù)包定義。
在由mbed等操作系統(tǒng)調(diào)解的多線程實(shí)現(xiàn)中,應(yīng)用程序可以分為多個(gè)線程。在健康監(jiān)視器中,典型的結(jié)構(gòu)是將一個(gè)或多個(gè)傳感器記錄線程饋送到處理和過(guò)濾線程中。然后一個(gè)單獨(dú)的線程負(fù)責(zé)BLE通信。一種策略是使用通過(guò)回調(diào)函數(shù)(例如lptmr_Callback())訪問(wèn)的計(jì)時(shí)器中斷來(lái)定期喚醒線程。BLE通信線程的周期通常比傳感器記錄線程的周期長(zhǎng)。這些線程可以緩沖其數(shù)據(jù),以便過(guò)濾線程僅與BLE通信線程一樣頻繁地運(yùn)行。
但是,在監(jiān)視器需要響應(yīng)異常數(shù)據(jù)而發(fā)出警報(bào)的情況下,盡可能快地過(guò)濾和處理數(shù)據(jù)可能很重要。在這種情況下,響應(yīng)于由處理線程識(shí)別的觸發(fā)條件,可能需要單獨(dú)的BLE線程來(lái)發(fā)出警報(bào)消息。或者,可以設(shè)置BLE線程在喚醒以發(fā)送警報(bào)和數(shù)據(jù)時(shí)使用的標(biāo)志。選擇取決于智能手機(jī)應(yīng)用程序需要響應(yīng)的速度。在許多情況下,BLE定時(shí)器間隔將足夠短以支持后一種架構(gòu)。
結(jié)論
通過(guò)使用額外的Click模塊,可以容易地?cái)U(kuò)展功能以支持例如可能與佩戴者相關(guān)的濕度和其他環(huán)境因素的檢測(cè)。因此,Hexiwear平臺(tái)為各種物聯(lián)網(wǎng)應(yīng)用提供靈活且易于使用的支持。不僅適用于可穿戴設(shè)備,也適用于其他類(lèi)型的面向傳感器的設(shè)備。
評(píng)論
查看更多