国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

【開鴻智谷NiobeU4開發(fā)板免費試用體驗】使用wifi獲取實時天氣數據

開發(fā)板試用精選 ? 來源:開發(fā)板試用 ? 作者:電子發(fā)燒友論壇 ? 2022-10-14 14:44 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文來源電子發(fā)燒友社區(qū),作者:xiaopeng, 帖子地址:https://bbs.elecfans.com/jishu_2308707_1_1.html


前言

上一篇帖子已經完成了多線程操作和LCD的基本驅動,本篇在上一篇的工程基礎上加上wifi功能,實現實時天氣的獲取。

新建wifi處理任務

既然是基于OpenHarmony的程序開發(fā),自然要發(fā)揮多線程的優(yōu)勢。所以對于相對獨立的程序最好是單獨建立一個獨立的任務,方便管理。

1、新建源文件TaskWifi.c

該源文件處理兩件事情:
① 創(chuàng)建wifi任務

②處理wifi聯網,連接服務器,數據收發(fā)等與wifi相關的所以事情

詳細如下:

11.png

2、新建weather.c和weather.h

weather.c負責所以函數的具體實現,主要包括如下:

image.png

weather.h是其對應的函數聲明和相關宏定義,如下:

image.png

3、添加wifi_connect.c文件

該文件可以直接從官方wifi例程里復制過來,wifi目前只能連接無密碼的wifi熱點,所以需要進行一處修改:

22.png

4、修改BUILD.gn文件

每次新增源文件都需要將源文件添加到BUILD.gn文件中,如下

33.png

socket tcp數據收發(fā)

socket是在應用層和傳輸層之間的一個抽象層,它把TCP/IP層負責復雜的操作抽象為幾個簡單的接口供應用層調用已以實現進程在網絡中的通信

主要接口如下:

socket():創(chuàng)建socket
bind():綁定socket到本地地址和端口,通常由服務器調用
listen():TCP專用,開啟監(jiān)聽模式
accept():TCP專用,服務器等待客戶端連接,一般是阻塞態(tài)
connect():TCP專用,客戶端主動連接服務器
send():TCP專用,發(fā)送數據
recv():TCP專用,接收數據
sendto():UDP專用,發(fā)送數據到指定的IP地址和端口
recvfrom():UDP專用,接收數據,返回數據遠端的IP地址和端口
closesocket():關閉socket

本文主要用到其中的四個:
socket()
send()
recv()
closesocket()

本文發(fā)送和接收都使用阻塞的方式進行。

發(fā)送:

static int send_data_to_server(char* data, int len)
{
    int ret;

    ret = send(sock, data, len, 0);
    if(ret == -1)
    {
        printf("data send failrn");
    }

    return ret;
}

接收:

void data_recv(char* buffer)
{
    int ret;
    uint16_t recv_len = 0;
    while(1)
    {
        ret = recv(sock, buffer + recv_len, sizeof(buffer), 0);
        if (ret > 0)
        {
            recv_len += ret;
        }
        else
        {
            buffer[recv_len] = '';
            printf("rec len:%drn,recv data:%srn", recv_len, buffer);
            break;
        }
    }
}

數據接收的時候調用recv函數時,第三個參數不能是表達式,如果是表達式,則只能讀回來四個字節(jié),后面再調用recv函數讀回來的長度都是0,這一點還不知道原因。

44.png

效果展示

接收到的天氣數據目前暫時通過uart打印,數據如下:

image.png

