小米语音开关灯如何实现

小米语音开关灯如何实现,第1张

无需焊接、不用拆,只需要跟着步骤 *** 作,30 分钟后,让Siri为你管理家电。现在可以通过Siri,用语音来控制灯的开关、颜色变换,还可以用 iPhone 原生的「家居」应用,通过上滑调出控制中心进行 *** 作,大大减少了打开其他应用的时间。

一些成果

工作原理:

米家(小米智能家居)设备:作为连接普通家具的媒介;

米家多功能网关+树莓派:网关是控制设备的中枢,树莓派则是为网关加入苹果家居(HomeKit)所需要的 homebridge 插件,它更像是一个 Apple TV 的枢纽的作用;

支持 iOS 10 的设备:目前只有 iOS 10 支持原生的「家居」应用;

Yeelight:调节灯泡亮度,变化颜色,我们知道,要达成这两点,要求的就不是插座那么简单,是硬件上的问题了

一点想法 智能家居门槛过高

止步于高昂的售价和不完整的功能

苹果发布 HomeKit 也有两年了,当时就有改造房间的想法,奈何我果高冷,支持的设备寥寥无几,在今年的 CES 上,支持的设备也不过 100 款左右,甚至被媒体评论道「不敌亚马逊 Alexa 」。在官方网站上看来,厂商水准也参差不齐, 看着确实捉急。

好了说了这么多,最重要是价格不菲,产品单价普遍四位数,怎么玩?

连接只是小问题

更需要的是真正的智能

很多品牌和厂商还是研发出了很多智能设备,通过自家的应用软件平台实现了所谓的「智能起居」。

然而文明的发展就是从「不满足」开始的,只能凭软件去控制未免有点本末倒置,变得有点像是机器在 *** 控人类,于是,实现人与设备同步,而不是软件同步就变得尤为重要。

现在 就让 Siri 成为你的智能管家

Jarvis ,《钢铁人》里 Tony Stark 的管家,应该就是人们最容易理解的人工智能了, 苹果和谷歌等大腕也争相推出了自己的机器人,目前最多人用的大概就是 Siri 了吧。

下面就开始实现通过 Siri 声控家里的普通电器吧!

购买清单

虽然过程非常简单,但是该买的还是得买,这里是一些需要用到的硬件,有的应该是家里就会有,按照个人需求购买

※ 支持 iOS10 的苹果设备( iPhone 5 以上、 iPad mini 2 以上、 iPod 第六代以上,官网提供资料)

● 搭载安卓系统的设备(用于获取网关局域网的协议密码, iPhone 的米家 APP 上最近无法 *** 作,也可以用PC模拟器,参考价格:随便找人借电话就好了)

※ 小米多功能网关二代( 注意:一定要二代!米家商城有一款「 Aqara 空调伴侣」附加了红外功能,但是不确定是不是二代,参考价格: RMB 149 )

※ 任意一个或多个支持 HomeKit 的设备:小米智能插座 ZigBee 版(√)、小米人体传感器(√) 、小米门窗传感器(√) 、小米温湿度传感器(√) 、Yeelight智能灯泡(√) 、 Aqara 墙壁开关( 其中「√」为已测试可用的设备,墙壁开关需要更换面板,动手能力强可以尝试,另外关于智能插座,一定要是 ZigBee 版,基础版目前暂时不支持,参考价格: RMB 49 起)

※ Raspberry Pi 3B (树莓派 3 代 B 型,一搜一大把,参考价格: RMB 269 )

※ 读卡器 & 8 Gb 以上 TF 内存卡一张(就是手机里用的小张内存卡,如果日后还有研究最好买 16 Gb ,参考价格: RMB 40 )

● HDMI高清视频线(接上屏幕是用树莓派,参考价格:不敢拔你家电视上的话,RMB10+)

● 网线一根(树莓派 3 代本身自带 WiFi 模块,不过凡事都要稳,所以常备一条,参考价格: RMB 5 +)

※ USB 线一根(供电,虽然树莓派的供电要求很低,但电源仍然不容忽视,参考价格:用电话充电线就好)

※ 键鼠一套(建议是无线,这样就不用接太多线整得很乱,参考价格:用现有的就好啦!)

※ 路由器(有专用APP的话,获取设备的 IP 信息和 MAC 地址会更加方便,参考价格:用家里的就可以了)

