注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
未见的个人空间 https://home.eeworld.com.cn/space-uid-1021593.html [收藏] [复制] [分享] [RSS]
日志

【2022得捷创新设计大赛】 ESP32_WEB_PUSHER基于esp32的网络推送器

已有 636 次阅读2022-11-6 10:55 |个人分类:参与比赛

ESP32_WEB_PUSHER基于esp32的网络推送器

作者:CubeLine

一、作品简介

在生活中,我们经常要面对各种信息的传递,表达和处理,大多数时间,我们使用的是智能手机一类的随身电子产品,在生活中,我们经常要面对各种信息的传递,表达和处理,大多数时间,我们使用的是智能手机一类的随身电子产品,电子产品不在手边的时候,我们就不太愿意去拾取手机来收集这些信息,比如像天气、时间、快递信息等一些常见而又不涉及到隐私的一些数据,我希望能找到一个更便捷的方式来获取,于是就有了这款网络推送器,目前,我只是抛砖引玉实现了最为基础的推送天气的功能,后续会逐渐完善其它渠道信息的推送,让他具备更多的推送能力。

二、系统框图
(系统软硬件实现框图)

2.1硬件框图

2.2软件架构

三、各部分功能说明

其实功能部分比较简单,主要就是通过网络发送消息到ESP32,通过ESP32-BOX的3.2英寸显示屏把消息展示出来,这里作为演示,展示的是天气信息:

3.1实际效果图

首先通过Http-Client库获取知心天气API的天气数据,因为API返回的是JSON格式的数据,所以我们还需要通过cjson这个库来对获取到的天气数据进行解析,把解析好的数据通过串口和屏幕分别打印出来。

在LVGL中首先创建一个table对象,然后设置对齐方式,把表格分为两列,左侧表示显示项目,右侧表示具体数值,通过cjosn库解包后的数据就在这个表格中进行展示。

实际效果如上图3.1。

四、作品源码

4.1代码截图(部分)

源码放在文件夹附件内

五、作品功能演示视频

作品目前就实现了天气预报类项目的推送设计,后续有时间还会更新其他数据推送的功能。

实物视频

六、项目总结

其实项目周期还是给的比较长,但是打工人时间不由己啊,总是被各种琐事和惰性给拖拉了,以前使用ESP32/ESP8266都是基于arduino方式来开发,这次项目对于我来说是一次很好的学习ESP-IDF方式开发的经验,从0开始,一点点找资料,找例程,学习CMake语法编辑,学习Linux下的编译,学习idf开发环境的搭建,学习http-client的get方法的使用,学习lvgl的使用,期间还尝试过GUI-Guider工具的使用,但是总是编译失败,后续还是得再研究研究。通过本次得捷比赛的活动,我也了解到国产MCU开发的便利性,确实比以往的国产单片机开发要简单方便了很多,尤其是乐鑫官方的技术文档非常全面,官方的例程库写得也很详实,这对于我一个初次接触idf的人来说,确实减少了很多不必要的麻烦。其中github的仓库不得不让我再吐槽一下,网络实在是搞不起来,总是在拉子库的时候断掉,还不让断点继续,花费了我好长时间来搞这个东西。然后vscode下的拓展插件也是,win和Linux下不能共存,win下编译贼拉慢,wsl下又不能使用USB串口,真的是让人爱恨交加。

最后,还是要感谢主办方得捷电子和eeworld的大力支持,希望以后能多多举办类似活动。

 

 

 

 

 

 

本文来自论坛,点击查看完整帖子内容。

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章