RM新时代网站-首页

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

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

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

AWTK 串口屏開發(fā)(4) - 數(shù)據(jù)采集

ZLG致遠(yuǎn)電子 ? 2023-12-30 08:24 ? 次閱讀

數(shù)據(jù)采用是一個(gè)常用的功能。在 AWTK 開源串口屏中,內(nèi)置數(shù)據(jù)采樣模型,只需設(shè)計(jì)用戶界面即可實(shí)現(xiàn)采樣數(shù)據(jù)的顯示和管理。

1. 功能

數(shù)據(jù)采集是一個(gè)常用的功能,MCU 定時(shí)采集數(shù)據(jù)(如環(huán)保設(shè)備定時(shí)采樣空氣中的污染物),并發(fā)送采樣數(shù)據(jù)到串口屏,串口屏可以顯示采樣數(shù)據(jù),也可以對(duì)采樣數(shù)據(jù)進(jìn)行管理(保存或清除)。

d9b7b316-a6a9-11ee-9ee2-92fbcf53809c.png

基本工作原理

  • MCU 端設(shè)置屬性名為history_data,數(shù)據(jù)類型為字符串,數(shù)據(jù)格式為用|分隔的多個(gè)字段的數(shù)據(jù)。
  • 串口屏收到數(shù)據(jù)后,會(huì)把采樣數(shù)據(jù)放到一個(gè)名為history_data的模型(數(shù)據(jù))中。
  • 界面通過綁定規(guī)則將history_data模型中的數(shù)據(jù)關(guān)聯(lián)到控件上。

d9ca85a4-a6a9-11ee-9ee2-92fbcf53809c.png

時(shí)間為 epoch 時(shí)間,方便內(nèi)部存儲(chǔ)和查詢。

下面演示一下具體的實(shí)現(xiàn)方法。


2. 創(chuàng)建項(xiàng)目

從模板創(chuàng)建項(xiàng)目,將 hmi/template_app 拷貝 hmi/history_data 即可。

第一個(gè)項(xiàng)目最好不要放到其它目錄,因?yàn)榉诺狡渌夸浶枰薷呐渲梦募械穆窂?,等熟悉之后再考慮放到其它目錄。路徑中也不要中文和空格,避免不必要的麻煩。

3. 制作界面

用 AWStudio 打開上面 history_data 目錄下的 project.json 文件。里面有一個(gè)空的窗口,在上面設(shè)計(jì)類似下面的界面:d9d712a6-a6a9-11ee-9ee2-92fbcf53809c.png

中間是一個(gè)列表視圖,列表視圖中放一個(gè)列表項(xiàng),列表項(xiàng)中放 6 個(gè)文本控件,分別用來顯示序數(shù)、時(shí)間、一氧化碳、二氧化氮、懸浮顆粒物、二氧化硫。

4. 添加綁定規(guī)則

第一次用到列表視圖,有幾點(diǎn)需要特別說明一下:

列表視圖中的滾動(dòng)視圖需要指定v-for-items屬性:

屬性

說明

v-for-items

true

它保證其下的列表項(xiàng),會(huì)根據(jù)數(shù)據(jù)自動(dòng)生成

4.0.1 幾個(gè)特殊的變量

index 特指序數(shù)。

item 特指當(dāng)前的數(shù)據(jù)。比如在這里 ‘item.time’ 表示時(shí)間,‘item.一氧化碳’ 表示一氧化碳,‘item.二氧化氮’ 表示二氧化氮,‘item.懸浮顆粒物’ 表示懸浮顆粒物。

selected_index 表示當(dāng)前選中的序數(shù)(可在列表視圖之外綁定)。

items 表示當(dāng)前列表視圖中的數(shù)據(jù)個(gè)數(shù)(可在列表視圖之外綁定)。

4.0.2 幾個(gè)特殊的命令

set_selected 設(shè)置當(dāng)前選中的序數(shù)(在列表項(xiàng)中使用)。

save 保存數(shù)據(jù)到文件(在列表視圖之外的按鈕上綁定)。

reload 重新加載數(shù)據(jù)(在列表視圖之外的按鈕上綁定)。

clear 清除所有數(shù)據(jù)(在列表視圖之外的按鈕上綁定)。

remove 刪除指定序數(shù)的數(shù)據(jù)(在列表視圖之外的按鈕上綁定)。

4.1 序數(shù)

綁定屬性

綁定規(guī)則

說明

v-data:value

{index}

index 特指序數(shù)。

4.2 時(shí)間

時(shí)間是整數(shù)(秒數(shù)),可以通過 item.time 來獲取。

綁定屬性

