精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

IO設備接入MQTT

ZLG致遠電子 ? 2023-09-28 08:26 ? 次閱讀

隨著物聯網的迅速發展,越來越多的IO設備需要與云平臺進行通信,以實現遠程監控和控制。本文將基于EsDA開發套件快速實現將IO設備接入MQTT的應用開發,幫助用戶實現智能互聯。

b417bde8-5d95-11ee-9788-92fbcf53809c.jpg ?簡介

在物聯網應用中,接入IO設備是非常重要的一環。而MQTT作為輕量級的一種通信協議,被廣泛應用于物聯網領域。本文將介紹如何使用EPC6450-AWI開發板,以及圖形化設計工具AWFlow Designer將IO設備接入MQTT,實現實時的數據傳輸和遠程控制。


b41de84e-5d95-11ee-9788-92fbcf53809c.jpg ?項目概述

MQTT是通過發布主題來上傳消息,訂閱相關的主題來接收消息。本文將通過對EPC6450-AWI核心板 上的IO設備執行數據采集和數據處理后,將數據以發布MQTT主題消息的形式進行上傳;而MQTTX客戶端以訂閱相關主題來實時監控IO設備相關的數據,MQTTX客戶端還可以以發布主題的形式對核心板進行遠端控制和消息下發。

本文的IO設備主要是button按鍵和ADC數據采集,按鍵主要是模擬按下緊急按鈕后上傳緊急戒備的狀態消息到云端,MQTTX客戶端訂閱緊急狀態的主題就可以實時監控并顯示相關狀態。ADC數據采集是將采集到的數據與設定值對比,若大于設定值則發布數值過高報警的主題,MQTTX客戶端訂閱該主題就可以實時顯示ADC數據采集的狀態。本項目大概的邏輯處理可參考下圖。

b423b666-5d95-11ee-9788-92fbcf53809c.png
b41de84e-5d95-11ee-9788-92fbcf53809c.jpg ?項目準備客戶可閱讀以下相關文章,對MQTT協議和IO設備在EsDA上的使用操作上可以有更多的了解:

  • 【EsDA應用】常用IO設備節點詳解
  • EsDAMPC-ZC1入門(二)——LED控制
  • 基于EsDAMPC-ZC1快速實現——按鍵高級應用
  • EsDAMPC-ZC1應用——串口服務器(一)

1. 上位機準備

1.1 下載MQTTX在官網下載并安裝MQTTX,一款開源跨平臺MQTT協議的桌面客戶端。在使用過程中不需要自行部署MQTT服務器,使用以下代理地址和端口號就能進行快速測試,MQTT代理地址:broker.emqx.io,端口號:1883(TCP);8883(SSL)。1.2 快速建立連接打開軟件,點擊左側菜單欄的“+”按鈕。如果頁面為空,也可直接點擊右側的+ New Connection來快速設定新的客戶端連接。

b42f9742-5d95-11ee-9788-92fbcf53809c.png

在創建連接的頁面上,需要設置連接服務器的相關信息,用戶只需要填寫Name(連接標識名稱,客戶隨機設定即可),Client ID(客戶端ID號,客戶隨機設定即可),Host(連接的服務器地址,因為不是自建服務器,所以使用公用的broker.emqx.io),Port(服務器對應的端口號1883)參數即可,設置成功后點擊connect按鈕,若網絡無礙則等待連接成功即可。b436b25c-5d95-11ee-9788-92fbcf53809c.png1.3 消息的訂閱與發布
連接成功后,點擊New Subscription按鈕,在彈窗的Topic編輯框中填寫客戶需要訂閱的主題名稱,填寫后點擊Confirm確認,則訂閱成功。b43d806e-5d95-11ee-9788-92fbcf53809c.png若需要發布主題,則在下圖中的發布主題編輯框中填寫用戶的發布主題名稱,內容框中填寫發布主題的內容。b4434206-5d95-11ee-9788-92fbcf53809c.pngMQTTX軟件的更多使用操作,可以查看其官網進行閱讀并學習。
2. 硬件準備

  • 在標有絲印為TF Card 的卡槽處,插入SD卡。
  • 在標有絲印為DUART的模塊上,將TTL轉USB串口模塊的TX與板子絲印為RXD連接,TTL轉USB串口模塊的RX與板子絲印為TXD相連;并將串口模塊的USB端口接入電腦
  • 在標有絲印為Type-C接口處,插上Type-C線,并將Type-C的USB端口插入電腦。
  • 在標有絲印為NET0或 NET1的網絡接口處,插上網線頭,另一端的網線頭插在PC的網絡接口處。

