Usc2017nsp

實踐大學聯網感測實作

開發環境

This project is maintained by yazelin

開心農場

從arduino內擷取資料傳送至Server。當溫度過低時開燈加熱,當溼度過低時撒水,壓力過高時菜被偷了的警報。警報時蜂鳴器會響並將警報狀態傳送至Server

設備需求

第 01 週 (05/10) 伺服主機 (3)

千里之行,始於足下

第 02 週 (05/17) MQTT Subscribe/Publish 程式設計 (3)

一日之所需 百工斯為備

第 03 週 (05/24) arduino AnalogInput,digitalOutput (3)

積沙成塔 集腋成裘

第 04 週 (05/31) Arduino Ethernet Shield實際連線到Server-1 (3)

積土成山,風雨興焉;積水成淵,蛟龍生焉;積善成德,而神明自得,聖心備焉。故不積蹞步,無以至千里;不積小流,無以成江海。騏驥一躍,不能十步;駑馬十駕,功在不舍。

第 05 週 (06/07) 連結&新增資料至MySQL資料庫(3)

滴水穿石,不是水多厲害,更不是石頭不厲害,而是時間太厲害。

第 06 週 (06/14) Server程式(MQTTClient)+MySQL資料庫(3)

備註

期末補考總分90分,替代第6週作業分數

一、期末補考考題

  1. 請簡單介紹MQTT通訊協定(10)
  2. 參考5月17號作業最高分的洪健軒同學所錄的第2週影片(20)
    請詳述影片中(MQTT Clint)MQTTLens、(MQTT Clint)Visual Studio程式和(MQTT Server)mosquitto訊息傳送的順序
  3. 參考5月31號作業最高分的李宗翰王奕霖所錄的第3週第1部影片(20)
    請詳述本次專案所實作的聯網感測應用為何,以及所使用的感測器有哪些、功能為何
  4. 參考6月7日曹致晟補繳作業最高分的第4週影片(20)
    請詳述影片中由(MQTT Clint)Arduino所發送的感測器收集之資料及異常情況發出之警告
    為何(MQTT Clint)MQTTLens能夠接收,以及(MQTT Server)mosquitto在此影片中所扮演的角色
  5. 參考6月14日陳彥彰洪子婷組所錄製的影片(20)
    請至少舉出兩項的影片中有誤的部份並解釋錯誤為何,正確解釋應為何
    (可列舉多項依正確比例給分)

二、作答參考

第一題
https://swf.com.tw/?p=1002
只要將我第一週上課時拿來解釋示意圖(訂閱者 代理人 發佈者)畫上去 然後解釋一下這張圖就可以了
第二題
https://www.youtube.com/watch?v=tmvO3NnD__s
影片中訊息總共傳送了N次
第1次
xxx主題及yyy訊息由(MQTT Clint)MQTTLens 發佈至 (MQTT Server)mosquitto,因為(MQTT Clint)Visual Studio程式訂閱了xxx主題 所以(MQTT Server)mosquitto將xxx主題及yyy訊息轉送至(MQTT Clint)Visual Studio程式
第2次... 第3次...
第三題 參考
https://www.youtube.com/watch?v=1DbmWN-_zkE
https://yazelin.github.io/usc2017nsp/
開心農場是什麼樣的應用內容寫進來(網頁上第1段) 用到了哪些設備寫進來(網頁上第2段) 這些設備提供什麼功能寫進來(可參考同學影片講解)
第四題
https://www.youtube.com/watch?v=mAKF58OfFME
Arduino 是MQTT協定中的什麼端(Clint或Server)所扮演角色是(發佈者、訂閱者還是代理人)
在此影片中負責(接收、傳送還是轉發訊息)
mosquitto 是MQTT協定中的什麼端(Clint或Server)所扮演角色是(發佈者、訂閱者還是代理人)
在此影片中負責(接收、傳送還是轉發訊息)
MQTTLens 是MQTT協定中的什麼端(Clint或Server)所扮演角色是(發佈者、訂閱者還是代理人)
在此影片中負責(接收、傳送還是轉發訊息)
第五題
https://www.youtube.com/watch?v=E1K8Y5k1PmM
第11秒 影片中說 我們已經把MQTT的伺服器建起來(畫面上顯示的是MQTTLens) 有誤
錯誤在哪?正確解釋應為何?
第12秒 然後已經有加入了兩個資料表(畫面上顯示的是MQTTLens) 有誤
錯誤在哪?正確解釋應為何?
第38秒 他也一直在跑一直在記錄(畫面中的phpmyadmin資料並沒有更新) 有誤
錯誤在哪?正確解釋應為何?
第42秒 他也一直在記錄壓力感測(畫面中的phpmyadmin資料並沒有更新) 有誤
錯誤在哪?正確解釋應為何?
第45秒 現在我們開始跑程式(所以說之前程式都沒開資料庫就會收到資料嗎?) 有誤
錯誤在哪?正確解釋應為何?
第46秒 我們的顯示程式(只是顯示程式嗎?)
錯誤在哪?正確解釋應為何?