『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 50002|回复: 37

[基础教程] 让你的HomeAssistant 拥有一个中控屏【串口屏接入hass】

  [复制链接]

3

主题

47

帖子

534

积分

论坛DIY达人

积分
534
金钱
487
HASS币
0
发表于 2021-1-25 01:07:14 | 显示全部楼层 |阅读模式
本帖最后由 吉祥gg 于 2021-1-26 16:56 编辑

0、前言
     我也是一个hass新手,其实三年前就接触过这玩意,不过是装上去,主要是还是米家那套东西,搞几天,兴趣过去了就不爱搞了。每次再捡起来,发现好多东西升级后都变样了。又得重新搞。断断续续 扔了捡,捡了扔,搞了好多次。
     这次因为前段时间沈阳疫情,单位轮班,时间相对多了些,无聊就又搞起来这玩意,这次打算好好弄一下,正经用起来。
     关于此次说的串口屏,其实是年初的时候在家办公,没事情做,在淘宝买了一个长条的串口屏,当初打算做个车载的东西,后来工作忙了就放下了,这几天收拾东西发现了。研究下这玩意用在哪呢? 不能一直吃灰啊 ,于是就有了这篇文章。
     这个文章只是给大家一个思路,有类似想法或者需求的小伙伴可以试试。

不想讨论的问题:每次遇到这种分享的时候总有人提出来用旧手机、旧平板,我个人觉得那玩意不适合贴在墙上如果拆了3D打印 一个外壳还可以。所以别提手机平板的的事哈,那玩意可以做大家都知道。



IMG_20210125_010349.jpg
1、关于这块屏幕
下面是这个屏幕的参数,这个屏幕显示方面很好,但是 不好地方就是 指令和开发不如另外几家的友好。
可能很多朋友之前没接触过串口屏幕,这东西好处就是不用自己写显示驱动,图片自己设定好,用配套的开发工具设置好几个界面的切换逻辑,然后通过串口或者触控触发切面切换,和数据更新。

之所以说这个编程不太友好就是,这东西 更新 只能通过对设定寄存器发送数据更新,显示支持方面也不如之前用的一家屏幕理想
触控串口输出 也只能输出键值,但是手头就这玩意,就将就用了 ,其实想搞这个的 也可以用这款, 这个可以直接装到86 盒上,开发方面也更灵活一些, 抛砖引玉,各路大神可以按自己思路走。

QQ截图20210124231115.png

1、界面设计
由于本人码农,美术方面基本没啥素养,哈哈,审美一团糟,ps入门都谈不上,设计这玩意就选了个不用设计的方块拼图
大致这样的效果, 这里面 背景图片和固定的文字都是写到图片上的,把要更新数据的位置空出来。就ok了

001.jpg
000.jpg

由于这里面有开关按钮,所以按钮部分做了两种颜色,在按下的时候,按钮会变色。这块的实现可以根据你选的屏幕厂家有对应的解决方案。如果有小伙伴做了遇到问题也可以留言。

由于字库显示方面问题,文字显示的数字感觉总有点毛刺,这个问题我是利用屏幕的艺术字解决的,说白了就是用对应的数字图片替换原有数字,文章第一张图就是用图片做的

2、开发
由于这个屏是迪文的,所以使用的开发工具是DWIN dgus
如果有小伙伴买这个屏的话 B站有开发教程,一个小时就能学会。


很简单 大体就是 在预先留好的位置上添加变量,主要 变量的地址,这个屏幕使用的用户地址要从1000以后  也就是 ,为了便于管理  我预留了1000-2000之间的地址,从2000开始,每个房间预留100个  比如 客厅  温度 2101 湿度2102 亮度 2103    卧室  温度2201 湿度2202    卧室灯2211  卧室夜灯2212     两字节地址  到时候可以通过串口向这些地址发送数值更新这些值。


QQ截图20210125010603.png
3、数据更新
目前我采用的方案是  屏幕使用ttl通信 ,接esp-01s 安装esphome 定时任务 读取hass传感器按照协议拼接推送到屏幕上指定的位置
当然也可以采用数值变化事件驱动更新,可能更及时一些。
一个思路,仅供参考

4、开关问题
每个开关设置一个变量地址   做两个颜色的按钮,将这两个按钮作为图标导入工程,后台数据将开关状态数值推送到屏幕,屏幕根据数值显示按钮颜色。每个按钮设置一个键值,按下时,这个值会通过串口发给esphome,esphome根据预先设定将对应的开关状态翻转,然后获取开关最新状态推送给屏幕,屏幕即刻更新按钮状态。反正这个地方我不太爽,习惯TJC的屏幕那种更新交互方式。



