打造Homekit 车库卷帘门控制器

2017-06-14 19:22:16 151点赞 675收藏 121评论

一次出差回家没带钥匙被锁在大门外蹲了几小时,蹲着的时候想到要是手机直接遥控车库进入该多好。本来考虑在某宝上直接买一个,结果大部分都是传统的遥控器控制或者是价格动辄3位数的控制器套件,并没有直接针对车库的产品。而且不得不说homekit的配件实在是太贵了。于是萌生了DIY一个控制器方案的想法。

最终效果如下视频展示:

画质不好请大家见谅。刚开始在选择方案时获得信息太少,现在对比张大妈上大佬的设计,再回看自己的设计有些过于简单粗暴。 整个方案物料模块的成本约在60块左右(不算前期投入的钱),改装成本比较小,插到原有遥控器控制盒边上的上下停插口就好。实现的内容也仅仅是车库遥控器按一下的事情 。不过好歹以后出门不用带钥匙了,贵在实用打造Homekit 车库卷帘门控制器 。这个项目所有代码和软硬设计都放到了Github上了。

这篇打造文章也是我第一次在张大妈上发稿,可能有很多疏忽之处,也请各位客官老爷见谅打造Homekit 车库卷帘门控制器

操作

0.前提条件

设备前提要求:局域网有一个NAS,确保你对NAS有绝对的访问权限。这个会拿来充当homebridge服务器。当然如果有树莓派、废旧老电脑服务器等等之类的都可以,只要能跑nodejs就好了。

1.方案设计

整个设计从顶端到设备的软件整体链路 Siri<---->Homekit<---->Homebridge<---->控制器

打造Homekit 车库卷帘门控制器

整个网络的拓补图如下

打造Homekit 车库卷帘门控制器

对于终端的车库卷帘门执行硬件设计如下

打造Homekit 车库卷帘门控制器


2.操作

整个制作要分为几个部分,大纲如下

  1. (服务器)安装nodejs,大致了解nodejs语法

  2. (服务器)了解homebridge及安装homebridge

  3. (服务器)编写homebridge插件

  4. (硬件)器件选型

  5. (硬件)绘制电路(或者硬肛搭线)

  6. (硬件) 编程


2.1 安装 Nodejs

关于Nodejs安装可以直接看Nodejs安装教程。

Node.js 安装配置 | 菜鸟教程Node.js 安装配置 本章节我们将向大家介绍在window和Linux上安装Node.js的方法。 本安装教程以Node.js v4.4.3 LTS(长期支持版本)版本为例。 Node.js安装包及源码下载地址为:https://nodejs.org/en/download/。 你可以根据www.runoob.com直达链接

2.2 了解Homebridge及安装homebridge

如果还不知道homebridge是啥,可以看一下官方Github页面对homebridge的说明。基本上homebridge是一个轻量化的Nodejs服务器,它能模拟IOS Homekit API,他通过插件来支持第三方设备。

https://github.com/nfarina/homebridge

homebridge项目中没有提供多少关于编写插件的文档。这是作者自己说的

We don’t have a lot of documentation right now for creating plugins, but there are many existing plugins you can study.

要不是这个项目,我估计也不会碰js代码 打造Homekit 车库卷帘门控制器 。homebridge基本就是插件+框架的结构。如果多了一个设备,可以通过编写对应的插件。我们可以在npm中看到各式各样的插件,包括开关空调车库等。了解了这些后我们就可以进行插件的编写。我们的目标是增加车库的控制器,当然需要仔细啃一下这部分代码。整个车库的开关都是由一个叫GarageDoorOpener实现的,这个类是在HAP中实现,提供给各个插件相关接口。有大量的作者编写了类似的车库控制器插件在npm上。大家可以作为参考。

https://www.npmjs.com/search?q=homebridge-garage&page=1&ranking=optimal

当然本项目中做法简单粗暴,在了解基本语法后,编写了一个很简单的插件。它的作用只有一个,将收到的homekit对车库操作通过TCP协议转发给车库门控制器。

查看代码

https://github.com/xifengzui/homebridge-garage2Arduino/tree/master/homebridge%20plugins/homebridge-garage2arduino

2.4 器件选型

这里罗列了用到的所有模块,整个器件选型过程基本就是淘宝 ,积木模块搭起来就可以实现作品。

ESP8266串口WIFI无线模块WIF收发无线模块 价格 9.4

Arduino Nano V3 ATMega328P 价格 9.2

4路带继电器光耦模块 价格 6.59

220V转5V电源模块 价格 10.5

电源3脚插座 价格 5

电源3脚插母 价格 4.5

触摸按钮 价格 2.6

旋转编码器 价格 5

5V转3.3V DCDC电源模块 价格 4

6pin排线 价格 0.6

中景园0.96寸OLED显示屏 价格 14.5

其实我在前几天才发现,用Arduino不是最好的方案,现在很多厂家推出了集成8266的模块诸如NodeMcu,做起来应该更加方便,但自己选的型,含泪也要做完打造Homekit 车库卷帘门控制器

2.5 绘制电路板

为了让这些模块好好呆着,且看起来美观点,花了一点儿时间画了一块小板子,软件使用Altium Designer 14 AD14是一款常用的制版软件。 如果想点一下制版技能点,不妨去学习一下相关教程,大佬请无视。

Altium Designer视频教程-我要自学网我要自学网-Altium Designer 教学视频www.51zxw.net直达链接


打造Homekit 车库卷帘门控制器

打造Homekit 车库卷帘门控制器

电路的软硬件及BOM信息都已经放到了

