0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

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

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

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

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

1. 功能

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

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

基本工作原理

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

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

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

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


2. 創(chuàng)建項目

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

第一個項目最好不要放到其它目錄,因為放到其它目錄需要修改配置文件中的路徑,等熟悉之后再考慮放到其它目錄。路徑中也不要中文和空格,避免不必要的麻煩。

3. 制作界面

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

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

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

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

列表視圖中的滾動視圖需要指定v-for-items屬性:

屬性

說明

v-for-items

true

它保證其下的列表項,會根據(jù)數(shù)據(jù)自動生成

4.0.1 幾個特殊的變量

index 特指序數(shù)。

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

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

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

4.0.2 幾個特殊的命令

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

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ù)),可以通過 item.time 來獲取。

綁定屬性

綁定規(guī)則

說明

v-data:value

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

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

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 列表項為了配合刪除選中的采樣數(shù)據(jù),需要在列表項加兩個綁定規(guī)則。

綁定屬性

綁定規(guī)則

說明

v-on:click

{set_selected}

點擊時將當(dāng)前項目設(shè)置為選中

v-data:focused

{index==selected_index}

當(dāng)前項目選中時高亮

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

綁定屬性

綁定規(guī)則

說明

v-on:click

{remove, Args=selected_index}

selected_index 表示當(dā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": {}, /*時間必須用 '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. 編譯運行

運行 bin 目錄下的 demo 程序。

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

7. 使用 MCU 模擬器與之進行交互

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

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

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

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

1702032398|3.1|3.2|3.3|3.4

8. 注意

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

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

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

    關(guān)注

    40

    文章

    7003

    瀏覽量

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

    關(guān)注

    8

    文章

    578

    瀏覽量

    38164
  • awtk
    +關(guān)注

    關(guān)注

    0

    文章

    50

    瀏覽量

    357
收藏 0人收藏

    評論

    相關(guān)推薦
    熱點推薦

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

    本文主要介紹了matlab串口數(shù)據(jù)采集,matlab功能強大,串口操作也很簡單,通過以下幾個實例你就能掌握串口數(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)串口諸多痛點,為用戶提供更開放、更易用、更強大的開源串口
    的頭像 發(fā)表于 12-02 08:24 ?1336次閱讀
    <b class='flag-5'>AWTK</b> 開源智能<b class='flag-5'>串口</b><b class='flag-5'>屏</b>方案

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

    本文以一個簡單的溫度設(shè)置程序為例,介紹AWTK串口開發(fā)流程和MVVM數(shù)據(jù)綁定的基本方法。功能這個例子很簡單,制作一個調(diào)節(jié)溫度的界面。在這
    的頭像 發(fā)表于 12-08 15:52 ?698次閱讀
    <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) - 家居控制

    本文以一個家居控制應(yīng)用程序為例,介紹AWTK串口開發(fā)流程和MVVM數(shù)據(jù)綁定的高級用法。1.功能這個例子稍微復(fù)雜一點,重點關(guān)注
    的頭像 發(fā)表于 12-16 08:24 ?874次閱讀
    <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開源智能串口方案的基本原理和實際使用效果,包括主要特點、應(yīng)用場景、工作原理以及簡單的Demo演示。引言:AWTK-HMI是基于
    的頭像 發(fā)表于 12-21 08:24 ?1415次閱讀
    ?【<b class='flag-5'>AWTK</b>開源智能<b class='flag-5'>串口</b><b class='flag-5'>屏</b>方案】方案介紹和工作原理

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

    告警信息是一個常用的功能。在AWTK開源串口中,內(nèi)置告警信息模型,只需設(shè)計用戶界面即可實現(xiàn)告警信息的顯示和管理。1.功能告警信息是一個常用的功能,MCU在設(shè)備異常時,會發(fā)送告警信息到串口
    的頭像 發(fā)表于 12-23 08:24 ?700次閱讀
    <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 ?659次閱讀
    <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) - 定時器的用法

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

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

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

    AWTK開源智能串口方案】MCU SDK使用與編譯運行

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

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

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

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

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

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

    傳統(tǒng)的的串口中,開發(fā)一個記事本應(yīng)用,即使可能,也是非常麻煩的事情。在AWTK串口中,內(nèi)置文件
    的頭像 發(fā)表于 03-09 08:23 ?576次閱讀
    <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ù)。不用編寫代碼即可實現(xiàn)對遠(yuǎn)程設(shè)備數(shù)據(jù)的顯示和修改。在
    的頭像 發(fā)表于 03-30 08:23 ?654次閱讀
    <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 ?712次閱讀
    <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ù)

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品