RaspberryPi接入HomeKit
github上有大佬做了个homebridge,可以将一些苹果homekit不支持的硬件接入到homekit中 感谢望天创总裁的iPhone,感觉ios版本比较低。。。
1.homekit
百度百科
homekit
2.homebridge
1)介绍
是一个轻量的NodeJS服务,你可以在你家的局域网中运行这个来模拟IOS HomeKit API。它支持很多插件,提供基本的桥来将一些智能家居厂商提供的第三方API接入HomeKit 自从siri支持HomeKit设备,这意味着你可以通过Homebridge,用siri来控制那些不支持HomeKit的设备。
2)开源地址
https://github.com/nfarina/homebridge
3)插件搜索
https://www.npmjs.com/search?q=homebridge-plugin 可以看到很多插件哦!
插件
3.树莓派上安装
环境: 树莓派3b,Linux raspberrypi 4.9.41-v7+
1)安装nvm nodejs版本控制器
$ sudo apt-get update
$ sudo apt-get install nvm
2)安装nodejs v8.3.0
实测这个版本npm bug少。。。
$ nvm install v8.3.0
3)安装完,查看
$ nvm ls
图片.png
4)安装cnpm
npm的淘宝源,提升下载速度
$ npm install -g cnpm --registry=https://registry.npm.taobao.org
5)安装homebridge(全局安装)
$ cnpm install -g homebridge
6)安装插件
找了个方便测试的插件 监测树莓派CPU温度的插件 全局安装
$ cnpm install -g homebridge-raspberrypi-temperature
7)配置homebridge
不配置,直接运行homebridge会报找不到配置文件的
进入到/home/pi/.homebridge
$ cd /home/pi/.homebridge
ls查看有木有config.json
,没有就创建
touch config.json
使用nano编辑,不用vim,因为不好复制.写完ctrl+x保存
$ nano config.json
图片.png
截图里是两个插件,我们就用一个,看下面的配置
图片.png
{
"bridge":{
"name":"ZZES-IOT",
"username":"3A:4E:2F:9B:0E:7C",
"port":52203,
"pin":"520-20-520"
},
"description":"ZZES Super IOT",
"accessories":[
{
"accessory":"RaspberryPiTemperature",
"name":"Pi-CPU-Tem"
}
]
}
8)运行homebridge
$ homebridge
图片.png
4.iPhone上配置
注意:要和树莓派在同一局域网
1)去appstore下载家庭
这个App
2)打开家庭
图片.png
3)点击添加配件
可以看到扫描到我的树莓派了
图片.png
4)添加
图片.png
点击手动添加
图片.png
输入我们前面config.json
里配置的pin码
图片.png
5)成功添加
接下来就是一些分类什么的,一路下一步了。。。
图片.png
图片.png
6)查看
图片.png
图片.png
7)siri测试
之前用另一个同学手机试的
图片.png
5.结束
有时间研究研究插件的写法
- 全国首创!今天起,杭州“刷”的一下就能直接乘地铁
- 2018年前端技术趋势预览
- SQL SERVER 内存分配及常见内存问题 简介
- 深入浅出事件流处理NEsper(一)
- 微软官方提供的用于监控MS SQL Server运行状况的工具及SQL语句
- 生成人工智能:创意专家新的强大工具
- JavaScript能做什么?
- SQL中利用DMV进行数据库性能分析
- 完整部署CentOS7.2+OpenStack+kvm 云平台环境(1)--基础环境搭建
- 独家!万达网科大裁员后将转型AI 朱战备或接班曲德君
- Git分支管理的策略梳理
- 数据场景分析 线上线下商家到底谁能干过谁?
- 张钦坤:云计算、开放平台与服务商版权责任
- biztalk 2010 dev版安装小记
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法