- 開頭都是 192.168.50.x
| 機關名稱 | IP 位置 |
|---|---|
| 燈條面具 | 19 |
| 九宮格 | 20 |
| 抽屜 | 40 - 42 (D B C) |
| 門 | 45 - 47 |
| 控制燈 | 49 |
| 大開關 | 50 |
| 接線盒 | 60 |
| 計時器 | 61 |
| 棺材 | 62 |
| RFID | 63 |
| RGB | 70 - 80 |
| Manual_Light | 90 |
| 警示燈 | 91 |
| 齒輪 | 100 |
| 第一間房間監視器 | 200 - 203 |
| 手寫辨識 | 205 |
| 第三間房間監視器 | 207 - 209 |
| 音控 | 210 |
| 計算機 | 211 |
| USB | 218 |
| 螢幕影片 | 212 - 217 |
192.168.50.225:8000 python -m SimpleHTTPServer
- 檔案放在 /home/mushding-app/mongodb.py 中
| 機關名稱 | 在資料庫中 Collection 的名稱 |
|---|---|
| 抽屜 | db.drawer |
| 門 | db.door |
| USB 影片 | db.usbVideo |
| 計算機 | db.calculator |
| 計時器 | db.timeCounter |
| 第一關總電源 | db.firstRoomPower |
| 第二關手寫辨視 | db.secondRoomWritingCamera |
| 第二關接線盒 | db.secondRoomWireBox |
| 網頁右上角小鈴鐺 | db.notifications |
| 左邊訊息欄 | db.menuList |
- 檔案放在 /home/mushding-app/app.py 中
| 網址名稱 | 網址的功能及目的 | return 值 |
|---|---|---|
| /checkDrawer | 給前端更新目前狀態 | 資料庫中 db.drawer 的 json 格式 |
| /openDrawer/<int:index>/<int:isOpen> | 處理前端按下按鈕後的反應 | None |
| 網址名稱 | 網址的功能及目的 | return 值 |
|---|---|---|
| /checkDoor | 給前端更新目前狀態 | 資料庫中 db.door 的 json 格式 |
| /openDoor/<int:index>/<int:isOpen> | 處理前端按下按鈕後的反應 | None |
| 網址名稱 | 網址的功能及目的 | return 值 |
|---|---|---|
| /checkUsb | 給前端更新目前狀態 | 資料庫中 db.usbVideo 的 json 格式 |
| 網址名稱 | 網址的功能及目的 | return 值 |
|---|---|---|
| /checkCalculator | 給前端更新目前狀態 | 資料庫中 db.calculator 的 json 格式 |
| /getCalculator | 計算機謎題解完開抽屜 | None |
| 網址名稱 | 網址的功能及目的 | return 值 |
|---|---|---|
| /checkTimeNow | 給前端更新目前狀態 | 資料庫中 db.timeCounter 的 json 格式 |
| /checkTimeCounter | 當前端按下更改時間按鈕時去 get 計時器 | None |
| 網址名稱 | 網址的功能及目的 | return 值 |
|---|---|---|
| /checkPower | 給前端更新目前狀態 | 資料庫中 db.firstRoomPower 的 json 格式 |
| /getPower/<int:index> | 流程使用 機關會 get 這個網址 | None |
| 網址名稱 | 網址的功能及目的 | return 值 |
|---|---|---|
| set_reset |
| 網址名稱 | 網址的功能及目的 | return 值 |
|---|---|---|
| /killFirstRoomCamera | kill 所有的攝影機追人 process | None |
| /setFirstRoomCamera/<int:index> | 看 index 決定四個攝影機的行動 | None |
| 網址名稱 | 網址的功能及目的 | return 值 |
|---|---|---|
| /checkWritingCamera /<string:month>/<string:date> | 給前端更新目前狀態 | 資料庫中 db.secondRoomWritingCamera 的 json 格式 |
| /getWritingCamera/<int:pid> | 流程使用 機關會 get 這個網址 | None |
| 網址名稱 | 網址的功能及目的 | return 值 |
|---|---|---|
| /checkWireBox | 給前端更新目前狀態 | 資料庫中 db.secondRoomWireBox 的 json 格式 |
| /resetWireBox/<int:isOpen> | 把接線盒中的過關狀態清除 | None |
| /getWireBox | 流程使用 機關會 get 這個網址 | None |
| 網址名稱 | 網址的功能及目的 | return 值 |
|---|---|---|
| /resetCoffin/<int:isOpen> | 給資料庫清空用 | None |
| /checkCoffin | 給前端更新目前狀態 | 資料庫中 db.secondRoomCoffin 的 json 格式 |
| /getCoffin | 當棺材謎題解完開抽屜 | None |
| 網址名稱 | 網址的功能及目的 | return 值 |
|---|---|---|
| /startNineBlock | 當九宮格謎題按扭按下去的流程 | None |
| /checkNineBlock/<int:iscorrect> | 當九宮格謎題按扭按「檢查」是不是對的的流程 | None |
緊急照明燈off{
1.啟動九宮格按鈕
2.open說明燈後的崁燈
3.播放螢幕影片x2
4.led呼吸燈模式
}
// btn被按下,九宮格run起來
startNineBlock{
1.led燈條(面具、底下那排)亮白光
2.齒輪轉
3.播音效
}
checkNineBlock{
if(0){
1.led燈條(面具、底下那排)全部亮紅光
2.delay(3s)
3.led燈條全部切回呼吸燈
}
else{
1.led燈條全部亮綠光
2.AI爆炸影片
3.開門
}
}
| 網址名稱 | 網址的功能及目的 | return 值 |
|---|---|---|
| /checkAllScreenState | ping 213 ~ 220 的 IP | db.screenState |
| 網址名稱 | 網址的功能及目的 | return 值 |
|---|---|---|
| /checkStoreVideo/<string:name>/<int:pid> | 當第一間門打開後,開始算框框 | |
| /checkMergeVideo | 當 merge Video 算完後 call 去 217 下載影片 |
| 網址名稱 | 網址的功能及目的 | return 值 |
|---|---|---|
| /resetRoomState/<int:room> | 重置相對應房間的狀態 | None |
| /resetALLState | 重置「所有」房間的狀態 | None |
| 網址名稱 | 網址的功能及目的 | return 值 |
|---|---|---|
| /checkNotifications | 給前端更新目前狀態 | 資料庫中 db.notifications 的 json 格式 (不包括 _id 中的資料) |
| /clearNotifications | 清空 notifications | None |
| 網址名稱 | 網址的功能及目的 | return 值 |
|---|---|---|
| /checkMenuList | 給前端更新左邊訊息欄是否關的 | 資料庫中 db.menuList 的 json 格式 |
| /checkMenuList/<int:index> | 更新資料庫中 db.menuList 的值 | 資料庫中 db.menuList 的 json 格式 |
| 網址名稱 | 網址的功能及目的 | return 值 |
|---|---|---|
| /stopPlaying | 更改 isStopState 停止播放 | None |
| /pausePlaying | 更改 isStopState 暫停播放 | None |
| /restartPlaying | 更改 isStopState 重新播放 | None |
| /startPlaying/<int:index> | 開始播放相對應的歌 | None |
| /stopContinue | 更改 isContinue 取消循環播放 | None |
| /startContinue | 更改 isContinue 開起循環播放 | None |
| /checkSongIndex | 前端更新播放器目前所有的 State | db.youtubeSongIndex |
| /nextSongIndex/<int:index> | 當使用者按下下面播放按扭更新 playNowIndex | None |
| /nextSong | 由 Rpi 呼叫 當 exitEvent callback 時 播放下一首歌 | None |
| /deleteAllSongList | 刪除所有清單中的歌 | |
| /deleteYoutubeSongList/<int:index> | 按下叉叉後刪除對應的歌 | |
| /downloadYoutubeSongList/<string:website> | 下載網址 | |
| /checkYoutubeSongList | 每 2 秒更新歌單 |
- server 需要回傳給手機的 json 檔
| 網址名稱 | 網址的功能及目的 | return 值 |
|---|---|---|
| /checkAllPhoneState | 回傳其他手機的 Boolean 值 | |
| /changeAllPhoneState/<string:name>/<int:isRead> | 更改手機 Boolean 值 |
| 手資資料名稱 | 資料型態 | return json 的名稱 |
|---|---|---|
| B訪談 | 文件 | documentInterviewB |
| C訪談 | 文件 | documentInterviewC |
| D訪談 | 文件 | documentInterviewD |
| C照片(對話紀錄) | 文件 | documentPictureC |
| B日記 | 影片 | videoDiaryB |
| C鋼琴譜 | 影片 | videoPianoSheetC |
| D妹妹照片 | 影片 | videoSisterPictureD |
| 紀錄(影音檔紀錄需到主畫面) | 提示 | tipRecord |
| 帳本提示 | 提示 | tipAccountBook |
| 手電筒 | 提示 | tipFlashLight |
| 方塊提示 | 提示 | tipNineBlock |
| 玩家按讚 | 無用 | likes |
| 網址名稱 | 網址的功能及目的 | return 值 |
|---|---|---|
| /getFirstRoomPassword | 玩家解完第一間密碼後開門 | |
| /getAccountBookChecked | 玩家掃描到錯誤帳本後開起手寫辨識 code | |
| /getPlayerHelp | 玩家求救 | |
| /getLikes | 取得玩家累計按讚數 | jsonify(資料庫) |
| /addLikes | 把資料庫的按讚 +1 |
- 檔案都放在 /home/mushding-app/src 中
| 檔案名稱 | 功能及用途 |
|---|---|
| index.js | 一切的起點 |
| App.js | 一切的起點 & 設定 route |
| AudioControl.js | 音效控制頁面 |
| Calculator.js | 計算機控制頁面 |
| CustomizedSnackbars.js | 自定義的 Snackbars 設定 |
| Dashboard.js | 密室主監控畫面頁面 |
| DashboardTemplates.js | 網頁左側及上側的畫面切換時固定 |
| MainListItems.js | 畫面左側選單顯示及設定 route |
| Monitor.js | 密室監視畫面頁面 |
| Notifications.js | 右上角小鈴鐺頁面 |
| OpenDoor.js | 機關門控制頁面 |
| OpenDrawer.js | 抽屜控制頁面 |
| OtherProject.js | 其他機關 GET 頁面 |
| TimeCounter.js | 右上計時器頁面 |
| UsbVideo.js | USB 畫面控制頁面 |
| login | 登入畫面頁面 |
| Stepper | 主畫面流程顯示 |
- 檔案放在 (210) Rpi 中
| 音效名稱 | 目的 | 網址 |
|---|---|---|
| firstRoomPowerOn | 打開總電源後播放 | /playFirstRoomPowerOn |
| firstRoomRFID | 四個 RFID 解鎖後播放 | /playFirstRoomRFID |
| secondRoomDrawerOpen | 抽屜解鎖後播放 | /playSecondRoomDrawerOpen |
| secondRoomWireBox | 接線盒解鎖後播放 | /playSecondRoomWireBox |
| startAnnoyingSound | 第三間底噪 | /playStartAnnoyingSound |
| thirdRoomAIDefeated | AI 打敗音效 | /playThirdRoomAIDefeated |
| thirdRoomAlert | 剛進入第三間的警告音效 | /playThirdRoomAlert |
| thirdRoomNineBoxScan | 九宮格掃描音效 | /playThirdRoomNineBoxScan |