一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

基于NiobeU4開發(fā)板的簡易桌面天氣預(yù)報(bào)設(shè)計(jì)&實(shí)現(xiàn)

電子發(fā)燒友開源社區(qū) ? 2022-10-09 18:09 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、桌面天氣預(yù)報(bào)器架構(gòu)

1.手撕HTTP request

桌面天氣預(yù)報(bào)器考慮的比較簡單,雖然LWIP能支持,但是HTTP協(xié)議棧尚未實(shí)現(xiàn),之前考慮直接在OpenHarmony手寫一個(gè)HTTP GET request,然后NiobeU4開發(fā)板解析幾個(gè)天氣的關(guān)鍵詞,實(shí)現(xiàn)顯示即可,至于HTTPS與HTTP的選擇,當(dāng)然是越簡單越好了,找了個(gè)HTTP的天氣網(wǎng)站(http://www.yytianqi.com/),注冊個(gè)賬號(hào),使用API即可,這個(gè)API的格式類似這樣:

http://api.yytianqi.com/接口名稱?city=城市ID&key=用戶key

初步設(shè)計(jì)就是在NiobeU4開發(fā)板端側(cè)構(gòu)造HTTP GET request消息并發(fā)出,然后解析其response,再在LCD側(cè)顯示,基本框架如下:

219b4d30-47b7-11ed-a3b6-dac502259ad0.png

#define SERVER_IP "123.57.54.168"
#define SERVER_PORT 8080


    sock = socket(AF_INET, SOCK_STREAM, 0);
    if (sock < 0) {
      printf("Socket error
");
      osDelay(OD_DELAY_100);
      continue;
    }
    memset_s(&(client_addr), sizeof(client_addr), 0, sizeof(client_addr));
    client_addr.sin_family = AF_INET;
    client_addr.sin_port = htons(SERVER_PORT);
    client_addr.sin_addr.s_addr = inet_addr(SERVER_IP);
    if (connect(sock, (struct sockaddr *)&client_addr, sizeof(struct sockaddr)) == -1) {
      closesocket(sock);
      osDelay(OD_DELAY_1000);
      continue;
    }
  //send HTTP GET msg
  char cmd[256];
 bzero(cmd, 256);
  strcpy(cmd,"GET /observe?city=CH210401&key=XXXXXXXXXXXXXXXX HTTP/1.1
");
 strcat(cmd,"Host: 123.57.54.168

");
 
 write(sock, cmd, strlen(cmd));

(左右移動(dòng)查看全部內(nèi)容)

這個(gè)HTTP GET發(fā)出去后,服務(wù)端認(rèn)不出,找了個(gè)工具模擬了下,發(fā)現(xiàn)還是相同的問題,貌似服務(wù)器端對 的解析不是換行,搗鼓了很久還是不行,于是放棄。

21bba936-47b7-11ed-a3b6-dac502259ad0.jpg

2.曲線救國

既然直接手撕HTTP GET request有問題,那還是換條路吧。

設(shè)想是有個(gè)server來做網(wǎng)關(guān),用于搭建NiobeU4開發(fā)板與天氣網(wǎng)站之間的橋梁,負(fù)責(zé)獲取天氣信息,并通過TCP鏈接轉(zhuǎn)發(fā)到NiobeU4開發(fā)板端側(cè),具體如下:

21e1218e-47b7-11ed-a3b6-dac502259ad0.png

二、實(shí)現(xiàn)&展示

方案確定下來后具體實(shí)現(xiàn)就很簡單了,網(wǎng)關(guān)處起個(gè)任務(wù)到www.yytianqi.com獲取天氣信息,然后發(fā)給NiobeU4開發(fā)板,NiobeU4開發(fā)板端側(cè)收到信息后做天氣信息字符串匹配,根據(jù)天氣內(nèi)容在LCD上顯示相關(guān)信息。

21f801e2-47b7-11ed-a3b6-dac502259ad0.png

直接拷貝至系統(tǒng),reset板子。

Gateway側(cè)HTTP GET得到的信息如下:

{"code":1,"msg":"Sucess","counts":29,"data":{"cityId":"CH210401","cityName":"u5b81u6ce2","lastUpdate":"2022-10-07 2337","tq":"u9634","numtq":"02","qw":"15","numfl":"0","fl":"u5faeu98ce","fx":"u897fu5357u98ce","numfx":"5","sd":"92"}}

(左右移動(dòng)查看全部內(nèi)容)

NiobeU4開發(fā)板端的顯示如下,多云天氣:

228ca1bc-47b7-11ed-a3b6-dac502259ad0.jpg

三、附加電池

剛好手頭有塊3.7V的鋰電池,問了技術(shù)直接接上了,注意正負(fù)極即可,這塊電池年份有點(diǎn)久了,基本上續(xù)航在3-5h。細(xì)心的可以看到視頻中的電源燈是沒有亮的。

22b8152c-47b7-11ed-a3b6-dac502259ad0.jpg

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

    關(guān)注

    34

    文章

    4520

    瀏覽量

    171511
  • HTTP
    +關(guān)注

    關(guān)注

    0

    文章

    525

    瀏覽量

    33494
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5679

    瀏覽量

    104606
  • LwIP
    +關(guān)注

    關(guān)注

    2

    文章

    89

    瀏覽量

    28289
  • OpenHarmony
    +關(guān)注

    關(guān)注

    29

    文章

    3853

    瀏覽量

    18593
  • NiobeU4
    +關(guān)注

    關(guān)注

    3

    文章

    31

    瀏覽量

    641

原文標(biāo)題:基于NiobeU4開發(fā)板的簡易桌面天氣預(yù)報(bào)設(shè)計(jì)&實(shí)現(xiàn)

文章出處:【微信號(hào):HarmonyOS_Community,微信公眾號(hào):電子發(fā)燒友開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    【開鴻智谷NiobeU4開發(fā)板免費(fèi)試用體驗(yàn)】開鴻智谷NiobeU4恢復(fù)出廠太空飛人

    board niobeu4)---&amp;gt;(x)select board niobeu4 ---&amp;gt;[*] use openvalley
    發(fā)表于 09-29 18:37

    【開鴻智谷NiobeU4開發(fā)板免費(fèi)試用體驗(yàn)】 開發(fā)環(huán)境搭建并初步測試程序;

    感謝 發(fā)燒友學(xué)院以及拓維信息 為我和孩子提供此產(chǎn)品## 開鴻智谷NiobeU4開發(fā)板。感謝研發(fā)人員依然小燁哥和?大佬們的支持指導(dǎo)。處理器簡介ESP32 -U4WDH樂鑫單核Wi-Fi &amp
    發(fā)表于 09-30 11:06

    【開鴻智谷NiobeU4開發(fā)板免費(fèi)試用體驗(yàn)】1.Windows物理機(jī)上構(gòu)建Linux開發(fā)環(huán)境

    Delete-&amp;gt;任務(wù)管理器-&amp;gt;性能-&amp;gt;內(nèi)存鳴謝:開鴻智谷NiobeU4開發(fā)板具有豐富的示例程序可
    發(fā)表于 10-01 23:39

    【開鴻智谷NiobeU4開發(fā)板免費(fèi)試用體驗(yàn)】2.NiobeU4編程基礎(chǔ)--gpio與uart聯(lián)合使用示例

    【開鴻智谷NiobeU4開發(fā)板免費(fèi)試用體驗(yàn)】2.NiobeU4編程基礎(chǔ)--gpio與uart聯(lián)合使用示例1.概要:本文主要總結(jié)了編程前的一些先決條件,如下圖所示:主要包括如何編譯,燒錄,調(diào)試,以及
    發(fā)表于 10-05 19:51

    【開鴻智谷NiobeU4開發(fā)板免費(fèi)試用體驗(yàn)】簡易桌面天氣預(yù)報(bào)器的設(shè)計(jì)&amp;實(shí)現(xiàn)

    做網(wǎng)關(guān),用于搭建NiobeU4開發(fā)板天氣網(wǎng)站之間的橋梁,負(fù)責(zé)獲取天氣信息,并通過TCP鏈接轉(zhuǎn)發(fā)到NiobeU4
    發(fā)表于 10-07 23:35

    【開鴻智谷NiobeU4開發(fā)板免費(fèi)試用體驗(yàn)】Demo例程加載

    接上文| 【開鴻智谷NiobeU4開發(fā)板免費(fèi)試用體驗(yàn)】 開發(fā)環(huán)境搭建并初步測試程序; |根據(jù)開鴻智谷研發(fā)人員依然小燁哥和群內(nèi)容:示例代碼存放在工程//vendor/openvalley
    發(fā)表于 10-10 19:36

    【Banana PI Leaf S3開發(fā)板試用體驗(yàn)】基于Banana PI Leaf S3的天氣預(yù)報(bào)系統(tǒng)

    本次主要利用Banana PI Leaf S3開發(fā)板 和 SSD1306的OLED屏幕,實(shí)現(xiàn)一個(gè)簡易天氣預(yù)報(bào)系統(tǒng)。一、系統(tǒng)架構(gòu)直接在Banana PI Leaf S3
    發(fā)表于 10-17 20:06

    【開鴻智谷NiobeU4開發(fā)板免費(fèi)試用體驗(yàn)】Demo例程加載

    本文來源電子發(fā)燒友社區(qū),作者:盧松濤, 帖子地址: https://bbs.elecfans.com/jishu_2309555_1_1.html 接上文|? 【開鴻智谷NiobeU4開發(fā)板免費(fèi)試用
    的頭像 發(fā)表于 10-14 11:14 ?1751次閱讀
    【開鴻智谷<b class='flag-5'>NiobeU4</b><b class='flag-5'>開發(fā)板</b>免費(fèi)試用體驗(yàn)】Demo例程加載

    【開鴻智谷NiobeU4開發(fā)板免費(fèi)試用體驗(yàn)】簡易桌面天氣預(yù)報(bào)器的設(shè)計(jì)&amp;amp;amp;實(shí)現(xiàn)

    HTTP request 桌面天氣預(yù)報(bào)器考慮的比較簡單,雖然LWIP能支持,但是HTTP協(xié)議棧尚未實(shí)現(xiàn),之前考慮直接在OpenHarmony手寫一個(gè)HTTP GET request,然后Nio
    的頭像 發(fā)表于 10-14 11:17 ?1332次閱讀
    【開鴻智谷<b class='flag-5'>NiobeU4</b><b class='flag-5'>開發(fā)板</b>免費(fèi)試用體驗(yàn)】<b class='flag-5'>簡易</b><b class='flag-5'>桌面</b><b class='flag-5'>天氣預(yù)報(bào)</b>器的設(shè)計(jì)&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>實(shí)現(xiàn)</b>

    【開鴻智谷NiobeU4開發(fā)板免費(fèi)試用體驗(yàn)】2.NiobeU4編程基礎(chǔ)--gpio與uart聯(lián)合使用示例

    本文來源電子發(fā)燒友社區(qū),作者:chenzd, 帖子地址: https://bbs.elecfans.com/jishu_2308768_1_1.html 【開鴻智谷NiobeU4開發(fā)板免費(fèi)試用
    的頭像 發(fā)表于 10-14 11:24 ?1327次閱讀
    【開鴻智谷<b class='flag-5'>NiobeU4</b><b class='flag-5'>開發(fā)板</b>免費(fèi)試用體驗(yàn)】2.<b class='flag-5'>NiobeU4</b>編程基礎(chǔ)--gpio與uart聯(lián)合使用示例

    【開鴻智谷NiobeU4開發(fā)板免費(fèi)試用體驗(yàn)】1.Windows物理機(jī)上構(gòu)建Linux開發(fā)環(huán)境

    本文來源電子發(fā)燒友社區(qū),作者:chenzd, 帖子地址: https://bbs.elecfans.com/jishu_2308700_1_1.html 【開鴻智谷NiobeU4開發(fā)板免費(fèi)試用
    的頭像 發(fā)表于 10-14 14:47 ?1159次閱讀
    【開鴻智谷<b class='flag-5'>NiobeU4</b><b class='flag-5'>開發(fā)板</b>免費(fèi)試用體驗(yàn)】1.Windows物理機(jī)上構(gòu)建Linux<b class='flag-5'>開發(fā)</b>環(huán)境

    【開鴻智谷NiobeU4開發(fā)板免費(fèi)試用體驗(yàn)】基于Ubuntu22.04的NiobeU4開發(fā)環(huán)境搭建

    是基于ESP32U4WDH推出的物聯(lián)網(wǎng)設(shè)備開發(fā)套件,集成2.4GHz Wifi和藍(lán)牙雙模,具有超高的射頻性能、穩(wěn)定性、通用性和可靠性,以及超低的功耗,適用于各種應(yīng)用場景;NiobeU4開發(fā)
    的頭像 發(fā)表于 10-17 10:42 ?2117次閱讀
    【開鴻智谷<b class='flag-5'>NiobeU4</b><b class='flag-5'>開發(fā)板</b>免費(fèi)試用體驗(yàn)】基于Ubuntu22.04的<b class='flag-5'>NiobeU4</b><b class='flag-5'>開發(fā)</b>環(huán)境搭建

    基于ESP32芯片,搭載OpenHarmony操作系統(tǒng),NiobeU4開發(fā)板應(yīng)用實(shí)例

    性能、穩(wěn)定性、通用性和可靠性,以及超低的功耗,適用于各種應(yīng)用場景。 1.開箱體驗(yàn)編譯環(huán)境搭建及燒錄 感謝開鴻智谷和電子發(fā)燒友寄來的中秋禮物,下面給大家做個(gè)NiobeU4開發(fā)板開箱體驗(yàn),祝大家中秋快樂! 此次收到的NiobeU4
    的頭像 發(fā)表于 05-11 20:16 ?3872次閱讀
    基于ESP32芯片,搭載OpenHarmony操作系統(tǒng),<b class='flag-5'>NiobeU4</b><b class='flag-5'>開發(fā)板</b>應(yīng)用實(shí)例

    NiobeU4開發(fā)板數(shù)據(jù)手冊

    NiobeU4開發(fā)板數(shù)據(jù)手冊
    發(fā)表于 07-18 11:15 ?19次下載

    NiobeU4開發(fā)板原理圖

    NiobeU4開發(fā)板原理圖_RevV3.0
    發(fā)表于 07-18 11:15 ?18次下載