• 沒有找到結果。

第一章 簡介

1.2 動機

‧ 國

立 政 治 大 學

Na tiona

l Ch engchi University

6. 長時間穩定的系統,以表演來說要能夠在預演到演出結束的數小時間都正常運作。

本次研究中,設定目標至少為 6 小時。

7. 突破物聯網多數的裝置應用,加強以人的互動為主軸的應用。

8. 方便應用於沉浸式體驗。

9. 可透過軟體設定來兼容不同硬體。

接著第二章開始會對相關研究進行介紹。

再來,第三章以硬體為主軸,提出硬體的改良。

第四章則是軟體平台的架構介紹,提出如何在物聯網的精神下劃分出各個模組。

第五章講述電子肌膚的公演概念以及證實成果。

最後第六章做出總結並期許未來發展。

‧ 國

立 政 治 大 學

Na tiona

l Ch engchi University

第二章 相關研究

軟硬體上參考了許多文獻研究,主要從下列兩主題中獲益最深 - 硬體方面承襲

『穿戴式互動展演創新應用與姿態感測技術研究』[3],此研究中訂定了穿戴式裝置感 測人體姿態的實體;軟體研究部分效法物聯網中的概念試著讓人與裝置、裝置與裝置 連結在一起,透過軟體平台上的各種協議進行互相溝通,可忽略彼此間連接的物理方 式。

2.1 原有硬體

2.1.1 Arduino

Arduino[4]是近幾年興起的開放原始碼的單晶片微控制器,採用了開放原始碼的 軟硬體平台,建構出簡易輸出/輸入(simple I/O)介面板,大幅簡化了硬體線路和程 式庫的開發難度,讓許多軟硬體技術方便相互配合發揮,在設計上,Arduino 有許多 腳位,藉由這些腳位,能加入其他的硬體來擴充功能。這樣的開發板,符合我們對於 公開、方便擴充的需求。

其中 Arduino NANO (圖 1) 的尺寸和電耗相當符合穿戴式裝置的精小省電,其 Atmel ATmega328 微處理器,具有 14 組數位輸出/入腳位,以及 8 組類比腳位,運作 電壓為 1.8V 至 5.5V,相當適合在穿戴式方面配合質輕體積小的電池來使用,因此選 擇 Arduino NANO 來做為裝置的運算核心。

Raspberry Pi[5]中文名稱為樹莓派,能夠安裝簡易版本的 linux,其中 Model B+

(圖 2)支援數個 USB 介面可供 dongle 擴充之用,而尺寸面積僅和一張信用卡相當,相 當適合讓 Raspberry Pi 當做數據轉接中心,放在身上負責收集使用者各節點 Arduino 從藍牙傳送出來的姿態資料,初步整合人體姿態資料後傳送到後端平台供其他模組存 取使用。

‧ 國

立 政 治 大 學

Na tiona

l Ch engchi University

2.1.3 低功耗藍牙 BLE 傳輸器

BLE [6]即是所謂低功耗藍牙,其所耗用的電力相當的低,透過 BLE 連線時不需 像 2.0 版本的藍牙要配對後才能取得資料。且 BLE 在連線方面相當快速,官方宣稱僅 需 3ms 以內即可完成連線,因此若實際遇到連線中斷時,可以在極短的時間內偵測並 重新建立連線。藍牙 USB DONGLE 會因各廠商所採用的晶片不同,使用效果、特性也不 相同,這邊依效果來決定所要採用的款式,並以 Packet Per Second (簡稱 PPS) 做為 重要評估。以下為所選用款式的表格。

表 2 : USB 型藍牙接收器

商品名稱 晶片商 動畫流暢度 PPS 結果 零售單價(台幣) WED-210V4 Broadcom 佳 50 ~ 60 300

再來是 Arduino 使用的藍牙模組,系統需要的模組需能支援 Central Role,又要 內建 AT-指令以進行設定。因為該需求,我們在市面上多款低功耗藍牙模組中,選擇 了上海移摩通 MBTV4 (圖 3)。 下表列出 MPTV4 模組特性。

表 3 : 藍牙感測器模組

廠商名稱 型號 晶片 AT-指令 Central role 零售單價(台幣) 移摩通訊技術 MBTV4 TI-CC2540 有 有 150

圖 3 : MBTV4 圖 4 : MPU6050

‧ 國

立 政 治 大 學

Na tiona

l Ch engchi University

2.1.4 姿態感測器

