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

 找回密码
 立即注册
查看: 45850|回复: 44

[经验分享] 六年智能家庭折腾历程,主力群晖,docker vs hassos

[复制链接]

105

主题

2954

帖子

1万

积分

超级版主

智能家居&单板滑雪痴迷爱好者

Rank: 8Rank: 8

积分
12103
金钱
9084
HASS币
460

教程狂人突出贡献

发表于 2020-5-8 09:51:17 | 显示全部楼层 |阅读模式
本帖最后由 XCray 于 2021-8-5 07:03 编辑

折腾了几年了,有必要简单总结一下。
小米刚开始出智能家庭的时候,就忍不住买了一套,那时候可玩性还不是太丰富,但当时感觉也很了不起了。
16年的时候,家里进了小偷,幸好有小米智能家庭套件和小蚁的摄像头(虽然只是720p无红外的第一版),及时发现、抓住了小偷。
不过从那次被盗事件之后,对智能家庭系统进行了很多思考和尝试,总算精力没有白费,我的智能家庭基本满足了我的几个要求。
1、当前的效果
- 安防能力明显增强,包括:断网/停电状态下依然保持安防能力、小米服务器瘫痪时依然具有安防能力、关键传感器因电量不足/干扰等原因失能时告警。
   主要是考虑小偷可能在进门前,采用断电、铰断光纤等方法对抗安防设施,以及小米服务器稳定性欠佳等因素,确保对智能家庭安防能力的信心。
   具体增强点包括(但不限于哈):
     - 短信告警,断网、服务器瘫痪时依然具有较强的安防能力,并且短信提示声音可以单独设置,提醒效果更强烈,时效也更有保障。
     - 互联网中断告警,主要是针对光纤被剪断的情况,第一时间(几秒内)通过短信发送警报。
     - 部署UPS,且对UPS状态保持监控,在断电时通过短信和网络推送提醒/警报。同时在市电被切断后至少提供半个小时的安防能力。
- 自动化程度提高,主要是自己和家人都离开后自动进入警戒状态,其中任何一人回家进门前自动解除警戒状态。
- 其他,比如我不在家时,家里其他人的关门开门我也可以马上收到提醒。

2、折腾的历程

- 购买小米第二代网关,开启局域网通信接口(其实买的时候并不知道这个高级玩da法keng,只是需要再买一个)

- 自己开发程序,实现上述增强安防能力的想法。当时采用笔记本电脑(可以在断电断网时发送告警短信)、C#语言,这个方案大概使用了两年,逐渐完善,感觉完全可以转换成智能家庭配件、在小米平台上售卖,批量生产的话成本也很低。可惜个人能力太小,不知道如何操作(哪位大佬有资源?)。
  期间也尝试过在OpenWRT上用lua语言实现,做了个原型,主要是为了尝试转化成智能家庭配件。

- 破解摄像头,将录像保存在电脑共享出来的nfs目录(和网盘同步)。这样即使小偷把摄像头/存储卡拿走,也可以多保留一份证据。(专门增加了一个摄像头对着门外)。

- 入坑Home Assistant。先是在笔记本上开虚拟机,装ubuntu,然后安装home assistant(后来改名叫core的那个)。

- 部署UPS。主要还是考虑断电时可以保持更好的能力,路由器、网关依然可以运行一段时间。APC的UPS可以和home assistant完美兼容,顺便实现了HA的断电检测和告警。

- 迁移至树莓派。当时为了其他事情买入了树莓派,后来拿来做 ha 运行平台,更省电、更省地方。

- 迁移至群晖docker。受了很多网友的影响,入手了群晖218+,这么好的ha平台不用说不过去啊,于是又把ha迁移过来,当时判断docker是理想方案,UPS也可以完美兼容(开始不知道nut这个东西,原来使用的是apcupsd)。

———上述3种方案(HA运行在ubuntu虚机、树莓派、群晖docker)都存在一个重大的缺陷,就是短信大打折扣。主要是群晖docker方案无法实现发短信、前面两种方案虽然可以用gammu加上自己写的小脚本实现短信能力,但该功能经常丢失(主要是端口号老是意外改变,树莓派怀疑跟供电不足有关,但ubuntu也有问题,不知道为啥)。

- 迁移至群晖vmm虚拟debian跑hassio。之前尝试了官方的hassos镜像,发现无法实现短信功能,简单尝试之后放弃,改用debian。ha自0.105版开始集成了gammu,配置比之前简单多了。这个方案除了CPU占用偏高外(10%上下,之前用docker跑core只有3%),基本没有明显缺点。

