當前位置:首頁 » 雲伺服器 » mqtt伺服器emqx搭建

mqtt伺服器emqx搭建

發布時間: 2023-03-25 10:43:55

A. Android使用MQTT通訊

主要講下Android如何使用MQTT通訊。用到漏侍的軟體或者框架有:

EMQ: https://www.emqx.io/cn/
org.eclipse.paho的MQTT通訊框架: https://github.com/eclipse/paho.mqtt.android

如果已經有MQTT相關服務返尺吵,可以跳過第一項,從第二項開始看。

1.安裝所需要的依困吵賴包

2.使用以下命令設置穩定存儲庫,以 CentOS7 為例

3.安裝最新版本的 EMQ X

4.安裝特定版本的 EMQ X

5.啟動 EMQ X

地址:xxx.xxx.xxx:18083,地址為伺服器ip或者域名,埠為18083埠

1.在Android中導入依賴

項目地址: https://github.com/eclipse/paho.mqtt.android
2.創建MQTT連接的一個Service

B. EMQ X 伺服器 SSL/TLS 安全連接配置指南

EMQ X 內置對 TLS/DTLS 的支持,包括支持單雙向認證、X.509 證書等多種身份認證和 LB Proxy Protocol V1/2 等。你可以為 EMQ X 支持的所有協議啟用 TLS/DTLS,也可以將 EMQ X 提供的 HTTP API 配置為使用 TLS。本文以自簽證書的方式介紹如何在 EMQ X 中為 MQTT 啟用 TLS。

查看證書

查看證書

創建 Root CA 自簽名證書的步驟與前文一致,不再贅述。

與前文類似,只不過需要將 Root CA 的信息替換成 Second CA 的。最後我們將得到以下文件:

Note: Client 既可以使用 root-cacert.pem 與 second-cacert.pem 合並後的 cacert.pem ,也可以使用 second-cacert.pem 。

假設你已經成功安裝了 EMQ X,我們將之前生成的證書一並拷貝到 emqx/etc/certs 目錄下:

然後修改 emqx.conf 配置如下:

啟動 EMQ X 並將沖攜彎日誌等級改為 Debug。

使用 openssl s_client 連接 EMQ X 並發送一個 Client ID 為 "a" 的 MQTT Connect 報文。

如果你在 emqx/log/erlang.log.1 中看到以下日誌,說明 SSL 認證成功。

EMQ X 繼續保持運行,編譯並啟動 emqtt 。

連接建立成功,可散悶以正常訂閱發布,SSL 單向認證測試通過。

EMQ X 繼續保持運行,啟動 mqtt.fx,參照下圖完成配置:

**Note: **這里只能使用 second-cacert.pem 作為 CA Certificate。

點擊 Connect 按鈕,連接成功,並且可以正常訂閱發布,SSL 雙向認證通過。

修改 emqx.conf 配置如下:

啟動 EMQ X 並將日誌等級改為 Debug。

使用 openssl s_client 連接 EMQ X 並發送一個 Client ID 為 "a" 的 MQTT Connect 報文。

如果你在 emqx/log/erlang.log.1 中看到以下日誌,說明 SSL 雙向認證成功。

EMQ X 繼續保持運行,啟隱飢動 emqtt 。

連接建立成功,可以正常訂閱發布,SSL 雙向認證測試通過。

EMQ X 繼續保持運行,啟動 mqtt.fx,參照下圖完成配置:

Note: CA File 可以使用 root-cacert.pem 與 second-cacert.pem 合並後的 cacert.pem ,也可以使用 second-cacert.pem 。

點擊 Connect 按鈕,連接成功,並且可以正常訂閱發布,SSL 雙向認證通過。

C. mqtt 伺服器搭建需要用到java

最近公司做的項目中有用到消息推送,經過多方面的篩選之後確定了使用MQTT協議,相對於XMPP,MQTT更加輕量級,並且佔用用戶很少的帶寬。
MQTT是IBM推出的一種針對移動終端設備的基於TCP/IP的發布/預訂協議,可以連接大量的遠程感測器和控制設備。
MQTT的官網見:http://mqtt.org/。其中http://mqtt.org/software裡面提供了官方推薦的各種伺服器和客戶端使用的各種語言版本的API。
下面以伺服器Apollo 1.6為例,之前嘗試過使用ActiveMQ,效果很不理想,只能實現伺服器和客戶端一對一的通信,從官網上了解到Apollo屬於activemq的一個子工程。先不管這些了,言歸正傳,以下在windows環境下。
1、在這里下載Apollo伺服器,下載後解壓,然後運行apache-apollo-1.6\bin\apollo.cmd,輸入create mybroker(名字任意取,這里是根據官網介紹的來取的)創建伺服器實例,伺服器實例包含了所有的配置,運行時數據等,並且和一個伺服器進程關聯。
2、create mybroker之後會在bin目錄下生成mybroker文件夾,裡麵包含有很多信息,其中etc\apollo.xml文件下是配置伺服器信息的文件,etc\users.properties文件包含連接MQTT伺服器時用到的用戶名和密碼,後面會介紹,可以修改原始的admin=password,可以接著換行添加新的用戶名密碼。
3、打開cmd,運行…apache-apollo-1.6\bin\mybroker\bin\apollo-broker.cmd run 開啟伺服器,可以在瀏覽器中輸入http://127.0.0.1:61680/查看是否安裝成功,該界面展示了topic,連接數等很多信息。
經過上面的簡單步驟,伺服器基本上就已經完成,下一篇將介紹Android客戶端的編寫和注意事項。
客戶端使用的API,開始我使用的是mqtt-client,使用過後發現問題百出,不能很好的滿足要求,後來使用了官方推薦的Eclipse Paho,下面開始客戶端代碼的編寫,為了方便測試這里有android和j2se兩個工程:
1、新建android工程MQTTClient
2、MainActivity代碼如下:

D. 黑群暉怎樣搭建MQTT伺服器

1、打開群暉Docker,注冊表搜索:mqtt;
2、點擊下載好的鏡像文件創建容器,輸入容器名字,點擊高級設置
3、勾選啟用自動重新啟動
4、點擊網路—-勾選與docker host相同的網路,點擊應用,一直下一步直到創建完成

E. 在雲伺服器上搭建了mqtt,為什麼手機連接不上mqtt,要怎麼做才能連接上求求大神幫忙

MQTT協議是廣泛應用的物聯網協議,使用測試MQTT協議需要MQTT的代理。有兩種方法使用MQTT服務,一是租用現成的MQTT伺服器,如阿里雲,網路雲,華為雲等公用的雲平台提供的MQTT服務,使用公用的MQTT伺服器的好處是省事,但如果僅僅用於測試學習還需要注冊帳號,靈活性差些,有的平台還需要付費。另一方法是自己使用開源的MQTT組件來搭建。
MQTT伺服器非常多,如apache的ActiveMQ,emtqqd,HiveMQ,Emitter,Mosquitto,Moquette等等。
這里介紹的是用輕量級的mosquitto開源項目來搭建一個屬於自己的MQTT伺服器。
第一步:需要安裝一台linux主機,這不多介紹,可以使用真機安裝也可以使用虛擬機安裝。如果僅僅是自己測試使用都可以。
第二步:下載mosquitto需要的依賴
sudo apt-get install libssl-devsudo apt-get install uuid-devsudo apt-get install cmake

