本文目錄一覽:
- 1、org.eclipse.paho.mqtt.java-1.0.2 怎麼用
- 2、java 實現串口接收到數據,立馬將接收到的數據通過mqtt上傳到阿里雲。
- 3、mqtt 伺服器搭建需要用到java嗎
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