智慧家庭之实时通信
自去年完成物品图片相关功能之后,整个项目基本就处于停滞状态。虽然中途添加了保存头像和配置的功能,但客户端甚至都没有进行适配。
直到国庆,经过我一段时间的努力,终于完成了智慧家庭 0.9.0 版本。在这个版本中我切换了 GraphQL 框架,开始使用 Strawberry,并且支持订阅,能实时更新数据。
自去年完成物品图片相关功能之后,整个项目基本就处于停滞状态。虽然中途添加了保存头像和配置的功能,但客户端甚至都没有进行适配。
直到国庆,经过我一段时间的努力,终于完成了智慧家庭 0.9.0 版本。在这个版本中我切换了 GraphQL 框架,开始使用 Strawberry,并且支持订阅,能实时更新数据。
家里从开始使用物品管理软件到现在已有一年的时间。
在整理物品的过程中,我发现有时会很难从物品名称中联想到物品的模样。往往物品就在眼前,且物品管理中也记录了物品的相关信息,却还是不知道眼前这个物品叫什么,有什么用。
这时候如果物品管理中每个物品在记录存放位置的同时附带了相应图片的话,就能方便我们将记录中的物品与现实中的物品联系起来。
2021 年已经到来,去年我实现了我最初设想中智慧家庭的功能。
完成了物联网,物品管理,留言板功能,还集成了小米推送。随着不断使用,我也发现了许多可以改进的点。
就在这里记录一下想到的点吧。
上午在更新服务器和软件版本时,出现了问题。导致不得不马上升级手机版本,否则会无法使用。
我发现在管理智慧家庭项目时,很容易出现问题,使得服务无法正常使用。或是因为更新中改变了一下 API
但是没有注意到,导致软件没法平滑升级。或是测试没有做到位,出现了 BUG
却没有发现。
所以想记录一下,该怎么做好升级工作,或者准确来说,该怎么管理好这个项目。也为以后的长久管理打下一个坚实的基础,毕竟这个项目还是挺有意思的,应该会持续维护很长的一段时间。
2018年,我开始玩单片机。正好爸想着改造一下家里花园的浇水系统,就趁机将其智能化。所以购买了一个 ESP8266
开发板,电磁阀和继电器。希望能实现在手机或者电脑上远程遥控浇水的功能。
当时用 Flask
当作后端,用 Angular
作为前端,用 Arduino
为单片机编程。项目地址在 这里。实现了对电磁阀的远程控制,和展示阀门的实时状态。
后面因为自己的学业,间断着修补了一些 bug
之后就没有在开发。
最近,因为之前疫情的原因,利用 Django
和 Flutter
开发了一个应用后。便想着把之前的物联网项目也整合进这个应用里,这样便可以在同一个应用中使用,不再需要进入不同网页,并且还要登录不同的账号。同时如果能加入一些新功能就更好。
基本完成物品管理功能之后,我开始计划编写留言板功能,这次我准备一边写,一边在博客上更新。
留言板功能不需要很复杂,就是一个话题,然后大家围绕着这个话题发言。可以用来讨论家庭里的一些议题,方便交流和记录。然后话题会有一些基本的状态,比如是否结题。
最近,因为新型冠状病毒的影响,我没法回到学校,这段时间一直是呆在家里。看着家里乱糟糟的,终于也下定决心趁着这段时间好好地整理一下。
以前我们也曾多次整理过家里的物品,不过都没能坚持太长时间。想着是不是因为没有给东西做记录的原因,这次便准备边整理边记录一下。
最近,因为写一篇文章时需要上传一个附件,我才发现现在附件上传的限制只有 5M
,正好比我的附件要小一些。但这不能阻挡我想上传附件的欲望,于是准备修改一下上传的限制。
搜索了一下,在我的环境里,限制上传大小的是 PHP
和 Nginx
的设置。我准备先调整到 50M
,以后如果还需要就再说。
有时候一些文章不想公开让大家访问,所以设置了密码。但是 Typecho 的加密文章仍然会显示在主页上,最近文章中。并把标题替换为此内容被密码保护
。所以我想把加密文章直接隐藏掉,这样主页会显得清爽。
之前一直是通过修改主题模板来隐藏加密文章。但是在实现方法上用的最简单的方法,就是在主题模板获取到文章的时候判断每篇文章是否是加密的,如果是则隐藏此文章。
但是这样会有几个问题:
内容被隐藏
。所以我想着去写一个 Typecho 的插件来隐藏文章,同时解决以上的问题。