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