近年來可穿戴設備在多個市場呈現爆炸性增長,這很大程度上是因為它們提供的便利性以及大量的相關信息。運動跟蹤器(比如三星的Gear Fit 2)、醫療設備(比如Qardio®Arm血壓劑)以及Under Armor(安德瑪公司)推出的UA SpeedForm® Gemini 3智能跑鞋就是其中一些例子。這些設備能夠為用戶提供各種反饋信息,包括睡眠質量、VO2水平、運動水平、步行和跑步節奏等數據點。 設計可穿戴設備需要添加外圍設備來感應和顯示各類數據,同時需要在云端存儲和檢索數據。本項目采用Maxim Integrated™(美信公司)推出的Pegasus Rapid開發平臺,開發板上以及Maxim的700-MAXREFDES117#心率監測器參考設計中集成了關鍵的外圍設備,大大簡化了開發流程。此外我們還采用了Mbed操作系統用于云編程,Ubidots用于提供云服務以及Android Studio軟件來實現云接口。 如果你是一名設計師(或“DIY愛好者”),這些集成的功能部件、參考設計和云編程工具會讓你在起跑線上領先一步。下面的內容標注了必需的項目材料、幫助你為設備編程、組裝開發板、編譯和下載安卓App、將數據傳輸到云服務。 項目材料和資源 我們建議在開始此項目前準備好以下材料和資源: 項目材料清單 (BOM) 在Mouser.com官網上查看該項目的BOM ,包括下列各種組件: Maxim 700-MAX32630FTHR# 開發平臺,集成了MAX32630 Arm® Cortex® M4F微控制器和MAX14690 PMIC 電池充電管理器件 Maxim 700-MAXREFDES117#心率監測器,集成了心率/脈搏監測傳感器、降壓型DC/DC轉換器和邏輯電平轉換器 鋰聚合物電池 項目代碼 Mouser HRM Mbed代碼庫 Mouser HRM GitHub代碼庫 硬件 電烙鐵 跳線或普通導線 助焊劑 接頭引腳 面包板 數字萬用表(可選) 示波器(可選) 外圍擴展設備 (可選) 帳號和軟件 Ubidots 云服務帳號 Mbed.org 帳號 Android Studio軟件 項目技術概述 這是一個高級開發項目,主要面向有編程和焊接經驗的工程師和DIY愛好者,設計這個項目我們采用了如下技術: Maxim MAX32630FTHR Pegasus開發平臺 驅動這個項目的是Maxim公司新推出的MAX32630FTHR Pegasus開發平臺(圖1)。這個平臺搭載MAX32630 Arm® Cortex® M4F微控制器以及MAX14690 PMIC電池充電管理器件,能協助工程師快速設計原型。這個功能豐富的開發板包含多個集成外設,比如加速度計/陀螺儀、雙模藍牙以及SPI、I²C、UART、66 個GPIO接口等。MAX32630FTHR小巧的外觀尺寸與幾款現成的擴展板以及標準面包板相兼容,這帶來了無限的可能性。如果你對某些選項好奇,我們提供了擴展外設的介紹鏈接。 圖1:Maxim MAX32630FTHR# Pegasus開發平臺集成了Arm® Cortex® M4F微控制器和PMIC電源管理器件 Maxim MAXREFDES117# 心率模塊參考設計 Maxim廣受歡迎的MAXREFDES117# 心率模塊參考設計(圖2)非常的小巧,它集成了Maxim MAX30102 心率/脈搏、血氧傳感器、MAX1921 降壓型DC/DC轉換器以及MAX14595 邏輯電平轉換器。這種多功能設計可以用于Arduino和Mbed平臺實現快速集成。示例固件就適合這兩種平臺,給用戶提供了非常基本的算法,用來確定心率、SpO²等參數,幫助他們快速實現原型設計。 圖2:Maxim廣受歡迎的MAXREFDES117# 心率模塊參考設計外型小巧,集成了脈搏/血氧傳感器、降壓型DC-DC轉換器以及邏輯電平轉換器 Mbed OS 用于云編程 Mbed OS提供了一個方便的云編程工具,有助于簡化和加速創建物聯網 (IoT) 平臺。Mbed提供的工具可幫助實現代碼協作、提交和發布軟件,同時幫助維護詳細的修訂歷史記錄。使用Mbed非常簡單,創建帳號、查找并選擇期望使用的硬件即可。如果你已經擁有了帳號,就可以去Mbed代碼庫將提供的代碼導入你的編譯器從而開始你的項目。 Ubidots提供云服務 Ubidots為所有想要開展IoT或云項目的開發人員提供了很好的起點。除了有多種開發平臺的教程外,Ubidots還提供了有關在服務和Android Studio中創建的安卓App之間搭建接口的教程。信用系統能夠讓你以簡單經濟的方式開發和維護你的項目,并且提供了多種用來獲得更多信用值的方法。 Android Studio實現云接口 你需要相應的接口將數據從Maxim開發板和傳感器傳輸到云端,這可以通過一個移動設備(比如平板電腦或智能手機)來實現。對于這個項目,我們使用的是安卓框架,并且借助Android Studio來創建App,用來顯示傳感器提供的信息。 開發心率監測器 使用Mbed 如果你已經擁有Mbed帳號,可使用貿澤HRM Mbed代碼庫并將其中的代碼導入到你的編譯器。 對于新手用戶: 訪問Mbed.org網站。 點擊Mbed OS鏈接轉至開發者頁面。 點擊“Log in/Sign up”,輸入相關信息進行登錄/注冊。 注冊后你可以選擇高亮顯示的“Compiler”鏈接來開始新項目,或者訪問Mouser HRM Mbed代碼庫鏈接將其中的代碼導入你的編譯器。通過點擊編譯器右上角的按鈕你可以選擇、查看、添加或者更改目標平臺。你會發現其他幾種Maxim產品和軟件示例在Mbed中也是支持的。 連接開發板和參考設計 將MAX32630FTHR和MAXREFDES117連接起來只需要很少的連接線,使用面包板會更加簡單,為此請遵循如下步驟: 將心率傳感器的SCL和SDA引腳連接到MAX32630FTHR的P3_5和P3_4引腳,將INT引腳連接到P3_0(圖3)。 心率傳感器的VIN引腳需要2.5至5.5V 的輸入電壓,但我建議從3.3V或電池的SYS引腳引入電源,在嘗試使用5V時我已經遇到了多個問題。 連接地線。 圖3:Maxim MAX32630FTHR#數據手冊中提供的引腳布局 對開發板進行編程 對開發板進行編程就像將文件從一個文件夾拖放到另一個文件夾那樣簡單。MAX32630FTHR模塊還提供了調試接口,用于將代碼上傳到開發板。 我們按如下步驟開始: 用極化的10引腳連接器將接口板與MAX32630FTHR相連接,如果連接沒被蓋住,要特別注意引腳1。 將標記有HDK(在接口板上)的micro USB連接器連到PC的USB端口上,此時會自動安裝驅動程序。根據你使用的DAPLINK模塊的不同,它可能有多個接口或者只有一個接口(見圖4或圖5)。當驅動程序完成安裝后,在電腦文件資源管理器中會顯示標記為DAPLINK的新驅動器。 通過micro USB或者JST電源連接器為MAX32630FTHR模塊供電。 圖4:具有多個輸入接口的DAPLINK 圖5:只有一個輸入接口的DAPLINK 一旦與開發板建立了連接,你就需要編譯代碼來生成對MAX32630FTHR進行編程所需的.bin文件。從Mbed編譯器屏幕上的工具欄: 點擊“Compile”或者使用下拉菜單選擇你要使用的選項。一段時間后軟件就會在Downloads文件夾內生成.bin文件。 打開Downloads文件夾找到.bin文件。 打開一個新的資源管理器窗口,在這個窗口內你會看到一個新的DAPLINK驅動器盤符,這就是你的接口板。 將新創建的.bin文件從其下載位置拖動或者復制到DAPLINK文件夾,開始對接口板進行編程。 在編程時,DAPLINK板上的LED燈應該會快速閃爍,完成后LED燈會熄滅或者保持緩慢而穩定的閃爍。 按下MAX32630FTHR上的復位按鈕以啟動程序代碼。 MAX32630FTHR板復位后,兩個板上的紅色LED燈都會亮起并且保持穩定。 云 登錄后你會發現打開的是控制面板 (Dashboard) 頁面,有很多選項供你選擇,比如查看所創建的設備、查看可用的事件、查看個人配置文件、查看你的賬戶有多少信用值。需要注意的是,對于任何項目來說有些內容都是必需的,比如API token、設備和變量ID。 查看API Token 想要查看API token,需要在頁面的右上方點擊“Profile”圖標,然后選擇“API Credentials”,此時會在左側下拉菜單顯示所有的API token信息。對于每個用戶來說,API token都是唯一的,這是在創建賬戶時生成的,是為了防止你設備上的數據發送給錯誤的賬戶。 添加設備 在添加變量時會為每個新設備創建變量ID,首先我們從添加設備開始: 確認當前處于“Devices”頁面(圖6)。 點擊頁面右上角帶加號的黃色圓圈。 給設備重命名,從“My Data Source”改為任何你想要的名字。 點擊頁面的任意位置完成設備的添加,此時會彈出一條消息提示創建成功。 圖6:從“Devices”頁面開始 “設備”代表你的項目,一個帳號下支持多個項目。“變量ID”用來幫助每個設備來識別特定的傳感器、數據輸入源以及所處的位置。這有利于我們維護多個項目以及獨立的傳感器或設備間共享的傳感器。 創建變量ID 創建變量ID與創建設備非常的相似: 點擊“New Device”圖標,這時會打開此設備的詳細頁面,允許我們創建個人的變量。 點擊頁面右上方帶加號的黃色圓圈以創建新的變量。 對變量進行重命名。 點擊頁面的任何位置,會彈出一條消息提示你成功創建了ID。 點擊這個新的圖標會彈出“Created Variable”頁面(圖7),在左側會顯示多條信息。你可以編輯左側大部分信息,其中包括API標簽、允許的范圍、測量單位和相似度(重要的一項就是ID,它用來標識你的程序數據應該放在的位置)。 圖7:Ubidots的“Variable”頁面 我強烈建議大家查看教程文檔,當鼠標放在“Profile”圖標上時會出現下拉菜單,其中就包含教程文檔。這些文檔提供了非常有用的信息,涉及MQTT、HTTP API接口和其他物聯網設備等主題。 Android Studio 我們需要接口才能將數據從Maxim開發板和傳感器傳輸到云端。這可以借助平板電腦、智能手機之類的移動設備來完成。對于這個項目我們采用的是安卓框架,使用Android Studio創建App,并顯示心率傳感器提供的數據。 為了節省時間,我使用BluetoothLeGatt這個示例App進行演示。通過這個應用,我們可以瀏覽可用的藍牙設備,連接這些設備并查看有哪些可用的資源。這對于創建自己的藍牙應用有非常好的借鑒作用(如果你選擇設計相關應用的話)。Ubidots還提供了相關教程來說明如何通過App連接和發送數據到云服務,我建議大家查看API token和變量token的相關說明。 導入代碼 從貿澤的GitHub下載BLEHR.7z文件,要將代碼導入到Android Studio,必需該文件。由于文件大小的限制,這個項目的源代碼分成了兩部分,你需要將它們分別解壓。 通過在主啟動頁面點擊“Open an existing Android Studio project”或者點擊“File Open”菜單就可以將代碼導入到Android Studio。下面你可以看到我如何更改和實現Ubidots的API(圖8)。 (注意:請按照前面的說明,在編譯程序前修改token密鑰。如果編譯前沒有更新該密鑰,你的數據將不會顯示在Ubidots上。) 圖8:Android Studio Ubidots API token代碼 編譯App 為了測試和調試代碼,你可以進行如下操作: 編譯App并下載到設備中。如果你不想在更新API token和變量token后修改代碼,可以使用此方法。 使用“Developer” 模式。這種模式支持USB調試,你可以將手機或者平板電腦作為虛擬測試平臺,將其與你的開發PC直接相連。借助網絡搜索或者Android Studio的教程,你可以找到有關如何進入開發者模式的說明。 如果你決定使用一個設備作為開發工具,那么只需要點擊菜單欄的“Run”按鈕,然后選擇你的設備開始編譯和運行App。一旦加載完成,App就會在你選擇的設備上運行起來。(注意:不能在虛擬設備上運行這個App,因為虛擬設備不支持藍牙。) 如果你只是打算簡單地進行sideload刷機,則需要先編譯代碼,方法是先選擇“Build”,然后再選擇“Build APK(s)”。這會創建一個新的文件,你可以將其拷貝到自己選擇的設備上進行安裝。 雖然就算你不打算更改軟件,刷新App也是一個很好的選擇,但我還是建議您選擇一個設備作為測試平臺。在“USB debug mode”模式下你可以更新、重編譯、重復執行代碼,這對于編程和調試非常有用。 進行系統組裝 當你完成App的加載并且啟動后,在界面的右上方你會看到“Scan”圖標,點擊它可以掃描查看附近范圍內的所有藍牙設備。如果你對MAX32630FTHR和MAXREFDES117進行了正確的連接和編程,當設備啟動后你會在彈出的設備列表中看到一個標有HRM的設備。 準備好查看結果了嗎? 確保開啟了位置訪問權限。如果你不確定此選項的位置,請參閱設備的在線幫助或者文檔。 選擇HRM打開一個新窗口。你會看到一些數據:設備地址、當前狀態、數據輸出。 點擊右上方的“Connect”按鈕可以連接到這個設備,在下拉菜單中你可以看到對應的服務列表。 最后選擇“Heart Rate Measurement”,你會看到界面上開始顯示數據(圖9)。 圖9:當你選擇“Heart Rate Measurement”選項時,你會看到屏幕上開始顯示數據 如果你更新了代碼以包含正確的API token和變量token,那么你現在應該能夠登錄你的Ubidots賬戶,通過點擊“Device”選項卡查看該設備上的可用數據。 現在你可以創建一個控制面板,根據你的要求按照不同的格式來快速查看信息(圖10)。Ubidots最近推出了一個beta版本的Android App,你可以選擇在智能手機或者平板電腦上進行安裝來查看你的控制面板和設備(圖11)。 圖10:Ubidots安卓App控制面板 圖11:Ubidots網站控制面板 結論 可穿戴設備是非常有用的工具,可以為我們的日常生活增加很多的便利。這些設備能夠提供給用戶各種反饋數據,比如睡眠質量、最大攝氧量 (VO2)、運動水平、步行和跑步節奏等數據。此外,它們還可以幫助你監測身體健康情況,并且可以將你的信息(比如每日血壓、血糖水平)發送給醫療機構進行診斷。 設計可穿戴設備需要添加外圍設備來感應、顯示、存儲和檢索數據。Pegasus Rapid開發平臺集成了關鍵的外圍設備,大大簡化了系統開發,700-MAXREFDES117#心率監測器參考設計也可以提供直接的借鑒作用。Mbed OS、Ubidots和Android Studio軟件分別針對云編程、云服務和云接口等技術進行了完善。 文章來源:貿澤電子 作者簡介:Joseph Downing在2011年加入貿澤電子 (Mouser Electronics)作為技術支持專家,后來轉為技術內容專家。Joseph在電子行業有20多年的從業經驗,曾在很多公司任職,比如Intel、Radisys和Planar等。作為一名酷愛技術的創客,Joseph幫助管理Mouser.com網站上的“應用和技術”模塊,并且為這個模塊和貿易展覽會提供技術項目和材料支持。 |