0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一文搞懂用ZPC輕松拿捏數(shù)據(jù)上云

ZLG致遠(yuǎn)電子 ? 2024-09-05 08:05 ? 次閱讀

ZPC是ZLG全新研發(fā)的顯控一體機(jī)。開源AWTK,版權(quán)無憂!AWFlow流圖編程,開發(fā)很簡單!多種通信協(xié)議,設(shè)備互聯(lián)超便捷!更有ZWS,數(shù)據(jù)上云很輕松!本文將介紹ZPC輕松拿捏數(shù)據(jù)上云。

831a0028-6b1a-11ef-bb4b-92fbcf53809c.jpg ?ZPC簡介

ZPC系列顯控一體機(jī) 是廣州致遠(yuǎn)電子全新研發(fā)的集“顯示”+“控制”一體化的高性能顯控終端產(chǎn)品。外框采用鋁合金材質(zhì),簡潔耐用;產(chǎn)品集成了多路隔離RS485、多路隔離CAN總線、多路千兆以太網(wǎng)等豐富外設(shè)。一觸即發(fā),隨心控制。產(chǎn)品支持多種工業(yè)通信協(xié)議,工業(yè)互聯(lián)超便捷!支持拖拽式開源AWTK GUI,版權(quán)無憂!支持AWFlow流圖編程,應(yīng)用開發(fā)很簡單!還支持ZWS云,數(shù)據(jù)上云很輕松!

ZPC系列顯控一體機(jī)

? RK3568處理器

? 顯控一體機(jī)

? 國產(chǎn)顯控

? 工業(yè)自動(dòng)化

831a0028-6b1a-11ef-bb4b-92fbcf53809c.jpg ?ZWS簡介

ZWS IoT-PaaS云平臺(tái),是一個(gè)開放的物聯(lián)網(wǎng)云平臺(tái),可以為用戶提供多種協(xié)議設(shè)備的快速接入、設(shè)備管理、事件告警、數(shù)據(jù)統(tǒng)計(jì)分析等功能,幫助企業(yè)快速實(shí)現(xiàn)低成本搭建行業(yè)SaaS應(yīng)用系統(tǒng),助力企業(yè)實(shí)現(xiàn)數(shù)字化轉(zhuǎn)型。8330c2b8-6b1a-11ef-bb4b-92fbcf53809c.png

831a0028-6b1a-11ef-bb4b-92fbcf53809c.jpg ?原理介紹ZPC擁有多路隔離RS485、多路隔離CAN總線、多路DI/DO以及多路千兆以太網(wǎng)等豐富的外設(shè)接口資源。為了避免大家手頭沒有RS485傳感器,本次我們將演示ZPC一機(jī)搞定數(shù)據(jù)輕松上云。原理是我們?cè)赯PC上編程從RS-485-3接口輸出1~100的數(shù)據(jù),RS-485-4接口采集這些數(shù)據(jù)然后通過以太網(wǎng)接口采用MQTT協(xié)議上傳到ZWS云。

831a0028-6b1a-11ef-bb4b-92fbcf53809c.jpg ?準(zhǔn)備工作

ZPC-101Q55RTW-01顯控一體機(jī)1臺(tái);

安裝Ubuntu虛擬機(jī)或Ubuntu系統(tǒng)的PC機(jī)1臺(tái);

USB轉(zhuǎn)RS232調(diào)試串口1個(gè);

12V@2A的電源適配器1個(gè);

MobaXterm上位機(jī)軟件;

雙公頭網(wǎng)線1根;

杜邦線若干。

在開始前,我們先使用杜邦線將RS485-3和RS485-4接口連通,如下圖所示位置(A3接A4,B3接B4)。

8361f18a-6b1a-11ef-bb4b-92fbcf53809c.png

