# 設計架構書
## 整體架構

## 音箱功能
### 初始化
- 開發語言: Python
- 外部 API: Google Identity API
- google 登入
- 內部 API
- 取得 wifi 名稱
- 設定音箱連接的 wifi
- 音箱的個人化設定
- 硬體設備: wifi
- 前端語言:html/css/js
- [前端UI設計](https://drive.google.com/file/d/1JAqxU83KNaVB3B3gKwZLfL1YvxqexhUl/view?usp=sharing)
- 溝通介面:http get




### 重置
- 開發語言: shell script + python <!--shell?-->
- 依賴功能: 各個功能
- 外部 API: 無
- 硬體設備: 按鈕、指示燈

### 語音辨識
- 開發語言: Python
- 依賴功能:
- 外部 API:google翻譯
- 硬體設備: 麥克風

<!--  -->
### 文字理解
- 開發語言: Python
- 依賴功能: 語音辨識
- 外部 API:
- 硬體設備: 無


<!--
### 音箱資料庫
- 開發語言: Python
- 依賴功能: 語音辨識
- 外部 API:
- 硬體設備: 無

-->
### 狀態監控
- 開發語言: Python
- 依賴功能: 語音辨識
- 外部 API:
- 硬體設備: 無

### 語音回覆
- 開發語言: Python
- 依賴功能: 語音辨識
- 外部 API: gTTs api
- 硬體設備: 喇叭

<!---->

### 音量控制
- 開發語言: Python
- 依賴功能: 文字理解、音樂播放、雙聲道
- 外部 API:pyalsaaudio
- 硬體設備: 喇叭

### 雙聲道
- 開發語言: Python
- 依賴功能: 文字理解、音樂播放、藍芽連接
- 外部 API: 無
- 硬體設備: 喇叭、藍芽


### 藍芽連接
- 開發語言: Python
- 依賴功能: 文字理解、音樂播放
- 外部 API: 無
- 硬體設備: 喇叭、藍芽


### 天氣查詢
- 開發語言: Python
- 依賴功能: 文字理解
- 外部 API: 中央氣象局API
- 硬體設備: 無



### 問題回答
- 開發語言: Python
- 依賴功能: 文字理解、音樂播放
- 外部 API: Duckduckgo 搜尋引擎
- 硬體設備: 喇叭、藍芽


<!--
### 傳送結果到手機
- 開發語言: Python
- 依賴功能: 文字理解、音樂播放
- 外部 API: 無
- 硬體設備: 喇叭、藍芽

-->
### 音樂搜尋播放
- 開發語言: Python
- 依賴功能: 文字理解
- 外部API: Youtube API
- 硬體設備: 喇叭


### 行事曆
- 開發語言: Python
- 依賴功能: 文字理解、文字轉語音
- 外部API: Google API
- 硬體設備: 無

- 備註:需要使用者輸入日曆ID才可以使用
<!-- ### 將搜尋結果傳回手機
- 開發語言: Python
- 依賴功能: 問題回答
- 外部API: Line API
- 硬體設備: 無
 -->
<!--
### 打電話
- 開發語言: Python
- 依賴功能: 文字理解
- 外部API: Youtube API
- 硬體設備: 喇叭

-->
## 伺服器
- 網頁伺服器:Apache
- 資料庫伺服器:MySQL
- 前端框架:Vue
- [前端UI設計](https://drive.google.com/file/d/1HmWtGj4E9ZSzkA2-cO1rSb3AF-ElVR0l/view?usp=sharing)
- 溝通介面:http get or post
- 檔案傳遞格式:JSON

- 後端框架:express
- API需求列表

- 資料庫圖表

{"metaMigratedAt":"2023-06-16T13:45:28.564Z","metaMigratedFrom":"Content","title":"設計架構書","breaks":false,"contributors":"[{\"id\":\"45f4942f-5f47-468c-8c03-02e05264df09\",\"add\":127,\"del\":0},{\"id\":\"67c83d1b-60f9-4855-9f8f-dddf3d58fe97\",\"add\":155,\"del\":57},{\"id\":\"c83f34d5-102f-4b28-b3ca-cca504b5eac6\",\"add\":765,\"del\":97},{\"id\":\"82312475-ca00-4da2-84bb-df83a1683d50\",\"add\":361,\"del\":15},{\"id\":\"825db5c4-8eb9-4944-8772-d130a3d519a1\",\"add\":66,\"del\":53},{\"id\":\"57dfc3fa-a164-4b7a-95a4-855b41a25509\",\"add\":19,\"del\":0},{\"id\":\"228ebc84-0eff-49ea-93d9-0651e55cd464\",\"add\":16,\"del\":2},{\"id\":\"b3894114-6e87-4ac4-b61e-91bfdc282a7d\",\"add\":108,\"del\":1},{\"id\":\"68d4ae20-1d14-4873-b800-b2369415f08b\",\"add\":1,\"del\":0},{\"id\":\"49739740-abb4-4cdf-989e-0047eb8e24c6\",\"add\":1653,\"del\":48}]"}