java怎麼調用mqtt服務(mqtt 請求響應)

本文目錄一覽:

org.eclipse.paho.mqtt.java-1.0.2 怎麼用

Eclipse Paho MQTT工具是一個基於Java的Eclipse桌面客戶端程序,其底層的和MQTT伺服器進行的交互的java類庫就是Eclipse Paho java庫。假設我們在本機(127.0.0.1)已經啟動了一個mosquitto MQTT伺服器,其埠為1883。如何使用 Eclipse Paho MQTT工具?

(1) 下載Eclipse Paho MQTT

(2) 解壓縮後,雙擊paho.exe,打開後

(3) 點擊圖中的 十字圖標,就能新建一個MQTT的客戶端的連接,輸入正確的MQTT服務端的連接地址,

比如,本例中的連接地址是tcp://localhost:1883,然後點擊「Connect」按鈕,這個時候,如果MQTT服務端沒有設置密碼(默認情況是沒有密碼的)的話,這個時候,我們就能看到連接得到狀態(status)是「Connected」。

(4) 這個時候我們就能訂閱消息了。選擇「Subscription」下方的綠色十字圖標,就可以輸入訂閱的主題(topic)的名字,比如我們設置主題名稱為「test」,並點擊 「Subscribe」按鈕

(5) 往MQTT服務發送一條消息主題為「test」,內容為「大家好,這是我一條消息。」的MQTT消息。然後點擊「Publish」按鈕,這個時候,我們就能看到消息已經發送成功,且在步驟(4)訂閱的同一主題也收到了消息。

java 實現串口接收到數據,立馬將接收到的數據通過mqtt上傳到阿里雲。

也不是特別麻煩,你先要清楚串口和伺服器用的什麼協議,假設串口用232,伺服器採用TCP,那麼你需要做的是建立一個客戶端的發送模塊,和一個串口的操作模塊(結合必須要用到多線程,以隊列或者委託來做數據交換);在測試之前一定要保證串口和客戶端發送接收是ok的才能做結合功能。

因為你串口已經做好了,那你需要的是將採集到的數據(字元串)保存到數組中,然後創建一個指向數組的指針p,然後在客戶端模塊里,將發送的數據寫成p。建議先將數據轉16進位發,應該沒毛病。

mqtt 伺服器搭建需要用到java嗎

最近公司做的項目中有用到消息推送,經過多方面的篩選之後確定了使用MQTT協議,相對於XMPP,MQTT更加輕量級,並且佔用用戶很少的帶寬。

MQTT是IBM推出的一種針對移動終端設備的基於TCP/IP的發布/預訂協議,可以連接大量的遠程感測器和控制設備。

MQTT的官網見:。其中裡面提供了官方推薦的各種伺服器和客戶端使用的各種語言版本的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 開啟伺服器,可以在瀏覽器中輸入查看是否安裝成功,該界面展示了topic,連接數等很多信息。

經過上面的簡單步驟,伺服器基本上就已經完成,下一篇將介紹Android客戶端的編寫和注意事項。

客戶端使用的API,開始我使用的是mqtt-client,使用過後發現問題百出,不能很好的滿足要求,後來使用了官方推薦的Eclipse Paho,下面開始客戶端代碼的編寫,為了方便測試這裡有android和j2se兩個工程:

1、新建android工程MQTTClient

2、MainActivity代碼如下:

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/194282.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-02 09:44
下一篇 2024-12-02 09:44

相關推薦

  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • Java Bean載入過程

    Java Bean載入過程涉及到類載入器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean載入的過程。 一、類載入器 類載入器是Java虛擬機…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • MQTT使用教程

    MQTT是一種輕量級的消息傳輸協議,適用於物聯網領域中的設備與雲端、設備與設備之間的數據傳輸。本文將介紹使用MQTT實現設備與雲端數據傳輸的方法和注意事項。 一、準備工作 在使用M…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字元串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字元串中是否存在多個指定字元: 一、字元串遍歷 字元串是Java編程中非常重要的一種數據類型。要判斷字元串中是否存在多個指定字元…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29

發表回復

登錄後才能評論