調(diào)試串口連接到ZPC,網(wǎng)線連接到可以上網(wǎng)的電腦,然后給ZPC插上適配器上電。通過MobaXterm或者其它串口調(diào)試上位機(jī)登錄ZPC,波特率為115200,8位數(shù)據(jù)位,1位停止位,無奇偶校驗(yàn),無流控。超級(jí)用戶賬號(hào)密碼同為root。然后使用ping指令進(jìn)行測(cè)試對(duì)外網(wǎng)的連通情況,如下圖所示即為可以上網(wǎng)。8377f4d0-6b1a-11ef-bb4b-92fbcf53809c.png
838dae56-6b1a-11ef-bb4b-92fbcf53809c.jpg ?ZWS建模首先,需要準(zhǔn)備一個(gè)ZWS云平臺(tái)賬號(hào),注冊(cè)并登錄進(jìn)入官網(wǎng)后,可以看到類似界面如下圖所示。

839ac33e-6b1a-11ef-bb4b-92fbcf53809c.png

接著需要對(duì)設(shè)備進(jìn)行建模,建模的意義在于創(chuàng)建一個(gè)設(shè)備類型,方便后續(xù)對(duì)同一類型設(shè)備和數(shù)據(jù)的管理。我們可以將ZPC一體機(jī)視為一個(gè)網(wǎng)關(guān)設(shè)備,也可以作為一個(gè)普通設(shè)備。如下圖所示,依次點(diǎn)擊設(shè)備建模、設(shè)備類型、自定義、添加設(shè)備類型。

83a8f6c0-6b1a-11ef-bb4b-92fbcf53809c.png

如下圖所示填寫所需的設(shè)備類型信息。其中類型名稱只可為英文、數(shù)字或者一些特殊符號(hào)。

83c3fdb2-6b1a-11ef-bb4b-92fbcf53809c.png

填寫完成后,即可在界面看到所創(chuàng)建的設(shè)備類型。

83cddb34-6b1a-11ef-bb4b-92fbcf53809c.png

創(chuàng)建完成設(shè)備類型后,還需要添加一個(gè)實(shí)際的設(shè)備。如下圖所示,我們依次點(diǎn)擊設(shè)備管理、設(shè)備列表、添加設(shè)備。

83d803e8-6b1a-11ef-bb4b-92fbcf53809c.png

然后這里需要填寫設(shè)備類型、設(shè)備名稱、設(shè)備ID和設(shè)備密鑰。其中,ID和密鑰我們可以通過串口助手使用opensslrand-hex16命令在ZPC一體機(jī)上生成一個(gè)長度為32的十六進(jìn)制隨機(jī)數(shù)來使用,如下圖所示。

83e53fc2-6b1a-11ef-bb4b-92fbcf53809c.png

最后填寫完畢設(shè)備信息如下圖所示。(實(shí)際生產(chǎn)過程中,推薦使用機(jī)器序列號(hào)或其他唯一標(biāo)識(shí)作為ID)

83ef369e-6b1a-11ef-bb4b-92fbcf53809c.png

填寫完成并確認(rèn)后,可以在設(shè)備列表中看到創(chuàng)建完成的設(shè)備。

8402dc1c-6b1a-11ef-bb4b-92fbcf53809c.png

接下來,需要對(duì)上報(bào)的數(shù)據(jù)進(jìn)行編輯。我們點(diǎn)擊設(shè)備建模、設(shè)備類型、自定義,找到剛才創(chuàng)建的設(shè)備類型,點(diǎn)擊編輯。

84150a5e-6b1a-11ef-bb4b-92fbcf53809c.png

這里顯示有兩個(gè)功能組,其中common_fn是全局通用功能模塊,其中包含上報(bào)原始數(shù)據(jù)(raw_data)的功能(本文不涉及,暫不展開);ZPC_101Q55RTW_01_fn是針對(duì)本次創(chuàng)建的設(shè)備類型的功能模塊,點(diǎn)擊ZPC_101Q55RTW_01_fn的編輯按鈕。

84209f40-6b1a-11ef-bb4b-92fbcf53809c.png

創(chuàng)建對(duì)應(yīng)的數(shù)據(jù)組和數(shù)據(jù)字段。

842a844c-6b1a-11ef-bb4b-92fbcf53809c.png

