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

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

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

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

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

AWTK 串口屏內(nèi)置了 XML/JSON/INI 等各種數(shù)據(jù)文件的模型,并支持用 HTTP/HTTPS 從網(wǎng)絡(luò)獲取數(shù)據(jù)。不用編寫(xiě)一行代碼,即可實(shí)現(xiàn)天氣預(yù)報(bào)、股票行情、航班查詢(xún)和快遞查詢(xún)等功能。天氣預(yù)報(bào)是一個(gè)很常用的功能,在很多設(shè)備上都有這個(gè)功能。實(shí)現(xiàn)天氣預(yù)報(bào)的功能,不能說(shuō)很難但是也絕不簡(jiǎn)單,首先需要從網(wǎng)上獲取數(shù)據(jù),再解析數(shù)據(jù),最后更新到界面上。

在 AWTK 串口屏中,內(nèi)置了 XML/JSON/INI 等各種數(shù)據(jù)文件的模型,并支持用 HTTP/HTTPS 從網(wǎng)絡(luò)獲取數(shù)據(jù)。所以實(shí)現(xiàn)天氣預(yù)報(bào)非常簡(jiǎn)單,不用編寫(xiě)一行代碼即可實(shí)現(xiàn)天氣預(yù)報(bào)的功能。而且用同樣的方式,也可以實(shí)現(xiàn)其它功能,比如:股票行情、新聞、公交查詢(xún)、火車(chē)查詢(xún)、航班查詢(xún)、快遞查詢(xún)等等。

實(shí)現(xiàn)一個(gè)顯示天氣信息的應(yīng)用程序。這個(gè)是免費(fèi)的,無(wú)需注冊(cè)的 API,當(dāng)然也有些限制,在實(shí)際工作中,你可以換成自己的接口

它返回的數(shù)據(jù)是 JSON 格式的,如下所示:

{ "message": "success 感謝又拍云 (upyun.com) 提供 CDN 贊助", "status": 200, "date": "20240101", "time": "2024-01-01 0813", "cityInfo": { "city": "天津市", "citykey": "101030100", "parent": "天津", "updateTime": "08:01" }, "data": { "shidu": "86%", "pm25": 57.0, "pm10": 93.0, "quality": "良", "wendu": "-7", "ganmao": "極少數(shù)敏感人群應(yīng)減少戶(hù)外活動(dòng)", "forecast": [。 ], "yesterday": { "date": "31", "high": "高溫 1℃", "low": "低溫 -3℃", "ymd": "2023-12-31", "week": "星期日", "sunrise": "07:30", "sunset": "16:57", "aqi": 35, "fx": "北風(fēng)", "fl": "2 級(jí)", "type": "晴", "notice": "愿你擁有比陽(yáng)光明媚的心情" } }}

AWTK 串口屏中的json 模型,支持用下面的語(yǔ)法從網(wǎng)絡(luò)獲取數(shù)據(jù),它會(huì)自動(dòng)解析 JSON 數(shù)據(jù),并生成一個(gè)模型,通過(guò)路徑可以引用模型中的數(shù)據(jù)。

json(url=http://t.weather.sojson.com/api/weather/city/101030100)

網(wǎng)上有很多天氣預(yù)報(bào)的接口,這里只是舉個(gè)例子,如果你有自己的接口,可以用自己的接口。


1. 功能

不用編寫(xiě)代碼,實(shí)現(xiàn)天氣預(yù)報(bào)。

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

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

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


3. 制作界面

用 AWStudio 打開(kāi)上面 weather 目錄下的 project.json 文件。里面有一個(gè)空的窗口,做出類(lèi)似下面的界面。bcd165a6-da86-11ee-9118-92fbcf53809c.png

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

4.1 城市

綁定屬性

綁定規(guī)則

說(shuō)明

v-data:value

{cityInfo.city}

不同的 JSON API 需要使用不同的路徑,請(qǐng)根據(jù)具體的 JSON 數(shù)據(jù)填寫(xiě)

4.2 溫度

綁定屬性綁定規(guī)則說(shuō)明
v-data:value{data.wendu}

不同的JSONAPI需要使用不同的路徑,請(qǐng)根據(jù)具體的JSON數(shù)據(jù)填寫(xiě)

4.3濕度

綁定屬性綁定規(guī)則說(shuō)明
v-data:value{data.shidu}

不同的JSONAPI需要使用不同的路徑,請(qǐng)根據(jù)具體的JSON數(shù)據(jù)填寫(xiě)

4.4PM2.5

綁定屬性綁定規(guī)則說(shuō)明
v-data:value{data.pm25}

不同的JSONAPI需要使用不同的路徑,請(qǐng)根據(jù)具體的JSON數(shù)據(jù)填寫(xiě)

4.5空氣質(zhì)量

綁定屬性綁定規(guī)則說(shuō)明
v-data:value{data.quality}

不同的JSONAPI需要使用不同的路徑,請(qǐng)根據(jù)具體的JSON數(shù)據(jù)填寫(xiě)

4.6感冒指數(shù)

綁定屬性綁定規(guī)則說(shuō)明
v-data:value{data.ganmao}

不同的JSONAPI需要使用不同的路徑,請(qǐng)根據(jù)具體的JSON數(shù)據(jù)填寫(xiě)

4.7 刷新按鈕

  • 刷新按鈕的點(diǎn)擊事件綁定到 reload 命令。添加自定義的屬性 v-on:click,將值設(shè)置為{reload}。

綁定屬性

綁定規(guī)則

說(shuō)明

v-on:click

{reload}

reload 命令是內(nèi)置的命令,用于重新加載持久化的配置,命令要用英文大括號(hào)括起來(lái)。

4.8 窗口模型

指定窗口的模型為 json, url 為:

  • http://t.weather.sojson.com/api/weather/city/101030100

綁定屬性

綁定規(guī)則

說(shuō)明

v-model

json(url=http://t.weather.sojson.com/api/weather/city/101030100)

不同的 JSON API 需要使用不同的 URL,可以換成自己的 URL


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

無(wú)

6. 描述需要持久化的數(shù)據(jù)

無(wú)

7. 編譯運(yùn)行

運(yùn)行 bin 目錄下的 demo 程序:

bce92ff6-da86-11ee-9118-92fbcf53809c.png

點(diǎn)擊刷新按鈕,可以重新加載數(shù)據(jù),但是通常界面沒(méi)有變化,因?yàn)樘鞖鈹?shù)據(jù)沒(méi)有變化。


8. 注意

  • 本項(xiàng)目并沒(méi)有編寫(xiě)界面相關(guān)的代碼,AWStudio 在 src/pages 目錄下生成了一些代碼框架,這些代碼并沒(méi)有用到,可以刪除也可以不用管它,但是不能加入編譯。
  • 完整示例請(qǐng)參考:demo_weather。

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

    labview天氣預(yù)報(bào)

    `用labview寫(xiě)的天氣預(yù)報(bào),信息比較多,懶得分析,你們各取所需吧!`
    發(fā)表于 07-28 14:49

    基于ESP32 WiFi連接天氣預(yù)報(bào)機(jī)的設(shè)計(jì)方案

    描述WeatherBot - 3D 打印天氣預(yù)報(bào)劇院 | ESP32 和 OpenWeatherMap如何 3D 打印/激光切割帶有 E-ink 顯示的 ESP32 WiFi 連接天氣預(yù)報(bào)劇院
    發(fā)表于 06-30 06:49

    Android智能手機(jī)天氣預(yù)報(bào)系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)

    Android智能手機(jī)天氣預(yù)報(bào)系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)
    發(fā)表于 01-14 11:22 ?22次下載

    基于天氣預(yù)報(bào)的自動(dòng)灌溉系統(tǒng)

    電子發(fā)燒友網(wǎng)站提供《基于天氣預(yù)報(bào)的自動(dòng)灌溉系統(tǒng).zip》資料免費(fèi)下載
    發(fā)表于 10-31 14:47 ?2次下載
    基于<b class='flag-5'>天氣預(yù)報(bào)</b>的自動(dòng)灌溉系統(tǒng)

    Zambreti天氣預(yù)報(bào)開(kāi)源分享

    電子發(fā)燒友網(wǎng)站提供《Zambreti天氣預(yù)報(bào)開(kāi)源分享.zip》資料免費(fèi)下載
    發(fā)表于 11-01 14:30 ?0次下載
    Zambreti<b class='flag-5'>天氣預(yù)報(bào)</b>器<b class='flag-5'>開(kāi)源</b>分享

    WhatsApp地圖和天氣預(yù)報(bào)聊天機(jī)器人開(kāi)源

    電子發(fā)燒友網(wǎng)站提供《WhatsApp地圖和天氣預(yù)報(bào)聊天機(jī)器人開(kāi)源.zip》資料免費(fèi)下載
    發(fā)表于 12-12 09:32 ?0次下載
    WhatsApp地圖和<b class='flag-5'>天氣預(yù)報(bào)</b>聊天機(jī)器人<b class='flag-5'>開(kāi)源</b>

    基于ESP8266-01的天氣預(yù)報(bào)

    電子發(fā)燒友網(wǎng)站提供《基于ESP8266-01的天氣預(yù)報(bào).zip》資料免費(fèi)下載
    發(fā)表于 01-31 14:36 ?5次下載
    基于ESP8266-01的<b class='flag-5'>天氣預(yù)報(bào)</b>

    Arduino天氣預(yù)報(bào)小矮人

    電子發(fā)燒友網(wǎng)站提供《Arduino天氣預(yù)報(bào)小矮人.zip》資料免費(fèi)下載
    發(fā)表于 02-08 16:09 ?0次下載
    Arduino<b class='flag-5'>天氣預(yù)報(bào)</b>小矮人

    ESP8266獲取天氣預(yù)報(bào)信息,并使用CJSON解析天氣預(yù)報(bào)數(shù)據(jù)

    當(dāng)前文章介紹如何使用ESP8266和STM32微控制器,搭配OLED顯示,制作一個(gè)能夠?qū)崟r(shí)顯示天氣預(yù)報(bào)的智能設(shè)備。將使用心知天氣API來(lái)獲取天氣數(shù)據(jù),并使用MQTT協(xié)議將數(shù)據(jù)傳遞給S
    的頭像 發(fā)表于 04-27 13:45 ?2193次閱讀

    天氣預(yù)報(bào)顯示開(kāi)源項(xiàng)目

    電子發(fā)燒友網(wǎng)站提供《天氣預(yù)報(bào)顯示開(kāi)源項(xiàng)目.zip》資料免費(fèi)下載
    發(fā)表于 06-14 10:47 ?0次下載
    <b class='flag-5'>天氣預(yù)報(bào)</b>顯示<b class='flag-5'>開(kāi)源</b>項(xiàng)目

    DIY簡(jiǎn)單的天氣預(yù)報(bào)裝置

    電子發(fā)燒友網(wǎng)站提供《DIY簡(jiǎn)單的天氣預(yù)報(bào)裝置.zip》資料免費(fèi)下載
    發(fā)表于 07-03 10:16 ?0次下載
    DIY簡(jiǎn)單的<b class='flag-5'>天氣預(yù)報(bào)</b>裝置

    物聯(lián)網(wǎng)迷你天氣預(yù)報(bào)開(kāi)源分享

    電子發(fā)燒友網(wǎng)站提供《物聯(lián)網(wǎng)迷你天氣預(yù)報(bào)開(kāi)源分享.zip》資料免費(fèi)下載
    發(fā)表于 07-12 11:14 ?0次下載
    物聯(lián)網(wǎng)迷你<b class='flag-5'>天氣預(yù)報(bào)</b><b class='flag-5'>開(kāi)源</b>分享

    AWTK 開(kāi)源智能串口方案

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

    ?【AWTK開(kāi)源智能串口方案】方案介紹和工作原理

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

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

    本篇文章介紹一下AWTK開(kāi)源智能串口方案的串口端(即HMI端)的編譯運(yùn)行步驟,并介紹如何將H
    的頭像 發(fā)表于 01-18 08:24 ?828次閱讀
    【<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)行