https://github.com/xifengzui/homebridge-garage2Arduino/tree/master/PCB%20Layout

打样时间约为3天,之后需要做一些焊接工作。需要电烙铁焊锡丝装备。烙铁推荐日本白光烙铁,热插拔不是梦。丝印都已经画清楚所有的位置,肯定不会插错。

如果你想要可以直接给我消息我这里打样板子还有的多,打造Homekit 车库卷帘门控制器到付。

你可以自行选择制作加工,现在打样厂商非常多,了解一下就可以知道,制作5块左右的裸露电路板价格大约在50块左右。

2.6 硬件编程

如果你还不知道arduino可以参考下

https://zh.wikipedia.org/wiki/Arduino

打造Homekit 车库卷帘门控制器

整个硬件编程主要实现三个部分。如果你对这块不感兴趣,可以直接跳过,拿到代码使用Arduino 1.8+ IDE直接烧写就好了。

打造Homekit 车库卷帘门控制器

打开工程

打造Homekit 车库卷帘门控制器

选择正确的型号

打造Homekit 车库卷帘门控制器

选择正确的端口,烧写。

如果你第一次使用Arduino,那则仍然需要一个正确的入门姿势。入门教程:

https://www.arduino.cn/thread-3451-1-1.html

整个设计分为

  1. 软件层次设计

  2. 菜单设计

  3. 协议设计


2.6.1 软件层次设计

整个软件设计层次为

打造Homekit 车库卷帘门控制器

其中因为按钮和屏幕与菜单关系密切,所以它们直接与菜单在合在一起。剩下的wifi e2prom及继电器只与逻辑有关。

这里用到的代码github地址为

https://github.com/xifengzui/homebridge-garage2Arduino/tree/master/Arduino%20Code/GC_main

做了比较详细的注释说明。

2.6.2 菜单设计

在菜单设计时,分别为车库的上下时间设置和wifi参数设置。wifi参数包括SSID 密码 服务器IP等参数。具体可以查看视频

菜单的生成逻辑在代码中有详细说明。

2.6.3 协议设计

协议设计的非常简单,设备请求服务器状态-->服务器响应状态(开-关-停)--->设备执行状态

如果与服务器断开连接,设备会尝试重连。走的TCP协议。


3.总结

整个DIY过程大致如上所述。做到一半的时候一个小伙伴买了一个 3d打印机,搞得我心痒痒,也败了一个3D打印机

打造Homekit 车库卷帘门控制器

打造Homekit 车库卷帘门控制器

打造Homekit 车库卷帘门控制器

打造Homekit 车库卷帘门控制器

打印时候失败了几次,不过总体效果可以接受。delta打印机速度比xyz会快一些。不过尺寸偏差会难调一些。模型文件已经放到Github上,使用sketchup设计。

https://github.com/xifengzui/homebridge-garage2Arduino/tree/master/3D%20Model

展开 收起

Mobil 美孚 银美孚1号 汽机油 5W-30 SP级

Mobil 美孚 银美孚1号 汽机油 5W-30 SP级

279元起

京东养车 汽车养护 标准洗车纯服务 仅限非营运车辆 五座轿车

京东养车 汽车养护 标准洗车纯服务 仅限非营运车辆 五座轿车

暂无报价

统一机油 汽机油 全合成油 5W-30 SN级 4L

统一机油 汽机油 全合成油 5W-30 SN级 4L

99元起

团油 省钱加油券 6张加油券总价值88元 到手仅需2元 限购1单

团油 省钱加油券 6张加油券总价值88元 到手仅需2元 限购1单

2元起

京东养车 含洗车2次+贴片补胎+玻璃水等(部分门店可用)

京东养车 含洗车2次+贴片补胎+玻璃水等(部分门店可用)

39.9元起

统一润滑油 京东养车统一机油 汽机油 全合成油 5W-40 SN级 4L

统一润滑油 京东养车统一机油 汽机油 全合成油 5W-40 SN级 4L

99元起

ETCSP 新款升级智能无卡ETC办理设备全国通行九五折私家车公司户更灵敏

ETCSP 新款升级智能无卡ETC办理设备全国通行九五折私家车公司户更灵敏

109元起

京东养车 洗车服务 纯服务

京东养车 洗车服务 纯服务

139元起

团油 会员年卡 36张188-16元 全国2.5万站通用 赠送672元 洗车券包

团油 会员年卡 36张188-16元 全国2.5万站通用 赠送672元 洗车券包

暂无报价

团油 省钱加油 团油1张

团油 省钱加油 团油1张

20元起

团油 便利省钱加油券 1张满200-22元团油加油券 直充到账

团油 便利省钱加油券 1张满200-22元团油加油券 直充到账

暂无报价

京东养车 汽车保养/养护 清洗机油服务 仅施工费

京东养车 汽车保养/养护 清洗机油服务 仅施工费

19元起

车猪猪 七座精致洗车年卡 12次

车猪猪 七座精致洗车年卡 12次

420元起

京东养车 汽车养护 更换机油机滤服务 不包含实物商品 仅为施工费 全车型

京东养车 汽车养护 更换机油机滤服务 不包含实物商品 仅为施工费 全车型

50元起

Chevron 雪佛龙 进口特劲TCP汽油添加剂除积碳燃油宝清洁剂295ml两支装

Chevron 雪佛龙 进口特劲TCP汽油添加剂除积碳燃油宝清洁剂295ml两支装

257元起

团油 1张300-50元加油券

团油 1张300-50元加油券

34元起
121评论

  • 精彩
  • 最新
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章

惜枫醉

程序员

关注 打赏
最新文章
675
扫一下,分享更方便,购买更轻松