书架改造
起因
学校书桌右边这个两格的暑假真的是一点用没有,层高太浅,开口方向又不是朝桌子,光根本照不进去;然后它那个宽度有严重占据桌面空间,导致前面的区域只有80cm。
但是上面的书架用起来还可以,所以就考虑把右边的书架拆掉,换上一个纵向的书架,支撑上面暑假的同时还可以充当个小储物空间,放放周边工具啥的。
可行性
观察一番后发现,右边的柜子上下都是靠两颗螺丝固定的,拆起来非常容易,就是要烤炉能否支撑起上面的横向书架。
方案选择
- 一开始想着找个桌面书架刚好能撑住上面,然鹅所有书架上面都不是平的,根本没法支撑,增高架有没有这么高的尺寸,只能放弃
- 然后去搜了下仓库的储物架,结果我们学校的高度(55cm)太阴间了,根本没有这个高度的立柱。
- 于是就考虑使用角钢DIY,但是我感觉角钢的三角结构承重性不太理想(我上面有一个打印机和整整一排书),而且角钢的洞太丑了。
- 偶尔在B站刷到了铝型材的视频,表面平整,20*20方形支撑,直接被种草(我一直都很喜欢铝制产品的质感)然后就开始了设计
草草画了个设计图就下单了,铝型材2020 5m,紧固件在深圳本地买的,梯形螺丝+法兰螺母,加运费花费89。(小小吐槽,这种厂家根本没有参加双11的,甚至找不到包邮的,除了深圳本地的,邮费都是20起飞)
施工
拆的时候遇到了点问题,下面的螺丝找不到,研究了半天发现是用一个盖板藏起来了,找了个平头螺丝把盖板撬开就能拧掉螺丝了
铝型材装好放上去后发现只需要三条腿,离我最近的的那条腿没有提供一点支撑力(笑,于是就给这个腿装了两个内置角槽当滑轨用
成果
有一个意外之喜是拆下来的柜子横过来刚好能放到右边的空位之中,当个储物架,上层放食物,下层放些电子器件,还不挡桌子抽屉的使用,非常NICE。
灯光改造
方案
RGB灯带使用WS2812的封装(话说这玩意已经十年历史了),一盘5m 60珠/m 在40RMB多
主控打算做一个hacklab的基于ESP32的RGBLED控制器,板子还是白嫖嘉立创
更新
焊板子还是太麻烦了,而且反正最终用的还是WLED开源项目的固件,那不如买一块ESP32开发板,直接烧录上WLED的固件,而且它的WIFI链接可以适配到【Prismatik】的神光同步,效果非常NICE
拓展:关于WS2812B
WS2812B使用需要两条5V供电线,一条data线。只需要一个引脚控制是因为每个灯珠都有一颗微型芯片集成在灯珠里面,解析串接的信号线传输过来的data来控制RBG亮度。
WS2812B的优点:每颗灯珠都可以独立编程,可玩性非常高,而且有个开源固件WLED对WS2812B的支持非常好,大大降低了WS2812B的上手难度,即使没有单片机基础的小白也可以玩的很6
施工
先是买了SE110控制器控制ws2812,功能挺多,对于小白够用了
然后买了一个2m120灯珠的灯带,到手后才发现是PWM调光的RGB灯带,没有控制芯片,不能每个灯珠单独控制,看来只能当个氛围灯了
拓展:关于PWM
单片机的数字引脚只能输出低电平(0),高电平(3.3V(esp系列)),但是LED的亮度是通过电压的大小来控制的,电压越大,亮度越大。所以要控制LED,理论上要支持模拟信号(连续变化)的引脚控制,但单片机的模拟引脚是很稀缺的,那怎么用数字引脚来控制LED的亮度呢,于是就有了PWM调控(脉冲宽度调制)。
简单理解,PWM就是通过控制周期性引脚的高低电平长短从而调节LED亮度。
例如:对于5V供电的LED,要调控出等效75%亮度的效果,就可以设置一个周期25%为低电平,75%为高电平,只要周期足够短,频率足够高,肉眼看起来就是75%的亮度。(所以PWM控制的台灯一个重要指标就是有无可视频闪)
不满意,于是又买了1m96灯珠的ws2812灯带,用刷了WLED固件的ESP32来控制,刚好贴在电脑背面做神光同步。但是实际操作的时候电流根本不够,灯带非常暗(96灯珠满功耗大概3A,但是USB3.2只能提供1A电流),于是又买了一个5V10A的DC电源供电。
关于神光同步
- 首先买一块ESP32的开发板,15左右;再买灯带(记得是5V WS2812B),60珠1m大概10元
- 然后给ESP32刷一个开源固件WLED,记得下载下载串口驱动(如果你开发板串口芯片是CH9102,当我没说)
- 然后去LED设置里面看一下ws2812的控制引脚是GPIO多少,然后接线(可能要额外供电)
- copyESP32的ip地址,安装Prismatik,配置神光同步(可以用串口模式也可以用WIFI的UDP通信,具体怎么配置去B站搜【神光同步】)
效果
Home assistant
是什么
Home Assistant 是一个开源的家庭自动化平台,它允许用户监控和控制家庭中的各种设备和系统,包括灯光、温度、安全系统、音频/视频设备等。Home Assistant 支持多种设备和协议,可以与各种智能家居设备和服务进行集成,使用户可以通过一个统一的界面来管理和控制家庭中的各种设备。Home Assistant 还提供了自动化功能,可以根据预设条件和触发事件来执行一系列操作,从而实现智能化的家居体验。该平台具有灵活性和可扩展性,用户可以通过添加插件和自定义脚本来扩展其功能。
——provided by ChatGPT
说人话,就是可以吧apple的hommekit,小米的米家智能家居,ZIgbee,网关等等全部集成到一起,集中控制,并且能够编写自动化程序来智能控制你的家居,如下图。
方案选择
主要3个方案(第三个其实就是1+2):
- HA部署在内网,需要单独一台设备部署HA并且24h运行,手机的访问通过内网穿透将本地HA映射到公网上,这种方案的安全性和可玩性都非常高。
- HA部署在远端服务器上(比如我部署在阿里云),本地设备通过MQTT与HA保持连接,这种方式要保证每个设备都能接入公网访问服务器,而且很多集成无法使用(米家等,因为基于局域网通信),也放弃了蓝牙设备和局域网自动发现功能(但是可以后期本地再部署一个HA,就变成了方案三)
- 本地部署多个HA,再在云端部署一个HA集成本地所有HA,适用于多个环境,比如我的家+工作室的模式
结合我的情况:
- 学校宿舍区晚上断电,实验室倒是不断,但是教学区和宿舍区是不同的WLAN,直接断绝服务器放实验室的想法。
- 刚好我就有一台服务器(这个blog就是部署在上面的)
于是最终选择了方案二。(非常感谢王铭东老师的教程,方案二讲的很明白,尤其是MQTT)
但是有一个痛点,必须有一台设备能够一直通过网线联网并打开WLAN共享,以便早上寝室来电后设备能自动联网(校园网只能登一个ip),然后连接MQTT服务器。由于校园网要认证才能接入外网。
于是这个设备暂时由我的游戏本担任:
- 每天早上来点自动开机
- python自动网页认证
- 自动打开热点。
改进
之后考虑用一个ESP32接网线,通过http/get自动认证(宿舍区认证系统非常水,一个get就解决了),然后打开AP模式让其他设备接入公网
施工
HA部署
我图方便直接用docker部署的,结果遇到了天坑。
官方是有4种版本的HA的,其中HA OS类似于Windows操作系统,是一个定制系统直接刻录在服务器电脑上,意味着服务器基本只能运行这一个服务了;而docker安装的是HA Container,缺少非常重要的Supervisor功能(HACS),而Supervised版本要求非常苛刻,必须在debain11及以上的系统上。我的服务器是centOS,没办法,只能继续container了
MQTT部署
MQTT是什么
MQTT(Message Queuing Telemetry Transport)是一种轻量级的消息传输协议,通常用于物联网设备之间的通信。它是一种发布/订阅模式的协议,允许设备之间进行异步通信,同时具有低带宽和低功耗的特点。MQTT协议可以在不同的网络和设备上实现可靠的消息传递,使得物联网设备可以方便地进行数据交换和控制。
MQTT协议的工作原理是基于发布者(publisher)和订阅者(subscriber)之间的消息传递。发布者负责发布消息到特定的主题(topic),而订阅者则可以订阅感兴趣的主题,一旦有消息发布到该主题,订阅者就可以收到相应的消息。这种发布/订阅的模式使得设备之间的通信更加灵活和高效。
——provided by chatGPT
说人话:订阅者通过订阅topic获取信息,发布者发布信息到topic,打个比方,就好比B站up住上传视频,我们观众订阅了他的频道就会被B站推送他的视频。而MQTT服务器的作用就类似于B站。
我用的是EMQX的,主要是它有中文仪表盘,而且可以通过docker安装,具体方式见官网
注意默认dashboard端口18083,发布订阅端口1883,记得防火墙开放下对应端口
然后在HA里添加MATT的集成:设备——>设备与服务——>添加集成——>搜索MQTT
改造智能家具
WLED接入HA的MQTT集成
Comments 2 条评论
博主 苍の木笛
Nice design!Well done! Love from UNNC(^_^)
博主 Chainpray
@苍の木笛 thanks