人體動作是由身上關節的轉動達成,要得知人體姿態的變化便是透過身上的感測 器來取得資料,目前市面上普遍以陀螺儀配合加速度計來取得資料,其中 MPU6050[11]

(圖 4)內建加速計及陀螺儀,更是 Open-source 能自由定義姿態資料格式,不僅功能 符合要求,市售價格也相當的低廉,在需要在各關節點穿戴感測器之下,成本是相當 決定性的關鍵的要素,因此決定採用這款姿態感測器。下表列出 MPU6050 模組特性。

表 4 : 姿態感測器

廠商 型號 加速計 陀螺儀 指南針 程式函式庫 售價(台幣) InvenSense MPU6050 有 有 無 豐富 50

2.1.5 電池

穿戴式裝置中,電池作為動力來源,極為重要。盡可能要選擇體積夠小、電壓足 夠、電容量夠支撐 4 小時以上的款式,此外要避免透過串聯提高電壓,也不適合透過 升壓電路來提升電壓。衡量下,3.7V 的鋰電池不僅電壓足夠使用,在容量及款式上更 有多種款式可以選擇,決定使用 300mAh 電壓為 3.7V 的鋰電池(圖 5)。此款長寬高分 別為 35mm X 20mm X 5mm。

圖 5 : 3.7V 鋰電池

The Internet of Things (IoT) is a system of physical objects that can be discovered, monitored, controlled or interacted with by electronic devices which communicate over various networking interfaces, and eventually can be connected to the wider Internet.[7]

這段話裡帶出了許多核心,基本的物聯網在於滿足 : 1. 整合由各種硬體設備所形成的獨立網路集合。

2. 要透過單一的協定來接軌各個系統是很難達成的,所以設計上要能兼容多種協定。

3. 有眾多通訊介面待整合,需要 Middleware 的存在來作為溝通的橋梁。

因此在本論文設計的軟體平台中,依照網路集合實現 BLE、Wifi 等短距離通訊網 路的區域內感測信息互聯互通,透過 middleware 兼容不同裝置並和長距離通訊網路連 接,透過不同模組以及定義不同模組間的協定來達成實現互聯、識別和管理的核心平 xml,json 都是這類應用的翹楚格式,此外還有較新的 Protocol Buffers(簡稱 protobuf)。 Protobuf[8]是谷歌的一項新技術,也用於將結構化的數據序列化、反序

‧ 國

立 政 治 大 學

Na tiona

l Ch engchi University

列化,常用於網絡傳輸。

在本論文穿戴式的設計中,涉及到資料即時性、更新速率和低延遲需求,所以在 資料處理上,需要往減少資料量、縮短資料處理時間的方向走,protobuf 其設計特性 剛好著重在資料更小、處理更快,更重要的是兼容性好,不必擔心因為未來的改變而 造成大規模的代碼重構,所以在資料傳輸以 protobuf 作為傳輸時的資料結構。

表 5 : 交換格式比較

協議 跨語言 傳輸量 性能 可讀性

Xml 大量支援 很大 低 佳

Json 大量支援 一般 一般 佳

protobuf 大量支援 低 高 較差

‧ 國

立 政 治 大 學

Na tiona

l Ch engchi University

第三章

硬體擴充

第二章中介紹了原本使用的硬體,而在這次研究中將有許多更動,除了各種不同 感測器和反應器,像震動器和 LED 的加入外,還要根據應用的需求能自由裝載反應裝 置。這樣的變動將從體積、成本、耗電量、功能性和擴充彈性作為調整目標。

3.1 評估反應裝置

互動時的各種感覺回饋需要靠反應器來作用,像觸覺的震動器、視覺的 LED,需 要在原有硬體上擴充這些裝置來達成。這次評估了相當多的零件,畢竟市面上的震動 器零零總總加起來就達數十種之多,各種大小厚薄、不同耗電量、類型的裝置一堆,

經過多元測試後,在零件海裡選擇了鈕扣式震動器(圖 6)和全陽三色 LED(圖 7)。同時 透過 Arduino 程式對腳位數位或類比寫出( digitalWrite / analogWrite )來控制裝 置,除了通電外,透過 PWM (Pulse Width Modulation) 讓數位訊號高頻率的切換,

以調整開關的比例,可以模擬出震動和需要的燈光顏色。

表 6 : 震動器規格

圖 6 : 震動器 圖 7 : 全陽 RGB LED 腳位

