加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專(zhuān)業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入
  • 正文
    • ??簡(jiǎn)介
    • ??前期準(zhǔn)備
    • ??節(jié)點(diǎn)介紹
    • ??業(yè)務(wù)開(kāi)發(fā)
    • ??結(jié)果驗(yàn)證
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

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

2023/07/05
2487
閱讀需 17 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

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

??簡(jiǎn)介

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

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

注:ZWS物聯(lián)網(wǎng)云平臺(tái)是致遠(yuǎn)電子推出的物聯(lián)網(wǎng)IoT云平臺(tái)本次實(shí)驗(yàn)選用MPC-ZC1的串口2作為目標(biāo)串口,實(shí)驗(yàn)?zāi)繕?biāo)如下圖:

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

??前期準(zhǔn)備

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

    • EsDA?MPC-ZC1?入門(mén)(一)——?軟件安裝EsDA?MPC-ZC1?入門(mén)(二)——?LED?控制EsDA?MPC-ZC1?應(yīng)用——串口服務(wù)器(一)

EsDA?MPC-ZC1?應(yīng)用——串口服務(wù)器(二)

1. ZWS云平臺(tái)入門(mén)與相關(guān)準(zhǔn)備工作

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

* 可通過(guò)ZWS物聯(lián)網(wǎng)云平臺(tái)上的ZLG物聯(lián)網(wǎng)平臺(tái)教程深入學(xué)習(xí)ZWS云平臺(tái)的使用。

1.1 使用ZWS云平臺(tái)的準(zhǔn)備工作

1.1.1 點(diǎn)擊www.zlgcloud.com進(jìn)入zws云平臺(tái)主頁(yè),創(chuàng)建云平臺(tái)賬號(hào),并登錄。

1.1.2 在ZWS云平臺(tái)創(chuàng)建自己的設(shè)備。

在ZWS云平臺(tái)創(chuàng)建設(shè)備,首先要?jiǎng)?chuàng)建設(shè)備類(lèi)型,打開(kāi)設(shè)備類(lèi)型管理頁(yè)面。

點(diǎn)擊添加類(lèi)型。

選擇basic模板,并將新設(shè)備類(lèi)型命名為aw_flow_test。

點(diǎn)擊確定,完成設(shè)備類(lèi)型的創(chuàng)建。

1.1.3?添加設(shè)備

有了設(shè)備類(lèi)型,就可以開(kāi)始創(chuàng)建設(shè)備了,打開(kāi)設(shè)備列表頁(yè)面。

點(diǎn)擊添加設(shè)備。

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

點(diǎn)擊保存,完成設(shè)備添加。

點(diǎn)擊返回設(shè)備列表。

即可在設(shè)備列表中看到新添加的設(shè)備。

2. 硬件相關(guān)準(zhǔn)備工作

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

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

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

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

??節(jié)點(diǎn)介紹

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

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

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

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

配置節(jié)點(diǎn)(config類(lèi)型)不具備輸入輸出。

1.2 serial_in_ex

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

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

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

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

1.2.2 輸入

pump類(lèi)型節(jié)點(diǎn)通常不具備數(shù)據(jù)輸入。

1.2.3 輸出

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

payloadLength:?數(shù)據(jù)長(zhǎng)度,uint32_t 類(lèi)型;

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

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

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

1.3 serial_out_ex

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

1.3.1 屬性

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

1.3.2 輸入

payload:?負(fù)載數(shù)據(jù),字符串類(lèi)型(也可按二進(jìn)制轉(zhuǎn)換);

payloadLength:?負(fù)載數(shù)據(jù)長(zhǎng)度,uint32_t類(lèi)型;

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

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

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

1.3.3 輸出

sink類(lèi)型節(jié)點(diǎn)通常不具備數(shù)據(jù)輸出。

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

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

2.1?zws_iot

zws_iot配置節(jié)點(diǎn),屬于隱式節(jié)點(diǎn),不會(huì)被顯示在畫(huà)布中,需要和配套的對(duì)應(yīng)功能節(jié)點(diǎn)一起使用,主要用于配置連接zws云平臺(tái)的相關(guān)參數(shù)。

2.1.1 屬性

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

配置節(jié)點(diǎn)(config類(lèi)型)不具備輸入輸出功能

2.2 zws_iot_data_out

ZWS數(shù)據(jù)上報(bào)節(jié)點(diǎn),上報(bào)數(shù)據(jù)到zws云平臺(tái)。

2.2.1 屬性

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

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

設(shè)備配置(config):?綁定一個(gè)zws_iot配置節(jié)點(diǎn);

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

目標(biāo)鍵值對(duì)(key_names):?指定上報(bào)的數(shù)據(jù)點(diǎn)名稱。

2.2.2 輸入

payload:?要上報(bào)給zws云平臺(tái)的數(shù)據(jù);

其他屬性:?當(dāng)與 key_names 匹配時(shí)有效。

2.3 zws_iot_data_in

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

2.3.1 屬性

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

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

設(shè)備配置(config): 綁定一個(gè)zws_iot配置節(jié)點(diǎn)。

2.3.2 輸出

payload: 字符串類(lèi)型,ZWS云平臺(tái)的下發(fā)的字符串?dāng)?shù)據(jù)。

??業(yè)務(wù)開(kāi)發(fā)

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

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

1.1.2 配置串口

雙擊serial_in_ex節(jié)點(diǎn),打開(kāi)屬性面板。

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

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

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

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

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

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

關(guān)于fscript請(qǐng)?jiān)L問(wèn)fscript教程,可閱讀該文檔深入了解。

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

1.2.1 將fscript腳本節(jié)點(diǎn)拖動(dòng)到畫(huà)布。

1.2.2 添加解析腳本

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

功能代碼如下:

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é)點(diǎn)

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

雙擊zws_iot_data_out節(jié)點(diǎn),打開(kāi)屬性面板,選擇RAW上報(bào)方式。

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

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

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

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

1.4?繪制流圖

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

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

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

將一個(gè)新的fscript腳本節(jié)點(diǎn)拖動(dòng)到畫(huà)布,并按下圖所示進(jìn)行配置,然后點(diǎn)擊右上角完成。

功能代碼如下:

var?str=msg.payload

output.payload=str

output.payloadLength=ulen(str)

2.2 繪制流圖

將畫(huà)布里的zws_iot_data_in節(jié)點(diǎn)、zws_to_serial節(jié)點(diǎn)、zws_iot_data_out節(jié)點(diǎn)按照下圖所示依次連接起來(lái)。

這樣,ZWS云平臺(tái)到串口的流圖就完成了。

??結(jié)果驗(yàn)證

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

1. 驗(yàn)證串口到ZWS云平臺(tái)

1.1 PC機(jī)打開(kāi)串口工具(這里以sscom_v5.13.1為例),并選擇之前接到PC機(jī)上的USB轉(zhuǎn)TTL工具的對(duì)應(yīng)COM口,波特率選擇115200。

1.2 點(diǎn)擊https://www.zlgcloud.com/進(jìn)入zws云平臺(tái)主頁(yè),登錄云平臺(tái)賬號(hào),并打開(kāi)設(shè)備列表,選擇剛才創(chuàng)建的設(shè)備,并點(diǎn)擊設(shè)備詳情。

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

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

2. 驗(yàn)證ZWS云平臺(tái)到串口

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

2.2 sscom會(huì)接收到來(lái)自zws云平臺(tái)字符串?dāng)?shù)據(jù)。

 

 

 

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
PD69208T4ILQ-TR-LE 1 Microchip Technology Inc IEEE 802.3at/bt Type 4/PoH8 ports Fully Integrated PSE Manager Industrial Temp
$11.76 查看
KSZ8863RLLI-TR 1 Microchip Technology Inc DATACOM, LAN SWITCHING CIRCUIT
$5.09 查看
BT121-A-V2 1 Silicon Laboratories Inc Telecom Circuit, 1-Func, MODULE-33

ECAD模型

下載ECAD模型
$27.77 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