1. 程式人生 > >Esp8266+DHT11+光線感測器做一個智慧家居相關的一個小玩意

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:

  MQTTMQ Telemetry Transport),訊息佇列遙測傳輸協議,輕量級的釋出/訂閱協議, 適用於一些條件比較苛刻的環境,進行低頻寬、不可靠或間歇性的通訊。目前已經是物聯網訊息通訊事實上的標準協議了。

找了一臺閒置的主機,配置一下,主機是百度雲的CentOS,配置起來比較容易,這裡我們選用MQTT訊息中介軟體mosquitto:

直接在CentOS執行

yum install mosquitto mosquitto-clients

安裝完成之後啟動mqtt

mosquitto -c /etc/mosquitto/mosquitto.conf -d

到此為止,mqtt搭建完成。

接下來找了一點dht11espdemo,在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>

具體開發過程坎坷多磨,放過老夫吧!

最終!是這樣的:

是這樣的!

好了,分享就到這,有時間完善一下程式碼,把程式碼公佈出來。