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

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

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

3天內不再提示

【Z站推薦】EsDA MPC-ZC1 應用——串口服務器(二)

ZLG致遠電子 ? 2022-09-02 10:13 ? 次閱讀

上一章節介紹,實現了串口與MQTT服務器間的數據透明傳輸,本章節將在原有的基礎上,增加 LED 控制業務,以此為例來介紹如何在透傳數據流中增加必要的擴展業務。

4c04bde0-296c-11ed-9ade-dac502259ad0.jpg ?簡介

常見的串口服務器產品,在實現了數據透傳業務的同時,會根據不同的應用場景擴展一些額外的輔助業務,如DI/DO、ADC采集等。

通過EsDAMPC-ZC1應用——串口服務器(一)章節,完成了串口MQTT服務器的核心業務,實現了串口與MQTT服務器間的數據透明傳輸。根據項目需求,本章節將在原有的基礎上,增加 LED 控制業務。以此為例來介紹如何在透傳數據流中增加必要的擴展業務。

4c04bde0-296c-11ed-9ade-dac502259ad0.jpg ?業務擴展

一、數據解析增加系統控制業務,需要在流圖中,對數據流進行數據解析,解析出系統所支持的控制命令和參數

1. 命令格式

擴展控制命令前,先制定出命令格式,本示例以較為簡易的方式實現了命令和參數的組合,如下所示。[command]@[parameter]以@作為分隔符,組合命令(command)參數(parameter),均為字符串類型。2. 節點介紹實現自定義的數據解析功能,通常需要開發符合需求的節點,或是直接通過腳本節點來實現。當功能比較簡單的時,建議直接使用腳本節點(fscript)來實現。2.1 fscriptfscript 節點,支持用戶自定義編輯一段可執行腳本,可以很靈活的完成一些簡單的定制化業務。*關于 fscript 腳本教學可參考《FScript 腳本引擎》:

https://awtk.zlg.cn/pro/docs/awtk_docs/FScript/fscript.html

2.11 屬性

4c202dc8-296c-11ed-9ade-dac502259ad0.png

名稱(name):節點名稱,用于索引查找本節點;

顯示名稱(displayName):用于畫布上顯示的名稱;

加載時(Initialize):節點加載時運行的腳本;

運行時(Function):節點每次運行時的腳本;

銷毀時(Finalize):節點銷毀時運行的腳。

fscript 節點支持輸入3段腳本,分別在節點加載、運行、銷毀時進行調用,其中加載、銷毀階段的腳本僅被調用一次。

2.2 log

log 節點可以將數據流中的數據打印到調試接口上,方便用戶觀察數據流中的數據。2.2.1 屬性

4c2e5218-296c-11ed-9ade-dac502259ad0.png

名稱(name):節點名稱,用于索引查找本節點;

顯示名稱(displayName):用于畫布上顯示的名稱;

控制臺(log_to_console):輸出到系統控制臺;

客戶端(log_to_client):輸出到AWFlow Designer客戶端。

2.2.2 輸入

  • payload:需要打印的數據;
  • payloadLength:數據長度,uint32_t類型;
  • payloadType:指示payload的數據類型。

3. 流圖實踐

3.1 添加log節點在原有的串口MQTT透傳流圖上,并入log節點,觀察串口上報至MQTT服務的數據。4c4576fa-296c-11ed-9ade-dac502259ad0.png

3.2 下載并在線運行

選擇下載流圖,并保持在線運行,這樣可以通過AWFlow Designer 客戶端接收到 log 節點的消息。

4c62a7de-296c-11ed-9ade-dac502259ad0.png

通過串口助手,發送數據。

4c6eb9d4-296c-11ed-9ade-dac502259ad0.png

可以通過 AWFlow Designer 的調試窗口觀察到串口發送的數據。

4c9173c0-296c-11ed-9ade-dac502259ad0.png

3.3 添加命令解析腳本

在 log 和串口輸入數據流中,添加 fscript 節點。4c9eb6c0-296c-11ed-9ade-dac502259ad0.png僅在 Function 階段輸入命令解析腳本。4cb371c8-296c-11ed-9ade-dac502259ad0.png腳本先將輸入的數據 msg.payload 轉換成字符串類型,再通過 one_of 函數,以@分隔符,將字串分隔成2段,并分別賦值給 msg cmd arg 屬性。

/*MQTT和串口節點輸出為pointer類型,轉換為string*/
rbuf=rbuffer_create(msg.payload,msg.payloadLength)
s_payload=rbuffer_read_string(rbuf)

/*以@分隔符,獲取第一段字符串作為命令*/
msg.cmd=one_of(s_payload,0,"@")
/*以@分隔符,獲取第二段字符串作為參數*/

msg.arg=one_of(s_payload,1,"@")

至此,實現了從字符串中解析出命令和參數的功能。

