mqtt伺服器搭建免費
① 如何用mosquitto搭建伺服器
Mosquitto是一款實現了消息推送協議MQTT v3.1的開源消息代理軟體,提供輕量級的,支持可發布/可訂閱的的消息推送模式,使設備對設備之間的短消息通信變得簡單,比如現在應用廣泛的低功耗感測器,手機、嵌入式計算機、微型控制器等移動設備。
Mosquitto官網:
MQTT協議:
客戶端連接日誌
1403334375: New connection from 121.201.8.163 on port 1883.
1403334375: New client connected from 121.201.8.163 as zhoujing (c0, k60, ujoyo).
1403334375: Sending CONNACK to zhoujing (0)
以上是一個客戶端正常連接的日誌。
第一行:伺服器收到一個新的連接請求
1403334375: 表示連接的時間點
121.201.8.163: 客戶端的IP地址
1883: 連接的伺服器埠號
第二行:伺服器為客戶端建立連接
zhoujing (c0, k60, ujoyo): 客戶端連接指定的ClientID為'zhoujing'
c0: 表示cleanSession=false,不清除session
k60: 表示keep-alive=60s
ujoyo: 表示使用的伺服器賬號為joyo
第三行:發送連接ACK包給客戶端
客戶端訂閱過程日誌
1403334375: Received SUBSCRIBE from zhoujing
1403334375: jiji/chat/9 (QoS 2)
1403334375: zhoujing 2 jiji/chat/9
1403334375: Sending SUBACK to zhoujing
第一行:伺服器收到一個來自ClientID為zhoujing的訂閱請求
第二行:伺服器識別zhoujing訂閱的主題為 jiji/chat/9,指定的QOS=2(有且只發送一次)
第三行:給ClientID=zhoujing客戶端發送訂閱ACK回包
伺服器發送內容給客戶端日誌
1403334378: Sending PUBLISH to zhoujing (d0, q2, r0, m1, 'jiji/chat/9', ... (396 bytes))
1403334378: Received PUBREC from zhoujing (Mid: 1)
1403334378: Sending PUBREL to zhoujing (Mid: 1)
1403334378: Received PUBCOMP from zhoujing (Mid: 1)
第一行:伺服器正在發送一個消息給ClientID=zhoujing的客戶端,消息體大小為396 bytes,消息主題為『jiji/chat/9』
(d0, q2, r0, m1)的解釋, 以下參數具體含義,參考MQTT協議
d: 表示mqtt報頭的DUP欄位
q: 表示的QOS欄位
r: 表示的是RETAIN
m: 表示的是消息ID,即mid
第二行:發布收稿階段,有保證的交付第一部分
第三行:出版發行階段,有保證的交付第二部分
第四行:發布完成,有保證的交付第三部分,至此一個內容發部過程完成
客戶端主動斷開連接的日誌
客戶端主動斷開連接的只有一行日誌,很簡單。如下所示:
1403334380: Received DISCONNECT from JY_API_PUSH_CLIENT
接收客戶端發布內容的過程日誌
1403334389: Received PUBLISH from JY_API_PUSH_CLIENT (d0, q2, r0, m1, 'jiji/chat/9', ... (396 bytes))
1403334389: Sending PUBREC to JY_API_PUSH_CLIENT (Mid: 1)
1403334389: Received PUBREL from JY_API_PUSH_CLIENT (Mid: 1)
1403334389: Sending PUBCOMP to JY_API_PUSH_CLIENT (Mid: 1)
第一行:接收來自ClientID=JY_API_PUSH_CLIENT的發布請求,發布的消息主題為'jiji/chat/9',消息大小為396 bytes
第二行:伺服器發送PUBREC給客戶端,此過程與發送消息給客戶端正好對稱,只不過是Received和Sending的對象反過來而已
第三行:伺服器接收到客戶端已經釋放的命令,內容交付第二步完成
第四行:通知客戶端,接收完成,至此一個消息發布完成,內容交付第三步完成
同一個ClientID重復連接時
1403334510: New connection from 121.201.7.150 on port 1883.
1403334510: Client JY_API_PUSH_CLIENT already connected, closing old connection.
接收客戶端心跳包
1403336716: Received PINGREQ from 36383A64663A6464003V0
1403336716: Sending PINGRESP to 36383A64663A6464003V0
客戶端連接超時,伺服器主動清除連接信息
1403336671: Client 33303A33393A3236003V0 has exceeded timeout, disconnecting.
客戶端socket異常時的日誌
1403337602: Socket error on client 351BBJKFX62C1, disconnecting.
1403337602: Socket error on client 351BBJKFX62C0, disconnecting.
② 海為物聯雲HMI如何設置MQTT
首先需要搭建MQTT伺服器,然後搭建MySQL資料庫,然後使用海為組態寫段程序,最後配置客戶端驗證即可。具體可以參考內容 Haiwell(海為)HMI/CBOX/IPC MQTT 配置應用教程網頁鏈接
③ 自己如何搭建伺服器。
1、打開控制面板,選擇並進入「程序」,雙擊「打開或關閉Windows服務」,在彈出的窗口中選擇「Internet信息服務」下面所有地選項,點擊確定後,開始更新服務。
(3)mqtt伺服器搭建免費擴展閱讀:
入門級伺服器所連的終端比較有限(通常為20台左右),況且在穩定性、可擴展性以及容錯冗餘性能較差,僅適用於沒有大型資料庫數據交換、日常工作網路流量不大,無需長期不間斷開機的小型企業。
不過要說明的一點就是目前有的比較大型的伺服器開發、生產廠商在後面我們要講的企業級伺服器中也劃分出幾個檔次,其中最低檔的一個企業級伺服器檔次就是稱之為"入門級企業級伺服器",這里所講的入門級並不是與我們上面所講的"入門級"具有相同的含義,不過這種劃分的還是比較少。
還有一點就是,這種伺服器一般採用Intel的專用伺服器CPU晶元,是基於Intel架構(俗稱"IA結構")的,當然這並不是一種硬性的標准規定,而是由於伺服器的應用層次需要和價位的限制。
④ 如何搭建android推送mptt伺服器
近研究了一下Android推送,在網上搜到了很多種方式,覺得IBM的MQTT協議這種方式還是挺不錯的。
下面介紹一下搭建過程:
需要准備的工具如下:
(1)、下載Mosquitto(MQTT的代理,也可以用IBM的ISMB)
http://mosquitto.org/download/
我下載的是mosquitto-1.1.2-install-win32.exe,根據自己的需要下載,不安裝這個推送不了消息。
(2)、下載AndroidPushNotificationsDemo
https://github.com/toku/Androi ... /archive/master.zip
(3)、下載PhpMQTTClient
https://github.com/toku/PhpMQTTClient/archive/master.zip
將PHPMQTTClient部署到PHP伺服器上,運行,打開mosquitto安裝目錄的mosquitto.exe
⑤ 如何免費搭建伺服器
內網伺服器搭建免費是可以的,外網伺服器搭建必須要域名伺服器、說白了就是得到工商局備案登記才可以的。以下是內網搭建的步驟:
工具/原料 首先我們需要准備的工具有:ftpserver綠色版
方法/步驟
注意事項
注意:這樣就是一個內網FTP伺服器,我們要指定一個IP地址哦!這樣別人在自己電腦的瀏覽器裡面輸入ftp://192.168.0.x就可以出現ftp登錄輸入賬號和密碼的界面了。上面的ip地址你哪台電腦要當做伺服器,就用這台伺服器的ip地址作為訪問地址。
⑥ 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代碼如下:
⑦ 黑群暉怎樣搭建MQTT伺服器
1、打開群暉Docker,注冊表搜索:mqtt;
2、點擊下載好的鏡像文件創建容器,輸入容器名字,點擊高級設置
3、勾選啟用自動重新啟動
4、點擊網路—-勾選與docker host相同的網路,點擊應用,一直下一步直到創建完成
⑧ ubuntu mqtt 服務怎麼搭建
在Ubuntu下搭建MQTT伺服器",主要涉及到【MQTT】在Ubuntu下搭建MQTT伺服器方面的內容,對於【MQTT】在Ubuntu下搭建MQTT伺服器感興趣的同學可以參考一下。
⑨ 在雲伺服器上搭建了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的報文。
⑩ 如何設置mqtt伺服器的賬號密碼
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