8051| 7
|
用ESP32撸一个天气预报助理 |
--------------老规矩先发图镇楼-------------- -----开场前的碎碎念---- 2020年一开局就被一场疫情打乱 不过在家宅着也终于有时间去好好收拾收拾各种烂尾项目 这次带来的是基于ESP32构建的一个天气预报助理 这次算是玩了一下高档货 用的是乐鑫官方的ESP32-WROVER-KIT(老贵了) 自带一块全彩液晶屏(可惜没触摸Orz) 这两块板卡实际上是我的学弟做课程项目自己买的 项目做完了,板卡也闲置了 学弟就问我要不要,说是有点坏的,就白送了 这两块板卡到我手里的时候。。。是这样的 鬼知道他们经历了什么。。心疼板卡1s 作为一名垃圾佬属性发作(划掉)勤俭节约的攻城狮 自然是愉快的收下了他们(反正不要钱,不要白不要) 第一块是电源选择的排针坏了,学弟已经飞了根线了,基本不影响使用 第二块是USB口崩了。。。不过问题不大,我自己有USB转TTL模块,一样可以烧程序 就是每次要自己按boot和reset按键麻烦点而已 别的看了下都没损坏,通电测试也都是好的 好吧,那就可以拿他们搞事情了! (插个表情包一个挑事的微笑) ---------先说说这个项目--------- 不知道大家有没有注意过论坛上 创意生活,这个版块的主题图 就是下面这个 这个实际上就是一个基于esp8266的天气预报助手 我在国外网站上找到了他的出处 这个网站还有很多基于esp8266和esp32的好玩项目 有兴趣的小伙伴也可以去围观一下 传送门在这里 https://blog.squix.org/ 我其实想做这个项目,也是因为当初看到这张图 然后找到了国外项目网站以后,就一直烂尾ing 但是呢,原版是基于esp8266的,而且个人觉得,月相并不实用 so.....就直接自己空手撸代码了 除了天气图标和界面配色方案借鉴了下 ------硬件构建----- 硬件上主要是ESP32,液晶屏,DHT11以及一个按钮 其实这个按钮也可以用esp32的触摸输入功能替代哟 液晶屏是ILI9341主控的3.2寸TFT,分辨率240*320 最近论坛心愿单功能正在修复ing,所以在这里手动补一发链接想要做一个的小伙伴可以买买买了!https://www.dfrobot.com.cn/goods-1394.html https://www.dfrobot.com.cn/goods-1109.html https://www.dfrobot.com.cn/goods-109.html https://www.dfrobot.com.cn/goods-78.html 不过,商城里ILI9341的液晶屏只有2.8寸的,3.5寸的那款主控芯片并不一样 2.8寸的分辨率也是240*320,程序可以直接使用,无需修改~ 接线就不多说了,在我的程序里都可以看到引脚的宏定义 可以根据需要自己修改下 液晶屏使用的是SPI接口 这里我放一张我用的板卡的液晶屏引脚对应图 欧对了,说明下,其实SDA就是MOSI,SDO就是MISO 按钮和DHT11所使用的IO都可以在main.cpp的宏定义中看到~可以根据需要自行修改,和实际接线对应就行 ------程序构建前的准备工作------- 用的气象网站是OpenWeatherMap https://openweathermap.org/ 需要去注册一下,然后获取自己的Key 具体请参照网站内的Guide 获取Key之后,修改weather.h的URL_KEY宏定义 替换成自己的Key 此外记得将URL_LOCATION换成自己的城市 具体城市名称,也可以在网站上查询到 其他的宏定义就不要乱改了 除非高级玩家清楚地知道自己是在干啥 欧对了,还可以修改下wifi信息 当板卡无法连接到路由器wifi的时候,会启动AP模式,化身成一个自带wifi热点的服务器 这个wifi热点的名字和密码可以在network.h文件里修改对应的宏定义 然后可以根据液晶屏显示内容访问控制页面,设定需要连接的wifi热点名称和密码 设定好重启一下就行啦 --------程序构建-------- 这次的代码还是在PlatformIO上基于Arduino Framework构建的 如果是用platformIO的小伙伴,就直接能用了 如果是用ArduinoIDE的小伙伴,也是可以用的 不过要稍微麻烦点做一下预处理
------最后再唠叨几句------ 有问题的小伙伴可以回帖留言 欢迎反馈各种bug 我会尽力帮助解决 项目开发fishGan 特别感谢老婆大人doudou帮忙排版~❤ (我还画了一条鱼!小声bb~) 本项目未经许可不得商用! 不得单独转载项目文件包!必须连同本文转载! 转载请注明原作者和出处~ weather.rar |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed