0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【开鸿智谷NiobeU4开发板免费试用体验】使用wifi获取实时天气数据

开发板试用精选 来源:开发板试用 作者:电子发烧友论坛 2022-10-14 14:44 次阅读

本文来源电子发烧友社区,作者:xiaopeng, 帖子地址:https://bbs.elecfans.com/jishu_2308707_1_1.html


前言

上一篇帖子已经完成了多线程操作和LCD的基本驱动,本篇在上一篇的工程基础上加上wifi功能,实现实时天气的获取。

新建wifi处理任务

既然是基于OpenHarmony的程序开发,自然要发挥多线程的优势。所以对于相对独立的程序最好是单独建立一个独立的任务,方便管理。

1、新建源文件TaskWifi.c

该源文件处理两件事情:
① 创建wifi任务

②处理wifi联网,连接服务器,数据收发等与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数据收发

socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层负责复杂的操作抽象为几个简单的接口供应用层调用已以实现进程在网络中的通信

主要接口如下:

socket():创建socket
bind():绑定socket到本地地址和端口,通常由服务器调用
listen():TCP专用,开启监听模式
accept():TCP专用,服务器等待客户端连接,一般是阻塞态
connect():TCP专用,客户端主动连接服务器
send():TCP专用,发送数据
recv():TCP专用,接收数据
sendto():UDP专用,发送数据到指定的IP地址和端口
recvfrom():UDP专用,接收数据,返回数据远端的IP地址和端口
closesocket():关闭socket

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

本文发送和接收都使用阻塞的方式进行。

发送:

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函数时,第三个参数不能是表达式,如果是表达式,则只能读回来四个字节,后面再调用recv函数读回来的长度都是0,这一点还不知道原因。

44.png

效果展示

接收到的天气数据目前暂时通过uart打印,数据如下:

image.png

后面将对这些数据进行解析和显示。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开鸿智谷
    +关注

    关注

    2

    文章

    125

    浏览量

    1151
  • NiobeU4
    +关注

    关注

    3

    文章

    31

    浏览量

    507
收藏 人收藏

    评论

    相关推荐

    有奖丨米尔 全志T536开发板免费试用

    米尔与全志合作发布的新品基于全志T536应用处理器的MYD-LT536-GK开发板免费试用活动来啦~~米尔提供了3块价值750元的MYD-LT536-GK开发板发起
    的头像 发表于 12-26 08:05 63次阅读
    有奖丨米尔 全志T536<b class='flag-5'>开发板</b><b class='flag-5'>免费</b><b class='flag-5'>试用</b>

    追加名额丨米尔瑞芯微RK3576开发板有奖试用

    米尔与瑞芯微合作发布的新品基于瑞芯微RK3576应用处理器的MYD-LR3576开发板免费试用活动加码啦~~米尔追加了2块价值849元的MYD-LR3576开发板发起
    的头像 发表于 11-22 01:00 182次阅读
    追加名额丨米尔瑞芯微RK3576<b class='flag-5'>开发板</b>有奖<b class='flag-5'>试用</b>

    有奖丨米尔 瑞芯微RK3576开发板免费试用

    米尔与瑞芯微合作发布的新品基于瑞芯微RK3576应用处理器的MYD-LR3576开发板免费试用活动来啦~~米尔提供了7块价值849元的MYD-LR3576开发板发起
    的头像 发表于 11-12 01:00 317次阅读
    有奖丨米尔 瑞芯微RK3576<b class='flag-5'>开发板</b><b class='flag-5'>免费</b><b class='flag-5'>试用</b>

    有奖试用!!RA-Eco-RA4E2-64PIN-V1.0开发板试用活动开始报名

    有奖试用!!RA-Eco-RA4E2-64PIN-V1.0开发板试用活动开始报名
    的头像 发表于 11-09 01:02 253次阅读
    有奖<b class='flag-5'>试用</b>!!RA-Eco-RA<b class='flag-5'>4</b>E2-64PIN-V1.0<b class='flag-5'>开发板</b><b class='flag-5'>试用</b>活动开始报名

    鸿用威廉希尔官方网站 助力构建鸿蒙世界的基石

    高级工程师王振德受邀出席此次威廉希尔官方网站 交流盛会并发表主题演讲,为鸿蒙生态的繁荣贡献企业力量。鸿的鸿蒙团队一直与广大开发者无私分享威廉希尔官方网站 心得,共同解决着代码难题,让更多人能
    的头像 发表于 10-29 08:05 219次阅读
    <b class='flag-5'>开</b><b class='flag-5'>鸿</b>智<b class='flag-5'>谷</b>用威廉希尔官方网站