數(shù)據(jù)組可以將所有的同類型數(shù)據(jù)作為一個(gè)數(shù)據(jù)組。比如使用ZPC一體機(jī)進(jìn)行檢測(cè)被測(cè)設(shè)備的壓力值,在此將壓力值(pressure)作為一個(gè)數(shù)據(jù)組如下圖所示。

84346ac0-6b1a-11ef-bb4b-92fbcf53809c.png

而數(shù)據(jù)字段代表了數(shù)據(jù)組下的一個(gè)數(shù)據(jù)字段內(nèi)容。比如檢測(cè)多個(gè)被測(cè)設(shè)備時(shí),可以將某一節(jié)點(diǎn)作為一個(gè)字段,在此模擬將節(jié)點(diǎn)1的壓力值作為一個(gè)pressure_node1數(shù)據(jù)字段,并將其設(shè)置為int類型數(shù)據(jù),如下圖所示。

843df9fa-6b1a-11ef-bb4b-92fbcf53809c.png至此,在ZWS上的準(zhǔn)備工作完畢。

831a0028-6b1a-11ef-bb4b-92fbcf53809c.jpg ?應(yīng)用編程1. 搭建數(shù)據(jù)上云

首先下載ZWS SDK包到Ubuntu虛擬機(jī)下(建議使用ubuntu20.04),并安裝gcc-aarch64-linux-gnu包。解壓SDK包到工作目錄后,進(jìn)入到zws_sdk_r2/mqttproto_V2.0.3.240626目錄。在根目錄下創(chuàng)建一個(gè)新的zpc.mk文件,用于構(gòu)建工程使用,程序清單如下。Z

MESSAGE(STATUS "BUILD FOR ZPC")#across compiler setting#include(CMakeForceCompiler)
set(CMAKE_SYSTEM_NAME Linux)set(CMAKE_SYSTEM_PROCESSOR arm)
set(CMAKE_C_COMPILER aarch64-linux-gnu-gcc)set(CMAKE_CXX_COMPILER aarch64-linux-gnu-g++)
#set(CMAKE_FIND_ROOT_PATH ${TOOL_CHAIN_DIR})set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)

在工程根目錄的CMakeLists.txt內(nèi)添加以下內(nèi)容,用于調(diào)用上文中的zpc.mk。

845ce3ec-6b1a-11ef-bb4b-92fbcf53809c.png

...#內(nèi)置對(duì)zpc-101q55rtw-01/zpc-101q55rtw-02的支持if(ZPC)#ADD_DEFINITIONS(-DARM_LINUX=1) #經(jīng)驗(yàn)證ADD_DEFINITIONS定義的變量,然后同一個(gè)文件引用該變量是無效的set(ARM_LINUX 1)execute_process(COMMAND ln -svf zpc.mk cross-linux.mk)endif()...

創(chuàng)建測(cè)試代碼文件,路徑為demos/src/zpc_test.c,詳見在線文檔https://manual.zlg.cn/web/#/331/13023 程序清單2的內(nèi)容,實(shí)現(xiàn)了從RS-485-4(對(duì)應(yīng)串口/dev/ttyS8)讀取數(shù)據(jù),并上報(bào)到ZWS,詳細(xì)可以參考代碼注釋。

并在demos/src/CMakeLists.txt中添加如下內(nèi)容用于編譯測(cè)試demo。847590cc-6b1a-11ef-bb4b-92fbcf53809c.png

...set(PRJ zpc_test)add_executable(${PRJ} "")target_sources(${PRJ} PRIVATE zpc_test.c ${shared_src})set_target_properties(${PRJ} PROPERTIES FOLDER "demos")target_link_libraries(${PRJ} client network ${SYS_LIBS})...

接下來執(zhí)行cmake . -DZPC=1,構(gòu)建編譯工程。

84854a12-6b1a-11ef-bb4b-92fbcf53809c.png

執(zhí)行make指令,編譯工程。可以看到成功構(gòu)建zpc_test文件(如果不成功,請(qǐng)檢查上述步驟)。

