---
# System prepended metadata

title: Develop Utility & Rights Statement｜專題發展工具及智慧財產權聲明
tags: [' 文件', 企劃書]

---

---
title: Develop Utility & Rights Statement｜專題發展工具及智慧財產權聲明
tags: 企劃書, 文件
---

# 專題發展工具及智慧財產權聲明

## 智慧財產權聲明

茲因王群皓、蘇悅、陳岫葶 (以下統稱專題組員) 組成全息投影的技術與研發之專題小組 (以下統稱專題小組)，專題小組成員聲明該作品確係為專題小組組員原創，若有侵犯任何第三人之營業、秘密、著作權、專利權、商標權及其他智慧財產權時，其法律責任概由專題組員自行負責，並保證，實踐大學資管系單位不因此受到任何損害。若論文中有參考、使用到他人之智慧財產權創作物時，本專題小組保證係合法運用他人創作並同意於參考文獻傅駐所參考之書籍、網頁、他人之論文。

一、專題小組擔保因本專題競賽而繳交予承辦單位之【專題製作企畫書】（以下
統稱提案報告）為其自行製作，並無抄襲或剽竊他人著作之行為，且專題組員有權揭露提案報告之內容。

二、專題小組擔保因本專題競賽而繳交予承辦單位之提案報告,不具下列任一情事： 
(1) 於本次提案報告前已公開發表之作品；
(2) 本次提案報告歷屆參賽之相同作品或近似作品；
(3) 已參與其他提案報告之作品；
若具上述任一情事確定者，作品喪失參賽資格。

三、參賽者同意無償授予主辦單位及承辦單位行使參賽作品之著作財產權，包括但不限於編輯、重製、公開傳播、公開發表、集結成冊，或在任何會議、論壇使用提案報告等。

四、本專題開發過程中產出之全部軟體程式碼（不包含其引用之外部函式庫）都將遵照 MIT License 做開放原始碼釋出，允許任何人包括但不限於複製、編輯、重製、引用、公開傳播、用於宣傳、使用於商業行為之目的。

特立此書為憑

此致
實踐大學資訊科技與管理學系
中華民國一○九年四月三十日

## 硬體

