色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何使用MQTT進行數據傳輸

麥辣雞腿堡 ? 來源:古月居 ? 作者:葉夏 ? 2023-11-09 15:37 ? 次閱讀

ros里面,是有專門的工具幫忙做這一步的,但是ros2里面還沒有,不過我看論壇上大家更加推薦使用代碼的形式做數據傳輸。

我使用的是python的paho這個包,首先需要安裝

pip install paho

我這里貼兩個代碼,分別是publisher和subscriber,也就是發布者和訂閱者。

1. publisher

import time
import paho.mqtt.client as mqtt




class Publisher:
    def __init__(self, host="127.0.0.1", port=1883, topic="test_channel"):
        self.host = host
        self.port = port
        self.topic = topic
        self.client = mqtt.Client()


        self.client.on_connect = self.on_connect
        self.client.on_publish = self.on_publish


    def on_connect(self, client, userdata, flags, rc):
       print("Connected with result code "+str(rc))


    def on_publish(self, client, userdata, mid):
        print("Message Published ...")


    def start(self, msg="Hello MQTT", times=10, delay=1):
        self.client.connect(self.host, self.port, 60)
        self.client.loop_start()


        for i in range(times):
            time.sleep(delay)
            self.client.publish(self.topic, f"{msg} {i}")




if __name__ == "__main__":
    publisher = Publisher()
    publisher.start()

2. subscriber

import paho.mqtt.client as mqtt




class Subscriber:
    def __init__(self, host="127.0.0.1", port=1883, topic="test_channel"):
        self.host = host
        self.port = port
        self.topic = topic
        self.msg_count = 0
        self.client = mqtt.Client()


        self.client.on_connect = self.on_connect
        self.client.on_message = self.on_message


    def on_connect(self, client, userdata, flags, rc):
        print("Connected with result code "+str(rc))
        self.client.subscribe(self.topic)


    def on_message(self, client, userdata, msg):
        self.msg_count += 1
        print(f"Message {self.msg_count}: {msg.topic} {str(msg.payload)}")


    def start(self):
        self.client.connect(self.host, self.port, 60)
        self.client.loop_forever()




if __name__ == "__main__":
    subscriber = Subscriber()
    subscriber.start()

可以在跟mosquitto所在的同一臺機器上運行上面兩個腳本,否則就要修改代碼中的host為mosquitto實際的IP地址,還要確保網絡沒有限制。

測試的時候,要先運行subscriber,然后再運行publisher,否則subscriber很可能接受不到數據。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 數據傳輸
    +關注

    關注

    9

    文章

    1881

    瀏覽量

    64560
  • python
    +關注

    關注

    56

    文章

    4792

    瀏覽量

    84630
  • MQTT
    +關注

    關注

    5

    文章

    650

    瀏覽量

    22487
