欢迎光临散文网 会员登陆 & 注册

ESP 8266 tft屏幕显示之2.8寸(320x240)

2021-12-22 17:30 作者:会飞的豹豹豹  | 我要投稿

先看效果

简介

esp8266驱动2.8寸TFT屏幕,加载有动画,显示太空人动画!

esp8266物联网控制屏幕亮度,空调。

物联网部分用的是阿里云,控制端用的是微信小程序,控制方式是云产品流转(数据流转)mqtt方式。

使用TFT_eSPI库驱动

TFT屏幕驱动库

        这个库的操作方式,可以百度一下,上面的文章有很多,这里就不介绍了。


        本项目可分为由两部分组成,一个开机界面,一个运行界面

开机界面
运行界面


先来说说开机界面

首先把库函数简单封装一下,方便后面直接调用!

       开机动画可以分解成三部分,既人物动画,提示语动画,还有加载动画。人动画是最简单的部分,用软件提取GIF动图转成jpg文件,然后jpg文件转hex代码直接导入,然后依次循环即可。        

        然后就是提示语动画,把提示语动画看成一句一句的,然后放进数组,然后也是循环播放即可。

      最后就是进度条,可以理解为外面一个空心圆角矩形,里面动的是实心圆角矩形,然后用循环调整y轴向前进就OK了。(注意y轴最大要比屏幕长度小一些,具体小多少依自己屏幕来调整)

提示语数组1!
提示语数组2!

        

for循环播放

 效果:

       

加载效果示例!

运行界面

先是绘画出文字线框,根据驱动库线条函数一条一条绘制即可。


函数

效果:


线框效果

接下来就是各区域了!

依旧可以用上面封装的函数,把矩形去掉,调一下参数即可!

例如城市和日期

城市和日期函数简单封装!

效果:


时间日期效果!

其它的也可以依照上面的方法复刻制作!

最后效果:(粉色底色,方便查看)

最后静态效果!


最最最最重要的是,让它动起来!还各动各的。

充分运用millis()函数就OK了。

自定义函数框架!

那么时间显示就是:


       最后在loop函数中直接调用就OK了!


        至于信息来源,有各种平台(心知天气)平台的好处是稳定,方便,可能有现成的库文件可以用有,但是可能会收费使用。或者可以裸API获取信息,得靠自己解析使用,至于来源嘛!莫度后自己试可用性,好处是白嫖,坏处就是稳定性不一定好,麻烦找!


物联网

        可以给它加入物联网属性,这里就需要用一个物联网平台,平台有很多(百度,阿里,华为等等)

       这里我用的是阿里的,mqtt协议直连,但是mqtt账号和密码是通过编码得到的。再但是

有人封装了现成的库可以用,那就直接用就OK了!

       设备上云了,还得有控制方式才可以,

我这里使用的是微信小程序,自己弄一个。小程序控制的方式可以分为两种,一种是API控制

一种是mqtt转发,两种各有好处,API的好处是官方的,有各种API操作,覆盖了整个物联网需要的,不好的地方我目前感觉的地方是请求公共参数(也就是API封装)。mqtt转发不好的地方是需要在平台注册两个设备,对于微信小程序来说还有一个合法域名的问题(这个问题很严重,但是自己玩就还好)。


API方式可以看这个链接:https://blog.csdn.net/weixin_42852371/article/details/104997213

mqtt转发的方式可以看这个链接:https://www.bilibili.com/read/mobile?id=4992901

上面的文章都很详细,对于API的封装问题上面链接已解决。



如果不会弄小程序,我自己制作了一个小程序,可以控制设备!到时候我可以提供。



ESP 8266 tft屏幕显示之2.8寸(320x240)的评论 (共 条)

分享到微博请遵守国家法律