綁定規(guī)則

說明

v-data:value

{date_time_format(item.time, ‘Y-M-D h : m : s’)}

需要用date_time_format將 epoch 時(shí)間轉(zhuǎn)換成人類可讀的時(shí)間。

4.3 一氧化碳

可以通過 item.一氧化碳 來獲取。

綁定屬性

綁定規(guī)則

說明

v-data:value

{item.一氧化碳}

4.4 二氧化氮

可以通過 item.二氧化氮 來獲取。

綁定屬性

綁定規(guī)則

說明

v-data:value

{item.二氧化氮}

4.5 懸浮顆粒物

可以通過 item.懸浮顆粒物 來獲取。

綁定屬性

綁定規(guī)則

說明

v-data:value

{item.懸浮顆粒物}

4.6 二氧化硫

可以通過 item.二氧化硫 來獲取。

綁定屬性

綁定規(guī)則

說明

v-data:value

{item.二氧化硫}

4.7 列表項(xiàng)為了配合刪除選中的采樣數(shù)據(jù),需要在列表項(xiàng)加兩個(gè)綁定規(guī)則。

綁定屬性

綁定規(guī)則

說明

v-on:click

{set_selected}

點(diǎn)擊時(shí)將當(dāng)前項(xiàng)目設(shè)置為選中

v-data:focused

{index==selected_index}

當(dāng)前項(xiàng)目選中時(shí)高亮

4.8 刪除當(dāng)前選擇的采樣數(shù)據(jù)

綁定屬性

綁定規(guī)則

說明

v-on:click

{remove, Args=selected_index}

selected_index 表示當(dāng)前選中的項(xiàng)目

4.9 清除所有采樣數(shù)據(jù)

綁定屬性

綁定規(guī)則

說明

v-on:click

{clear}

4.10 保存采樣數(shù)據(jù)

綁定屬性

綁定規(guī)則

說明

v-on:click

{save}

4.11 重新加載采樣數(shù)據(jù)

綁定屬性

綁定規(guī)則

說明

v-on:click

{reload}

4.12 退出應(yīng)用程序

綁定屬性

綁定規(guī)則

說明

v-on:click

{nothing, QuitApp=true}

4.13 指定窗口的模型

指定窗口的模型為history_data。

d9e4e516-a6a9-11ee-9ee2-92fbcf53809c.png

5. 啟用數(shù)據(jù)采樣

修改 design/default/data/settings.json 文件,啟用數(shù)據(jù)采樣:

{ "name": "hmi_histroy_data1", "history_data": { "enable": true, /*是否啟用數(shù)據(jù)采集*/ "fields": { "time": {}, /*時(shí)間必須用 'time',放在第一位*/ "一氧化碳" : { "min": 0, "max": 100, "unit": "mg/m3" }, "二氧化氮" : { "min": 0, "max": 110, "unit": "mg/m3" }, "懸浮顆粒物" : { "min": 0, "max": 120, "unit": "mg/m3" }, "二氧化硫": { "min": 0, "max": 130, "unit": "mg/m3" } }, "fields_seperator": "|", /*字段之間的分隔符*/ "max_rows": 1000 /*數(shù)據(jù)采集最大行數(shù)*/, "auto_save_interval": 60000 }}

6. 編譯運(yùn)行

運(yùn)行 bin 目錄下的 demo 程序。

d9b7b316-a6a9-11ee-9ee2-92fbcf53809c.png

7. 使用 MCU 模擬器與之進(jìn)行交互

運(yùn)行 mcu/simulator 目錄下的 mcu_sim 程序,連接到 Localhost:2233。

通過模擬器發(fā)送數(shù)據(jù),可以看到串口屏界面,自動(dòng)添加采樣數(shù)據(jù)。

d9f8d6f2-a6a9-11ee-9ee2-92fbcf53809c.gif

測試數(shù)據(jù):

1702032398|3.1|3.2|3.3|3.4

8. 注意