型號 直徑 厚度 工作電壓 電流 售價(台幣)

MT01 10mm 4mm 3.7V 0.06a - 0.10a 40

‧ 國

立 政 治 大 學

Na tiona

l Ch engchi University

3.2 評估擴充彈性與體積大小

視需求來自由裝載裝置,得對電路板增加插排設計,需要對 Arduino NANO 各腳位 進行認識 (表 6),在電路板上保留可插拔的 pin 腳對應 Arduino D4~D12 腳位以及多 增加 3 組 VCC-GND 維持供電,軟體方面則透過配合 Arduino 程式對不同針腳進行不同 操作,就達成擴充裝置的多功能性,也保留高彈性來針對不同目的搭配周邊裝置。最 後設計好的硬體命名為「WISE Item」 (圖 9)。

表 7 : Arduino NANO 的腳位規範

晶片組 Atmel ATmega168 or ATmega328 Digital I/O D0 ~ D12 數位輸出/輸入端

D13 作為 LED 指示用 D0、D1 通常不建議使用 因為常作 Serial Port 傳輸使用 D3, 5, 6, 9, 10, 11 亦是 PWM 腳位 Analog I/O A0 ~ A7 類比輸出/輸入端

當 Digital I/O 不夠時可充當使用,

宣告為 Pin 14 ~ 21

TX / RX 支援 TX / RX 訊號輸出輸入 D0 亦可為 RX 接收端 D1 亦可為 TX 傳送端 輸入電壓 1.8V - 5.5V

‧ 國

立 政 治 大 學

Na tiona

l Ch engchi University

圖 8 : WISE Item 電路圖與實體照

此外,擴充的腳位不僅能支援反應器,同時也擴增了 BLE 傳輸器的連接數量,BLE 需要 4 個連接腳位 : 傳輸腳位 TX、接收腳位 RX、VCC 電源位、GND 接地位,在容納多 組 BLE 後可以開始利用多組 BLE 進行 RSSI 等資料的計算,進一步提升裝置的應用性。

3.3 耗電量

因應裝置的增加,耗電量也是調整重點。在接滿並持續開啟反應器和 BLE 的狀態 下,原有的 3.7V , 300 mah 的電池僅能支撐 3~4 小時左右,已不敷使用,所以將電 池更換為 3.7V , 600 mah,電池大小放大為 30mm X 60mm X 3.5mm,雖然增加了些體 積,但在可接受範圍內,換上新型電池後,裝置能持續運作 6~8 小時。

圖 9 : 3.7V 600 mah 電池

‧ 國

立 政 治 大 學

Na tiona

l Ch engchi University

第四章 系統架構

硬體的發展一代淘汰一代,現在的硬體在未來某天也會被取代,因此本論文多著 墨於軟體方面。軟體架構依照功能分類為數個模組,負責從終端穿戴式裝置、中介平 台、後端平台到顯示模組中的資料蒐集、解析、控制、交換和呈現等功能,並透過不 同模組的組合來完成異地間的資料交換(圖 10)。

圖 10 : 架構圖

4.1 WISE Item

作為穿戴式的核心,每個 WISE Item 都是獨立的節點,Item 和 Item 間互不影響,

讀取 MPU6050 的資料透過 BLE 傳輸到 WISE Middleware。每個節點會主動從 MPU6050 讀取 Yaw、Pitch、Roll 三軸姿態資料,這些數值原始數值範圍介於正負 180 之間,透過 Arduino 將資料加上 360,使得產生的數值皆為正整數,這樣傳送資料時

5mins 10mins 15mins 20mins 25mins 30mins

6 Bytes 8 Bytes

圖 11 : 兩種資料量的 PPS 比較

5mins 10mins 15mins 20mins 25mins 30mins

< 1M

接收 WISE Middleware 傳送來的指令並控制反應器。本論文在 Arduino 程式中開 始實作 BLE 接收資料的程式,而實驗中遇到了亂碼的情形,當傳送數據的間距小於 200 ms 時,位於接收端的 Arduino 會隨機出現亂碼,這使得控制指令失去準確的控制,開 始出現無法開啟/關閉反應器的情形。因此我們改良了控制指令,首先讓每個指令長度 相同,再來精簡化為 5 個相同的字元,像: 00000, 11111...等,然後收到的訊息 會先確認,當有超過 3 個字元是相同的,才會連接到相關的控制程式去作動反應器。

相關文件