最近在网上买了一个支持苹果homekit控制的通断模块,打算接在卧室的灯上,这样天冷了也不用起床去关灯了。结果买回来后发现使用不太稳定,因此打算自己研究一下原理看看能否改造。

目前在网络上搜索接入苹果homekit的方式大体上有两种:

1、直接使用基于ESP8266的模块集成homekit通信协议,使模块与苹果手机直连。这也是我买的模块采用的方式。

2、搭建一个Linux中枢设备,在设备上安装homebridge插件,使linux设备与苹果手机按照homekit协议通信。然后中枢设备可以采用任意其他连接方式控制终端设备,比如232,485,can,wifi,zigbee,蓝牙,2.4G等等。

第1种方式我搜索到大部分是做on/off控制的功能,也就是通断控制,控制方式比较局限。但好处是可以跟苹果手机直连,不需要第三方做协议的转换。目前github上都有开源的代码,但因为源代码量较大且家里网络访问github网站速度比较慢,导致源代码没有下载完,因此最终也没有编译成功。打算以后换个电信网络试一下能否提高代码的clone速度。第2种方式的好处是通过bridge可以安装多种协议插件,比如yeelight、aqara协议插件,通过协议插件与苹果手机通信,然后将数据在linux设备中解析后通过其他协议控制终端设备,支持的协议多且控制设备比较灵活,缺点是需要第三方linux设备中转。

我下面是采用的第2种方式进行试验的,使用的是虚拟机中Ubuntu做为linux设备,然后安装homebridge插件搭建起初步的平台。实测安装完成后可以在homebridge UI界面中解析到局域网中小米1s台灯的控制信息,这款台灯是采用的yeelight协议(实际上用的也是ESP8266模块自己封装的协议,协议源码没有对外开放)

homebridge在github上的开源链接:

https://github.com/homebridge/homebridge/wiki/Install-Homebridge-on-Debian-or-Ubuntu-Linux

1、   安装Node.js
# setup repo
curl -sL https://deb.nodesource.com/setup_14.x | sudo bash -# install Node.js
sudo apt-get install -y nodejs gcc g++ make python net-tools# test node is working
node -v下载node.js的过程比较慢,大概需要40分钟,下载完成后等待自动安装。
2、  切换npm安装源为国内源,提高下载速度npm config set registry https://registry.npm.taobao.org
npm config get registry   其中第一行是设置淘宝npm源,第二行是检验是否设置成功,如果能正确输出设置的网址,切换成功。3、 安装Homebridge和Homebridge UI使用指令同时安装bridge和bridge UI
sudo npm install -g --unsafe-perm homebridge homebridge-config-ui-x为使Homebridge作为服务器在开机时启动,使用下面命令配置
sudo hb-service install --user homebridge4、 登入Homebridge UI
使用下面命令查看主机IP地址,然后在浏览器中打开http://<ip address of your server>:8581,默认账户与密码均为admin。5、   可以使用下面命令查看是否安装成功,如果成功安装后会显示安装路径
sudo which homebridge
sudo which homebridge-config-ui-x

6、Homebridge常用命令与路径

Config File Path

/var/lib/homebridge/config.json

Storage Path

/var/lib/homebridge

Restart Command

sudo hb-service restart

Stop Command

sudo hb-service stop

Start Command

sudo hb-service start

View Logs Command

sudo hb-service logs

Systemd Service File

/etc/systemd/system/homebridge.service

Systemd Env File

/etc/default/homebridge

7、安装成功后截图如下