( 其中 ※必备 ●可选)

3 步实现小米智能家具接入 HomeKit

要买的都买了,那么现在就可以正式开始了!看着好像买了很多东西,其实仅需 3 步就能完成

第一步:获取网关信息 → 第二步:配置树莓派环境 → 第三步:运行 HomeKit

第一步 获取网关信息

①安卓设备上,下载「米家」应用,并按说明连接多功能网关

②成功后点击图标进入「控制界面」

③点击右上角,进入「关于」设置

④快速连续点击「版本号」,进入「开发者模式」

⑤打开「网关信息」,找到 mac 地址,记录为密码 A

⑥打开局域网通讯协议,启动该功能,找到密码,记录为密码 B (严重注意:密码很长很杂,记下后一定要检查清楚,否则运行的时候会无法控制设备)

网关 mac 地址,注意不是「 gw_mac 」(左)局域网协议密码(右)

注意

密码 A/B 是最终设置的关键,建议在电脑上用记事本保存好

第二步 配置树莓派环境

开始之前,先下载几个软件:

● Raspbian Jessie(树莓派系统)

● SDFormatter (格式化TF卡,虽然格式化好像也可以,不过号称专业洗卡,大概会洗得更干净一点,链接:>

以上软件百度一下就能找到,或者在我的网盘分享里下载

为什么要用 Windows 敲代码?

在教程文件夹里有代码合集,可以复制直接粘贴在 PuTTy ,减少错码率

1安装系统

①下载镜像:树莓派官方网站下载页:>

下面是关于 2017 版的建议,值得一提的一点: Pixel 才是拥有 UI 界面的系统,建议下载Pixel,支持更多很方便的功能。下载zip更稳定,迅雷会员离线下载速度感人。

②打开安装好的「 SDFormatter 」,并把TF卡塞进读卡器,插入你的 Win 电脑

③默认设置即可,点击「格式化」,然后一路「确定」就完成了洗卡

④打开 Win32DiskImage ,选择下载好的「树莓派系统」,点击「 Write 」然后一路「 yes 」,开始写入系统

⑤写入完成后,将 TF 卡插进树莓派,第一次插入要轻一点,插深一点…(气氛变得有点奇怪…)

2树莓派开机

树莓派没有开关,一接电,就开机。

那么开机之前,先确认线缆接好了没,大概会有两种情况:

a 使用无线网络和无线键鼠:先接 HDMI ,后接电源线;

b 传统连接:那么久看看下面的示意图

因为接线相当于一切就绪,所以下面是在「情况 a 」下的 *** 作:

接通电源,开机了

①连接无线网络和鼠标:开机之后就进入 Raspberry 的 UI 了,右上角有「蓝牙」和「无线网络」设置

如果你希望在树莓派上写代码也是可以的,把 Codes 代码合集 Txt 放在你的移动硬盘里,插到树莓派上打开,然后打开终端就可以复制粘贴了

②打开树莓派的「允许 SSH 远程 *** 控」,现在开始可以在 Windows 上 *** 作了

点击「开始」菜单 → 偏好设定 → 树莓派设置 → 连接界面 → SSH ON/OFF

③获取树莓派的 IP 地址,两种方法:

a 打开路由器的 APP ,找到「连接中设备」,点开找到 IP 地址;

b 没有 APP 的话,打开树莓派终端,输入 ifconfig ,无线网是「 wlan0 」,有线网则是「 lan0 」

④打开PuTTy,输入刚才获取的 IP 地址,然后确定进入。第一次接入只要一路「 OK 」就可以了

⑤登陆树莓派:初次登陆,用户名「 pi 」,初始密码「 raspberry 」,输入密码的时候看不到字符是正常的

⑥登陆成功后,就可以开始「复制粘贴」 ,也可以下载并打开「 Homebridgetxt 」

3写入 Homebridge

-Start-

注意 Notice

一定要看的重点:

①保存技巧

遇到「编辑」或「配置」时,完成后先按下「 Ctrl+X 」,提示保存时键入「 Y 」确定,再按下「 Enter 回车」完成

②要有耐心!

树莓派输入命令后,无论是报错或任何情况导致无法运行,都一定会回到「 pi@raspberry:~ \$ 」

载入和安装镜像都需要时间,长短由网速和镜像源决定,少则五分钟,多则半小时以上,

所以,不见到「 pi@raspberry:~ \$ 」就说明:还在运行!不要随便关掉,否则浪费很多时间!

③认准代码行,不要跨行复制!

复制代码的时候,只需要复制「\$」以后的红色部分,不要图方便一下子复制几行,行不通的, OK ?

可以不看的废话:

基本而言,只要按照以下步骤,一步一步复制粘贴,就能顺利运行,无需思考,各位请加油!

-Start-

Step1 切换镜像源

默认源是外网资源,给 iPhone 越狱过的人就会知道,网速再快也还是会很慢,所以把源切换到阿里云的国内源。再次提醒:复制时只需要复制红字部分, PuTTy 直接鼠标右键就会粘贴,粘贴后按下 enter 自动运行

sudo nano /etc/apt/sourceslist

deb >

sudo apt-get update

Step2 安装 Nodejs

curl -sL >

Step3 安装 avahi

sudo apt-get install libavahi-compat-libdnssd-dev

Step4 安装 homebridge

sudo npm install -g --unsafe-perm homebridge

Step5 安装 homebridge-aqara

sudo npm install -g homebridge-aqara

(若已经购买 Yeelight ,则再写一行命令: sudo npm install -g homebridge-yeelight )

Step6 创建 configjson (根据顺序分别是:

返回主目录→创建” homebridge “文件夹→进入” configjson “文件)

cd ~mkdir homebridgenano homebridge/configjson

Step7 配置 configjson

#从下一行开始复制

{ "bridge": { "name": "Homebridge", "username": "CC:22:3D:E3:CE:30", "port": 51826, "pin": "031-45-154" }, "platforms": [{"platform": "AqaraPlatform","sid": ["(密码A)网关MAC地址,去掉冒号,全部小写"], "password": ["(密码B)网关局域网密码"]}]}

#到上一行停止复制

Step9 运行 homebridge

cd ~homebridge

nano homebridge/configjson

仔细检查「网关 mac 」和「局域网协议密码(重点留意)」,直到成功后会跳出小方框,其实就是刚才配置 configjson 里面的 pin ,不管怎么样,将这个记录为密码 C

Step10 iPhone *** 作

打开「 Home 」应用,点击「加入配件」就会自动检测到「 Homebridge 」了,点开它会要求输入密码,就是刚才获取的密码 C

成功连接之后,支持 HomeKit 的设备就会自动连接到界面上,这个时候就会有三种使用场景:

Scene 1:打开应用「 Home 」,直接进行 *** 作

Scene 2:屏幕底部上滑,「控制中心」实现监测和控制

Scene 3:说「喂, Siri 」,然后告诉他你想做什么,比如说:「关灯!」

使用感受

简单程度基本可以达到上手就会用了,论手机系统实力始终还是 iOS 更胜一筹,同时更要佩服 GitHub 上及各路高手的倾力贡献!

在很多设备上都有着相当有趣和便利的功能,下面是 Yeelight 的一点感受:

我用的是 iPhone SE ,会有一个「伪压感」的过度,进入到亮度调节;同时还能够快速选定灯泡颜色,可玩性很高!

以「智能插座 ZigBee 版」为例,可以选择它的用途,比方说我接的是台灯,在于 Siri 的互动中,只要说「开灯」,Siri就会把智能插座打开了,那么灯也就打开了。同理可得,如果插座上接的是风扇,可以发挥同样的效果。

添加成功后,返回主画面,并点击进行试验,能够开关就证明成功了!

PS 常见问题

①程序运行如果出错会「出现红字」或「回到输入命令状态」,如果遇到这种情况,检查「 configjson 」,通常是(密码 B )出错,拿出你的安卓系统手机,再次检查协议密码是否正确!

方法:输入以下命令:

nano homebridge/configjson

②如果你同时买了 yeelight ,那么首先要先下载「 Yeelight 」手机客户端,在设置中打开「极客模式」,完成 Step 5 后,输入以下命令:

sudo npm install -g homebridge-yeelight

-The End-

Q:完了吗?

A:没完,这个时候,如果关闭了 PuTTy ,你会发现 homebridge 停止工作了,因为刚才都是远程 *** 作

Q:可以设置开机自动启动吗?

A:当然可以,但是我不会

Q:那你说个毛?

A:淡定,还有另一个办法

用你的手机打开树莓派

这是一个折中的解决方案:

Step 1:电话or平板设备上,下载「 VNC Viewer 」,以下是安卓版

Step 2:先打开 PuTTy ,登陆树莓派,输入「 vncserver 「,找到连接 IP 地址

Step 3:打开设备上的VNC Viewer,点击「添加」,输入「 Step 2 」找到的IP,然后「 Connect 」

Step 4:输入用户名「 pi 」和密码「 raspberry 」,确定后再「 Continue 」

那么现在你就可以在电话或平板设备上,利用触屏触控树莓派了

现在,只要树莓派不断电,你的 homebridge 就会一直运行了!

PS

VNC Viewer支持多平台共用,你可以在iOS、Android、macOS、Windows上同时使用!

现在,打开「 Home 」应用,试着给你的设备取个名字,例如:皮卡丘

然后说:「喂, Siri ,打开皮卡丘」试试看!

Done !完美!

本文项目原作者:山上有猴子 热门推荐

仅花20元,用RT5350 OpenWrt Linux,做了个物联网风幕机~

用Arduino DIY6米长d珠机,疯狂享受发射d珠的乐趣!

输入当前用户的密码

一、Mac 安装 nodejs

前言

由于自己的拓展需求,要临时使用到nodejs,所以此次本君就在此mark下 Mac 下nodejs的安装和简单的检验示例,给各位小主留个标记,提高下以后的效率。本章对于一些小白而言还是具有普及意义的。

step 1:

访问nodejs官网),点击红色选框区域的v6100 LTS版本并下载,详见下图:

官网版本png

step 2:

双击刚下载的pkg文件,打开之后按照步骤默认安装就行,安装完成后的截图如下:

安装完成png

step 3:

安装完成后,需要进一步验证下版本号等信息,在LaunchPad中打开终端,分别输入 :

npm -v

node -v

两个命令,如下图出现版本信息,说明安装成功。

终端验证版本号png

step 4:

新建一个js文件,nodejsTestjs , 输入下面的代码, 并保存

var ");

) {

   responsewriteHead(200, {        "Content-Type" : "text/plain"

   });

   responsewrite("Welcome to Nodejs");

   responseend();

})listen(8000, "127001");consolelog("Creat server on /");

打开终端进入 nodejsTestjs 所在目录, 输入 node nodejsTest

终端显示如下:

终端运行png

打开浏览器,点击或者输入>

浏览器测试png

二、#Mac系统下SublimeText运行JavaScript控制台

Sublime Text 2下载地址:(htcom/)

Sublime Text 2png

前言

JavaScript控制台的调试和输出在浏览器端的使用算是工作中常用了,作为前端开发主力编辑器Sublime Text本身是不支持JavaScript的输出和运行的。有的时候我们需要看一下输出的效果,不得不借助于F12查看控制台的程序。作为插件系统及其丰富的编辑器,我们可以通过添加Build System的方法来让Sublime Text支持Javascript Console控制台调试。