助力构建鸿蒙世界的基石

    点击参与米尔NXP i.MX 93开发板有奖试用

    米尔与NXP合作发布的新品基于NXPi.MX93应用处理器的MYD-LMX9X开发板免费试用活动来啦~~米尔提供了3块价值678元的MYD-LMX9X开发板发起
    的头像 发表于 06-13 08:02 535次阅读
    点击参与米尔NXP i.MX 93<b class='flag-5'>开发板</b>有奖<b class='flag-5'>试用</b>

    鸿与OpenHarmony的创新对话

    OpenHarmony4.1Release版本根威廉希尔官方网站 特性解读为契机,聚集广大开发者、生态伙伴、行业领袖与百位威廉希尔官方网站 专家共同讨论威廉希尔官方网站 话题。鸿作为互联互通核心成员,不仅在现场荣获多项奖
    的头像 发表于 05-29 08:30 494次阅读
    <b class='flag-5'>开</b><b class='flag-5'>鸿</b>智<b class='flag-5'>谷</b>与OpenHarmony的创新对话

    鸿亮相OpenHarmony开发者大会,与生态共创开源新篇章!

    5月25日,以“鸿心聚力智引未来”为主题的OpenHarmony开发者大会2024(以下简称大会)在深圳成功举办。鸿获得多项奖项及授牌
    的头像 发表于 05-26 08:30 747次阅读
    <b class='flag-5'>开</b><b class='flag-5'>鸿</b>智<b class='flag-5'>谷</b>亮相OpenHarmony<b class='flag-5'>开发</b>者大会,与生态共创开源新篇章!

    鸿荣获鸿蒙原生应用开发及培训服务商牌匾授牌

    出席现场,并获颁鸿蒙原生应用开发及培训服务商称号。图/左4鸿副总裁李传钊
    的头像 发表于 05-24 08:30 798次阅读
    <b class='flag-5'>开</b><b class='flag-5'>鸿</b>智<b class='flag-5'>谷</b>荣获鸿蒙原生应用<b class='flag-5'>开发</b>及培训服务商牌匾授牌

    鸿联合多家伙伴战略签约,加速鸿蒙生态发展!

    5月20日,鸿母公司拓维信息520产品与威廉希尔官方网站 开放日暨28周年庆圆满举行,此次周年庆不仅是对公司创新突破、产品孵化和商业成果的回顾,更是携手合作伙伴共同展望未来、开启新篇章的重要时刻。
    的头像 发表于 05-23 08:30 801次阅读
    <b class='flag-5'>开</b><b class='flag-5'>鸿</b>智<b class='flag-5'>谷</b>联合多家伙伴战略签约,加速鸿蒙生态发展!

    免费!NXP i.MX 93开发板有奖试用

    米尔与NXP合作发布的新品基于NXPi.MX93应用处理器的MYD-LMX9X开发板免费试用活动来啦~~米尔提供了2块价值678
    的头像 发表于 05-23 08:01 728次阅读
    <b class='flag-5'>免费</b>!NXP i.MX 93<b class='flag-5'>开发板</b>有奖<b class='flag-5'>试用</b>

    鸿受邀出席2023年度南山区经济突出贡献企业TOP峰会

    4月19日,2023年度南山区经济突出贡献今业TOP峰会顺利召开,鸿(深圳子公司)作为南山鸿蒙产业生态的核心企业,OpenHarmony项目群A类捐赠人、鸿蒙生态服务公司首批入驻
    的头像 发表于 04-20 08:29 436次阅读
    <b class='flag-5'>开</b><b class='flag-5'>鸿</b>智<b class='flag-5'>谷</b>受邀出席2023年度南山区经济突出贡献企业TOP峰会

    拓维信息及旗下鸿同获华为HarmonyOS开发服务商认证

    近日,拓维信息及旗下鸿双双通过华为HarmonyOS开发服务商认证,成为华为“鸿蒙服务商先锋计划”认证级伙伴。秉持共同发展、共创价值的合作理念,拓维信息、
    的头像 发表于 03-29 08:13 524次阅读
    拓维信息及旗下<b class='flag-5'>开</b><b class='flag-5'>鸿</b>智<b class='flag-5'>谷</b>同获华为HarmonyOS<b class='flag-5'>开发</b>服务商认证

    鸿与CSDN达成战略合作,共建OpenHarmony人才计划

    2024年3月19日,鸿与中国专业开发者社区CSDN就共建OpenHarmony人才计划达成战略合作并举办发布仪式。
    的头像 发表于 03-20 08:29 442次阅读
    <b class='flag-5'>开</b><b class='flag-5'>鸿</b>智<b class='flag-5'>谷</b>与CSDN达成战略合作,共建OpenHarmony人才计划

    国内首批 | 鸿多名讲师获“鸿蒙原生应用开发培训讲师”资格认证

    2023年3月4日-5日,鸿蒙生态服务(深圳)有限公司(以下简称“鸿蒙生态服务公司”)组织了国内首批“鸿蒙原生应用开发培训讲师”认证,鸿
    的头像 发表于 03-16 08:29 675次阅读
    国内首批 | <b class='flag-5'>开</b><b class='flag-5'>鸿</b>智<b class='flag-5'>谷</b>多名讲师获“鸿蒙原生应用<b class='flag-5'>开发</b>培训讲师”资格认证