本項(xiàng)目并沒有編寫界面相關(guān)的代碼,AWStudio 在 src/pages 目錄下生成了一些代碼框架,這些代碼并沒有用到,可以刪除也可以不用管它,但是不能加入編譯。

  • 實(shí)際使用時(shí),在 demo_history_data1/design/default/ui/home_page.xml 基礎(chǔ)上進(jìn)行調(diào)整即可,無需重復(fù)上面的過程,但是最好了解其中的原理。

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

    關(guān)注

    38

    文章

    6053

    瀏覽量

    113619
  • 串口屏
    +關(guān)注

    關(guān)注

    8

    文章

    532

    瀏覽量

    37421
  • awtk
    +關(guān)注

    關(guān)注

    0

    文章

    44

    瀏覽量

    226
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    matlab串口數(shù)據(jù)采集

    本文主要介紹了matlab串口數(shù)據(jù)采集,matlab功能強(qiáng)大,串口操作也很簡單,通過以下幾個(gè)實(shí)例你就能掌握串口數(shù)據(jù)采集是怎么
    發(fā)表于 01-15 10:23 ?2.5w次閱讀
    matlab<b class='flag-5'>串口</b><b class='flag-5'>數(shù)據(jù)采集</b>

    AWTK 開源智能串口方案

    AWTK開源智能串口方案發(fā)布,旨在解決傳統(tǒng)串口諸多痛點(diǎn),為用戶提供更開放、更易用、更強(qiáng)大的開源串口
    的頭像 發(fā)表于 12-02 08:24 ?944次閱讀
    <b class='flag-5'>AWTK</b> 開源智能<b class='flag-5'>串口</b><b class='flag-5'>屏</b>方案

    AWTK 串口開發(fā)(1) - Hello World

    本文以一個(gè)簡單的溫度設(shè)置程序?yàn)槔?,介紹AWTK串口開發(fā)流程和MVVM數(shù)據(jù)綁定的基本方法。功能這個(gè)例子很簡單,制作一個(gè)調(diào)節(jié)溫度的界面。在這
    的頭像 發(fā)表于 12-08 15:52 ?501次閱讀
    <b class='flag-5'>AWTK</b> <b class='flag-5'>串口</b><b class='flag-5'>屏</b><b class='flag-5'>開發(fā)</b>(1) - Hello World

    AWTK 串口開發(fā)(2) - 家居控制

    本文以一個(gè)家居控制應(yīng)用程序?yàn)槔?,介紹AWTK串口開發(fā)流程和MVVM數(shù)據(jù)綁定的高級(jí)用法。1.功能這個(gè)例子稍微復(fù)雜一點(diǎn),重點(diǎn)關(guān)注
    的頭像 發(fā)表于 12-16 08:24 ?626次閱讀
    <b class='flag-5'>AWTK</b> <b class='flag-5'>串口</b><b class='flag-5'>屏</b><b class='flag-5'>開發(fā)</b>(2) - 家居控制

    ?【AWTK開源智能串口方案】方案介紹和工作原理

    本篇文章介紹一下AWTK開源智能串口方案的基本原理和實(shí)際使用效果,包括主要特點(diǎn)、應(yīng)用場景、工作原理以及簡單的Demo演示。引言:AWTK-HMI是基于
    的頭像 發(fā)表于 12-21 08:24 ?985次閱讀
    ?【<b class='flag-5'>AWTK</b>開源智能<b class='flag-5'>串口</b><b class='flag-5'>屏</b>方案】方案介紹和工作原理

    AWTK 串口開發(fā)(3) - 告警信息

    告警信息是一個(gè)常用的功能。在AWTK開源串口中,內(nèi)置告警信息模型,只需設(shè)計(jì)用戶界面即可實(shí)現(xiàn)告警信息的顯示和管理。1.功能告警信息是一個(gè)常用的功能,MCU在設(shè)備異常時(shí),會(huì)發(fā)送告警信息到串口
    的頭像 發(fā)表于 12-23 08:24 ?446次閱讀
    <b class='flag-5'>AWTK</b> <b class='flag-5'>串口</b><b class='flag-5'>屏</b><b class='flag-5'>開發(fā)</b>(3) - 告警信息

    AWTK 串口開發(fā)(5) - MCU端 SDK 用法

    AWTK開源智能串口,不但開放了串口端全部源碼,還提供了MCU端SDK,大大加快MCU軟件的開發(fā)
    的頭像 發(fā)表于 01-06 08:24 ?423次閱讀
    <b class='flag-5'>AWTK</b> <b class='flag-5'>串口</b><b class='flag-5'>屏</b><b class='flag-5'>開發(fā)</b>(5) - MCU端 SDK 用法

    AWTK 開源串口開發(fā)(6) - 定時(shí)器的用法

    定時(shí)器是個(gè)常用的功能,AWTK串口提供了豐富的定時(shí)器函數(shù),用于定時(shí)器的啟動(dòng)、停止、暫停、恢復(fù)、修改和重置等功能,本文以計(jì)時(shí)器的例子來介紹定時(shí)器的基本用法。定時(shí)器也是一個(gè)常用的功能,在AWTK
    的頭像 發(fā)表于 01-13 08:24 ?568次閱讀
    <b class='flag-5'>AWTK</b> 開源<b class='flag-5'>串口</b><b class='flag-5'>屏</b><b class='flag-5'>開發(fā)</b>(6) - 定時(shí)器的用法

    AWTK開源智能串口方案】HMI端程序移植編譯及運(yùn)行

    -HMI是基于AWTKAWTK-MVVM開發(fā)的低代碼智能串口方案,本系列文章介紹如何從零開發(fā)
    的頭像 發(fā)表于 01-18 08:24 ?912次閱讀
    【<b class='flag-5'>AWTK</b>開源智能<b class='flag-5'>串口</b><b class='flag-5'>屏</b>方案】HMI端程序移植編譯及運(yùn)行

    AWTK開源智能串口方案】MCU SDK使用與編譯運(yùn)行

    代碼智能串口方案,本系列文章介紹如何從零開發(fā)HMI程序,包括搭建開發(fā)環(huán)境、創(chuàng)建HMI運(yùn)行時(shí)工程、修改應(yīng)用界面以及開發(fā)MCU程序。MCU端簡
    的頭像 發(fā)表于 02-19 12:11 ?1195次閱讀
    【<b class='flag-5'>AWTK</b>開源智能<b class='flag-5'>串口</b><b class='flag-5'>屏</b>方案】MCU SDK使用與編譯運(yùn)行

    AWTK開源智能串口方案】設(shè)計(jì)UI界面并上傳到串口

    本篇文章將介紹如何使用AWStudio設(shè)計(jì)串口端的UI界面和添加綁定規(guī)則,以及怎么將資源文件上傳到串口端。引言:AWTK-HMI是基于
    的頭像 發(fā)表于 02-22 08:24 ?714次閱讀
    【<b class='flag-5'>AWTK</b>開源智能<b class='flag-5'>串口</b><b class='flag-5'>屏</b>方案】設(shè)計(jì)UI界面并上傳到<b class='flag-5'>串口</b><b class='flag-5'>屏</b>

    AWTK 開源串口開發(fā)(11) - 天氣預(yù)報(bào)

    AWTK串口內(nèi)置了XML/JSON/INI等各種數(shù)據(jù)文件的模型,并支持用HTTP/HTTPS從網(wǎng)絡(luò)獲取數(shù)據(jù)。不用編寫一行代碼,即可實(shí)現(xiàn)天氣
    的頭像 發(fā)表于 03-05 08:24 ?395次閱讀
    <b class='flag-5'>AWTK</b> 開源<b class='flag-5'>串口</b><b class='flag-5'>屏</b><b class='flag-5'>開發(fā)</b>(11) - 天氣預(yù)報(bào)

    AWTK 開源串口開發(fā)(12) - 記事本應(yīng)用

    傳統(tǒng)的的串口中,開發(fā)一個(gè)記事本應(yīng)用,即使可能,也是非常麻煩的事情。在AWTK串口中,內(nèi)置文件
    的頭像 發(fā)表于 03-09 08:23 ?345次閱讀
    <b class='flag-5'>AWTK</b> 開源<b class='flag-5'>串口</b><b class='flag-5'>屏</b><b class='flag-5'>開發(fā)</b>(12) - 記事本應(yīng)用

    AWTK 開源串口開發(fā)(15) - 通過 MODBUS 訪問遠(yuǎn)程數(shù)據(jù)

    AWTK串口內(nèi)置MODBUSClient模型,支持用MODBUS協(xié)議從遠(yuǎn)程設(shè)備獲取數(shù)據(jù)。不用編寫代碼即可實(shí)現(xiàn)對(duì)遠(yuǎn)程設(shè)備數(shù)據(jù)的顯示和修改。在
    的頭像 發(fā)表于 03-30 08:23 ?398次閱讀
    <b class='flag-5'>AWTK</b> 開源<b class='flag-5'>串口</b><b class='flag-5'>屏</b><b class='flag-5'>開發(fā)</b>(15) - 通過 MODBUS 訪問遠(yuǎn)程<b class='flag-5'>數(shù)據(jù)</b>

    AWTK 開源串口開發(fā)(16) - 提供 MODBUS 服務(wù)

    AWTK串口內(nèi)置MODBUS從站模型,不用編寫一行代碼即可讓串口提供MODBUS服務(wù),讓遠(yuǎn)程設(shè)備通過MODBUS協(xié)議訪問
    的頭像 發(fā)表于 04-13 08:24 ?449次閱讀
    <b class='flag-5'>AWTK</b> 開源<b class='flag-5'>串口</b><b class='flag-5'>屏</b><b class='flag-5'>開發(fā)</b>(16) - 提供 MODBUS 服務(wù)
    RM新时代网站-首页