物聯網裝置有多種互相通訊方式,但是mqtt更加方便後期其他裝置的加入也更加穩定,隨便拿台電腦也能搭建,但是考慮到mqtt需要占用一定記憶體還需要一直開機,手裡正好有個閒置的樹莓派,於是用樹莓派作為寢室物聯網的伺服器感覺是最好的選擇。
首先在網上找一下開源的mqtt伺服器,主要用的是apollo和mosquitto,我這裡選用的是mosquitto的伺服器,樹莓派是linux系統,所以基於linux搭建方法我們用樹莓派搭建會變得很方便
首先需要乙個刷了官方系統的樹莓派,
然後直接apt-get就可以了,但是會提示依賴問題報錯像這樣
apt-get install mosquitto 正在讀取軟體包列表... 完成 正在分析軟體包的依賴關係樹 正在讀取狀態信
息... 完成 有一些軟體包無法被安裝。如果您用的是 unstable 發行版,這也許是 因為系統無法達到您要求的狀態造成的。該版本中可能會有一些您需要的軟體 包尚未被建立或是它們已被從新到
(incoming)目錄移出。 下列資訊可能會對解決問題有所幫助: 下列軟體包有未滿足的依賴
關係: mosquitto : 依賴: libssl1.0.0 (>= 1.0.0) 但無法安裝它 依賴: libwebsockets3 (>= 1.2)
但無法安裝它 e: 無法修正錯誤,因為您要求某些軟體包保持現狀,就是它們破壞了軟體包
間的依賴關係。
網上有很多解決方法,可以參考
這樣就算搭建好了
mosquitto還有很多配置,但是這裡我們自己用可以不用管,當然後續我會更新有關mosquitto的用法
進入shell
輸入 mosquittto -v
然後就啟動啦,同時可以列印出除錯資訊
opening ipv4 listen socket on port 1883.
opening ipv6 listen socket on port 1883.
這兩行可以知道mqtt開啟在1883埠,要外界連線他就要連1883
在這裡我們可以用樹莓派自己做一下測試看連線是否成功
mosquitto_sub -v -t test
這就是開啟乙個接收topic為test的客戶端
然後在開乙個命令列輸入
mosquitto_pub -t test -m 「this is a test」
然後我們就會在接收端收到this is a test
同時伺服器後台那個也會看到兩個連線和他們發的資料
我們這個伺服器就算通了,上位機程式和手機接收端的連線在後面會有
下面是幾個常用的mosquitto的命令:
開啟sudo service mosquitto start
停止sudo service mosquitto stop
檢視狀態
sudo service mosquitto status
mosquitto_pub和mosquitto_sub都有幾個引數
【-t】指定主題
【-v】列印除錯資訊
【-h】指定服務的ip位址
【-p】指定服務的埠號
這裡只是讓大家搭建出來,另外還可以設定登入賬號密碼等操作可以看其他很多有關博文
首先配置pppoe輸入
sudo apt-get install pppoe pppoeconf pppstatus
然後配置pppoe ,一直回車即可。只要在使用者名稱和密碼輸入正確就可以
pppoeconf
然後我們檢測下是否pppoe成功
這樣已經連線成功
但是在每次重啟後ip位址會發生改變於是我們掛乙個花生殼的網域名稱解析在上面
這樣我們就可以在任意地方找到你的伺服器了
有關其他物聯網裝置接入此mqtt伺服器可以參考我其他的部落格
樹莓派 MQTT環境搭建及測試
這裡用輕量級的mosquitto開源專案來搭建乙個屬於自己的mqtt伺服器。sudo apt get install libssl dev sudo apt get install uuid dev sudo apt get install cmake wget 解壓 tar zxfv mosqui...
利用樹莓派 Raspberrypi 搭建乙個伺服器
ssh ssh 為 secure shell 的縮寫。ssh 為建立在應用層基礎上的安全協議。ssh 是目前較可靠,專為遠端登入會話和其他網路服務提供安全性的協議。利用 ssh 協議可以有效防止遠端管理過程中的資訊洩露問題。ssh最初是unix系統上的乙個程式,後來又迅速擴充套件到其他操作平台。ss...
利用cpolar實現樹莓派靜態網頁的外網訪問
此前實現了用nginx在樹莓派上搭建靜態網頁。彼時只能在區域網中訪問該網頁,經過一番調研和嘗試,利用cpolar實現了對該網頁的公開,現在可以在外網訪問該網頁了。以下介紹實現過程。本文所使用的樹莓派為raspberry 4b,搭載raspbian buster系統。使用你的電腦,前往www.cpol...