从零开始开发物联网项目(1)——mqtt服务器搭建
去年開發(fā)了一個(gè)物聯(lián)網(wǎng)的項(xiàng)目,入了很多坑,花了很多時(shí)間,不過最后終于做出了一個(gè)初代版本,也算完成了項(xiàng)目。為了避免自己遺忘,也為了讓有興趣學(xué)習(xí)物聯(lián)網(wǎng)的同學(xué)少入點(diǎn)坑,我整理了一下,寫成一個(gè)系列教程。通過這個(gè)教程,你可以從一個(gè)小白成長為可以自己開發(fā)物聯(lián)網(wǎng)項(xiàng)目的菜鳥。
項(xiàng)目主要要完成的功能也很簡單,就是將傳感器的數(shù)據(jù)通過互聯(lián)網(wǎng)發(fā)送給服務(wù)器,然后服務(wù)器將數(shù)據(jù)保存在數(shù)據(jù)庫里;或者通過web端的頁面反向控制物聯(lián)網(wǎng)硬件,實(shí)現(xiàn)類似智能開關(guān)之類的功能。
現(xiàn)在比較流行的物聯(lián)網(wǎng)方式主要有兩種,lora和nbiot,當(dāng)然如果僅僅在家里使用的話用wifi也可以。關(guān)于這兩種物聯(lián)網(wǎng)的簡介自己去百度吧。這兩種方式不太一樣,lora需要自己搭建基站,是星系網(wǎng)絡(luò)連接,所有的節(jié)點(diǎn)都和基站通訊,基站負(fù)責(zé)將數(shù)據(jù)上傳到服務(wù)器,基站可以使用wifi,或者4G;nbiot則完全不一樣,它的每個(gè)節(jié)點(diǎn)都自己接入網(wǎng)絡(luò),直接上傳數(shù)據(jù)到服務(wù)器。兩種各有優(yōu)缺點(diǎn)吧,不過lora在具體安裝階段比較麻煩,因?yàn)橛袝r(shí)候節(jié)點(diǎn)與基站之間距離太遠(yuǎn),這時(shí)還得加上中繼,安裝的工作量比較大。nbiot就簡單了,完全使用移動運(yùn)營商的網(wǎng)絡(luò)。
向服務(wù)器上傳數(shù)據(jù)的方式有很多種,不過比較流行的是mqtt協(xié)議,首先我們來學(xué)習(xí)如何搭建mqtt服務(wù)器,以及使用手動指令的方式使用esp8266 wifi模塊來發(fā)送和接收數(shù)據(jù)。
mqtt服務(wù)器搭建
mqtt服務(wù)器有很多選擇,這里選擇emqtt,因?yàn)樗拇罱▽?shí)在是非常簡單,只要會用電腦的同學(xué)都可以順利完成。首先呢先去
https://www.emqx.io/cn/downloads
下載emqtt服務(wù)器,就選擇最新的,支持windows的版本吧,下載下來是個(gè)zip壓縮文件。然后將它解壓在D盤(或者其他盤)根目錄方便一點(diǎn),解壓后進(jìn)去就是一個(gè)名為emqx的文件夾
文件夾里有這些文件。好了,先不管這些,現(xiàn)在我們進(jìn)入cmd控制臺,如果是win10,左下角框內(nèi)輸入cmd
注意,現(xiàn)在要用鼠標(biāo)右擊最上面的命令提示符應(yīng)用
選擇以管理員身份運(yùn)行
然后在輸入 d: 回車
就來到了D盤,當(dāng)然如果你放在其他盤的話就輸其他盤符。
然后進(jìn)入你放置解壓開來的emqx服務(wù)器的文件夾,我放在了d:\emqx4里了,所以輸入cd emqx4,然后用cd命令一層一層知道進(jìn)入bin文件夾
最后輸入啟動服務(wù)器的命令:emqx start
幾秒后它自己返回了emqx文件夾,說明服務(wù)已經(jīng)啟動了
接下去我們打開瀏覽器來檢驗(yàn)一下服務(wù)是否啟動,最好用chrome瀏覽器哦!
輸入http://127.0.0.1:18083/
就進(jìn)入了控制頁面了,然后輸入用戶名admin,密碼public 登錄
到此,mqtt服務(wù)器正式啟動完畢,怎么樣,超級簡單吧!
打開左側(cè)工具欄的websocket,就可以測試mqtt數(shù)據(jù)發(fā)送了。
先點(diǎn)擊主頁面中的連接,就可以連接上mqtt服務(wù)器了,然后訂閱一個(gè)主題為r的mqtt服務(wù)。
在下面的消息內(nèi)發(fā)送一個(gè)主題為r,內(nèi)容為"Hello world!“的消息
下面就可以看到消息的發(fā)送與接收了。
現(xiàn)在你肯定覺得挺無聊,自己給自己發(fā)消息有什么意思啊。不要著急,現(xiàn)在我們和手機(jī)來進(jìn)行一下互動。如果是蘋果手機(jī),就在App store里搜索mqttool:
安裝完并進(jìn)入軟件,這時(shí)你需要查一下自己電腦的ip地址,可以雙擊電腦右下角的wifi符號,然后進(jìn)入屬性查看。我的是10.0.0.252,大家的和我的肯定不一樣哦,自己查!一般局域網(wǎng)內(nèi)都是192.168.0.***之類的,我的比較特殊,不要介意。
然后打開手機(jī)上的軟件
Host就是你電腦的ip地址,Port填1883,然后點(diǎn)擊Connect,連接成功后再選擇下方的“Publish”
Topic就輸入我們網(wǎng)頁里之前訂閱的"r”,Message就隨便填了,然后點(diǎn)擊Publish發(fā)送,再回到計(jì)算機(jī)網(wǎng)頁端看看是否收到消息了
這樣,手機(jī)和電腦端的網(wǎng)頁就能互通消息了,當(dāng)然也可以手機(jī)端也訂閱(Subscribe)一個(gè)主題,電腦端發(fā)送這個(gè)主題的消息,手機(jī)端也可以收到,我這里就不再寫了,自己多玩玩吧。
好了,今天就寫到這里了,我們已經(jīng)成功的搭建了mqtt服務(wù)器,并且可以和手機(jī)端互動消息了。下一節(jié)我們會具體來聊聊mqtt協(xié)議。
本文章發(fā)在我的微信公眾號了,大家有興趣可以關(guān)注我的公眾號,那里更新更及時(shí)點(diǎn)。
總結(jié)
以上是生活随笔為你收集整理的从零开始开发物联网项目(1)——mqtt服务器搭建的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 360浏览器自动刷新选项设置方法
- 下一篇: HTML配合js制作弹框,弹出信息框展示