JSC方式(Mac OS X)

step 1:

Mac内置了一个javascript控制台程序,路径比较深,(可以用命令"open 目录"来打开目录)

/System/Library/Frameworks/JavaScriptCoreframework/Versions/A/Resources/jsc  

打开目录png

step 2:

启动Sublime  Text,Tools > Build System > New Build System,如下图所示:

New Build Systempng

step 3:

配置选项内容,保存在默认的User目录

{  

   "cmd": ["/System/Library/Frameworks/JavaScriptCoreframework/Versions/A/Resources/jsc", "$file"],  

   "selector": "sourcejs"  }  

保存png

菜单SublimeText->preferences->browser pakager,打开目录

打开目录png

step 4:

新建一个JS文件测试控制台输出效果,使用快捷键Command + B按钮进行调试,需要注意的是这里使用debug,而不能使用consolelog;选择编译系统,菜单Tools > Build System > Automatic或者JSC

var temp = {name:'lili',age:28};  

for (var i = 2; i >= 0; i--) {  

   debug("Sublime Test3:"+i);  

}  

debug(temp);  

// 输出  // --> Sublime Test3:2  // --> Sublime Test3:1  // --> Sublime Test3:0  // --> [object Object]  

截图如下所示:

截图png

NodeJS方式

step 1:

