项目展示
②左侧、右侧
前言
为什么想到要做这个小玩意呢,作为一个死宅,懒得看手机,但又想要抬头就能看见时间和天气信息,于是就做个这么个小东西,放在示波器上面正好(示波器外壳有个小槽,刚好可以卡住)
功能主要有,获取国家气象局的天气信息,还有实时的温湿度,主控采用ESP32,所以后续还可以开放更多奇奇怪怪的功能,比如油价信息、股票信息之类的,反正能联网可操作性就大多了
原理图、PCB、面板设计均使用嘉立创EDA,项目代码方面采用Arduino IDE,项目全开源,商用请联系
设计思路
硬件信息
①主控:ESP32(esp32 wroom 32)
②屏幕:主屏1.8寸TFT_LED,副屏0.96寸OLED
③充电:IP5306
④降压:AMS1117-3.3
⑤通信:CH340K
⑥接口:TYPE-C-16P
⑦传感:DHT11
⑧电池:2000毫安锂电
原理图
PCB
面板设计
我还是第一次用到嘉立创的面板设计,这里就给大家提供一个参考,大家感兴趣也可以试一下
我设计的尺寸大概是45*60mm,最少5张起,一张5块钱,不包邮(无法使用包邮卷,8元运费)
新人领了一张10元优惠券,所以最终是23块钱
不知道这个价格怎么样?
要补充一点,嘉立创面板的服务还是很到位的,可能他们怕你不会弄,会有专员加你确认生产稿,这点还是非常好评的
我第一次画就画错了,在确认生产稿环节,才将图纸改正确,不然血亏23块钱
我采用的方法是,拼了几张图片,中间不设图案,透明显示(屏幕显示)
不知道正确的方法是不是这样,反正效果也还可以
目前功能
①温度、湿度检测
②户外天气获取
③自动配网
④主屏、副屏显示
⑤智能充放电
⑥天气图片适配
⑦天气文字适配
⑧OLED支持常用中文库
⑨NTP网络时钟
温湿度检测
使用DHT11传感器,库文件dht11库,库文件地址https://wwmg.lanzouu.com/id6GV2fydzpa
非常常用的库,使用方法也很简单,DHT11.read更新传感器信息,然后直接用DHT.humidi和DHT11.temperature读取温湿度信息
户外天气获取
通过获取天气API,然后使用JSON库解析API信息
天气API地址:http://api.xemowo.top/api/tqyb.html
调用ParseWeather函数(连接网络后),访问API,并且解析JSON信息,将数据保存至变量
自动配网
在setup函数中,就调用connectToWiFi函数,带入数据为超时时长,在15s内读取内存保存的网络数据,并且进行连接,连接失败或超时,则进行配网
进入配网状态,手机、电脑在wifi列表可见XEM_ESP32,进行连接,连接成功会自动跳转到配网界面
输入WIFI账号密码后,会将数据保存进内存,方便下次启动连接WIFI
NTP时钟
采用NTPClient库,使用阿里云NTP授时
库函数:https://github.com/arduino-libraries/NTPClient
天气图片适配
工程文件夹中,BMP.H文件保存大部分常用天气的图标,以及一些用得到的图标,代码会根据当前天气,自动适配图片
天气文字适配
XEM_FONT.H文件中,则保存所需天气的中文字符
参考库大全
复刻成本
批发会更便宜,以下价格为单买
(一)元器件
1.8寸TFT_LEC:11元
0.96寸OLED:8元
ESP32:13元
DHT11:4元
CH340K:3元
IP5306:2元
AMS1117:1元
2000锂电池:3元
其他元器件:5元
(二)其他
PCB:白嫖
面板:23元
螺丝:2元
汇总:75元
总结
项目初代可能功能比较单一,但是ESP32的能力还远不止这么点,后续还可以更新APP,以及其他接口功能
后续可能考虑用3D打印替换面板,因为面板还是比较贵,而且不是封闭的
元器件可以批发买,外壳采用3D打印,成本可能可以降到50内
后代可能会考虑去掉OLED屏幕,以及将DHT11换成更小的传感芯片,可以将体积缩小一半,这样更加的迷你和轻便
大家有什么意见可以讨论一下,复刻有问题的,可以联系我
文章评论(0条评论)
登录后参与讨论