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

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

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

AWTK 開源串口屏開發(fā)(7) - 屏幕保護(hù)

ZLG致遠(yuǎn)電子 ? 2024-01-20 08:24 ? 次閱讀

現(xiàn)在的屏幕其實(shí)并不需要屏幕保護(hù)程序來“保護(hù)”,不過屏幕保護(hù)程序會衍生一些其它用途。比如,保護(hù)隱私、數(shù)據(jù)安全和顯示廣告等等。本文介紹一下在 AWTK 串口屏中,實(shí)現(xiàn)屏幕保護(hù)程序的方法。

現(xiàn)代屏幕其實(shí)并不需要屏幕保護(hù),不過屏幕保護(hù)程序會衍生一些其它用途。比如:

保護(hù)隱私。長時間不操作,通過動畫或者其它方式隱藏屏幕內(nèi)容。

數(shù)據(jù)安全。長時間不操作,需要輸入密碼才能恢復(fù)。

美觀/廣告。長時間不操作,顯示動畫或者播放視頻廣告。

本文介紹一下在 AWTK 串口屏中,是如何實(shí)現(xiàn)屏幕保護(hù)的?;?a href="http://ttokpm.com/v/tag/773/" target="_blank">工作原理是這樣的:

長時間沒有用戶輸入事件,觸發(fā)屏幕保護(hù)事件。

在屏幕保護(hù)事件中,打開名為 screen_saver 的窗口。

screen_saver 窗口中,顯示屏保內(nèi)容,如果收到輸入事件,關(guān)閉該窗口(或要求輸入密碼)。

1. 功能

在這里例子中,模型(也就是數(shù)據(jù))里只有一個screen_saver_time變量:

變量名

數(shù)據(jù)類型

功能說明

screen_saver_time

整數(shù)

單位為毫秒

screen_saver_time 是默認(rèn)模型中一個內(nèi)置屬性。

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

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

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


3. 制作界面

3.1 主窗口

用 AWStudio 打開上面 screen_saver 目錄下的 project.json 文件。里面有一個空的窗口,在上面加入下面的控件:

靜態(tài)文本

編輯器

做出類似下面的界面。

41c3d1de-b72a-11ee-aa22-92fbcf53809c.png

3.2 屏保窗口

在這個窗口中,我們通過一個定時器來改變窗口的背景顏色,創(chuàng)建一個空白窗口,將其改名為 screen_saver 即可。


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

4.1 主窗口

編輯器綁定到screen_saver_time變量。添加自定義的屬性v-data:value,將值設(shè)置為{screen_saver_time}

綁定屬性

綁定規(guī)則

說明

v-data:value

{screen_saver_time}

變量要用英文大括號括起來。

同樣指定窗口的模型為 default。

綁定屬性

綁定規(guī)則

說明

v-model

default

default 不需要用大括號括起來。

4.2 屏保窗口

啟動按鈕的點(diǎn)擊事件啟動定時器。

綁定屬性

綁定規(guī)則

說明

v-on:window_open

{fscript, Args=start_timer(3000);set(計數(shù),0)}

啟動定時器

v-on:timer

{fscript, Args=set(計數(shù),計數(shù)+1)}

增加計數(shù)

v-datanormal:bg_color

{one_of(‘red;blue;green;gold;orange;white;black’, 計數(shù)%7)}

根據(jù)計數(shù)改變背景顏色

v-on:pointer_move

{nothing, CloseWindow=true}

關(guān)閉窗口

v-on:pointer_up

{nothing, CloseWindow=true}

關(guān)閉窗口

v-on:key_up

{nothing, CloseWindow=true}

關(guān)閉窗口

這里只是用了一個窗口內(nèi)局部的變量“計數(shù)”,不需要指定模型,系統(tǒng)會自動創(chuàng)建一個 dummy 模型。

4. 初始化數(shù)據(jù)

修改資源文件 design/default/data/default_model.json, 將其內(nèi)容改為:

{ "screen_saver_time": 180000}

注意:

如果文件內(nèi)容有中文(非 ASCII 字符),一定要保存為 UTF-8 格式。

重新打包資源才能生效。

5. 數(shù)據(jù)持久化

為了保存屏保時間,修改資源文件 design/default/data/settings.json, 將其內(nèi)容改為:

{ "name":"hmi_screen_saver", "persistent" : { "screen_saver_time": true }}