84904fca-6b1a-11ef-bb4b-92fbcf53809c.png

2. 搭建模擬數(shù)據(jù)

接下來,還需要實(shí)現(xiàn)從RS-485-3生成隨機(jī)數(shù)據(jù)并傳輸。另外創(chuàng)建一個(gè)文件夾(最好和前文的工程分開),在文件夾下創(chuàng)建main.c文件,程序清單如下:

#include #include #include #include #include #include // 配置串口int configure_serial_port(int fd) {struct termios tty;if (tcgetattr(fd, &tty) != 0) {perror("tcgetattr");return -1;}// 設(shè)置波特率cfsetospeed(&tty, B9600);cfsetispeed(&tty, B9600);// 設(shè)置字符大小、無奇偶校驗(yàn)、一個(gè)停止位tty.c_cflag &= ~PARENB; // 無奇偶校驗(yàn)tty.c_cflag &= ~CSTOPB; // 一個(gè)停止位tty.c_cflag &= ~CSIZE;tty.c_cflag |= CS8; // 8個(gè)數(shù)據(jù)位// 設(shè)置為非規(guī)范模式tty.c_lflag &= ~ICANON;tty.c_lflag &= ~ECHO;tty.c_lflag &= ~ECHOE;tty.c_lflag &= ~ISIG;// 禁用軟件流控制tty.c_iflag &= ~(IXON | IXOFF | IXANY);// 禁用硬件流控制tty.c_cflag &= ~CRTSCTS;// 設(shè)置讀取阻塞行為tty.c_cc[VMIN] = 1;tty.c_cc[VTIME] = 0;// 刷新串口設(shè)置if (tcsetattr(fd, TCSANOW, &tty) != 0) {perror("tcsetattr");return -1;}return 0;}int main() {int fd;int random_number;char buffer[4];// 打開串口設(shè)備fd = open("/dev/ttyS7", O_WRONLY | O_NOCTTY);if (fd == -1) {perror("open");return -1;}// 配置串口if (configure_serial_port(fd) != 0) {close(fd);return -1;}// 初始化隨機(jī)數(shù)生成器srand(time(NULL));while (1) {// 生成 1 到 100 之間的隨機(jī)數(shù)random_number = rand() % 100 + 1;snprintf(buffer, sizeof(buffer), "%d\n", random_number);// 向串口發(fā)送隨機(jī)數(shù)if (write(fd, buffer, sizeof(buffer)) == -1) {perror("write");close(fd);return -1;}// 延時(shí) 1 秒sleep(1);}// 關(guān)閉串口設(shè)備close(fd);return 0;}

保存文件后,執(zhí)行aarch64-linux-gnu-gcc main.c -o rs485_test生成測(cè)試文件。

84ac8e10-6b1a-11ef-bb4b-92fbcf53809c.png

831a0028-6b1a-11ef-bb4b-92fbcf53809c.jpg ?驗(yàn)證數(shù)據(jù)上云將上文中生成的測(cè)試程序zpc_test和rs485_test拷貝至ZPC一體機(jī),并執(zhí)行./rs485_test &,該程序?qū)腞S485-3隨機(jī)發(fā)送1~100的數(shù)據(jù)。由于RS-485-3(/dev/ttyS7)和RS-485-4(/dev/ttyS8)短接,可以直接使用cat /dev/ttyS8查看采集的數(shù)據(jù),如下圖所示。84c246ec-6b1a-11ef-bb4b-92fbcf53809c.png

最后執(zhí)行./zpc_test,便開始將RS-485-4讀取到的數(shù)據(jù)上報(bào)到ZWS。下圖中標(biāo)注的兩點(diǎn),為采集到的數(shù)據(jù)。

84d751ae-6b1a-11ef-bb4b-92fbcf53809c.png

打開ZWS IoT設(shè)備管理平臺(tái)界面,并按下圖所示選擇對(duì)應(yīng)類別,即可看到上報(bào)的實(shí)時(shí)數(shù)據(jù)。