一、Ubuntu安装HomebridgeUI相关推荐

  1. Ubuntu安装MongoDB

    https://jingyan.baidu.com/article/e5c39bf5f5ddd539d76033a9.html Ubuntu安装MongoDB4.0: https://www.jian ...

  2. ubuntu安装OpenCV详细教程(建议收藏)

    记录一篇"如何安装ubuntu下C++接口的opencv"的文章.由于转载格式有问题,直接贴个链接:ubuntu安装opencv的正确方法 注意:本人根据此博客安装遇到的问题:2. ...

  3. Linux/ubuntu 安装 redis 4.0报错解决:redis-server.service: Can't open PID file /var/run/redis/redis-server.

    此文首发于我的个人博客:Linux/ubuntu 安装 redis 4.0报错解决:redis-server.service: Can't open PID file /var/run/redis/r ...

  4. debian,ubuntu 安装mongodb 允许外网访问,修改端口,设置用户和密码

    使用apt安装mongodb: apt update && apt install mongodb 查看运行状态: systemctl status mongodb.service 结 ...

  5. ubuntu安装KVM

    ubuntu安装KVM 现在官网下载ubuntu镜像,桌面版或者服务端都可,这里以桌面端为例. 安装之前确保磁盘有足够大的空间(这很重要) 安装KVM sudo apt install qemu-kv ...

  6. 解决Ubuntu安装依赖问题

    解决Ubuntu安装依赖问题 解决Ubuntu安装依赖问题 最主要问题,修改的国内镜像源可能不是对应的ubuntu版本,大部人直接找了个镜像源就复制到source.list里面了,其实需要对应版本的, ...

  7. Ubuntu安装Ceres库-安装依赖时报错:E:无法定位软件包 libcxsparse3.1.2_朱国鑫的博客-CSDN博客

    Ubuntu安装Ceres库-安装依赖时报错:E:无法定位软件包 libcxsparse3.1.2_朱国鑫的博客-CSDN博客

  8. ubuntu 安装Pangolin 过程_余辉亮的学习笔记的博客-CSDN博客_pangolin安装

    ubuntu 安装Pangolin 过程_余辉亮的学习笔记的博客-CSDN博客_pangolin安装

  9. Ubuntu安装、使用postgresql数据库

    Ubuntu安装.使用postgresql数据库 $ sudo apt-get install postgresql  (端口为5432) $ sudo apt-get install postgre ...

最新文章

  1. 胡想——对机器人控制体系的一些想法
  2. notepadpython插件_Notepad++插件Emmet和Python Script的安装
  3. LeetCode 793. 阶乘函数后K个零(二分查找)
  4. 文献阅读课12-Fine-Grained Temporal Relation Extraction(19ACL,时间关系,时间持续时间,数据集,语义框架,常识)
  5. 李群与李代数2:李代数求导和李群扰动模型
  6. c语言自动突破,为你解决c语言源代码【突破方案】
  7. 事业编前提下,在一个大单位工作好还是在一个小单位工作好?
  8. 【译】JavaScript面试问题:事件委托和this
  9. ios开发之小总结「类与对象的判断方法和遍历字典的方法」
  10. 职业生涯规划访谈记录关于计算机专业,计算机专业职业生涯规划书
  11. 贪吃蛇“大作战”(二)
  12. 武汉_金山wps Java 一面 二面
  13. 写作这件小事 | 如何打通自己的素材库
  14. 知识竞赛答题小程序的管理后台搭建教程
  15. 无符号整数与有符号整数相加问题
  16. 内容提交的时一个图片,但是前端显示的时<img src=“地址“>而不是图片
  17. 千里马Android Framework-input系统专题blog目录集合
  18. 虚幻4脱坑指南——官网C++编程教程中第一人称设计游戏教程的若干问题及解决方法
  19. IBM获5896项专利连续18年蝉联年度冠军
  20. python如何输入一个数_Python 数据的输入

热门文章

  1. ESP32-GY_30光照强度传感器
  2. 连续声纹识别 实时说话人分离
  3. HTML中常用标签的英文全称
  4. 评论:Dremel 3D打印机和HP Sprout的初步印象
  5. [翻译] Dremel made simple with Parquet
  6. [vue] transition animate.js
  7. linux调度不执行,linux crond.d定时调度执行一段时间后不执行
  8. Qemu gdb 调试 Liteos realview-pbx-a9 工程
  9. 加密货币是货币,而非股权
  10. 单片机学习记录:流水灯