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

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

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

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

【開鴻智谷NiobeU4開發(fā)板免費(fèi)試用體驗(yàn)】使用wifi獲取實(shí)時(shí)天氣數(shù)據(jù)

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

掃碼添加小助手

加入工程師交流群

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


前言

上一篇帖子已經(jīng)完成了多線程操作和LCD的基本驅(qū)動(dòng),本篇在上一篇的工程基礎(chǔ)上加上wifi功能,實(shí)現(xiàn)實(shí)時(shí)天氣的獲取。

新建wifi處理任務(wù)

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

1、新建源文件TaskWifi.c

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

②處理wifi聯(lián)網(wǎng),連接服務(wù)器,數(shù)據(jù)收發(fā)等與wifi相關(guān)的所以事情

詳細(xì)如下:

11.png

2、新建weather.c和weather.h

weather.c負(fù)責(zé)所以函數(shù)的具體實(shí)現(xiàn),主要包括如下:

image.png

weather.h是其對(duì)應(yīng)的函數(shù)聲明和相關(guān)宏定義,如下:

image.png

3、添加wifi_connect.c文件

該文件可以直接從官方wifi例程里復(fù)制過(guò)來(lái),wifi目前只能連接無(wú)密碼的wifi熱點(diǎn),所以需要進(jìn)行一處修改:

22.png

4、修改BUILD.gn文件

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

33.png

socket tcp數(shù)據(jù)收發(fā)

socket是在應(yīng)用層和傳輸層之間的一個(gè)抽象層,它把TCP/IP層負(fù)責(zé)復(fù)雜的操作抽象為幾個(gè)簡(jiǎn)單的接口供應(yīng)用層調(diào)用已以實(shí)現(xiàn)進(jìn)程在網(wǎng)絡(luò)中的通信。

主要接口如下:

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

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

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

發(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;
        }
    }
}

數(shù)據(jù)接收的時(shí)候調(diào)用recv函數(shù)時(shí),第三個(gè)參數(shù)不能是表達(dá)式,如果是表達(dá)式,則只能讀回來(lái)四個(gè)字節(jié),后面再調(diào)用recv函數(shù)讀回來(lái)的長(zhǎng)度都是0,這一點(diǎn)還不知道原因。

44.png

效果展示

接收到的天氣數(shù)據(jù)目前暫時(shí)通過(guò)uart打印,數(shù)據(jù)如下:

image.png

后面將對(duì)這些數(shù)據(jù)進(jìn)行解析和顯示。

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

    關(guān)注

    2

    文章

    146

    瀏覽量

    1583
  • NiobeU4
    +關(guān)注

    關(guān)注

    3

    文章

    31

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    【潤(rùn)HH-SCDAYU800A開發(fā)板試用體驗(yàn)】潤(rùn)HH-SCDAYU800A開發(fā)板(四)

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

    【匯思博SEEK100開發(fā)板試用體驗(yàn)】04 網(wǎng)絡(luò)連接及獲取和風(fēng)天氣數(shù)據(jù)

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

    開發(fā)板深度體驗(yàn):從開源鴻蒙開發(fā)到AI場(chǎng)景實(shí)踐

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

    【潤(rùn)HH-SCDAYU800A開發(fā)板試用體驗(yàn)】潤(rùn)HH-SCDAYU800A開發(fā)板(二)

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

    有獎(jiǎng)丨米爾 瑞芯微RK3562開發(fā)板免費(fèi)試用新增名額!

    米爾與瑞芯微合作發(fā)布的新品基于瑞芯微RK3562應(yīng)用處理器的MYD-YR3562開發(fā)板免費(fèi)試用名額增加
    的頭像 發(fā)表于 06-13 08:04 ?422次閱讀
    有獎(jiǎng)丨米爾 瑞芯微RK3562<b class='flag-5'>開發(fā)板</b><b class='flag-5'>免費(fèi)</b><b class='flag-5'>試用</b>新增名額!

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

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

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

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

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

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

    性能強(qiáng)悍!合眾HZ-RK3568開發(fā)板試用體驗(yàn)

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

    有獎(jiǎng)丨米爾 NXP i.MX91開發(fā)板免費(fèi)試用來(lái)啦

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

    【評(píng)測(cè)試用】合眾HZ-T536開發(fā)板免費(fèi)試用體驗(yàn)

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

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

    電磁兼容整改能力。歡迎聯(lián)系。 雷卯收集增強(qiáng)現(xiàn)實(shí)4G/WIFI無(wú)線傳輸產(chǎn)品開發(fā)板明細(xì)如下: 以下是4G/WIFI無(wú)線傳輸產(chǎn)品
    的頭像 發(fā)表于 04-08 18:21 ?206次閱讀
    雷卯收集<b class='flag-5'>4</b>G/<b class='flag-5'>WIFI</b>無(wú)線傳輸產(chǎn)品<b class='flag-5'>開發(fā)板</b>

    免費(fèi)丨米爾 STM32MP257開發(fā)板有獎(jiǎng)試用

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

    有獎(jiǎng)丨米爾 瑞芯微YR3562開發(fā)板免費(fèi)試用

    米爾與瑞芯微合作發(fā)布的新品基于瑞芯微RK3562應(yīng)用處理器的MYD-YR3562開發(fā)板免費(fèi)試用活動(dòng)來(lái)啦~~米爾提供了3塊價(jià)值599元的MYD-YR3562開發(fā)板發(fā)起
    的頭像 發(fā)表于 03-20 08:05 ?527次閱讀
    有獎(jiǎng)丨米爾 瑞芯微YR3562<b class='flag-5'>開發(fā)板</b><b class='flag-5'>免費(fèi)</b><b class='flag-5'>試用</b>

    有獎(jiǎng)試用!!RA-Eco-RA4M2-100PIN-V1.0開發(fā)板試用活動(dòng)報(bào)名

    RA-Eco-RA4M2-100PIN-V1.0開發(fā)板試用活動(dòng)
    的頭像 發(fā)表于 03-13 12:10 ?517次閱讀
    有獎(jiǎng)<b class='flag-5'>試用</b>??!RA-Eco-RA<b class='flag-5'>4</b>M2-100PIN-V1.0<b class='flag-5'>開發(fā)板</b><b class='flag-5'>試用</b>活動(dòng)報(bào)名