b44ae20e-5d95-11ee-9788-92fbcf53809c.png

3. 網絡搭建

打開串口調試助手檢索并打開TTL轉USB串口模塊的設備端口號后,使用shell命令ip addr,查看網口的ip地址,根據下圖可知,本文使用的網口設備ip地址是192.168.137.251。

b45226fe-5d95-11ee-9788-92fbcf53809c.png因為AWFlow的mqtt節點是客戶端節點,而訪問的mqtt代理地址broker.emqx.io是需要流量的,所以需要通過PC電腦共享網絡給開發板上網。配置PC上的以太網的IP與開發板的IP地址在同一局域網下。b458c6ee-5d95-11ee-9788-92fbcf53809c.png將PC上的WLAN配置為共享給以太網。b4604b4e-5d95-11ee-9788-92fbcf53809c.png在串口調試助手輸入shell指令ping www.baidu.com,ping成功即開發板聯網成功。

b4656976-5d95-11ee-9788-92fbcf53809c.png


b41de84e-5d95-11ee-9788-92fbcf53809c.jpg ?項目實施本項目業務主要分為三個部分:

  • MQTTX客戶端:訂閱核心板設備發布的主題,并發布對核心板控制和下發消息的主題;
  • 按鍵模塊:報警按鈕按下則觸發報警狀態,并發布報警的主題;
  • ADC采集模塊:adc數據采集,若采集到的數值大于設定值則觸發數值過高報警,并發布adc數值報警的主題。

1. 流圖繪制

添加mqtt_in,fscript,log,adc,mqtt_out,button節點到畫布中并連線如下圖。

b470ca28-5d95-11ee-9788-92fbcf53809c.png

2. 節點配置

雙擊mqtt_in節點,配置訂閱的主題以及點擊配置的鉛筆圖標對mqtt_config配置節點進行配置。

b476a5e2-5d95-11ee-9788-92fbcf53809c.png

在mqtt_config配置節點中,可以只對主機地址,端口以及客戶端id進行配置,如下圖,因為本流圖所有的mqtt_config節點配置值都相同,后面不再贅述。b47dea0a-5d95-11ee-9788-92fbcf53809c.png

mqtt_in的消費者節點fscript的內容是對訂閱主題的消息進行處理并輸出,內容如下:

print("receive mqtt topic is "+msg.topic+'\n')rb = rbuffer_create(msg.payload, msg.payloadLength)f = "receive mqtt data is "msg.payload = f + rbuffer_read_string(rb)

雙擊adc節點,選擇目標板對應絲印的ADC通道號。b482fa2c-5d95-11ee-9788-92fbcf53809c.png

作為adc的消費者節點,fscript主要目的是對采集到的adc數值進行處理,因為本項目是數值過高報警,所以fscript的內容如下:

if (msg.payload > 2500){ print("adc data is high") msg.payload = "Collect data is high!\n" wbuffer_write_string(wb,msg.payload) output.payload = wbuffer_get_data(wb) output.payloadLength = len("Collect data is high!\n")}

接著雙擊adc排頭的mqtt_out節點,編輯發布的MQTT主題,以及對mqtt_config進行配置。b488af30-5d95-11ee-9788-92fbcf53809c.png雙擊button節點,選擇目標板對應按鍵絲印的GPIO編號。b48e976a-5d95-11ee-9788-92fbcf53809c.png

雙擊button的消費者節點fscript,本節點的主要內容是對button按鍵輸出的數值進行處理后傳遞給mqtt_out節點,內容如下:

if (msg.payload == 'on' ){ print("button pressed") msg.payload = "Emergency button pressed!\n" wbuffer_write_string(wb,msg.payload) output.payload = wbuffer_get_data(wb) output.payloadLength = len("Emergency button pressed!\n")}else if(msg.payload == 'off') { print("button bounced")}

雙擊button按鍵排頭的mqtt_out節點,對發布主題和mqtt_config進行配置。

b494e886-5d95-11ee-9788-92fbcf53809c.png

3. 下載驗證