二、系統控制

系統控制模塊,負責響應解析模塊解析出來的命令,根據獲得的命令和參數,執行響應的業務。本小節,以LED控制作為系統控制業務,實際應用可根據項目需求進行擴展。*本小節主要使用fscript來完成LED的控制業務,LED節點的使用可參考EsDAMPC-ZC1入門(二)——LED控制。

1. LED控制業務

1.1 添加控制腳本在數據解析腳本節點與log節點之間,并入一個新的 fscript 節點,用于執行LED控制業務。

4cc10edc-296c-11ed-9ade-dac502259ad0.png

4ce121f4-296c-11ed-9ade-dac502259ad0.png

LED 支持3路LED的控制命令,如下所示:

  • led_red@on / off,點亮/熄滅紅燈;
  • blue_red@on / off,點亮/熄滅藍燈;
  • green_red@on / off,點亮/熄滅綠燈。

通過控制命令 msg.cmd 來指定所需要控制LED設備,msg.arg 轉換為LED控制參數。

/*LED控制命令作為設備名稱,如led_red@on*/
output.device_name=msg.cmd

if(msg.arg=="on"){
/*點亮LED*/
output.payload=1
}elseif(msg.arg=="off"){
/*熄滅LED*/
output.payload=0
}else{
/*終止數據流*/
aborted=1

}

1.2 添加LED節點繼控制腳本之后,串接3個LED節點。4cf3fa5e-296c-11ed-9ade-dac502259ad0.png分別綁定了 led_red、led_blue、led_green4d116dc8-296c-11ed-9ade-dac502259ad0.png4d1f5f50-296c-11ed-9ade-dac502259ad0.png4d31afac-296c-11ed-9ade-dac502259ad0.png

1.3 下載驗證

下載流圖。4d404698-296c-11ed-9ade-dac502259ad0.png

通過串口助手,發送控制命令。

4d5e258c-296c-11ed-9ade-dac502259ad0.png

可以看到,板載的 LED 已經能夠正確響應串口的控制命令。

4d72cc26-296c-11ed-9ade-dac502259ad0.png

*注意:控制命令為字符串類型,所以命令需包含字符結束符'\0’。

三、數據分發

系統控制小節中,在完成LED控制的同時,可以觀察到,MQTT服務器同樣接收到了控制命令,但這并非所期望的效果。

4d90f48a-296c-11ed-9ade-dac502259ad0.png

為了解決這個問題,需要實現數據分發功能,對數據進行選擇。可以通過 aswitch 節點實現數據流的流向選擇。

1. 節點介紹

1.1 aswitch

1.1.1 屬性

4da4963e-296c-11ed-9ade-dac502259ad0.png

名稱(name):節點名稱,用于索引查找本節點;

顯示名稱(displayName):用于畫布上顯示的名稱;

檢查全部(check_all):檢查所有條件;

規則表達式(rules):數據分發依據的邏輯表達式;

輸出數量(outputs):數據分發路徑數量。

2. 分發規則

2.1 添加 aswitch 節點,并進行如下配置。4daf3b48-296c-11ed-9ade-dac502259ad0.png

禁止檢查所有條件,即當遇到條件滿足時,則不繼續檢查;

  • 輸出路徑數配置與邏輯條件一致為 4。

msg.cmd=="led_red"
msg.cmd=="led_green"
msg.cmd=="led_blue"

msg.payloadLength>0

前3個邏輯條件,通過 msg.cmd 進行判斷,區分控制命令,如果遇到符合的控制命令,則不會繼續匹配,后續的路徑則不會被觸發。

可以看到,在最后一條規則中,通過 msg.payloadLength 來匹配透傳數據。

2.2接入數據分發節點

aswitch 串進數據分析和 LED控制腳本節點之間,同時將MQTT上報的數據路徑修改為 aswitch 的透傳數據輸出口上,如下所示。4dc3be74-296c-11ed-9ade-dac502259ad0.png

2.3 下載驗證

下載流圖。4d404698-296c-11ed-9ade-dac502259ad0.png

通過串口助手,分別發送控制命令和透傳數據。

4de7fee2-296c-11ed-9ade-dac502259ad0.png可以看到,此時MQTT服務器不會再接收到串口端的系統控制命令。4df7e4f6-296c-11ed-9ade-dac502259ad0.png至此,完成了數據分發模塊。

四、遠程控制

前面完成了數據解析系統控制數據分發等3大擴展業務模塊,但是都是基于串口來實現,是否可以同時支持MQTT遠程控制業務呢?

很顯然,是可以的,而且通過復用前面的模塊,可以很簡單的實現遠程控制功能。

1. 擴展數據分發條件

4dffdddc-296c-11ed-9ade-dac502259ad0.png

利用 msg.topic 屬性來判斷是否有來源于MQTT服務器的透傳數據,將數據分發數量擴充到 5。