后面將對這些數據進行解析和顯示。

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

    關注

    2

    文章

    182

    瀏覽量

    1908
  • NiobeU4
    +關注

    關注

    3

    文章

    31

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    niobeu4 esp32 開發(fā)板無法連接有密碼的wifi

    (1) niobeu4 開發(fā)板,系統正常運行,串口正常輸出。 (2)測試 wifi 功能,按照 openharmony wifi sta 功能 api
    發(fā)表于 01-23 10:36

    【作品合集】潤HH-SCDAYU800A開發(fā)板測評

    防護,包含豐富的異構計算和高速IO資源。 活動詳情地址:【OH專題】潤HH-SCDAYU800A開發(fā)板免費試用 作者:傘振凱【潤
    發(fā)表于 09-19 14:09

    【作品合集】匯思博SEEK100開發(fā)板測評

    及組件介紹 【匯思博SEEK100開發(fā)板試用體驗】04 網絡連接及獲取和風天氣數據 【匯思博SEEK100開發(fā)板
    發(fā)表于 09-15 10:24

    【潤HH-SCDAYU800A開發(fā)板試用體驗】潤HH-SCDAYU800A開發(fā)板(四)

    (六)基于潤HH-SCDAYU800A開發(fā)板開發(fā)的在線溫濕度互動屏 項目目的 本項目旨在通過調用互聯網調用相關天氣接口和顯示環(huán)境溫濕度
    發(fā)表于 07-17 15:20

    【匯思博SEEK100開發(fā)板試用體驗】04 網絡連接及獲取和風天氣數據

    (() => { this.initData() }) 5 實機演示 將開發(fā)板連接2.4G WIFI,然后運行程序。 點擊查詢按鈕前,數據都為默認初始值。 查詢城市為\"青島\" 通過下拉列表選擇城市,查詢城市為\"北京\
    發(fā)表于 07-08 19:26

    開發(fā)板深度體驗:從開源鴻蒙開發(fā)到AI場景實踐

    開發(fā)板KaihongBoard-3588S-SBCKaihongBoard-3576-SBC體驗開源鴻蒙能力學習開源鴻蒙開發(fā)●●●搭載KaihongOS
    的頭像 發(fā)表于 07-03 17:03 ?1620次閱讀
    <b class='flag-5'>開</b><b class='flag-5'>鴻</b><b class='flag-5'>開發(fā)板</b>深度體驗:從開源鴻蒙<b class='flag-5'>開發(fā)</b>到AI場景實踐

    【潤HH-SCDAYU800A開發(fā)板試用體驗】潤HH-SCDAYU800A開發(fā)板(二)

    (三)潤HH-SCDAYU800A開發(fā)板固件燒錄 注意:本燒錄方法僅可用于Windows10及之前版本。 1.安裝USB驅動 1.1下載潤
    發(fā)表于 07-02 09:30

    基于RK3576處理器,米爾RK3576開發(fā)板免費試用

    年7月19日 ? 評測數量: 3塊 ? 更多熱點文章閱讀 基于平頭哥TH1520芯片,潤HH-SCDAYU800A開發(fā)板免費試用 RIS
    的頭像 發(fā)表于 06-09 15:00 ?1176次閱讀
    基于RK3576處理器,米爾RK3576<b class='flag-5'>開發(fā)板</b><b class='flag-5'>免費</b><b class='flag-5'>試用</b>

    搭載OpenHarmony操作系統,視美泰SC-3568HA開發(fā)板免費試用

    : 10塊 ? 更多熱點文章閱讀 基于平頭哥TH1520芯片,潤HH-SCDAYU800A開發(fā)板免費試用 RISC-V
    的頭像 發(fā)表于 06-05 16:45 ?1275次閱讀
    搭載OpenHarmony操作系統,視美泰SC-3568HA<b class='flag-5'>開發(fā)板</b><b class='flag-5'>免費</b><b class='flag-5'>試用</b>

    基于RK處理器,創(chuàng)龍TL3562-MiniEVM開發(fā)板試用體驗

    數量: 10塊 ? 更多熱點文章閱讀 基于平頭哥TH1520芯片,潤HH-SCDAYU800A開發(fā)板免費試用 RISC-V
    的頭像 發(fā)表于 06-05 16:31 ?1180次閱讀
    基于RK處理器,創(chuàng)龍TL3562-MiniEVM<b class='flag-5'>開發(fā)板</b><b class='flag-5'>試用</b>體驗

    性能強悍!合眾HZ-RK3568開發(fā)板試用體驗

    月19日 ? 評測數量: 10塊 ? 更多熱點文章閱讀 基于平頭哥TH1520芯片,潤HH-SCDAYU800A開發(fā)板免費試用 RISC
    的頭像 發(fā)表于 06-05 16:30 ?1482次閱讀
    性能強悍!合眾HZ-RK3568<b class='flag-5'>開發(fā)板</b><b class='flag-5'>試用</b>體驗

    有獎丨米爾 NXP i.MX91開發(fā)板免費試用來啦

    米爾與NXP合作發(fā)布的新品基于NXPi.MX91應用處理器的MYD-LMX91開發(fā)板免費試用名額來啦~~米爾提供了3套價值588元的MYD-LMX91開發(fā)板發(fā)起
    的頭像 發(fā)表于 06-05 08:02 ?1348次閱讀
    有獎丨米爾 NXP i.MX91<b class='flag-5'>開發(fā)板</b><b class='flag-5'>免費</b><b class='flag-5'>試用</b>來啦

    【評測試用】合眾HZ-T536開發(fā)板免費試用體驗

    【評測試用】合眾HZ-T536開發(fā)板免費試用體驗
    的頭像 發(fā)表于 05-27 08:05 ?979次閱讀
    【評測<b class='flag-5'>試用</b>】合眾HZ-T536<b class='flag-5'>開發(fā)板</b><b class='flag-5'>免費</b><b class='flag-5'>試用</b>體驗

    雷卯收集4G/WIFI無線傳輸產品開發(fā)板

    電磁兼容整改能力。歡迎聯系。 雷卯收集增強現實4G/WIFI無線傳輸產品開發(fā)板明細如下: 以下是4G/WIFI無線傳輸產品
    的頭像 發(fā)表于 04-08 18:21 ?605次閱讀
    雷卯收集<b class='flag-5'>4</b>G/<b class='flag-5'>WIFI</b>無線傳輸產品<b class='flag-5'>開發(fā)板</b>

    免費丨米爾 STM32MP257開發(fā)板有獎試用

    米爾與ST合作發(fā)布的新品基于STM32MP257應用處理器的MYD-LD25X開發(fā)板免費試用活動來啦~~米爾提供了2塊價值488元的MYD-LD25X開發(fā)板發(fā)起
    的頭像 發(fā)表于 03-20 08:05 ?1130次閱讀
    <b class='flag-5'>免費</b>丨米爾 STM32MP257<b class='flag-5'>開發(fā)板</b>有獎<b class='flag-5'>試用</b>