- 開頭都是 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 |