第三步:下載mosquitto並解壓,現在mosquitto官網最新的版本是1.5.1
tar xzvf mosquitto-1.5.1.tar.gz
第四步:編譯
cd mosquitto-1.5.1/
make
make install
第五步:啟動mosquitto
./mosquitto -v
1535473957: mosquitto version 1.5.1 starting
1535473957: Using default config.
1535473957: Opening ipv4 listen socket on port 1883.
1535473957: Opening ipv6 listen socket on port 1883.
這時候mosquitto就會以默認的參數啟動。如果需要帶配置文件可以修改配置文件mosquitto.conf,
啟動時候加上參數 -c,
./mosquitto -c mosquitto.conf
可以看到,mosquitto監聽的埠為1883.
這時候我們的MQTT伺服器就搭建好了。可找一個mqtt客戶端來測試一下。
先發布一個主題「home/garden/fountain/2」
內容是「hello world」
這時候在mosquitto會列印出下面的log
535474247: New connection from 192.168.1.105 on port 1883.
1535474247: New client connected from 192.168.1.105 as MQTT_FX_Client (c1, k60).
1535474247: No will message specified.
1535474247: Sending CONNACK to MQTT_FX_Client (0, 0)
1535474307: Received PINGREQ from MQTT_FX_Client
1535474307: Sending PINGRESP to MQTT_FX_Client
1535474339: Received PUBLISH from MQTT_FX_Client (d0, q0, r0, m0, 'home/garden/fountain/2', ... (12 bytes))
1535474367: Received PINGREQ from MQTT_FX_Client
1535474367: Sending PINGRESP to MQTT_FX_Client

訂閱主題「home/garden/fountain/2」

可以看到收到了自己發布的消息。
用wireshark抓包
可以看到抓到了一個MQTT的publish的報文。

F. php安裝mqtt擴展【Mosquitto】

沒有安裝mosquitto的可以看一下鏈接先安裝一下

MQTT伺服器搭建-mosquitto1.4.4安裝指南

然後我們來安裝php擴展

如果你已經使用預先建立的軟體包來安裝Mosquitto,你需要確保你已經安裝了開發頭文件。在紅帽派生的系統上,這可能是叫做libmosquitto-devel,在基於 Debian的系統上叫做libmosquitto-dev。

你可以使用pecl來來安裝這個拓展包:

pecl install Mosquitto-alpha

1

或者,你也可以使用常規的安裝拓展的方法來安裝:

phpize

./configure --with-mosquitto=/path/to/libmosquitto

make

make install

1

2

3

4

然後添加extension=mosquitto.so到你的PHP配置文件php.ini中。

--with-mosquitto

1

是可選參數,只有當安裝程序找不到libmosquitto拓展包,才需要添加這個參數

G. springboot整合RabbitMQ Mqtt

第一,pom配置,我們需要引入相關jar:

第二,配置MQTT伺服器基本信息,在springBoot配置文件application.properties中配置,添加如下:

第三,配置MQTT消息推送配置類,

第四,配置MqttGateway消息推送介面類,在sendToMqtt(String data,@Header(MqttHeaders.TOPIC)String topic)介面中,data為發送的消息內容,topic為主題。指定topic,則我們的介面可以根據需要,向不同的主題發送消息,方便靈活應用。如果不指定,則使用默認配置的主題。

第五,介面類測試下功能,用Postman調用sendMqtt.do介面,往hello主題發送消息,用MQTTLens訂閱hello主題,從下面截圖,可以看出可以正常往MQTT服務發送消息了,而且可以訂閱到。

H. 海為物聯雲HMI如何設置MQTT

首先需要搭建MQTT伺服器,然後搭建MySQL資料庫,然後使用海為組態寫段程序,最後配置客戶端驗證即可。具體可以參考內容 Haiwell(海為)HMI/CBOX/IPC MQTT 配置應用教程網頁鏈接

熱點內容
安卓版設置里的隱身在哪裡 發布:2025-05-14 17:35:16 瀏覽:332
linuxshell密碼 發布:2025-05-14 17:21:11 瀏覽:199
安卓手機聽筒在哪裡關閉 發布:2025-05-14 17:16:20 瀏覽:455
我的世界炸毀50萬伺服器 發布:2025-05-14 17:16:07 瀏覽:123
存儲站源 發布:2025-05-14 17:14:20 瀏覽:864
win2008的ftp設置 發布:2025-05-14 17:03:31 瀏覽:664
萊克發的工資卡密碼是多少 發布:2025-05-14 16:57:10 瀏覽:179
方舟怎麼用自己的存檔進入別人的伺服器 發布:2025-05-14 16:46:25 瀏覽:878
微博視頻高清上傳設置 發布:2025-05-14 16:38:41 瀏覽:549
資料庫圖書管理設計 發布:2025-05-14 16:33:52 瀏覽:379