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

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

3天内不再提示

【开鸿智谷NiobeU4开发板免费试用体验】简易桌面天气预报器的设计&实现

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

本文来源电子发烧友社区,作者:大菠萝Alpha, 帖子地址:https://bbs.elecfans.com/jishu_2308832_1_1.html


一、桌面天气预报器架构

(一)手撕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侧显示,基本框架如下:

NBE1.png

#define SERVER_IP	"123.57.54.168"
#define SERVER_PORT 8080

        sock = socket(AF_INET, SOCK_STREAM, 0);
        if (sock < 0) {
            printf("Socket errorn");
            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.1rn");
	strcat(cmd,"Host: 123.57.54.168rnrn");
	
	write(sock, cmd, strlen(cmd));

这个HTTP GET发出去后,服务端认不出,找了个工具模拟了下,发现还是相同的问题,貌似服务器端对rn的解析不是换行,捣鼓了很久还是不行,于是放弃。

NBE3.jpg

(二)曲线救国

既然直接手撕HTTP GET request有问题,那还是换条路吧。
设想是有个server来做网关,用于搭建NiobeU4开发板与天气网站之间的桥梁,负责获取天气信息,并通过TCP链接转发到NiobeU4开发板端侧,具体如下:
NBE2.png

二、实现&展示

方案确定下来后具体实现就很简单了,网关处起个任务到www.yytianqi.com获取天气信息,然后发给NiobeU4开发板,NiobeU4开发板端侧收到信息后做天气信息字符串匹配,根据天气内容在LCD上显示相关信息。
NBE4.png

直接拷贝至系统,reset板子。
Gateway侧HTTP GET得到的信息如下:

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

NiobeU4开发板端的显示如下,多云天气:
NBE5.jpg

三、附加电池

刚好手头有块3.7V的锂电池,问了技术直接接上了,注意正负极即可,这块电池年份有点久了,基本上续航在3-5h。细心的可以看到视频中的电源灯是没有亮的。
NBE6.jpg

##感谢阅读##


附上开发板体验视频,详见作者原帖子文章。

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

    关注

    2

    文章

    123

    浏览量

    1146
  • NiobeU4
    +关注

    关注

    3

    文章

    31

    浏览量

    505
收藏 人收藏

    评论

    相关推荐

    能力再次提升! 迅为RK3588/RK3568开发板&amp;amp;amp;核心新增定制分区镜像

    能力再次提升! 迅为RK3588/RK3568开发板&amp;核心新增定制分区镜像
    的头像 发表于 11-06 15:11 431次阅读
    能力再次提升! 迅为RK3588/RK3568<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>新增定制分区镜像

    迅为itop-3568开发板AMP双系统使用手册之烧写AMP镜像

    迅为itop-3568开发板AMP双系统使用手册之烧写AMP镜像
    的头像 发表于 11-04 15:00 417次阅读
    迅为itop-3568<b class='flag-5'>开发板</b><b class='flag-5'>AMP</b>双系统使用手册之烧写<b class='flag-5'>AMP</b>镜像

    HarmonyOS NEXT正式发布,拓维信息&amp;amp;amp;鸿携手伙伴共筑鸿蒙新世界

    五大高品质体验:原生精致、原生互联、原生智能、原生安全和原生流畅,从而开启一个全新的鸿蒙世界。鸿及母公司拓维信息,作为华为的长期战略合作伙伴,一直以来都与鸿
    的头像 发表于 10-25 08:09 505次阅读
    HarmonyOS NEXT正式发布,拓维信息&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>开</b><b class='flag-5'>鸿</b>智<b class='flag-5'>谷</b>携手伙伴共筑鸿蒙新世界

    onsemi LV/MV MOSFET 产品介绍 &amp;amp;amp; 行业应用

    系列MOSFET介绍。4.onsemiLV/MVMOSFET市场&amp;应用。技术亮点onsemi最新一代T10系列MOSFET优势&amp;市场前景。学习收获期望了解onsemiSi
    的头像 发表于 10-13 08:06 384次阅读
    onsemi LV/MV MOSFET 产品介绍 &<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>; 行业应用

    基于 onsemi NCV78343 &amp;amp;amp; NCV78964的汽车矩阵式大灯方案

    大联大世平集团针对汽车矩阵大灯,推出基于onsemiNCV78343&amp;NCV78964的汽车矩阵式大灯方案。开发板搭载的主要器件有onsemi
    的头像 发表于 09-14 08:05 392次阅读
    基于 onsemi NCV78343 &<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>; NCV78964的汽车矩阵式大灯方案

    OC7201C资料(PCB &amp;amp; 原理图)

    电子发烧友网站提供《OC7201C资料(PCB &amp; 原理图).zip》资料免费下载
    发表于 07-18 16:19 1次下载

    FS201资料(pcb &amp;amp; DEMO &amp;amp; 原理图)

    电子发烧友网站提供《FS201资料(pcb &amp; DEMO &amp; 原理图).zip》资料免费下载
    发表于 07-16 11:24 0次下载

    解读北美运营商,AT&amp;amp;amp;T的认证分类与认证内容分享

    在数字化日益深入的今天,通信技术的稳定与安全对于个人、企业乃至整个国家都至关重要。作为北美通信领域的领军者,AT&amp;T一直致力于为用户提供高效、可靠的通信服务。而在这背后,AT&amp;T
    的头像 发表于 06-05 17:27 592次阅读
    解读北美运营商,AT&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;T的认证分类与认证内容分享

    RK3568开发板支持AMP双系统

    RK3568开发板支持AMP双系统
    的头像 发表于 06-04 15:33 706次阅读
    RK3568<b class='flag-5'>开发板</b>支持<b class='flag-5'>AMP</b>双系统

    正点原子i.MX 93开发板,双核A55+M33+NPU,双路RS485&amp;amp;FDCAN&amp;amp;千兆网,异核/AI/工业开发

    正点原子i.MX 93开发板,双核A55+M33+NPU,双路RS485&amp;FDCAN&amp;千兆网,异核/AI/工业开发!正点原子i.MX93
    的头像 发表于 05-08 15:00 771次阅读
    正点原子i.MX 93<b class='flag-5'>开发板</b>,双核A55+M33+NPU,双路RS485&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;FDCAN&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;千兆网,异核/AI/工业<b class='flag-5'>开发</b>!

    谷歌推出新模型提升天气预报准确性

    谷歌公司在天气预报领域迈出了重要一步,宣布推出名为“可扩展集成包络扩散采样”(SEEDS)的新型AI模型。这一生成式人工智能模型旨在提供更加精准的天气预报服务,为人们的生活和出行提供更为可靠的参考。
    的头像 发表于 05-06 11:31 570次阅读

    AWTK 开源串口屏开发(11) - 天气预报

    AWTK串口屏内置了XML/JSON/INI等各种数据文件的模型,并支持用HTTP/HTTPS从网络获取数据。不用编写一行代码,即可实现天气预报、股票行情、航班查询和快递查询等功能。天气预报是一个很
    的头像 发表于 03-05 08:24 395次阅读
    AWTK 开源串口屏<b class='flag-5'>开发</b>(11) - <b class='flag-5'>天气预报</b>

    【电磁兼容技术文档分享】频谱仪应用案例&amp;amp;amp;简易探头的制作

    【电磁兼容技术文档分享】频谱仪应用案例&amp;简易探头的制作
    的头像 发表于 02-19 13:20 977次阅读
    【电磁兼容技术文档分享】频谱仪应用案例&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>简易</b>探头的制作

    飞凌嵌入式OK3568-C-AMP-hal_用户使用手册_V1

    OK3568-C开发板-AMP-hal_用户使用手册_V1.0_20231227
    发表于 01-23 16:36 15次下载

    RK3568--基于AMP的多通道AD采集开发

    RK3568--基于AMP的多通道AD采集开发
    的头像 发表于 01-19 10:03 967次阅读
    RK3568--基于<b class='flag-5'>AMP</b>的多通道AD采集<b class='flag-5'>开发</b>案