收藏 人收藏

    評論

    相關推薦

    使用slavefifosync2bit與FPGA進行數據傳輸時,服務間隔是多少?

    您好,請問使用slavefifosync2bit與FPGA進行數據傳輸時,服務間隔是多少?
    發表于 07-03 06:21

    ADS1299與STM32f407通過SPI進行數據傳輸的時候,可以直接使用HAL庫中的HAL_SPI_Receive函數進行數據傳輸嗎?

    在與STM32f407通過SPI進行數據傳輸的時候,可以在使能SPI之后,直接使用HAL庫中的HAL_SPI_Receive函數進行數據傳輸嗎?還是需要判斷DRDY,在DRDY置低之后再使用HAL_SPI_Receive函數?
    發表于 11-13 08:29

    怎么用LABVIEW和FPGA控制W5300進行數據傳輸

    用FPGA 控制W5300(采用的是TCP/IP協議)進行數據傳輸,上位機軟件用LABVIEW做!怎么才能進行數據傳輸。W5300怎么與LABVIEW進行數據傳輸??!各位大仙能不能給指明方向!謝謝
    發表于 12-30 19:29

    求助各位大神,51單片機如何通過藍牙與fpga進行數據傳輸

    求助各位大神,51單片機如何通過藍牙與fpga進行數據傳輸
    發表于 03-27 15:29

    關于EDMA PingPong傳輸和并行傳輸,請問對于PingPong模式的數據傳輸,是否只是用一個channel進行數據傳輸?

    的channel可看做是一個傳輸事件,用于觸發一個EDMA通道進行數據傳輸。記得Andy在一個帖子中曾說過,“IPR寄存器是用來記錄產生中斷的EDMA channel源,從低到高每一個bit依次對應相應
    發表于 06-20 06:05

    用E90-DTU進行數據傳輸,怎么將數據傳到后臺轉化

    用E90-DTU進行數據傳輸,怎么將數據傳到后臺轉化
    發表于 04-02 16:28

    如何通過單一數據進行數據傳輸?

    如何通過單一數據進行數據傳輸?
    發表于 12-02 07:14

    如何通過SPI與單片機進行數據傳輸?

    如何通過SPI與單片機進行數據傳輸?
    發表于 02-17 06:32

    如何去實現串口開啟DMA進行數據傳輸

    STM32CubeMX筆記-串口開啟DMA進行數據傳輸
    發表于 02-21 07:25

    DMA進行數據傳輸和CPU進行數據傳輸的疑問

    求大佬解答,本人正在學習STM32單片機中DMA直接數據存儲部分的內容 看了DMA簡介后,也上手過實例代碼,但是沒有實際的項目經驗,所以有以下疑問: DMA外設在進行數據傳輸的操作,是否也是需要經過
    發表于 05-25 17:18

    HT56R678使用I2C進行數據傳輸的方法

    HT56R678使用I2C進行數據傳輸的方法 HT56R678 內建有SIM 功能,其中包括了SPI 和I2C 兩種通信接口,本文以HT56R678 為母體,介紹使用I2C 進行數據傳輸的方法和注意
    發表于 03-27 09:25 ?16次下載

    HT56R678使用I2C進行數據傳輸的方法

    HT56R678使用I2C進行數據傳輸的方法HT56R678 內建有SIM 功能,其中包括了SPI 和I2C 兩種通信接口,本文以HT56R678 為母體,介紹使用I2C 進行數據傳輸的方法和注意事項。
    發表于 03-28 22:39 ?7次下載

    嵌入式GPRS數據傳輸終端設計

    利用嵌入式平臺的硬件、軟件技術、開發了基于GPRS網絡進行數據傳輸的嵌入式數據傳輸終端設備。通過設計一種應用層通信協議,很好地解決了在不可靠的無線傳輸鏈路上進行數據傳輸
    發表于 09-13 11:02 ?62次下載
    嵌入式GPRS<b class='flag-5'>數據傳輸</b>終端設計

    STM32CubeMX-串口開啟DMA進行數據傳輸

    STM32CubeMX筆記-串口開啟DMA進行數據傳輸
    發表于 12-27 18:40 ?7次下載
    STM32CubeMX-串口開啟DMA<b class='flag-5'>進行數據傳輸</b>

    如何實現MQTT協議數據傳輸

    如何實現MQTT協議數據傳輸? 隨著物聯網技術的不斷發展,越來越多的設備和應用需要實現互聯互通。而MQTT作為一種輕量級的發布/訂閱消息傳輸協議,在物聯網領域應用廣泛,成為了許多設備之
    的頭像 發表于 11-15 17:23 ?1128次閱讀
    主站蜘蛛池模板: 超碰97人人做人人爱少妇| 久久777国产线看观看精品卜| 久久无码人妻中文国产| 日本中文字幕伊人成中文字幕| 一区视频免费观看| 国产精品俺来也在线观看| 免费看的一级毛片| 亚洲日韩欧美国产中文在线 | 日日噜噜噜夜夜爽爽狠狠图片 | 99久久99久久精品国产片果冻| 果冻传媒视频在线观看完整版免费| 人人射人人插| 在线观看黄色小说| 好爽好深太大了再快一点| 谁有成人网站地址| jlzz中国jizz日本老师水多| 久久视频这里只精品99热在线观看| 小777论坛| 公粗挺进了我的密道在线播放贝壳| 奶大B紧17p| 最近中文字幕完整版高清| 花蝴蝶在线观看中字| 午夜男女爽爽羞羞影院在线观看| 免费夜里18款禁用软粉色| 性夜影院午夜看片| 疯狂小护士| 精品三级久久久久电影网1| 无人区大片中文字幕在线| 本庄优花aⅴ全部在线影片 | 国内偷拍夫妻av| 无码欧美XXXXX在线观看裸| 成年性生交大片免费看| 女王黄金vk| 4hu四虎免费影院www| 久久精品热老司机| 野花日本完整版在线观看免费高清 | 久久不射电影网| 一本久道视频无线视频| 精品淑女少妇AV久久免费| 亚洲精品6久久久久中文字幕| 国产三级精品三级在线观看|