AWTK串口屏支持同一個(gè)界面綁定不同的數(shù)據(jù),本文以家居控制為例,介紹一下界面重用的方法。在家居控制應(yīng)用中,我們演示了空調(diào)和咖啡機(jī)界面。現(xiàn)在我們來(lái)想一想,如果有多個(gè)空調(diào)怎么辦呢?當(dāng)然最直觀的方法,就是把界面再拷貝一份。但是如果界面有多份,維護(hù)是一件麻煩的事情。今天我來(lái)介紹一下界面重用的問(wèn)題。
1. 功能
用同一個(gè)空調(diào)界面實(shí)現(xiàn)兩臺(tái)空調(diào)的設(shè)置。
有兩臺(tái)空調(diào)
- 客廳空調(diào)
- 臥室空調(diào)
2. 創(chuàng)建項(xiàng)目
從模板創(chuàng)建項(xiàng)目,將 hmi/template_app 拷貝 hmi/ui_reuse 即可。
第一個(gè)項(xiàng)目最好不要放到其它目錄,因?yàn)榉诺狡渌夸浶枰薷呐渲梦募械穆窂剑仁煜ぶ笤倏紤]放到其它目錄。路徑中也不要中文和空格,避免不必要的麻煩。
3. 制作界面
界面重用 demo_home2 的界面,這里不再細(xì)說(shuō)。
4. 添加綁定規(guī)則
4.1 空調(diào)界面
空調(diào)界面除了空調(diào)_位置之外,其它的變量都是一樣的,所以我們只需要添加空調(diào)_位置的綁定規(guī)則即可。
綁定屬性 | 綁定規(guī)則 | 說(shuō)明 |
v-data:value | {空調(diào)_位置} | 無(wú) |
4.2 主窗口
4.2.1 客廳空調(diào)
綁定屬性 | 綁定規(guī)則 | 說(shuō)明 |
v-data:value | {navigate, Args=air_win?prefix=living_room} | 變量要用英文大括號(hào)括起來(lái)。 |
和之前的不同的是,我們加了參數(shù)prefix=living_room,表示獲取 living_room 下面的數(shù)據(jù)。
4.2.2 臥室空調(diào)
綁定屬性 | 綁定規(guī)則 | 說(shuō)明 |
v-data:value | {navigate, Args=air_win?prefix=bed_room} | 變量要用英文大括號(hào)括起來(lái)。 |
和之前的不同的是,我們加了參數(shù)prefix=bed_room,表示獲取 living_room 下面的數(shù)據(jù)。
5. 初始化數(shù)據(jù)
修改資源文件 design/default/data/default_model.json, 將其內(nèi)容改為:
{ "coffee": { "咖啡_開(kāi)關(guān)": false, "咖啡_類(lèi)型": 1, //類(lèi)型 (0: 卡布奇諾;1: 拿鐵;2: 美式;3: 意式) "咖啡_溫度": 60, //溫度(0-100) "咖啡_口味": 1, //口味 (0: 濃郁;1: 絲滑;2: 清淡;3: 平衡;4: 溫和) "咖啡_熱奶": 1, //熱奶 (0: 少量;1: 較少;2: 較多;3: 大量) "咖啡_奶泡": 1, //奶泡 (0: 少量;1: 較少;2: 較多;3: 大量) "咖啡_水量": 150, //水量 (50-350ml) "咖啡_剩余時(shí)間": 200, //單位秒,格式化為 分鐘:秒 "咖啡_開(kāi)始制作": false }, "bed_room":{ "空調(diào)_開(kāi)關(guān)": false, "空調(diào)_位置":"臥室", "空調(diào)_模式": 3, //空調(diào)模式 (0: 制冷;1: 制熱;2: 送風(fēng);3: 除濕;4: 自動(dòng) "空調(diào)_風(fēng)速": 3, //空調(diào)風(fēng)速 (0: 自動(dòng);1: 低速;2: 中速;3: 高速) "空調(diào)_垂直風(fēng)向": 1, //垂直風(fēng)向 (0: 自動(dòng);1:上;2:中;3:下) "空調(diào)_水平風(fēng)向": 1, //水平風(fēng)向 (0: 自動(dòng);1:左;2:中;3:右) "空調(diào)_溫度": 25, //溫度(0-40) }, "living_room":{ "空調(diào)_開(kāi)關(guān)": false, "空調(diào)_位置":"客廳", "空調(diào)_模式": 3, //空調(diào)模式 (0: 制冷;1: 制熱;2: 送風(fēng);3: 除濕;4: 自動(dòng) "空調(diào)_風(fēng)速": 3, //空調(diào)風(fēng)速 (0: 自動(dòng);1: 低速;2: 中速;3: 高速) "空調(diào)_垂直風(fēng)向": 1, //垂直風(fēng)向 (0: 自動(dòng);1:上;2:中;3:下) "空調(diào)_水平風(fēng)向": 1, //水平風(fēng)向 (0: 自動(dòng);1:左;2:中;3:右) "空調(diào)_溫度": 25, //溫度(0-40) }}
之前我們介紹的數(shù)據(jù)只有一級(jí),現(xiàn)在我們的數(shù)據(jù)有兩級(jí),所以我們需要加上 prefix 參數(shù),來(lái)訪(fǎng)問(wèn) prefix 參數(shù)下的數(shù)據(jù)。
注意:
如果文件內(nèi)容有中文(非 ASCII 字符),一定要保存為 UTF-8 格式。
重新打包資源才能生效。
6. 數(shù)據(jù)持久化
無(wú)
7. 編譯運(yùn)行
8. 注意
本項(xiàng)目并沒(méi)有編寫(xiě)界面相關(guān)的代碼,AWStudio 在 src/pages 目錄下生成了一些代碼框架,這些代碼并沒(méi)有用到,可以刪除也可以不用管它,但是不能加入編譯。
- 完整示例請(qǐng)參考:demo_home2。
-
開(kāi)源
+關(guān)注
關(guān)注
3文章
3407瀏覽量
42712 -
串口屏
+關(guān)注
關(guān)注
8文章
546瀏覽量
37585 -
awtk
+關(guān)注
關(guān)注
0文章
46瀏覽量
252
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
AWTK 開(kāi)源智能串口屏方案
![<b class='flag-5'>AWTK</b> <b class='flag-5'>開(kāi)源</b>智能<b class='flag-5'>串口</b><b class='flag-5'>屏</b>方案](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
?【AWTK開(kāi)源智能串口屏方案】方案介紹和工作原理
![?【<b class='flag-5'>AWTK</b><b class='flag-5'>開(kāi)源</b>智能<b class='flag-5'>串口</b><b class='flag-5'>屏</b>方案】方案介紹和工作原理](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
AWTK 串口屏開(kāi)發(fā)(3) - 告警信息
![<b class='flag-5'>AWTK</b> <b class='flag-5'>串口</b><b class='flag-5'>屏</b><b class='flag-5'>開(kāi)發(fā)</b>(3) - 告警信息](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
AWTK 串口屏開(kāi)發(fā)(4) - 數(shù)據(jù)采集
![<b class='flag-5'>AWTK</b> <b class='flag-5'>串口</b><b class='flag-5'>屏</b><b class='flag-5'>開(kāi)發(fā)</b>(4) - 數(shù)據(jù)采集](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
AWTK 開(kāi)源串口屏開(kāi)發(fā)(6) - 定時(shí)器的用法
![<b class='flag-5'>AWTK</b> <b class='flag-5'>開(kāi)源</b><b class='flag-5'>串口</b><b class='flag-5'>屏</b><b class='flag-5'>開(kāi)發(fā)</b>(6) - 定時(shí)器的用法](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
【AWTK開(kāi)源智能串口屏方案】HMI端程序移植編譯及運(yùn)行
![【<b class='flag-5'>AWTK</b><b class='flag-5'>開(kāi)源</b>智能<b class='flag-5'>串口</b><b class='flag-5'>屏</b>方案】HMI端程序移植編譯及運(yùn)行](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
AWTK 開(kāi)源串口屏開(kāi)發(fā)(9) - 用戶(hù)和權(quán)限管理
![<b class='flag-5'>AWTK</b> <b class='flag-5'>開(kāi)源</b><b class='flag-5'>串口</b><b class='flag-5'>屏</b><b class='flag-5'>開(kāi)發(fā)</b>(9) - 用戶(hù)和權(quán)限管理](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
【AWTK開(kāi)源智能串口屏方案】MCU SDK使用與編譯運(yùn)行
![【<b class='flag-5'>AWTK</b><b class='flag-5'>開(kāi)源</b>智能<b class='flag-5'>串口</b><b class='flag-5'>屏</b>方案】MCU SDK使用與編譯運(yùn)行](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
【AWTK開(kāi)源智能串口屏方案】設(shè)計(jì)UI界面并上傳到串口屏
![【<b class='flag-5'>AWTK</b><b class='flag-5'>開(kāi)源</b>智能<b class='flag-5'>串口</b><b class='flag-5'>屏</b>方案】設(shè)計(jì)UI<b class='flag-5'>界面</b>并上傳到<b class='flag-5'>串口</b><b class='flag-5'>屏</b>](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
AWTK 開(kāi)源串口屏開(kāi)發(fā)(11) - 天氣預(yù)報(bào)
![<b class='flag-5'>AWTK</b> <b class='flag-5'>開(kāi)源</b><b class='flag-5'>串口</b><b class='flag-5'>屏</b><b class='flag-5'>開(kāi)發(fā)</b>(11) - 天氣預(yù)報(bào)](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
AWTK 開(kāi)源串口屏開(kāi)發(fā)(12) - 記事本應(yīng)用
![<b class='flag-5'>AWTK</b> <b class='flag-5'>開(kāi)源</b><b class='flag-5'>串口</b><b class='flag-5'>屏</b><b class='flag-5'>開(kāi)發(fā)</b>(12) - 記事本應(yīng)用](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
AWTK 開(kāi)源串口屏開(kāi)發(fā)(13) - 計(jì)算器應(yīng)用
![<b class='flag-5'>AWTK</b> <b class='flag-5'>開(kāi)源</b><b class='flag-5'>串口</b><b class='flag-5'>屏</b><b class='flag-5'>開(kāi)發(fā)</b>(13) - 計(jì)算器應(yīng)用](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
AWTK 開(kāi)源串口屏開(kāi)發(fā)(16) - 提供 MODBUS 服務(wù)
![<b class='flag-5'>AWTK</b> <b class='flag-5'>開(kāi)源</b><b class='flag-5'>串口</b><b class='flag-5'>屏</b><b class='flag-5'>開(kāi)發(fā)</b>(16) - 提供 MODBUS 服務(wù)](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
【插針機(jī)HMI開(kāi)發(fā)】用AWTK開(kāi)發(fā)人機(jī)界面
![【插針機(jī)HMI<b class='flag-5'>開(kāi)發(fā)</b>】用<b class='flag-5'>AWTK</b><b class='flag-5'>開(kāi)發(fā)人機(jī)界面</b>](https://file.elecfans.com/web2/M00/50/DA/pYYBAGLH6TyAB71EAAAPQ7KgtYA038.png)
評(píng)論