2. 調整MQTT下發數據流

將MQTT下發的數據接入到數據解析模塊,同時將串口輸出連接到數據分發的MQTT透傳輸出口上,如下所示進行調整。

4e1d6b7c-296c-11ed-9ade-dac502259ad0.png

3. 下載驗證

下載流圖。4d404698-296c-11ed-9ade-dac502259ad0.png

通過MQTTX,分別發布LED控制命令和透傳數據。

4e40b334-296c-11ed-9ade-dac502259ad0.png

可以看到,板載的 LED 已經能夠正確響應串口的控制命令。

4d72cc26-296c-11ed-9ade-dac502259ad0.png

同時串口端,僅收到透傳數據。

4e70bbce-296c-11ed-9ade-dac502259ad0.png

至此,完成了遠程控制功能。

五、整理流圖至此,完成了EsDA MPC-ZC1應用——串口服務器(一)計劃的所有需求。后續根據實際需求,在現有的流圖基礎上,繼續擴展更多的控制命令能,將會十分簡單。將流圖進行整理,最終效果如下。4e838b1e-296c-11ed-9ade-dac502259ad0.png4e939c8e-296c-11ed-9ade-dac502259ad0.jpg4ea7fddc-296c-11ed-9ade-dac502259ad0.jpg

【版權聲明】本文為ZLG開發者社區用戶原創內容,未經授權不得轉載。歡迎更多用戶到社區交流互動、創作博文,一經采用,可獲得百元京東E卡。

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

    關注

    242

    文章

    23306

    瀏覽量

    661537
  • 服務器
    +關注

    關注

    12

    文章

    9231

    瀏覽量

    85625
