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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

ZLG致遠電子 ? 2023-12-23 08:24 ? 次閱讀

告警信息是一個常用的功能。在 AWTK 開源串口屏中,內置告警信息模型,只需設計用戶界面即可實現(xiàn)告警信息的顯示和管理。

1. 功能

告警信息是一個常用的功能,MCU 在設備異常時,會發(fā)送告警信息到串口屏,串口屏可以顯示告警信息,也可以對告警信息進行管理(保存或清除)。b0056d90-a129-11ee-9788-92fbcf53809c.png基本工作原理:

MCU 端設置屬性名為 log_message,數(shù)據(jù)類型為字符串,數(shù)據(jù)格式為"告警級別|時間|設備|告警信息"數(shù)據(jù)。

串口屏收到數(shù)據(jù)后,會把告警信息放到一個名為** log_message **的模型(數(shù)據(jù))中。

  1. 界面通過綁定規(guī)則將 log_message 模型中的數(shù)據(jù)關聯(lián)到控件上。

告警級別可以是:調試(0);信息(1);警告(2);錯誤(3)。

告警信息中如果出現(xiàn)“|”字符,則整個告警信息需用用英文雙引號引起來。

b00f2876-a129-11ee-9788-92fbcf53809c.png

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


2. 創(chuàng)建項目

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

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

3. 制作界面

用 AWStudio 打開上面 log_message 目錄下的 project.json 文件。里面有一個空的窗口,在上面設計類似下面的界面:

b01819c2-a129-11ee-9788-92fbcf53809c.png

中間是一個列表視圖,列表視圖中放一個列表項,列表項中放 5 個文本控件,分別用來顯示序數(shù)、告警級別、時間、設備、告警信息。

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

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

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

屬性

說明

v-for-items

true

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

4.0.1 幾個特殊的變量

index 特指序數(shù)。

item 特指當前的數(shù)據(jù)。[0]表示第一個數(shù)據(jù),[1]表示第二個數(shù)據(jù),以此類推。比如在這里 item.[0]表示告警級別,item.[1]表示時間,item.[2]表示設備,item.[3]表示告警信息。

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

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

4.0.2 幾個特殊的命令

set_selected 設置當前選中的序數(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ù),可以通過 item.[0]來獲取它。它的意義對應為:debug(0)、info(1)、warning(2)、error(3),我們需要用 one_of 函數(shù)將它轉換為對應的字符串。

綁定屬性

綁定規(guī)則

說明

v-data:value

{one_of(‘調試;信息;警告;錯誤’, item.[0])}

這里的 one_of 的功能是從指定的字符串數(shù)組中取出對應的子串。

4.3 時間

時間是一個字符串,可以通過 item.[1]來獲取。

綁定屬性

綁定規(guī)則

說明

v-data:value

{item.[3]}

4.4 設備

設備是一個字符串,可以通過 item.[2] 來獲取。

綁定屬性

綁定規(guī)則

說明

v-data:value

{item.[2]}

4.5告警信息

告警信息是一個字符串,可以通過 item.[3]來獲取。

綁定屬性

綁定規(guī)則

說明

v-data:value

{item.[3]}

4.6 列表項為了配合刪除選中的告警信息,需要在列表項加兩個綁定規(guī)則。

綁定屬性

綁定規(guī)則

說明

v-on:click

{set_selected}

點擊時將當前項目設置為選中

v-data:focused

{index==selected_index}

當前項目選中時高亮

4.7刪除當前選擇的告警信息

綁定屬性

綁定規(guī)則

說明

v-on:click

{remove, Args=selected_index}

selected_index 表示當前選中的項目

4.8清除所有告警信息

綁定屬性

綁定規(guī)則

說明

v-on:click

{clear}

4.9 保存告警信息

綁定屬性

綁定規(guī)則

說明

v-on:click

{save}

4.10重新加載告警信息

綁定屬性

綁定規(guī)則

說明

v-on:click

{reload}

4.11退出應用程序

綁定屬性

綁定規(guī)則

說明

v-on:click

