開心農場
					從arduino內擷取資料傳送至Server。當溫度過低時開燈加熱,當溼度過低時撒水,壓力過高時菜被偷了的警報。警報時蜂鳴器會響並將警報狀態傳送至Server
				設備需求
				
					- Arduino uno
 
					- 感測器 溫度 溼度 壓力
 
					- LED燈2顆(代表撒水器和加熱器)
 
					- 蜂鳴器
 
					- Arduino Ethernet Shield
 
					- 麵包板+線材
 
					- 筆電(模擬伺服主機)
 
				
					
				
					
					千里之行,始於足下
					
				
					- 介紹課程
 
					- MQTT 架構
 
					- mosquitto 安裝
 
					- 開發工具 mqttlens 安裝
 
				
				
				
					一日之所需 百工斯為備
				
				
					- M2Mqtt函式庫安裝
 
					- 訂閱者程式設計
 
					- 發佈者程式設計
 
				
				
				
					積沙成塔 集腋成裘
				
				
					- Sensor模組接線與函式庫安裝
 
					- AnalogInput程式設計
 
					- DigitalOutput程式設計
 
					- 加入判斷
 
				
				
				
					積土成山,風雨興焉;積水成淵,蛟龍生焉;積善成德,而神明自得,聖心備焉。故不積蹞步,無以至千里;不積小流,無以成江海。騏驥一躍,不能十步;駑馬十駕,功在不舍。
				
				
					- Ethernet與PubSubClient函式的使用
 
					- Ethernet程式設計
 
					- PubSubClient程式設計
 
					- 功能測試
 
				
				
				
				
					滴水穿石,不是水多厲害,更不是石頭不厲害,而是時間太厲害。
				
				
				
					- Wampserver安裝
 
					- 建置MySQL資料表
 
					- 連結MySQL資料庫並查詢
 
					- 新增資料至MySQL資料庫
 
					- 當關閉程式時中斷連線
 
				
								
				
					- 建置MySQL資料表 
 
					- Server連結資料庫 
 
					- 撒水和加熱記錄(訊息記錄)
 
					- 偷菜記錄(異常記錄)
 
				
				備註
				期末補考總分90分,替代第6週作業分數
					
一、期末補考考題
					
						- 請簡單介紹MQTT通訊協定(10)
 
						- 參考5月17號作業最高分的洪健軒同學所錄的第2週影片(20)
							
							請詳述影片中(MQTT Clint)MQTTLens、(MQTT Clint)Visual Studio程式和(MQTT Server)mosquitto訊息傳送的順序 
						- 參考5月31號作業最高分的李宗翰王奕霖所錄的第3週第1部影片(20)
							
							請詳述本次專案所實作的聯網感測應用為何,以及所使用的感測器有哪些、功能為何 
						- 參考6月7日曹致晟補繳作業最高分的第4週影片(20)
							
							請詳述影片中由(MQTT Clint)Arduino所發送的感測器收集之資料及異常情況發出之警告
							為何(MQTT Clint)MQTTLens能夠接收,以及(MQTT Server)mosquitto在此影片中所扮演的角色 
						- 參考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秒 我們的顯示程式(只是顯示程式嗎?)
						錯誤在哪?正確解釋應為何?