基于上位機準備章節搭建好MQTTX客戶端后對ADC_Status和Emergency_status的主題進行訂閱,下載AWFlow流圖到核心板中;進行按鍵按下和彈起等的操作以及adc數據采集的操作后,可以看到MQTTX客戶端能接收到對應主題的消息,實現了對核心板的IO設備進行數據和狀態等的實時監控。

b49b392a-5d95-11ee-9788-92fbcf53809c.pngMQTTX客戶端發布zlgtest的主題,可以在核心板上的打印查看發布主題的消息內容如下,也可以根據客戶端發布主題的消息對設備進行控制等操作。b4a23c7a-5d95-11ee-9788-92fbcf53809c.png根據上述實驗可知,將IO設備接入MQTT后,即可實現對設備的監控和控制等能力,為用戶帶來了更好的使用體驗。

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

    關注

    0

    文章

    435

    瀏覽量

    39080
  • 設備
    +關注

    關注

    2

    文章

    4473

    瀏覽量

    70540
  • MQTT
    +關注

    關注

    5

    文章

    649

    瀏覽量

    22435
收藏 人收藏

    評論

    相關推薦

    【教程】設備通過MQTT協議接入OneNET平臺,建立可視化界面

    在物聯網領域,傳感器與服務器的通信、信息的收集以及MQTT協議都是可以考慮的方案之一。MQTT通常用于需要低功耗和低帶寬的場景,如物聯網設備、傳感器網絡、移動應用等。它的輕量級和高效特性使其非常適合
    的頭像 發表于 10-25 08:06 ?504次閱讀
    【教程】<b class='flag-5'>設備</b>通過<b class='flag-5'>MQTT</b>協議<b class='flag-5'>接入</b>OneNET平臺,建立可視化界面

    MQTT網關接入工業物聯網平臺解析

    MQTT網關 能夠連接不同類型的工業物聯設備,實現設備之間的數據傳輸和控制。它不僅能夠將來自不同設備的多種通信協議(如Modbus、PLC、數控機床等)統一轉換為
    的頭像 發表于 10-16 16:31 ?203次閱讀

    MQTT.fx 連接Onenet 多協議接入平臺 MQTT協議(舊版)詳解

    此文檔可以作為中間態MQTT版本,默認參數獲取教程 多協議接入地址 td {white-space:nowrap;border:1px solid #dee0e3;font-size:10pt
    的頭像 發表于 09-30 15:20 ?478次閱讀
    <b class='flag-5'>MQTT</b>.fx 連接Onenet 多協議<b class='flag-5'>接入</b>平臺 <b class='flag-5'>MQTT</b>協議(舊版)詳解

    MQTT智能網關接入物聯網平臺:實現高效連接與數據交互

    連接設備和物聯網平臺的關鍵橋梁,在數據采集、傳輸和控制中發揮著至關重要的作用。本文將詳細介紹MQTT智能網關如何接入物聯網平臺,實現高效連接與數據交互。 一、選擇合適的MQTT智能網關
    的頭像 發表于 09-27 17:04 ?277次閱讀

    合宙Air780EP模塊——AT指令MQTT接入OneNET開發指南

    物聯網設備要互動,Air780EP模塊是橋梁。用AT指令告訴MQTT:“幫我把話帶給OneNET吧!”MQTT就忙著打包數據,像寄信一樣傳給OneNET。OneNET收到后,處理、存著或再轉發。這
    的頭像 發表于 08-19 16:40 ?2032次閱讀
    合宙Air780EP模塊——AT指令<b class='flag-5'>MQTT</b><b class='flag-5'>接入</b>OneNET開發指南

    鋇錸MODBUS轉MQTT網關BL100一鍵解決私有云平臺設備接入量瓶頸

    當大量采用Modbus協議的智能儀表接入時,傳統的輪詢機制導致的數據采集速度慢、服務器負載高、流量消耗大等一系列問題接踵而來。為了解決這些瓶頸,鋇錸技術推出的MODBUS轉MQTT網關BL100
    的頭像 發表于 07-29 13:55 ?202次閱讀
    鋇錸MODBUS轉<b class='flag-5'>MQTT</b>網關BL100一鍵解決私有云平臺<b class='flag-5'>設備</b><b class='flag-5'>接入</b>量瓶頸

    鋇錸Modbus轉MQTT網關支持一鍵接入華為云

    隨著物聯網技術的快速發展,工業設備接入云平臺以實現遠程數據采集、監控與管理已成為趨勢。華為云平臺以其強大的數據處理能力和安全穩定的運行環境,受到越來越多企業的青睞。而鋇錸推出的Modbus轉MQTT
    的頭像 發表于 07-29 13:47 ?196次閱讀
    鋇錸Modbus轉<b class='flag-5'>MQTT</b>網關支持一鍵<b class='flag-5'>接入</b>華為云

    打卡智能家居之旅(2):設備接入HomeAssistant的方法

    上次我們在安裝HomeAssistant的時候(打卡智能家居學習之旅(1):了解HomeAssistant),順便把MQTT 集成安裝好了。 為什么要裝MQTT 集成呢?Wi-Fi 設備
    的頭像 發表于 06-07 09:36 ?1290次閱讀
    打卡智能家居之旅(2):<b class='flag-5'>設備</b><b class='flag-5'>接入</b>HomeAssistant的方法

    智嵌物聯網絡IO控制器接入智嵌云控演示

    智嵌物聯的網絡IO控制器(云版本)支持接入智嵌云,實現設備的遠程控制與檢測。本文檔以智嵌的4路網絡IO控制器為例,介紹設備
    的頭像 發表于 05-30 09:26 ?466次閱讀
    智嵌物聯網絡<b class='flag-5'>IO</b>控制器<b class='flag-5'>接入</b>智嵌云控演示

    以太網設備如何接入標準MQTT協議?

    本次展示億佰特以太網類產品接入標準MQTT協議教程,以E90-DTU(900SL30)E為例,其他產品可參照本教程。【注】連接前需要得到服務器的地址、端口以及三要素(Devicename
    的頭像 發表于 05-24 08:20 ?408次閱讀
    以太網<b class='flag-5'>設備</b>如何<b class='flag-5'>接入</b>標準<b class='flag-5'>MQTT</b>協議?

    MQTT物聯網平臺是什么?MQTT物聯網平臺的功能

    ,易于實現,因此廣泛應用于受限的環境,如機器與機器的通信(M2M)以及物聯網環境(IoT)。 MQTT物聯網平臺通過提供一種標準化的協議和平臺,實現了消息的可靠傳輸、設備連接管理、數據存儲和分析等功能,方便開發人員構建、連接和管理物聯網
    的頭像 發表于 04-01 10:20 ?681次閱讀

    MQTT物聯網平臺實現設備連接與安全加密

    隨著工業物聯網(IIoT)的不斷發展,越來越多的應用場景采用MQTT作為工業物聯網通信的輕量級消息傳輸協議。由于其簡潔、高效和靈活的特性,MQTT 成為物聯網通信的熱門選擇。通過 MQTT協議,
    的頭像 發表于 03-19 10:25 ?585次閱讀
    <b class='flag-5'>MQTT</b>物聯網平臺實現<b class='flag-5'>設備</b>連接與安全加密

    MQTT網關是什么?MQTT網關的功能

    MQTT網關是支持MQTT協議的物聯網網關,是一種用于連接不同設備和云端平臺之間的中間件。它充當了設備和云端服務之間的數據傳輸橋梁。MQTT
    的頭像 發表于 03-18 17:10 ?749次閱讀

    mqtt協議與終端監測設備結合

    mqtt協議與終端監測設備結合 摘要: MQTT是一個基于客戶端-服務器的消息發布/訂閱傳輸協議, 優點是輕量,簡單,開放和易于實現的,這樣的特點在于物聯網設備中就十分適用,這也是它在
    的頭像 發表于 01-30 13:13 ?372次閱讀
    <b class='flag-5'>mqtt</b>協議與終端監測<b class='flag-5'>設備</b>結合

    MQTT物聯網平臺是什么?MQTT物聯網平臺的功能有哪些

    ,易于實現,因此廣泛應用于受限的環境,如機器與機器的通信(M2M)以及物聯網環境(IoT)。 MQTT物聯網平臺通過提供一種標準化的協議和平臺,實現了消息的可靠傳輸、設備連接管理、數據存儲和分析等功能,方便開發人員構建、連接和管理物聯網
    的頭像 發表于 01-24 09:23 ?1097次閱讀