• 正文
    • ??簡介
    • ??前期準備
    • ??節(jié)點介紹
    • ??業(yè)務開發(fā)
    • ??結果驗證
  • 推薦器件
  • 相關推薦
申請入駐 產(chǎn)業(yè)圖譜

【EsDA應用】串口轉zws物聯(lián)網(wǎng)云平臺

2023/07/05
1911
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

物聯(lián)網(wǎng)逐漸成為各種行業(yè)的一個標配,如何讓設備快速接入物聯(lián)網(wǎng)云平臺,將是產(chǎn)品在行業(yè)競爭中制勝的關鍵。

??簡介

在實際項目中,我們經(jīng)常會用到串口服務器,以提供串口與網(wǎng)絡服務器之間的?雙向數(shù)據(jù)透明傳輸?為核心業(yè)務。其能在不用修改原有產(chǎn)品系統(tǒng)的情況下,為串口設備提供了便捷的聯(lián)網(wǎng)通道,即擴展了物聯(lián)網(wǎng)功能,又保障了原有系統(tǒng)的穩(wěn)定性。

本文以實現(xiàn)?串口轉ZWS(即提供串口與ZWS云平臺之間的?雙向數(shù)據(jù)透明傳輸?業(yè)務)為目標,展開講解,介紹如何通過 EsDA 工具和MPC-ZC1平臺,進行圖形化低代碼應用開發(fā),快速完成一個簡易的串口服務器。

注:ZWS物聯(lián)網(wǎng)云平臺是致遠電子推出的物聯(lián)網(wǎng)IoT云平臺本次實驗選用MPC-ZC1的串口2作為目標串口,實驗目標如下圖:

    pc機串口對MPC-ZC1的串口2發(fā)送數(shù)據(jù),等效對ZWS云平臺發(fā)送數(shù)據(jù);pc機串口讀MPC-ZC1的串口2接收到的數(shù)據(jù),等效讀ZWS云平臺下發(fā)的數(shù)據(jù)。

??前期準備

若是剛開始接觸EsDA MPC-ZC1 ,可先閱讀?EsDA MPC-ZC1系列?文章,從零開始搭建環(huán)境和掌握基本開發(fā)流程,已有基礎的可以跳過:

    • EsDA?MPC-ZC1?入門(一)——?軟件安裝EsDA?MPC-ZC1?入門(二)——?LED?控制EsDA?MPC-ZC1?應用——串口服務器(一)

EsDA?MPC-ZC1?應用——串口服務器(二)

1. ZWS云平臺入門與相關準備工作

ZWS物聯(lián)網(wǎng)云平臺是致遠電子推出的物聯(lián)網(wǎng)IoT云平臺,和阿里云類似,可以接入各種IoT設備。?在瀏覽器上打開?www.zlgcloud.com?,可自行注冊賬號,可免費使用ZWS云平臺提供的設備管理、數(shù)據(jù)管理、項目管理、觸發(fā)規(guī)則管理等各種功能。

* 可通過ZWS物聯(lián)網(wǎng)云平臺上的ZLG物聯(lián)網(wǎng)平臺教程深入學習ZWS云平臺的使用。

1.1 使用ZWS云平臺的準備工作

1.1.1 點擊www.zlgcloud.com進入zws云平臺主頁,創(chuàng)建云平臺賬號,并登錄。

1.1.2 在ZWS云平臺創(chuàng)建自己的設備。

在ZWS云平臺創(chuàng)建設備,首先要創(chuàng)建設備類型,打開設備類型管理頁面。

點擊添加類型。

選擇basic模板,并將新設備類型命名為aw_flow_test。

點擊確定,完成設備類型的創(chuàng)建。

1.1.3?添加設備

有了設備類型,就可以開始創(chuàng)建設備了,打開設備列表頁面。

點擊添加設備。

設備類型選擇剛才新建的aw_flow_test類型,并將設備的名稱命名為test和ID命名為zc1。

點擊保存,完成設備添加。

點擊返回設備列表。

即可在設備列表中看到新添加的設備。

2. 硬件相關準備工作