- 迁移至群晖docker跑hassio——当时个人认为最完美的方案,可惜升级兼容性欠佳,已放弃。
  前几天才搜到了国外大神Fredrik Erlandsson亲自发的贴子(那个软件就是他开发的):
   Hass.io on Synology DSM (native package)
   https://community.home-assistant.io/t/hass-io-on-synology-dsm-native-package/125559/1
  - 迁移至群晖vmm上的hassos
  鉴于群晖docker上安装hassio的方式在版本升级时容易出现supervisor无限重启的问题,且很难解决。遂决定放弃这一官方不支持的安装方式,改而使用官方推荐的虚拟机方式。好处是稳定、兼容性强,坏处是CPU占用率提高了约8%(DS218+)。

- 这几年间,主路由用过苹果TimeCapsule和OpenWRT,配合自己简单开发的脚本,都可以实现互联网状态监控。OpenWRT更方便、也更完美。前段时间看到几篇介绍NanoPi R2S的文章,深感正是自己要找的东西,果断入手,并让它担起了主路由的职责。尝试过在NanoPi上再加载ha,试了试还是放弃了,还是让它安安静静的做好主路由的工作吧。
20210805补充:DSM升级至7.x之后,不再支持USB上网卡和声卡,加上HA 2021.7.x和8.x 的“SMS notifications via GSM-modem”组件无法正常工作,部署方案又改回docker HA core + vmm debian,debian负责短信和声音。
-----------------------------------------————————-----------------
这个帖子先写到这儿,后续再展开相关技术细节,感兴趣的朋友请保持关注~



评分

参与人数 1金钱 +5 收起 理由
佳艺造型 + 5 感谢楼主分享!

查看全部评分

回复

使用道具 举报

105

主题

2954

帖子

1万

积分

超级版主

智能家居&单板滑雪痴迷爱好者

Rank: 8Rank: 8

积分
12103
金钱
9084
HASS币
460

教程狂人突出贡献

 楼主| 发表于 2020-5-8 10:10:36 | 显示全部楼层
本帖最后由 XCray 于 2020-5-8 10:20 编辑

https://github.com/xcray/SMA-Elfin
这是我自己开发的那个小软件。虽然我现在已经不用它了,但要说最适合普通用户使用、最有转化成智能家庭配件价值的,还是这个方案。可以一次设置好之后长期不用动他。其他基于HA的方案都只适合有较强计算机知识、愿意折腾的人。

                               
登录/注册后可看大图

                               
登录/注册后可看大图

回复

使用道具 举报

105

主题

2954

帖子

1万

积分

超级版主

智能家居&单板滑雪痴迷爱好者

Rank: 8Rank: 8

积分
12103
金钱
9084
HASS币
460

教程狂人突出贡献

 楼主| 发表于 2020-5-8 10:48:18 | 显示全部楼层
本帖最后由 XCray 于 2020-5-19 19:19 编辑

接下来先仔细说说当前主力方案,这也是目前我个人觉得最完美的了。

1. hassio运行在群晖docker上、主路由为NanoPi R2S(同时作为mqtt broker)homeassistant容器经过改造,主要是增加无线按钮单击双击模拟的能力,实现hassio和米家网关警戒状态的同步
https://github.com/xcray/xiaomi_aqara-button-simulation-on-hass

2. APC UPS连接到NanoPi作为NUT服务器、hassio和群晖作为NUT客户端

3. 主路由NanoPi上设置hotplug脚本,通过mqtt通知hassio,监控wan口状态。具体方法参见:
https://github.com/xcray/openwrt-WAN-Connection-Monitor-for-hass

4. 树莓派上运行一个非常了不起的脚本,monitor,低功耗蓝牙查询每个家人的手机,通过mqtt通知hassio,实现离家/回家自动化
具体方法参见:
https://github.com/andrewjfreyer/monitor


5. 群晖上设置ddns、let's encrypt证书、nginx反向代理、路由器放行端口,实现home assistant远程访问,手机上安装ha的app,在科学上网时获取push id,否则无法使用通知功能(这个通知在不向外网暴露ha时依然可用,免费,非常赞的功能)

6. USB上网卡插在群晖上,把相应端口/dev/ttyUSBx开放给hassio,实现短信发送功能
我对代码作了一处小的修改,使其支持中文短信。~~~~~~~~~~~~~~~~~~~~~~~~
这个方案还不够完美,无法接收短信。所以我又改成了让树莓派担任短信网关、负责收发短信。树莓派和hass之间,采用mqtt协议连接。具体细节见另外一个帖子,非常完整的细节,原理、代码都有。