### Raspberry Pi Model 4B
![](https://i.imgur.com/Pv7KoUo.jpg)

Raspberry Pi 4 Model B 是Raspberry Pi系列中的最新產品，擁有運行速度為1.5GHz的64位四核處理器，雙頻2.4GHz和5GHz無線局域網，藍牙5.0 / BLE，真正的千兆以太網和PoE 通過單獨的PoE HAT提供的功能。雙頻無線局域網具有模塊化合規認證，允許將電路板設計為最終產品，大大降低了無線局域網一致性測試，從而提高了成本和上市時間。

#### Techonology Specification
* Broadcom BCM2711, Quad core Cortex-A72 (ARM v8) 64-bit SoC @ 1.5GHz
* 1GB, 2GB or 4GB LPDDR4-3200 SDRAM
* CYW43455 2.4 GHz/5.0 GHz IEEE 802.11ac wireless, Bluetooth 5.0, BLE
* Gigabit Ethernet
* 2x USB 3.0 ports; 2x USB 2.0 ports.
* Raspberry Pi standard 40 pin GPIO header
* 2 × micro-HDMI ports (up to 4kp60 supported)
* 2-lane MIPI DSI display port
* 2-lane MIPI CSI camera port
* 4-pole stereo audio and composite video port
* 265 (4kp60 decode), H264 (1080p60 decode, 1080p30 encode)
* OpenGL ES 3.0 graphics
* Micro-SD card slot for loading operating system and data storage
* 5V DC via USB-C connector (minimum 3A*)
* 5V DC via GPIO header (minimum 3A*)
* Power over Ethernet (PoE) enabled (requires separate PoE HAT)
* Operating temperature: 0 – 50 degrees C ambient



### Leap Motion
![](https://i.imgur.com/DNN6Lm6.jpg)
> Leap Motion 商品圖片｜合理使用

Leap Motion 是基於雙目視覺的手勢識別設備。雙目視覺為兩個錄影頭，概念來自於利用雙目立體視覺成像原理。藉由通過兩個錄影頭提取信息並進行手勢的分析與判斷。這種方法的優勢是對於使用者手勢的輸入限制較小，並可以做到更自然直覺的判讀。
![](https://i.imgur.com/EpTRhkc.png)
> Leap Motion 官方技術規格表｜合理使用

## 軟體

### 開發環境

- Docker CE
![](https://i.imgur.com/YaXlK7D.png)
    
Docker CE 是 Docker EE的社群免費版，適合讓開發人員與維護團隊構建容器。

開發過程中常見的問題是環境的不一致性，導致有些 bug 未在開發過程中被發現。而 Docker 的 image 提供了除內核外完整的運行時環境，確保了應用運行環境一致性，提高了系統資源的利用率。在應用執行速度、內存損耗或文件儲存速度，都比傳統模擬虛擬機更高效。因為直接運行於 Kernel，無需啟動完整的操作系統，因此可以做到秒級、甚至毫秒級的啟動時間，節省了整個開發、測試、部署的流程與時間，比傳統服務佈建方式帶來更好的效益：這大大的滿足了 DevOps 人員希望的「一次佈建設定，到處部署運行」。

使用 Docker 可以通過定制應用鏡像來實現持續集成、持續交付、部署。開發人員透過 Docker 來進行開發與執行的整合系統服務架設，並結合 CI/CD 進行自動部署，而 IT 人員也可以直接在生產環境中快速佈建 image，不需要以往繁瑣的設定與環境架設成本。

- TypeScript
![](https://i.imgur.com/GZtZKal.png)
    
TypeScript 是一個基於 JavaScript 的超集合（Superset）語言。將強型別概念帶入 JavaScript，結合了 ES5 與 ES6 與本身的擴充內容，並完全相容於 JavaScript。

- TypeScript 型別系統主要目的是： 

1. 減少 Bug 並更容易維護
2. 避免類別或物件（Class & Object）的性質與方法（Property & Method）格式錯誤。
3. 藉由在 IDE 上的 Autocomplete Feature 來協助開發並防止錯誤。

使用 TypeScript 可以避免於進行大型系統、專案開發、協同工作時發生預期外的錯誤，也能透過在瀏覽器執行程式碼和開發程式碼編輯器之間互相切換除錯的程序，即是可以省去執行程式碼再去除錯的時間，加快開發效率。

### 執行環境

- Docker CE (同上)
- Ubuntu Server for ARM (18.04.3 LTS)

![](https://i.imgur.com/rw3NtoN.png)

採用開放原始碼且基於開發社群支援，基於 Ubuntu 的 Ubuntu Server，相較於 Ubuntu，Ubuntu Server 的 Kernel 有針對 Server 方的應用作最佳化。它所作的最佳化有如：認證、部署、電源管理、郵件伺服器、Web 伺服器及虛擬化等。


- Node.js    
![](https://i.imgur.com/9f6UYtn.png)

Node.js 是能夠在 Server 端運行 JavaScript 的開放原始碼、跨平台 JavaScript 執行環境。在 Node.js 下的開發是能夠非常高效的，其有代碼簡單的優勢，得意於 Node.js 的單線程機制。而 Node.js 的另一個特點：異步編程，讓 Node.js 處理 IO 密集型的應用有明顯的優勢。

### SDK 軟體開發套件

- Leap Motion Official SDK

### 相依性套件

- Vue.js
![](https://i.imgur.com/xwGts5Q.png)

Vue.js 是一套用於建構用戶界面的漸進式框架。好處是只關注於畫面的呈現，並採用從底而上增量式開發的設計。他的目標是通過 API 實現響應的數據綁定和組合的視圖組件、輕便且快速，目前許多企業都採用的前端框架。

- Socket.io
![](https://i.imgur.com/oJw13zf.png)

Socket.io 包含瀏覽器端函式庫（client-side library，運行於瀏覽器中）與伺服器端函式庫（server-side library，運行於 Node.js 環境），而兩者所提供的 API 幾乎相同。

在傳輸的方式上，Socket.io 使用 WebSocket 作為主要的傳輸協定，而在某些瀏覽器不支援 WebSocket 的狀況下，則會自動改用其他的方式來傳輸（如 Adobe Flash sockets、JSONP polling 與 AJAX long polling 等），至於 API 的使用方式則維持不變，也就是說開發者可以不必考慮該使用哪一種傳輸方式，Socket.io 會自動選擇一個最適合的來使用。