6. 編譯運(yùn)行

運(yùn)行 bin 目錄下的 demo 程序,設(shè)置屏幕時間為一個較短的值,等待屏保啟動。

41c3d1de-b72a-11ee-aa22-92fbcf53809c.png

41d1c5f0-b72a-11ee-aa22-92fbcf53809c.gif

7. 注意

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

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

    關(guān)注

    3

    文章

    3215

    瀏覽量

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

    關(guān)注

    8

    文章

    524

    瀏覽量

    37254
  • awtk
    +關(guān)注

    關(guān)注

    0

    文章

    40

    瀏覽量

    203
收藏 人收藏

    評論

    相關(guān)推薦

    AWTK 開源智能串口方案

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

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

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

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

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

    數(shù)據(jù)采用是一個常用的功能。在AWTK開源串口中,內(nèi)置數(shù)據(jù)采樣模型,只需設(shè)計用戶界面即可實(shí)現(xiàn)采樣數(shù)據(jù)的顯示和管理。1.功能數(shù)據(jù)采集是一個常用的功能,MCU定時采集數(shù)據(jù)(如環(huán)保設(shè)備定時采
    的頭像 發(fā)表于 12-30 08:24 ?362次閱讀
    <b class='flag-5'>AWTK</b> <b class='flag-5'>串口</b><b class='flag-5'>屏</b><b class='flag-5'>開發(fā)</b>(4) - 數(shù)據(jù)采集

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

    AWTK開源智能串口,不但開放了串口端全部源碼,還提供了MCU端SDK,大大加快MCU軟件的
    的頭像 發(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) - 定時器的用法

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

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

    本篇文章介紹一下AWTK開源智能串口方案的串口端(即HMI端)的編譯運(yùn)行步驟,并介紹如何將H
    的頭像 發(fā)表于 01-18 08:24 ?828次閱讀
    【<b class='flag-5'>AWTK</b><b class='flag-5'>開源</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)限控制是一個常用
    的頭像 發(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'>屏</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)行時工程、修改應(yīng)用界面以及開發(fā)MCU程序。MCU端簡
    的頭像 發(fā)表于 02-19 12:11 ?1098次閱讀
    【<b class='flag-5'>AWTK</b><b class='flag-5'>開源</b>智能<b class='flag-5'>串口</b><b class='flag-5'>屏</b>方案】MCU SDK使用與編譯運(yùn)行

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

    本篇文章將介紹如何使用AWStudio設(shè)計串口端的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><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ù)。不用編寫一行代碼,即可實(shí)現(xiàn)天氣預(yù)報、股票行情、航班查詢和快遞查詢等功能。天氣預(yù)報是一個很
    的頭像 發(fā)表于 03-05 08:24 ?352次閱讀
    <b class='flag-5'>AWTK</b> <b class='flag-5'>開源</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 ?310次閱讀
    <b class='flag-5'>AWTK</b> <b class='flag-5'>開源</b><b class='flag-5'>串口</b><b class='flag-5'>屏</b><b class='flag-5'>開發(fā)</b>(12) - 記事本應(yīng)用

    AWTK 開源串口開發(fā)(14) - 界面重用

    AWTK串口支持同一個界面綁定不同的數(shù)據(jù),本文以家居控制為例,介紹一下界面重用的方法。在家居控制應(yīng)用中,我們演示了空調(diào)和咖啡機(jī)界面。現(xiàn)在我們來想一想,如果有多個空調(diào)怎么辦呢?當(dāng)然最直觀的方法,就是
    的頭像 發(fā)表于 03-23 08:23 ?322次閱讀
    <b class='flag-5'>AWTK</b> <b class='flag-5'>開源</b><b class='flag-5'>串口</b><b class='flag-5'>屏</b><b class='flag-5'>開發(fā)</b>(14) - 界面重用

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

    AWTK串口內(nèi)置MODBUSClient模型,支持用MODBUS協(xié)議從遠(yuǎn)程設(shè)備獲取數(shù)據(jù)。不用編寫代碼即可實(shí)現(xiàn)對遠(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'>屏</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 ?396次閱讀
    <b class='flag-5'>AWTK</b> <b class='flag-5'>開源</b><b class='flag-5'>串口</b><b class='flag-5'>屏</b><b class='flag-5'>開發(fā)</b>(16) - 提供 MODBUS 服務(wù)