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ā)(3) - 告警信息

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

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

1. 功能

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

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

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

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

告警級(jí)別可以是:調(diào)試(0);信息(1);警告(2);錯(cuò)誤(3)。

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

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

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


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

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

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

3. 制作界面

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

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

中間是一個(gè)列表視圖,列表視圖中放一個(gè)列表項(xiàng),列表項(xiàng)中放 5 個(gè)文本控件,分別用來顯示序數(shù)、告警級(jí)別、時(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ù)。[0]表示第一個(gè)數(shù)據(jù),[1]表示第二個(gè)數(shù)據(jù),以此類推。比如在這里 item.[0]表示告警級(jí)別,item.[1]表示時(shí)間,item.[2]表示設(shè)備,item.[3]表示告警信息。

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告警級(jí)別

前面提到告警級(jí)別是正數(shù),可以通過 item.[0]來獲取它。它的意義對(duì)應(yīng)為:debug(0)、info(1)、warning(2)、error(3),我們需要用 one_of 函數(shù)將它轉(zhuǎn)換為對(duì)應(yīng)的字符串。

綁定屬性

綁定規(guī)則

說明

v-data:value

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

這里的 one_of 的功能是從指定的字符串?dāng)?shù)組中取出對(duì)應(yīng)的子串。

4.3 時(shí)間

時(shí)間是一個(gè)字符串,可以通過 item.[1]來獲取。

綁定屬性

綁定規(guī)則

說明

v-data:value

{item.[3]}

4.4 設(shè)備

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

綁定屬性

綁定規(guī)則

說明

v-data:value

{item.[2]}

4.5告警信息

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

綁定屬性

綁定規(guī)則

說明

v-data:value

{item.[3]}

4.6 列表項(xiàng)為了配合刪除選中的告警信息,需要在列表項(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.7刪除當(dāng)前選擇的告警信息

綁定屬性

綁定規(guī)則

說明

v-on:click

{remove, Args=selected_index}

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

4.8清除所有告警信息

綁定屬性

綁定規(guī)則

說明

v-on:click

{clear}

4.9 保存告警信息

綁定屬性

綁定規(guī)則

說明

v-on:click

{save}

4.10重新加載告警信息

綁定屬性

綁定規(guī)則

說明

v-on:click

{reload}

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

綁定屬性

綁定規(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" /*告警級(jí)別*/, "time" /*日期時(shí)間*/, "device" /*設(shè)備*/, "message" /*信息*/ ], "fields_seperator": "|", /*字段之間的分隔符*/ "max_rows": 1000 /*告警信息最大行數(shù)*/ }}


6. 編譯運(yùn)行

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

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

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

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

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

3|2030-11-23:15:55:01|大門|長時(shí)間關(guān)閉


8. 注意

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

實(shí)際使用時(shí),在 demo_app4/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ī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 開源
    +關(guān)注

    關(guān)注

    3

    文章

    3215

    瀏覽量

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

    關(guān)注

    8

    文章

    524

    瀏覽量

    37252
  • awtk
    +關(guān)注

    關(guān)注

    0

    文章

    40

    瀏覽量

    203
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    AWTK 開源智能串口方案

    AWTK開源智能串口方案發(fā)布,旨在解決傳統(tǒng)串口諸多痛點(diǎn),為用戶提供更開放、更易用、更強(qiáng)大的開源串口
    的頭像 發(fā)表于 12-02 08:24 ?865次閱讀
    <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é)溫度的界面。在這里例子中,模型(也就是數(shù)據(jù))里只有一個(gè)溫度變
    的頭像 發(fā)表于 12-08 15:52 ?462次閱讀
    <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)注數(shù)據(jù)綁定。在這個(gè)例子中,模型(也就是數(shù)據(jù))里包括一臺(tái)空調(diào)
    的頭像 發(fā)表于 12-16 08:24 ?573次閱讀
    <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 ?919次閱讀
    ?【<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 ?380次閱讀
    <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 ?517次閱讀
    <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 ?828次閱讀
    【<b class='flag-5'>AWTK</b>開源智能<b class='flag-5'>串口</b><b class='flag-5'>屏</b>方案】HMI端程序移植編譯及運(yùn)行

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

    AWTK串口中,內(nèi)置用戶管理和權(quán)限控制的模型,無需編碼即可實(shí)現(xiàn)登錄、登出、修改密碼、權(quán)限控制、創(chuàng)建用戶、刪除用戶等功能,本文介紹一下用戶管理和權(quán)限控制的基本用法。用戶管理和權(quán)限控制是一個(gè)常用
    的頭像 發(fā)表于 02-19 12:10 ?464次閱讀
    <b class='flag-5'>AWTK</b> 開源<b class='flag-5'>串口</b><b class='flag-5'>屏</b><b class='flag-5'>開發(fā)</b>(9) - 用戶和權(quá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 ?1095次閱讀
    【<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 ?628次閱讀
    【<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ā)(10) - 告警信息的高級(jí)用法

    告警信息串口常用的功能,之前我們介紹了告警信息的基本用法,實(shí)現(xiàn)了
    的頭像 發(fā)表于 02-24 08:23 ?282次閱讀
    <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>的高級(jí)用法

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

    AWTK串口內(nèi)置了XML/JSON/INI等各種數(shù)據(jù)文件的模型,并支持用HTTP/HTTPS從網(wǎng)絡(luò)獲取數(shù)據(jù)。不用編寫一行代碼,即可實(shí)現(xiàn)天氣預(yù)報(bào)、股票行情、航班查詢和快遞查詢等功能。天氣預(yù)報(bào)是一個(gè)很
    的頭像 發(fā)表于 03-05 08:24 ?351次閱讀
    <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 ?310次閱讀
    <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ù)的顯示和修改。在AWTK
    的頭像 發(fā)表于 03-30 08:23 ?364次閱讀
    <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)程數(shù)據(jù)

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

    AWTK串口內(nèi)置MODBUS從站模型,不用編寫一行代碼即可讓串口提供MODBUS服務(wù),讓遠(yuǎn)程設(shè)備通過MODBUS協(xié)議訪問
    的頭像 發(fā)表于 04-13 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>(16) - 提供 MODBUS 服務(wù)