7. hassio配置homekit,支持苹果家庭app。

当然,还有非常重要的,ha中自动化的设置。自动离家布防、自动回家撤防、警戒时断电断网开门等等短信及网络通知告警。

回复

使用道具 举报

15

主题

335

帖子

2454

积分

金牌会员

Rank: 6Rank: 6

积分
2454
金钱
2119
HASS币
10
发表于 2020-5-8 10:49:46 | 显示全部楼层
膜拜大神,前阵子上了合宙4G模块开发板的车,不知道这类设备能不能通过mqtt之类的协议跟HA通讯来收发短信
回复

使用道具 举报

105

主题

2954

帖子

1万

积分

超级版主

智能家居&单板滑雪痴迷爱好者

Rank: 8Rank: 8

积分
12103
金钱
9084
HASS币
460

教程狂人突出贡献

 楼主| 发表于 2020-5-8 10:57:55 | 显示全部楼层
初期曾尝试过用Windows Powershell编程,实现短信告警、断电断网监测,也挺简单好玩的。
这是我当时发的经验,原创哦~
上古神器发威,断网自动发短信告警
https://jingyan.baidu.com/article/ed15cb1b4c72481be369812c.html
回复

使用道具 举报

105

主题

2954

帖子

1万

积分

超级版主

智能家居&单板滑雪痴迷爱好者

Rank: 8Rank: 8

积分
12103
金钱
9084
HASS币
460

教程狂人突出贡献

 楼主| 发表于 2020-5-8 11:09:55 | 显示全部楼层
本帖最后由 XCray 于 2020-5-8 11:14 编辑

小蚁720p摄像头终极DIY,当年被小米/小蚁/腾讯各种封杀的帖子,现在好像还偶有网友寻找:
链接:https://pan.baidu.com/s/1o9kAnG2 提取码:3gh7 复制这段内容后打开百度网盘手机App,操作更方便哦

DIY的目的:硬盘录像(录到电脑上,同时和网盘同步)、配合电脑侧小软件(就是沙发上那个了)实现有人移动时短信告警。
顺便提一句,大部分摄像头都是基于嵌入式linux的,大同小异,破解方法也基本一致。github上大都可以搜到。
回复

使用道具 举报

105

主题

2954

帖子

1万

积分

超级版主

智能家居&单板滑雪痴迷爱好者

Rank: 8Rank: 8

积分
12103
金钱
9084
HASS币
460

教程狂人突出贡献

 楼主| 发表于 2020-5-8 11:17:01 | 显示全部楼层
本帖最后由 XCray 于 2020-5-8 11:23 编辑
star_liu 发表于 2020-5-8 10:49
膜拜大神,前阵子上了合宙4G模块开发板的车,不知道这类设备能不能通过mqtt之类的协议跟HA通讯来收发短信 ...

大神不敢当。
你说的板子不了解。不过既然是开发板,相信应该可以。板子跑什么系统?装软件方便吗?
只要与HA之间的网络可以通、可以安装gammu,就肯定没问题,当然需要写点简单的脚本配合一下。
或者板子是否有网络收发短信的API?有的话更方便,HA官方支持一款华为的LTE,文档说可以收发短信,应该有参考价值。
回复

使用道具 举报

3

主题

203

帖子

2304

积分

金牌会员

Rank: 6Rank: 6

积分
2304
金钱
2101
HASS币
0
发表于 2020-5-8 13:11:10 | 显示全部楼层
小蚁二代可以破解就按好了   支持下
回复

使用道具 举报

105

主题

2954

帖子

1万

积分

超级版主

智能家居&单板滑雪痴迷爱好者

Rank: 8Rank: 8

积分
12103
金钱
9084
HASS币
460

教程狂人突出贡献

 楼主| 发表于 2020-5-8 13:57:12 | 显示全部楼层
佳艺造型 发表于 2020-5-8 13:11
小蚁二代可以破解就按好了   支持下

你说的二代是指哪个?1080p那个是可以破解的。我印象中小蚁的所有摄像头都可以,到github上搜搜吧。只是这两年没关注,不知道新进出的型号怎么样。
回复

使用道具 举报

3

主题

203

帖子

2304

积分

金牌会员

Rank: 6Rank: 6

积分
2304
金钱
2101
HASS币
0
发表于 2020-5-8 14:06:26 | 显示全部楼层
XCray 发表于 2020-5-8 13:57
你说的二代是指哪个?1080p那个是可以破解的。我印象中小蚁的所有摄像头都可以,到github上搜搜吧。只是 ...

以前399那款
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-24 09:14 , Processed in 0.281539 second(s), 34 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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