機關名稱 |
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 |
左邊訊息欄 (menuList)
網址名稱 |
網址的功能及目的 |
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 秒更新歌單 |
|
網址名稱 |
網址的功能及目的 |
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 |
主畫面流程顯示 |
音效名稱 |
目的 |
網址 |
firstRoomPowerOn |
打開總電源後播放 |
/playFirstRoomPowerOn |
firstRoomRFID |
四個 RFID 解鎖後播放 |
/playFirstRoomRFID |
secondRoomDrawerOpen |
抽屜解鎖後播放 |
/playSecondRoomDrawerOpen |
secondRoomWireBox |
接線盒解鎖後播放 |
/playSecondRoomWireBox |
startAnnoyingSound |
第三間底噪 |
/playStartAnnoyingSound |
thirdRoomAIDefeated |
AI 打敗音效 |
/playThirdRoomAIDefeated |
thirdRoomAlert |
剛進入第三間的警告音效 |
/playThirdRoomAlert |
thirdRoomNineBoxScan |
九宮格掃描音效 |
/playThirdRoomNineBoxScan |