5、没写完的部分
天气预报和万年历
其实思路也简单,esphome 获取推送到屏幕, 屏幕内预先做好天气图标,然后esphome根据获取的天气 转成文字推送到屏幕对应的天气文字变量(这里要注意汉字需要转码),另外要根据天气特征生成对应的数值,更新屏幕上天气图标。

基本上就是 这样的了,文章就是给大家提供一个思路,其实这个屏幕没有框 放墙上也不好看,要搞还得做个壳哈哈 。
另外可以外接个红外 或者超声波传感器  检测到有人经过的时候 提高亮度,没人的时候自动息屏或者降低亮度,屏幕都有响应的控制指令,很简单

更新
有小伙伴不清楚 怎么让hass 发数据

我来说下,确切的说,并不是hass主动发数据,而是接入到hass的esphome读取的传感器的值
关于要发给屏幕的数据格式要根据您选的屏幕确定格式在定时器里面加工一下就行了
无非是字符串、数组的拼接 这类的

uart:
  tx_pin: GPIO01
  rx_pin: GPIO03
  baud_rate: 115200

interval:
  - interval: 1s
    then:
      - uart.write:传感器的值 {需要数据需要加工也放到这个 定时器里面 每次获取新数据加工好在发串口就ok了 }









评分

参与人数 4金钱 +43 收起 理由
yhwl8888 + 2 给同城大佬点赞 交流下哈啊
27hh + 20 我来瀚思就为看你!
kgt09382000 + 1 墙都不扶,就服楼主!
+ 20 厉害了word楼主!

查看全部评分

回复

使用道具 举报

43

主题

412

帖子

3806

积分

元老级技术达人

积分
3806
金钱
3389
HASS币
136
发表于 2021-1-25 11:25:00 | 显示全部楼层
越整越烧脑了。
回复

使用道具 举报

12

主题

98

帖子

615

积分

论坛积极会员

积分
615
金钱
517
HASS币
0
发表于 2021-1-25 12:20:18 | 显示全部楼层
大佬给个详细点的教程,举个具体的例子把具体的步骤展示一下,对小白来说太不友好了
回复

使用道具 举报

4

主题

331

帖子

2472

积分

金牌会员

Rank: 6Rank: 6

积分
2472
金钱
2141
HASS币
0
发表于 2021-1-25 14:54:33 | 显示全部楼层
厉害厉害,玩不来
回复

使用道具 举报

0

主题

37

帖子

1415

积分

金牌会员

Rank: 6Rank: 6

积分
1415
金钱
1378
HASS币
0
发表于 2021-1-25 15:14:46 | 显示全部楼层
我用淘晶池3.5寸的串口屏做了个类似的,3D打印了个外壳加了电池。
回复

使用道具 举报

3

主题

47

帖子

534

积分

论坛DIY达人

积分
534
金钱
487
HASS币
0
 楼主| 发表于 2021-1-25 18:38:43 | 显示全部楼层
ctrl 发表于 2021-1-25 15:14
我用淘晶池3.5寸的串口屏做了个类似的,3D打印了个外壳加了电池。

3.5的屏我也有一块   其实 家里用 搞个 86盒那种装墙上还是挺好的 供电问题也解决了
回复

使用道具 举报

3

主题

47

帖子

534

积分

论坛DIY达人

积分
534
金钱
487
HASS币
0
 楼主| 发表于 2021-1-25 18:39:53 | 显示全部楼层
shao190 发表于 2021-1-25 12:20
大佬给个详细点的教程,举个具体的例子把具体的步骤展示一下,对小白来说太不友好了 ...

有兴趣搞 就研究下 其实挺简单的  自动动手搞起来就没那么难了, 如果有啥问题可以留言   
回复

使用道具 举报

3

主题

47

帖子

534

积分

论坛DIY达人

积分
534
金钱
487
HASS币
0
 楼主| 发表于 2021-1-25 18:41:07 | 显示全部楼层

主要是 没啥事做,一块屏放那吃灰还不甘心
回复

使用道具 举报

27

主题

558

帖子

4384

积分

论坛元老

Rank: 8Rank: 8

积分
4384
金钱
3826
HASS币
0
发表于 2021-1-25 19:45:22 | 显示全部楼层
买个平板 显示网页不香吗
回复

使用道具 举报

6

主题

85

帖子

705

积分

高级会员

Rank: 4

积分
705
金钱
620
HASS币
0
发表于 2021-1-25 20:17:07 | 显示全部楼层
homeassistant怎么设置 才能发数据
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-26 14:56 , Processed in 0.059306 second(s), 35 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表