2.1 準備一個usb轉TTL串口工具(文中使用的是ch340芯片作為主控一款工具,選用其它等效型號亦可),如下圖所示:

2.2 準備好MPC-ZC1開發(fā)板,并按照下圖所示連接好硬件。

將MPC-ZC1開發(fā)板引出的TX2與RX2分別與usb轉TTL串口工具的RX與TX連接,并將usb轉TTL串口工具插到pc機usb口上。

至此,準備工作已經(jīng)完成。

??節(jié)點介紹

1. 串口系列節(jié)點介紹

MPC-ZC1串口通信,需要使用到AWFlow如下節(jié)點: serial_ex、serial_in_ex、serial_out_ex。1.1 serial_ex串口配置節(jié)點,屬于隱式節(jié)點,不會被顯示在畫布中,通常用于進行參數(shù)的配置,需要和配套對應的功能節(jié)點一起使用。1.1.1 屬性

    名稱(name):?節(jié)點名稱,用于索引查找本節(jié)點;顯示名稱(displayName):?用于畫布上顯示的名稱;端口(port):?用于索引串口設備;波特率(baudrate):?串口波特率參數(shù);字節(jié)大?。╞ytesize):?數(shù)據(jù)位參數(shù);奇偶校驗(parity):?串口奇偶校驗位參數(shù);停止位(stopbits):?串口停止位參數(shù);流控(flowcontrol):?串口流控模式配置;幀超時(frame_timeout):?收到數(shù)據(jù)后的總體等待時間;幀長度(frame_length):?期望收據(jù)的數(shù)據(jù)長度;碼間超時(intersymbol_timeout):?字節(jié)間的最大超時時間。

* 其中幀超時、幀長度、碼間超時可用于分包應用,3個參數(shù)可同時使用,任意一個條件滿足都會觸發(fā)分包。

配置節(jié)點(config類型)不具備輸入輸出。

1.2 serial_in_ex

串口接收節(jié)點,負責讀取指定串口接收到的數(shù)據(jù)。1.2.1 屬性

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

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

配置節(jié)點名稱(config):?綁定一個串口配置節(jié)點。

1.2.2 輸入

pump類型節(jié)點通常不具備數(shù)據(jù)輸入。

1.2.3 輸出

payload:?讀取到串口接收的數(shù)據(jù),字符串(可按二進制提?。?;

payloadLength:?數(shù)據(jù)長度,uint32_t 類型;

payloadType:payload 的數(shù)據(jù)類型,用于后續(xù)節(jié)點數(shù)據(jù)處理;

istream:?數(shù)據(jù)流對象,保存著串口接收的原始數(shù)據(jù)流;

* 當?幀超時、幀長度、碼間超時?其中任意參數(shù)有效時,輸出payload 格式,否則輸出 istream。

1.3 serial_out_ex

串口發(fā)送節(jié)點,將上級節(jié)點輸出的數(shù)據(jù)發(fā)送至串口發(fā)送接口。

1.3.1 屬性

    名稱(name):?節(jié)點名稱,用于索引查找本節(jié)點;顯示名稱(displayName):?用于畫布上顯示的名稱;配置節(jié)點名稱(config):?綁定一個串口配置節(jié)點。

1.3.2 輸入

payload:?負載數(shù)據(jù),字符串類型(也可按二進制轉換);

payloadLength:?負載數(shù)據(jù)長度,uint32_t類型;

payloadType:?指示payload的數(shù)據(jù)類型;

istream:?數(shù)據(jù)流對象;

*?支持輸入 payload 和 istream 數(shù)據(jù),優(yōu)先使用 istream。

1.3.3 輸出

sink類型節(jié)點通常不具備數(shù)據(jù)輸出。

2. zws云系列節(jié)點介紹

zws云數(shù)據(jù)收發(fā),需要使用到AWFlow如下節(jié)點: zws_iot 、zws_iot data_out、zws_iot data_in。

2.1?zws_iot

zws_iot配置節(jié)點,屬于隱式節(jié)點,不會被顯示在畫布中,需要和配套的對應功能節(jié)點一起使用,主要用于配置連接zws云平臺的相關參數(shù)。

2.1.1 屬性

    名稱(name):?節(jié)點名稱,用于索引查找本節(jié)點;顯示名稱(displayName):?用于畫布上顯示的名稱;是否連接(connection_status):?使能立即連接;設備類型(dev_type):ZWS 三元組-設備類型;設備ID(dev_id):ZWS 三元組-設備ID;設備密鑰(dev_secret):ZWS 三元組-設備密鑰;固件版本(firmware_version):?設備固件版本,產(chǎn)品自定;設備心跳周期(keep_alive_interval):?心跳周期。

配置節(jié)點(config類型)不具備輸入輸出功能

2.2 zws_iot_data_out

ZWS數(shù)據(jù)上報節(jié)點,上報數(shù)據(jù)到zws云平臺。

2.2.1 屬性

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

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

設備配置(config):?綁定一個zws_iot配置節(jié)點;

數(shù)據(jù)上報方式(output_type):?選擇上報數(shù)據(jù)方式;

目標鍵值對(key_names):?指定上報的數(shù)據(jù)點名稱。

2.2.2 輸入

payload:?要上報給zws云平臺的數(shù)據(jù);

其他屬性:?當與 key_names 匹配時有效。

2.3 zws_iot_data_in

ZWS 數(shù)據(jù)接收節(jié)點,接收zws云平臺下發(fā)的數(shù)據(jù)。

2.3.1 屬性

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

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

設備配置(config): 綁定一個zws_iot配置節(jié)點。

2.3.2 輸出

payload: 字符串類型,ZWS云平臺的下發(fā)的字符串數(shù)據(jù)。

??業(yè)務開發(fā)

我們主要是通過EsDA工具和MPC-ZC1平臺,實現(xiàn)串口轉zws。即在pc機上使用usb轉串口工具連接MPC-ZC1開發(fā)板串口就可發(fā)送數(shù)據(jù)到zws云平臺或讀取zws云平臺下發(fā)的數(shù)據(jù)。

1. 實現(xiàn)串口到ZWS云1.1 添加串口節(jié)點1.1.1?添加serial_in_ex與serial_out_ex到畫布上,備用。

1.1.2 配置串口

雙擊serial_in_ex節(jié)點,打開屬性面板。

選擇?“添加新的serial_ex節(jié)點”?,點擊編輯配置,進入配置節(jié)點屬性面板。

配置如下圖所示,點擊右上角添加/更新完成配置

可以看到已經(jīng)創(chuàng)建了一個新的配置節(jié)點,名為serial_ex,選擇其作為配置節(jié)點,點擊完成結束serial_in_ex節(jié)點的配置。

同樣地,雙擊serial_out_ex節(jié)點,打開屬性面板,直接選擇剛剛創(chuàng)建的serial_ex節(jié)點作為配置節(jié)點。

1.2?添加和配置fscript腳本節(jié)點

fscript腳本節(jié)點可執(zhí)行一段fscript腳本,可以為initialize、 func 和 finalize 分別指定一段腳本。

關于fscript請訪問fscript教程,可閱讀該文檔深入了解。

https://github.com/zlgopen/awtk/blob/master/docs/fscript.md

1.2.1 將fscript腳本節(jié)點拖動到畫布。

1.2.2 添加解析腳本

添加腳本,從串口流讀取字符串數(shù)據(jù),并根據(jù)zws_iot_data_out節(jié)點的數(shù)據(jù)上報模式RAW模式進行組包,同時將fscript腳本節(jié)點顯示名稱為serial_to_zws,點擊完成保存。

功能代碼如下:

var str = istream_read_string(msg.istream, 100)

output.payload=str

output.payloadLength=ulen(str)

1.3 添加zws_iot_data_out?與zws_iot_data_in節(jié)點

1.3.1 配置連接zws云平臺的參數(shù)

雙擊zws_iot_data_out節(jié)點,打開屬性面板,選擇RAW上報方式。

選擇?“添加新的zws_iot節(jié)點”?,點擊編輯配置。

進入zws_iot配置節(jié)點屬性面板(設備類型、設備id、設備密鑰必須與之前在zws云平臺上創(chuàng)建的設備一致,否則無法登錄成功),點擊右上角添加/更新,完成配置。

可以看到已經(jīng)創(chuàng)建了一個新的配置節(jié)點,名為zws_iot_test,選擇其作為配置節(jié)點,點擊完成,結束zws_iot_data_out節(jié)點的配置。

雙擊zws_iot_data_in節(jié)點,打開屬性面板,也選擇剛剛創(chuàng)建的zws_iot_test作為配置節(jié)點,然后點擊右上角完成節(jié)點配置。

1.4?繪制流圖

將畫布里的serial_in_ex節(jié)點、serial_to_zws節(jié)點、zws_iot_data_out節(jié)點按照下圖所示依次連接起來。這樣,串口到ZWS云平臺的流圖就完成了。

2. 實現(xiàn)ZWS云到串口

2.1 添加fscript腳本節(jié)點

將一個新的fscript腳本節(jié)點拖動到畫布,并按下圖所示進行配置,然后點擊右上角完成。

功能代碼如下:

var?str=msg.payload

output.payload=str

output.payloadLength=ulen(str)

2.2 繪制流圖

將畫布里的zws_iot_data_in節(jié)點、zws_to_serial節(jié)點、zws_iot_data_out節(jié)點按照下圖所示依次連接起來。

這樣,ZWS云平臺到串口的流圖就完成了。

??結果驗證

將上一小節(jié)繪制好的流圖下載到MPC-ZC1板子里,我們就可以開始驗證結果啦。

1. 驗證串口到ZWS云平臺

1.1 PC機打開串口工具(這里以sscom_v5.13.1為例),并選擇之前接到PC機上的USB轉TTL工具的對應COM口,波特率選擇115200。

1.2 點擊https://www.zlgcloud.com/進入zws云平臺主頁,登錄云平臺賬號,并打開設備列表,選擇剛才創(chuàng)建的設備,并點擊設備詳情。

1.3 點擊實時數(shù)據(jù),并選擇raw數(shù)據(jù)。

1.4 使用sscom發(fā)送字符串數(shù)據(jù),在ZWS云平臺實時數(shù)據(jù)網(wǎng)頁就能看到接收到的數(shù)據(jù)。

2. 驗證ZWS云平臺到串口

2.1 點擊設備控制,根據(jù)下圖配置,并點擊發(fā)送,若發(fā)送成功網(wǎng)頁會彈出“發(fā)送成功提示框"。

2.2 sscom會接收到來自zws云平臺字符串數(shù)據(jù)。

 

 

 

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風險等級 參考價格 更多信息
TJA1051TK/3,118 1 NXP Semiconductors TJA1051 - High-speed CAN transceiver SON 8-Pin

ECAD模型

下載ECAD模型
$1.64 查看
ADL5561ACPZ-R7 1 Analog Devices Inc 2.9 GHz Ultralow Distortion RF/IF Differential Amplifier

ECAD模型

下載ECAD模型
$9.28 查看
ISO1042DWV 1 Texas Instruments Isolated CAN transceiver with 70-V bus fault protection & flexible data rate 8-SOIC -40 to 125

ECAD模型

下載ECAD模型
暫無數(shù)據(jù) 查看
致遠電子

致遠電子

廣州致遠電子股份有限公司成立于2001年,注冊資金5000萬元,國家級高新技術認證企業(yè),廣州市高端工控測量儀器工程技術研究開發(fā)中心,Intel ECA全球合作伙伴和微軟嵌入式系統(tǒng)金牌合作伙伴。

廣州致遠電子股份有限公司成立于2001年,注冊資金5000萬元,國家級高新技術認證企業(yè),廣州市高端工控測量儀器工程技術研究開發(fā)中心,Intel ECA全球合作伙伴和微軟嵌入式系統(tǒng)金牌合作伙伴。收起

查看更多

相關推薦

登錄即可解鎖
  • 海量技術文章
  • 設計資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