85059866-6b1a-11ef-bb4b-92fbcf53809c.png

也可以使用歷史數(shù)據(jù)功能查看歷史數(shù)據(jù)。

851cc66c-6b1a-11ef-bb4b-92fbcf53809c.png

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 一體機(jī)
    +關(guān)注

    關(guān)注

    0

    文章

    826

    瀏覽量

    32609
  • 終端
    +關(guān)注

    關(guān)注

    1

    文章

    1101

    瀏覽量

    29775
  • zlg
    zlg
    +關(guān)注

    關(guān)注

    1

    文章

    58

    瀏覽量

    38099
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    PCB阻抗設(shè)計(jì)12問,輕松帶你搞懂阻抗!

    阻抗,工程師們都接觸過,但能把阻抗說清楚的工程師少之又少。阻抗看似簡單,實(shí)則難以言表。 ? 下面我們快問快答的方式,輕松幫你搞懂阻抗! 0 1 ?? 問:什么是阻抗? ? 答:在有電阻、電感和電容
    的頭像 發(fā)表于 01-03 08:40 ?1063次閱讀
    PCB阻抗設(shè)計(jì)12問,<b class='flag-5'>輕松</b>帶你<b class='flag-5'>搞懂</b>阻抗!

    教你輕松將CC3200接入機(jī)智

    教你輕松將CC3200接入機(jī)智下面介紹的是如何將CC3200 LaunchPad 接入機(jī)智服務(wù)器。具體的操作請(qǐng)參考附件的PDF。請(qǐng)注意這份代碼只是份基礎(chǔ)的展示CC3200如何與機(jī)
    發(fā)表于 02-22 14:26

    數(shù)據(jù)庫SQL Server 2008 R2版推出OSS版本數(shù)據(jù)

    通過外網(wǎng)遷移,則OSS會(huì)收取外網(wǎng)流出流量的費(fèi)用。使用步驟也十分簡單,輕松三步搞定:是準(zhǔn)備好本地數(shù)據(jù)庫,二是將本地備份文件上傳到OSS并獲取文件的URL,三是將備份文件從OSS遷移至RDS,就可以
    發(fā)表于 01-17 11:10

    搞懂UPS主要內(nèi)容

    導(dǎo)讀:UPS是系統(tǒng)集成項(xiàng)目中常用到的設(shè)備,也是機(jī)房必備的設(shè)備。本文簡單介紹了UPS的種類、功能、原理,品質(zhì)選擇與配置選擇方式,基礎(chǔ)維護(hù)等相關(guān)的內(nèi)容。搞懂UPS本文主要內(nèi)容:UPS種類、功能
    發(fā)表于 09-15 07:49

    搞懂開關(guān)電源波紋的產(chǎn)生

    參考搞懂開關(guān)電源波紋的產(chǎn)生、測(cè)量及抑制開關(guān)電源紋波的產(chǎn)生上圖是開關(guān)電源中最簡單的拓?fù)浣Y(jié)構(gòu)-buck降壓型電源。隨著SWITCH的開關(guān),電感L中的電流也是在輸出電流的有效值上下波動(dòng)的。所以在輸出端
    發(fā)表于 12-30 08:31

    了解透?jìng)?b class='flag-5'>云基礎(chǔ)知識(shí)

    了解透?jìng)?b class='flag-5'>云基礎(chǔ)知識(shí)講透?jìng)?b class='flag-5'>云,我們先了解它的定義,首先了解下****透?jìng)魍競(jìng)鳎?透明傳輸。即在傳輸過程中,不管所傳輸?shù)膬?nèi)容、數(shù)據(jù)協(xié)議形式,
    發(fā)表于 02-25 10:32

    輕松云系列之:本地數(shù)據(jù)遷移上

    AnalyticDB使用kettle將本地數(shù)據(jù)導(dǎo)入分析型數(shù)據(jù)數(shù)據(jù)庫和應(yīng)用遷移服務(wù) ADAM傳統(tǒng) IT 系統(tǒng) +
    發(fā)表于 12-18 17:15 ?401次閱讀

    輕松云系列之二:其他數(shù)據(jù)遷移至阿里

    遷移到OSS又拍 USS遷移到OSS七牛遷移到OSS通用遷移場(chǎng)景使用OssImport遷移數(shù)據(jù)從DNSPOD遷移至阿里解析更多遷移場(chǎng)景文檔輕松
    發(fā)表于 12-19 16:16 ?400次閱讀

    希捷攜手Backblaze 讓海量數(shù)據(jù)輕松

    近日,備份和存儲(chǔ)領(lǐng)先廠商Backblaze與全球領(lǐng)先的數(shù)據(jù)存儲(chǔ)解決方案提供商希捷科技達(dá)成合作,Backblaze借助希捷存儲(chǔ)產(chǎn)品打造云端備份及存儲(chǔ)解決方案,將海量數(shù)據(jù)
    發(fā)表于 07-10 13:42 ?607次閱讀

    搞懂幾種常見的射頻電路類型及主要指標(biāo)

    搞懂幾種常見的射頻電路類型及主要指標(biāo)。
    發(fā)表于 07-27 10:26 ?9次下載
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>搞懂</b>幾種常見的射頻電路類型及主要指標(biāo)

    加速數(shù)智化升級(jí),華為這款服務(wù)器讓企業(yè)輕松

    (以下稱:耀 L 實(shí)例)成為焦點(diǎn)之,通過其獨(dú)特的性能和功能,助力廣大中小企業(yè)實(shí)現(xiàn)數(shù)智化升級(jí),輕松應(yīng)對(duì)企業(yè)、
    的頭像 發(fā)表于 12-01 09:55 ?213次閱讀

    PCB阻抗設(shè)計(jì)12問,輕松帶你搞懂阻抗!

    阻抗,工程師們都接觸過,但能把阻抗說清楚的工程師少之又少。阻抗看似簡單,實(shí)則難以言表。下面我們快問快答的方式,輕松幫你搞懂阻抗!01問:什么是阻抗?答:在有電阻、電感和電容的電路里,對(duì)交流電所起
    的頭像 發(fā)表于 01-05 10:44 ?1738次閱讀
    PCB阻抗設(shè)計(jì)12問,<b class='flag-5'>輕松</b>帶你<b class='flag-5'>搞懂</b>阻抗!

    教你在ZPC快速移植AWTK

    ZPC是ZLG全新研發(fā)的顯控體機(jī)。開源AWTK,版權(quán)無憂!多種工業(yè)通信協(xié)議,工業(yè)互聯(lián)無壁壘!ZWS數(shù)據(jù)
    的頭像 發(fā)表于 09-04 08:04 ?131次閱讀
    <b class='flag-5'>一</b><b class='flag-5'>文</b>教你在<b class='flag-5'>ZPC</b><b class='flag-5'>上</b>快速移植AWTK

    ZPC是如何輕松拿捏嚴(yán)苛工況的?

    隨著新能源的快速發(fā)展,儲(chǔ)能柜的應(yīng)用越來越普及。顯控體機(jī)作為儲(chǔ)能柜中的重要部件之,在嚴(yán)苛的工況環(huán)境中面臨著諸多挑戰(zhàn)。我們?cè)撊绾芜x擇合適的顯控體機(jī)產(chǎn)品呢?ZPC簡介
    的頭像 發(fā)表于 09-06 08:02 ?153次閱讀
    <b class='flag-5'>ZPC</b>是如何<b class='flag-5'>輕松</b><b class='flag-5'>拿捏</b>嚴(yán)苛工況的?

    詳解企業(yè)數(shù)據(jù)庫是干嘛的

    業(yè)數(shù)據(jù)庫是企業(yè)將其數(shù)據(jù)庫系統(tǒng)從傳統(tǒng)的本地數(shù)據(jù)中心遷移到由第三方服務(wù)提供商管理的遠(yuǎn)程服務(wù)器
    的頭像 發(fā)表于 09-13 11:49 ?234次閱讀