https://www.bilibili.com/video/av53059083
但是微博控制的方便性和安全性是不高的,同時微信卻有極高的安全性,對于每天使用微信的人來說,操作顯然是最方便的。
盡管他燒寫速度很慢..不過真的好便宜233333
整個項目的開發,主要是軟件層面,因為控制實現以后,只要把點亮LED的代碼改成別的,就可以控制另外的設備了,就一個簡單的遠程可控制其實需要的知識并不少:
Linux,Arduino,PHP,微信公眾平臺開發,MySQL
換句話說,只要修改相應的代碼,其他有關物聯網遠程控制或數據獲取的參賽項目都可以接入本項目,使得操作更加方便 控制Arduino
首先服務器上有一個數據庫,數據庫里面有幾個記錄,每個開關都有一個對應的值,不同用戶的話有不同的openID以此用來區分。
在微信中,我們對一個公眾平臺發送類似于“開燈”,“打開熱水器”之類的命令,以“開燈”為例公眾平臺的后臺服務器會對這個命令進行判斷,如果符合預設的命令,就會進入數據庫,找到這個LED對應的記錄,把這個記錄對應的值改為“1”(值其實是隨意的)。
這里的命令發送方式包括文字消息,語音消息。
與此同時,Arduino通過W5100擴展板,不斷向一個服務器上的頁面發送請求,請求中會包含一些諸如請求的開關ID,密碼等參數,服務器核實后,就會進入數據庫,找到對應的開關的記錄,把對應的值“1”反饋給Arduino,Arduino收到反饋后,就會進行判斷,如果是“1”,就把對應引腳上的LED點亮。如果是”0“,就把它熄滅。 Arduino的這個過程是不斷的進行的,但由于網絡和性能問題,通常會有幾秒鐘的延遲。 由于這是一個物聯網平臺,所以只要是可以發起HTTP請求的,都可以接入。
一個比較合理的方案是,樹莓派或PCduino做連接互聯網的主要控制器,通過XBee,433Mhz等無線方式來控制小型的Arduino節點,再由Arduino來控制物聯網終端 一般來說服務器端與微信端都有較強的可靠性,不必過多擔心,而本系統的控制端僅需要一個穩定的的WiFi熱點以及5v電源就可以與服務器通信,條件少,效果好,同時單片機中的程序中還加入了在無法連接網絡時的處理對策,能夠保證控制端在無網絡連接時對外圍控制設備進行保護性處理,所以系統在正常使用時具有很高的可靠性。
|