下载安装NodeJS,安装步骤详见上文所述,检查是否安装了NodeJS,在终端中运行 node -v 命令

step 2:

重复上文中JSC方式的第二步,在Build Sytem添加以下内容:保存为NodeJSsublime-build

{  

   "cmd": ["node", "$file"],  

   "selector": "sourcejs"  }  

按照如上方式 *** 作后,你可能会发现自己怎么不OK呢?!可能自己就是那不幸运的一部分,如果你没有成功也不用着急,可以参考以下方式,接着来Do it!

在终端运行:which node

获取路径如下:/usr/local/bin/node

重新配置如下:

{  

   "cmd": ["/usr/local/bin/node", "$file"],  

   "selector": "sourcejs"  }  

step 3:

测试输出效果:

var temp = {name:'lili',age:24};  

for (var i = 2; i >= 0; i--) {  

   consolelog("Sublime Test3:"+i);//在NodeJS下没有debug()函数  }  

consolelog(temp);  

// 输出  // Sublime Test3:2  // Sublime Test3:1  // Sublime Test3:0  // { name: 'lili', age: 24 }  

安装Package Control

如果需要使用Sublime Test安装插件,可以访问这个网站olio/installation,按照说明安装Package Control。重启sublime text,在package control Install中搜索这个插件并下载。也就是说这个插件可以在sublime中直接搜索下载。

由于linux的系统限制,普通用户是无法打开1024以下端口的,这里面就包括>

爬虫时,为了避免自己的IP被封,有时候需要设置反向代理,用其他的IP去爬。那么这里说的IP到底是电脑的什么IP呢?

首先看下 localhost 、 127001 、 192168xx 。

这里使用flask开启一个服务,这样本机可以通过 localhost 、 127001 、 192168xx (我的是 19216814 )等地址的5000端口(eg 19216814:5000 )访问服务器,而同一局域网的其它设备也可以通过 19216814:5000 访问我的服务器

这里的 localhost 一般默认指向 127001 ,所以只需要看IP

127001 是只能自己对自己使用的IP

192168xx 则是局域网下任何设备都可以访问其他设备使用的IP(包括自己对自己)

然后,如果我访问在线网站,或者爬虫,使用的IP并不是上面那两个IP,而是我的运营商分配给我的外网IP(public ip),作为我使用的这个网络的一个身份标识,一般反爬虫封的IP,也就是这个IP了

python版本:

nodejs版本:

参考链接:

1、Windows 8安装的NodeJS

在Windows 8 安装NodeJS非常容易,因为NodeJS有直接的安装程序。首先从NodeJS官方网站获取安装程序。

点击这里下载windows版安装包

双击并开始安装:

选择“下一步”和“接受许可”。它会询问你的位置,保持默认并选择next,安装程序将在您的系统安装NodeJS和NPM。如果一切正常,你会看到以下消息。

现在来检查其是否安装成功,去开始菜单- >程序和Node文件夹。你会看到许多NodeJS命令提示符的文件,打开并检查使用。

2、Mac OS安装的NodeJS

在Mac OS安装NodeJS你必须从官方网站下载相关程序包。

点击这里下面Mac OS版安装包

双击并开始安装:

现在继续安装并同意许可协议,并选择安装Node的位置。

选择安装位置,输入密码,开始安装

安装完成后,你可以使用客户端来检查是否安装正确,打开Node客户端,输入“node”,会出现如下结果:

3、Ubuntu安装的NodeJS

上面两种 *** 作系统下,NodeJS的安装是很便捷的,但是对于Linux来说却没有相关的程序包供我们直接安装。但是我们也可以很容的安装他。

首先打开终端并使用“su”命令切换到root用户

复制粘贴下面的命令下载并安装NodeJS

apt-get install nodejs

他会自动下载并安装到你的计算机中,在窗口中你会看到每一步的进度

安装结束后,在终端输入“nodejs”来使用Node。但是安装还没有结束,我们还需要安装NPM,使用下面的命令来安装NPM:

apt-get install npm

会出现如下的安装界面:

以上就是NodeJS在Windows、Ubuntu及MAC OS系统中的安装过程。

以上就是关于小米语音开关灯如何实现全部的内容,包括:小米语音开关灯如何实现、mac上安装node.jsd出来的输入框是什么、nodejs如何检查哪个IP访问80端口等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10168325.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存