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