收藏 人收藏

    評論

    相關推薦

    【新品】性能飛躍,一鍵部署!NE2系列多款型號串口服務器上線

    繼此前推出RS485串口服務器NE2-D11和NE2-D12后,基于對市場需求的深度調研,億佰特新上市多款型號的串口服務器產品,豐富串口服務器產品線,滿足更多應用需求。串口服務器實現
    的頭像 發表于 10-25 08:06 ?372次閱讀
    【新品】性能飛躍,一鍵部署!NE2系列多款型號<b class='flag-5'>串口服務器</b>上線

    串口服務器和交換機區別

    串口服務器和交換機在網絡通信中扮演著不同的角色,它們之間的主要區別可以從以下幾個方面來闡述:
    的頭像 發表于 10-03 15:13 ?736次閱讀

    使用NS1串口服務器HTTP模式上傳服務器數據

    HTTP協議工作于客戶端-服務端架構之上。瀏覽作為HTTP客戶端通過URL向HTTP服務端即Web服務器發送所有請求。Web服務器根據接收
    的頭像 發表于 08-30 12:36 ?391次閱讀
    使用NS<b class='flag-5'>1</b><b class='flag-5'>串口服務器</b>HTTP模式上傳<b class='flag-5'>服務器</b>數據

    串口服務器是什么?4路、8路、16路串口服務器有什么區別?

    蜀瑞創新為大家科普:串口服務器是一種用于通過網絡連接兩個或多個串口設備的聯網設備。它能夠將RS-232/485/422等串口設備聯入TCP/IP網絡,實現串口與TCP/IP網絡接口的數
    的頭像 發表于 08-27 14:55 ?532次閱讀

    串口服務器和TCP/IP協議棧是什么關系

    串口服務器與TCP/IP協議棧之間存在著緊密而復雜的關系。這種關系主要體現在串口服務器如何利用TCP/IP協議棧來實現串口設備與網絡之間的數據通信。以下是對這種關系的詳細解析。
    的頭像 發表于 08-25 17:35 ?1606次閱讀

    串口服務器的定義和功能

    串口服務器,作為一種重要的網絡設備,在現代通信和數據傳輸中扮演著至關重要的角色。以下是對串口服務器的詳細解析,包括其定義、功能、工作原理、應用領域以及未來發展等方面。
    的頭像 發表于 08-25 17:21 ?2026次閱讀

    PLC連接串口服務器RS485轉以太網步驟

    連接RS485端口 :使用適當的電纜將PLC的RS485端口連接到串口服務器的RS485端口。 連接以太網 :使用以太網線纜將串口服務器的以太網端口連接到網絡交換機或路由上。
    的頭像 發表于 07-18 09:11 ?2413次閱讀
    PLC連接<b class='flag-5'>串口服務器</b>RS485轉以太網步驟

    WiFi串口服務器與工業路由:局域網應用的協同之力

    在工業物聯網(IIoT)迅猛發展的當下,局域網(LAN)作為連接工業設備與數據中心的橋梁,其重要性日益凸顯。WiFi串口服務器與工業路由作為局域網中的關鍵組件,以其獨特的性能和功能,為傳統行業
    的頭像 發表于 05-31 18:40 ?349次閱讀
    WiFi<b class='flag-5'>串口服務器</b>與工業路由<b class='flag-5'>器</b>:局域網應用的協同之力

    智嵌物聯串口服務器成對使用模式演示

    成對連接模式的兩種拓撲 1.智嵌物聯串口服務器通過交換機連接 此種模式特點是,串口服務器都接到由交換機組成的局域網內(在一個網段內),用現有的網絡布線取代原來的串口布線。網絡拓撲如
    的頭像 發表于 05-30 08:33 ?406次閱讀
    智嵌物聯<b class='flag-5'>串口服務器</b>成對使用模式演示

    串口服務器在工業控制領域的應用:深度解析與前沿實踐

    在工業控制領域,隨著技術的不斷發展,傳統的串口通信方式已經難以滿足現代工業系統對高效、穩定、安全通信的需求。此時,串口服務器作為一種先進的通信技術解決方案,正在逐步改變工業控制領域的通信格局。本文將
    的頭像 發表于 05-21 16:50 ?511次閱讀

    串口服務器——小巧精致的高性能串口轉以太網/WIFI服務器

    本周推薦WIFI版/以太網版串口服務器博達智聯——工業級WIFI版/以太網版串口服務器,博達智聯最新推出的串口服務器系列產品,可實現串口與以太網口/WIFI數據間的雙向透明傳輸,提供博
    的頭像 發表于 05-01 08:34 ?567次閱讀
    <b class='flag-5'>串口服務器</b>——小巧精致的高性能<b class='flag-5'>串口</b>轉以太網/WIFI<b class='flag-5'>服務器</b>

    什么是DTU和串口服務器的區別

    在工業物聯網的快速發展中,數據傳輸單元(DTU)和串口服務器作為兩種關鍵設備,各自扮演著重要的角色。對于傳統行業來說,了解它們的基本概念和區別,有助于更好地選擇和應用這些技術,提升生產效率和智能化
    的頭像 發表于 04-25 20:48 ?605次閱讀

    串口服務器模組煥新

    串口服務器模組作為一種重要的通信接口轉換設備,極大地促進了傳統串口設備與現代網絡技術的融合,為實現設備遠程管理、數據透明傳輸及物聯網應用提供了便捷解決方案。什么是串口服務器模組?串口服務器
    的頭像 發表于 04-19 08:19 ?410次閱讀
    <b class='flag-5'>二</b>代<b class='flag-5'>串口服務器</b>模組煥新

    工業串口設備通訊神器:串口服務器CS64J

    在當今工業物聯網應用中,串口服務器的應用非常普遍。無論是RS485還是RS232串口通訊,串口服務器都能夠輕松實現虛擬串口串口以太網雙向數
    的頭像 發表于 03-21 17:09 ?508次閱讀
    工業<b class='flag-5'>串口</b>設備通訊神器:<b class='flag-5'>串口服務器</b>CS64J

    串口服務器作用與實際應用實例詳解

    串口服務器是什么串口服務器是一種將串口設備連接到網絡的設備,它充當了串口設備和網絡之間的橋梁,能夠擺脫物理電纜長度的限制,無論位于任何地方,都可以通過以太網連接
    的頭像 發表于 03-12 14:59 ?883次閱讀
    <b class='flag-5'>串口服務器</b>作用與實際應用實例詳解
    主站蜘蛛池模板: 91黄色影院| 伊人久久大香线蕉资源| 亚洲无线观看国产| 国产精品伦一区二区三级视频| 男女牲交大战免费播放| 永久adc视频年龄确认| 果冻传媒在线播放| 亚洲AV成人片色在线观看网站| 国产AV精品白浆一区二| 日本在线免费| 第四色播日韩AV第一页| 日本伦理片 中文字幕| sao虎影院桃红视频在线观看| 蜜桃成人在线| 99亚洲精品| 日本50人群体交乱| 俄罗斯大肥BBXX| 特级做A爰片毛片免费看108| 大地影院免费观看视频| 日日噜噜大屁股熟妇| 光棍天堂在线a| 羞羞影院午夜男女爽爽免费| 国产亚洲精品线观看不卡| 亚洲精品一二三| 久久受www免费人成_看片中文| 中文字幕永久在线观看| 欧美成人国产| 国产成人精品免费视频大全办公室| 日本毛片久久国产精品| 国产白浆视频在线播放| 亚洲高清无在码在线电影| 精品国产成a人在线观看| 中国hdxxxx医院护士| 女人色极品影院| 国产成年网站v片在线观看| 亚洲国产在线2o20| 理论片87福利理论电影| 办公室中文BD| 亚洲精品青青草原avav久久qv| 久久久精品国产免费A片胖妇女| 97视频在线观看免费播放|