Esp8266+DHT11+光線感測器做一個智慧家居相關的一個小玩意
男朋友自己弄了一個智慧家居產品,在開發過程中遇到很多問題,網上的解決辦法很少,他想把自己的經歷發出來,幫助一下被這些問題困擾著的朋友。
有專案想要合作或者有問題可以給他發郵件 :[email protected]
(以下是他原稿轉載請註明出處,他csdn不能用,幫他發一下啦~)
今天做了個有意思的東西,給大家分享下!文章跨度比較大,涉及到C,Java,MQTT,前端幾個方面,不喜勿噴。
我們今天的主角上場!
這是前段時間在TB買了幾塊ESP8266 01模組,最便宜的那種,一直仍在抽屜裡吃灰,閒著也是閒著,不如拿出來做點東西。
查了一下資料,官網介紹它自帶32位處理器,官網上也有對應的資料,下載了SDK和演示,以及ESP8266的開發環境,SDK裡面有mqtt相關的demo,我們就做一個自動上傳的感測器吧。
研究了一下手頭的模組,發現只有兩個IO,改一下,上圖,根據網上找的一張定義,發現還有幾個IO可以用。
動手改一下,從24腳GPIO5引線出來,到板子5腳。先把flash拆下來,飛線出來。
焊上flash,大功告成!
接下來開始,我們搭建一下MQTT伺服器,這裡先介紹一下MQTT:
MQTT(MQ Telemetry Transport),訊息佇列遙測傳輸協議,輕量級的釋出/訂閱協議, 適用於一些條件比較苛刻的環境,進行低頻寬、不可靠或間歇性的通訊。目前已經是物聯網訊息通訊事實上的標準協議了。
找了一臺閒置的主機,配置一下,主機是百度雲的CentOS,配置起來比較容易,這裡我們選用MQTT訊息中介軟體mosquitto:
直接在CentOS執行
yum install mosquitto mosquitto-clients
安裝完成之後啟動
mqtt
:
mosquitto -c /etc/mosquitto/mosquitto.conf -d
到此為止,
mqtt
搭建完成。
接下來找了一點
dht11
在
esp
的
demo
,在
esp8266 nonos sdk
自帶的
demo
裡面整合一下,直接編譯。
編譯成功,會有兩個地址,根據地址燒寫,具體燒寫步驟直接百度吧,或者私信我。
燒寫完成,測試一下。
CentOS伺服器中輸入命令 mosquitto_sub -t "#"
我們發現,現在資料已經傳輸過來了,接下來寫一個後臺,去接收下資料。
後臺伺服器我們用java開發,我們使用國內的JFinal極速開發框架,嗯,確實是極速,很簡單,後臺前端用layui,圖表用echarts,資料庫用mysql,mqtt與java之間通訊用:
<dependency>
<groupId>org.eclipse.paho</groupId>
<artifactId>org.eclipse.paho.client.mqttv3</artifactId>
<version>1.1.1</version>
</dependency>
具體開發過程坎坷多磨,放過老夫吧!
最終!是這樣的:
是這樣的!
好了,分享就到這,有時間完善一下程式碼,把程式碼公佈出來。