{nothing, QuitApp=true}

4.12指定窗口的模型

指定窗口的模型為 log_message。

b0209f02-a129-11ee-9788-92fbcf53809c.png


5. 添加告警信息

修改 design/default/data/settings.json 文件,啟用告警信息:

{ "name": "hmi_log_message1", "log_message": { "enable": true, /*是否啟用告警信息*/ "fields": [ "level" /*告警級別*/, "time" /*日期時間*/, "device" /*設備*/, "message" /*信息*/ ], "fields_seperator": "|", /*字段之間的分隔符*/ "max_rows": 1000 /*告警信息最大行數(shù)*/ }}


6. 編譯運行

運行 bin 目錄下的 demo 程序。b0056d90-a129-11ee-9788-92fbcf53809c.png

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

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

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

b037121e-a129-11ee-9788-92fbcf53809c.gif測試數(shù)據(jù):

3|2030-11-23:15:55:01|大門|長時間關閉


8. 注意

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

實際使用時,在 demo_app4/design/default/ui/home_page.xml 基礎上進行調整即可,無需重復上面的過程,但是最好了解其中的原理。

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

    關注

    3

    文章

    3380

    瀏覽量

    42601
  • 串口屏
    +關注

    關注

    8

    文章

    540

    瀏覽量

    37496
  • awtk
    +關注

    關注

    0

    文章

    45

    瀏覽量

    237
收藏 人收藏

    評論

    相關推薦

    AWTK 開源智能串口方案

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

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

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

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

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

    AWTK開源智能串口,不但開放了串口端全部源碼,還提供了MCU端SDK,大大加快MCU軟件的開發(fā)
    的頭像 發(fā)表于 01-06 08:24 ?452次閱讀
    <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ù),用于定時器的啟動、停止、暫停、恢復、修改和重置等功能,本文以計時器的例子來介紹定時器的基本用法。定時器也是一個常用的功能,在AWTK
    的頭像 發(fā)表于 01-13 08:24 ?598次閱讀
    <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 ?973次閱讀
    【<b class='flag-5'>AWTK</b>開源智能<b class='flag-5'>串口</b><b class='flag-5'>屏</b>方案】HMI端程序移植編譯及運行

    AWTK 開源串口開發(fā)(9) - 用戶和權限管理

    AWTK串口中,內置用戶管理和權限控制的模型,無需編碼即可實現(xiàn)登錄、登出、修改密碼、權限控制、創(chuàng)建用戶、刪除用戶等功能,本文介紹一下用戶管理和權限控制的基本用法。用戶管理和權限控制是一個常用
    的頭像 發(fā)表于 02-19 12:10 ?530次閱讀
    <b class='flag-5'>AWTK</b> 開源<b class='flag-5'>串口</b><b class='flag-5'>屏</b><b class='flag-5'>開發(fā)</b>(9) - 用戶和權限管理

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

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

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

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

    AWTK 開源串口開發(fā)(10) - 告警信息的高級用法

    告警信息串口常用的功能,之前我們介紹了告警信息的基本用法,實現(xiàn)了
    的頭像 發(fā)表于 02-24 08:23 ?339次閱讀
    <b class='flag-5'>AWTK</b> 開源<b class='flag-5'>串口</b><b class='flag-5'>屏</b><b class='flag-5'>開發(fā)</b>(10) - <b class='flag-5'>告警</b><b class='flag-5'>信息</b>的高級用法

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

    AWTK串口內置了XML/JSON/INI等各種數(shù)據(jù)文件的模型,并支持用HTTP/HTTPS從網絡獲取數(shù)據(jù)。不用編寫一行代碼,即可實現(xiàn)天氣預報、股票行情、航班查詢和快遞查詢等功能。天氣預報是一個很
    的頭像 發(fā)表于 03-05 08:24 ?418次閱讀
    <b class='flag-5'>AWTK</b> 開源<b class='flag-5'>串口</b><b class='flag-5'>屏</b><b class='flag-5'>開發(fā)</b>(11) - 天氣預報

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

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

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

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

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

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