---
# System prepended metadata

title: 需求的API

---

# 需求的API

## Glass part

### MQTT
- PublishClient ( extend MQTT)
    - setAccount(String account)
    - setPublishBoker (String brokerIP, String room/topic)
        - 應用場景不知道會不會有同時多組在上課，所以想依照room分類

    - publishMsg (String msg)
        - 學生發口渴之類的訊息
    - publishFrame (Byte/Bitmap frame)
- SubscribeClient ( extend MQTT)
    - setSubscribeClient(String brokerIP, String room/topic)
    - getTTSMsg()
        - 或是可以用共用 queue/block取代

### CameraFragment? 不確定怎麼命名

- getFrame()
- publish()

### TTS
- playMsg()
- stop()
- skip()
- isPlaying()

### Weather

- getLocation()
- getWeatherJSON()
- getTemperatrue()

### 應該需要一個處理沒有上課的時候之類的東西
- 但不是很清楚需要什麼功能
- 像是單純的互動
- 小遊戲之類的？

### Tools / Utility
- Bitmap getResizedFrame(Bitmap frame)
- Bitmap getEncodeFrame(Bitmap frame)

---

## Phone/Tablet part

### MQTT

- PublishClient (extend MQTT)
    - setPublishBoker (String brokerIP, String room/topic)
        - 應用場景不知道會不會有同時多組在上課，所以想依照room分類
    - publishMsg (String msg)
        - 發訊息到眼鏡
    - publishImg (Byte/Bitmap Img,int height, int width)
    - publishTTS(String msg2Speach)
- SubscribeClient ( extend MQTT)
    - setSubscribeClient(String brokerIP, String room/topic)
    - getMsg()
        - 或是可以用共用 queue/block取代
    - getStudentList()
        - 可能發個 who is alive 之類的訊息等大家回，或是 boker 能夠知道？
    - getFrame(int studentID或是 account)
        - 或是可以用共用 queue/block取代
        - 可能有一(師)對多(生)的情形，師需要選擇看特定一位的同學的影像

### StreammingFragment? 一樣不確定怎麼命名 總之是顯示串流用的


- putFrame()

### tools / Utility
- Bitmap getDecodeFrame(Bitmap frame)

> [name=how8570][time=Thu, May 14, 2020 11:10 AM]