精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于NiobeU4開發板的簡易桌面天氣預報設計&實現

電子發燒友開源社區 ? 2022-10-09 18:09 ? 次閱讀

一、桌面天氣預報器架構

1.手撕HTTP request

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

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

初步設計就是在NiobeU4開發板端側構造HTTP GET request消息并發出,然后解析其response,再在LCD側顯示,基本框架如下:

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));

(左右移動查看全部內容)

這個HTTP GET發出去后,服務端認不出,找了個工具模擬了下,發現還是相同的問題,貌似服務器端對 的解析不是換行,搗鼓了很久還是不行,于是放棄。

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

2.曲線救國

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

設想是有個server來做網關,用于搭建NiobeU4開發板與天氣網站之間的橋梁,負責獲取天氣信息,并通過TCP鏈接轉發到NiobeU4開發板端側,具體如下:

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

二、實現&展示

方案確定下來后具體實現就很簡單了,網關處起個任務到www.yytianqi.com獲取天氣信息,然后發給NiobeU4開發板,NiobeU4開發板端側收到信息后做天氣信息字符串匹配,根據天氣內容在LCD上顯示相關信息。

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

直接拷貝至系統,reset板子。

Gateway側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"}}

(左右移動查看全部內容)

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

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

三、附加電池

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

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • lcd
    lcd
    +關注

    關注

    34

    文章

    4414

    瀏覽量

    167137
  • HTTP
    +關注

    關注

    0

    文章

    501

    瀏覽量

    31076
  • 開發板
    +關注

    關注

    25

    文章

    4959

    瀏覽量

    97217
  • LwIP
    +關注

    關注

    2

    文章

    86

    瀏覽量

    27105
  • OpenHarmony
    +關注

    關注

    25

    文章

    3665

    瀏覽量

    16163
  • NiobeU4
    +關注

    關注

    3

    文章

    31

    瀏覽量

    502

原文標題:基于NiobeU4開發板的簡易桌面天氣預報設計&實現

文章出處:【微信號:HarmonyOS_Community,微信公眾號:電子發燒友開源社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    【開鴻智谷NiobeU4開發板免費試用體驗】開鴻智谷NiobeU4恢復出廠太空飛人

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

    【開鴻智谷NiobeU4開發板免費試用體驗】 開發環境搭建并初步測試程序;

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

    【開鴻智谷NiobeU4開發板免費試用體驗】1.Windows物理機上構建Linux開發環境

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

    【開鴻智谷NiobeU4開發板免費試用體驗】2.NiobeU4編程基礎--gpio與uart聯合使用示例

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

    【開鴻智谷NiobeU4開發板免費試用體驗】簡易桌面天氣預報器的設計&amp;實現

    做網關,用于搭建NiobeU4開發板天氣網站之間的橋梁,負責獲取天氣信息,并通過TCP鏈接轉發到NiobeU4
    發表于 10-07 23:35

    【開鴻智谷NiobeU4開發板免費試用體驗】Demo例程加載

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

    【Banana PI Leaf S3開發板試用體驗】基于Banana PI Leaf S3的天氣預報系統

    本次主要利用Banana PI Leaf S3開發板 和 SSD1306的OLED屏幕,實現一個簡易天氣預報系統。一、系統架構直接在Banana PI Leaf S3
    發表于 10-17 20:06

    【開鴻智谷NiobeU4開發板免費試用體驗】Demo例程加載

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

    【開鴻智谷NiobeU4開發板免費試用體驗】簡易桌面天氣預報器的設計&amp;amp;amp;實現

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

    【開鴻智谷NiobeU4開發板免費試用體驗】2.NiobeU4編程基礎--gpio與uart聯合使用示例

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

    【開鴻智谷NiobeU4開發板免費試用體驗】1.Windows物理機上構建Linux開發環境

    本文來源電子發燒友社區,作者:chenzd, 帖子地址: https://bbs.elecfans.com/jishu_2308700_1_1.html 【開鴻智谷NiobeU4開發板免費試用
    的頭像 發表于 10-14 14:47 ?863次閱讀
    【開鴻智谷<b class='flag-5'>NiobeU4</b><b class='flag-5'>開發板</b>免費試用體驗】1.Windows物理機上構建Linux<b class='flag-5'>開發</b>環境

    【開鴻智谷NiobeU4開發板免費試用體驗】基于Ubuntu22.04的NiobeU4開發環境搭建

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

    基于ESP32芯片,搭載OpenHarmony操作系統,NiobeU4開發板應用實例

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

    NiobeU4開發板數據手冊

    NiobeU4開發板數據手冊
    發表于 07-18 11:15 ?19次下載

    NiobeU4開發板原理圖

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