<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>船长日志 &#187; 小米</title>
	<atom:link href="http://www.cslog.cn/tag/%e5%b0%8f%e7%b1%b3/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.cslog.cn</link>
	<description>最让我激动的是不知道下一个星球上能发现什么...</description>
	<lastBuildDate>Wed, 30 Jul 2025 16:06:05 +0000</lastBuildDate>
	<language>zh-CN</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.1</generator>
		<item>
		<title>将小爱同学（小米AI音箱）接入Home Assistant（基于红外遥控器）</title>
		<link>http://www.cslog.cn/Content/xiaomi-ai-box-2-home-assistant/</link>
		<comments>http://www.cslog.cn/Content/xiaomi-ai-box-2-home-assistant/#comments</comments>
		<pubDate>Fri, 02 Feb 2018 11:39:08 +0000</pubDate>
		<dc:creator>船长</dc:creator>
				<category><![CDATA[人工智能]]></category>
		<category><![CDATA[homeassistant]]></category>
		<category><![CDATA[小米]]></category>
		<category><![CDATA[智能家居]]></category>
		<category><![CDATA[树莓派]]></category>
		<category><![CDATA[硬件]]></category>
		<category><![CDATA[遥控器]]></category>

		<guid isPermaLink="false">http://www.cslog.cn/?p=1316</guid>
		<description><![CDATA[小米音箱（小爱同学）做的不错，但是目前功能上还是有很多限制，比如不能启动电脑。H &#8230; <a href="http://www.cslog.cn/Content/xiaomi-ai-box-2-home-assistant/">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>小米音箱（小爱同学）做的不错，但是目前功能上还是有很多限制，比如不能启动电脑。<a href="https://home-assistant.io/">Home assistant</a>是一个开放的智能家居平台，集成非常多的<a href="https://home-assistant.io/components/">模块</a>，比如<a href="https://home-assistant.io/components/wake_on_lan/">Wake on LAN模块</a>就可以实现通过网线唤醒电脑的功能。可惜目前不能通过小米音箱直接连接Home Assistant。好在小爱同学兼容自家的万能遥控器，我们想到了把Home Assistant设备变成一个遥控终端，通过一个红外万能遥控器和一个红外接收器做为一个桥接中介，实现小米音箱间接控制Home Assistant平台的目的。本文参考了<a href="https://bbs.hassbian.com/thread-2404-1-1.html">这个教程</a>。</p>
<h2>需要的东西</h2>
<p>运行Home Assistant的设备（电脑、NAS、树莓派等，我用的是树莓派2代）<br />
红外接收器（我使用的是一个通用USB接收器，树莓派用户可以DIY一个）<br />
<a href="http://item.mi.com/1144200006.html">小米（创米）万能红外线遥控器</a><br />
<a href="https://www.mi.com/aispeaker/?cfrom=search">小米AI音箱</a></p>
<h2>给Home Assistant设备添加红外遥控接收功能</h2>
<p>将红外接收器连接到home assistant设备上。确认红外设备存在，如<br />
<code><br />
pi@raspberrypi:~ $ ls /dev/lirc0<br />
/dev/lirc0<br />
</code></p>
<p>安装<a href="http://www.lirc.org/">红外线收发lirc程序</a>：<br />
<code><br />
pi@raspberrypi:~ $ sudo apt-get install lirc liblircclient-dev<br />
</code></p>
<p>测试红外线接收功能正常：<br />
<span id="more-1316"></span><br />
<code><br />
sudo mode2 -d /dev/lirc0<br />
</code><br />
运行上面命令后找一个红外遥控器对着接收器按任意键，应该可以收到类似这样的字符：<br />
<code><br />
Using driver default on device /dev/lirc0<br />
Trying device: /dev/lirc0<br />
Using device: /dev/lirc0<br />
Running as regular user pi<br />
pulse 2750<br />
space 750<br />
pulse 550<br />
...<br />
</code><br />
好，现在Home Assistant设备可以接收到红外遥控信息了。下一步，让Home Assistant和红外遥控器可以通信。</p>
<h2>让Home Assistant接收红外遥控数据</h2>
<p>随便给lirc指定一个接收的遥控器数据表，这里用的是xbox360的遥控器，你不需要有这个遥控器，因为后面可以用小米万能遥控器把它模拟出来。<br />
下载xbox360遥控器的数据表,把它设置到lirc:<br />
<code><br />
pi@raspberrypi:~ $ wget http://lirc.sourceforge.net/remotes/microsoft/Xbox360<br />
pi@raspberrypi:~ $ sudo mv Xbox360 /etc/lirc/lircd.conf<br />
</code></p>
<p>创建/etc/lirc/lircrc文件，内容：<br />
<code><br />
begin<br />
remote = Microsoft_Xbox360<br />
button = KEY_STOP<br />
prog = home-assistant<br />
config = KEY_STOP<br />
end<br />
begin<br />
remote = Microsoft_Xbox360<br />
button = KEY_PAUSE<br />
prog = home-assistant<br />
config = KEY_PAUSE<br />
end<br />
</code><br />
这里只以两个按键为例子，参看上面/etc/lirc/lircd.conf的内容，你可以多添加几个按键。</p>
<p>重启lirc<br />
<code><br />
pi@raspberrypi:~ $ sudo systemctl restart lircd.service<br />
</code></p>
<p>现在在米家app给小米万能遥控器添加Xbox360遥控器（使用搜索功能添加，里面有两个，我添加的是“微软DVD播放器”那个），现在测试<br />
<code><br />
pi@raspberrypi:~ $ ircat home-assistant<br />
</code></p>
<p>按遥控器上的停止按键，应该会收到相应的代码。<br />
<code><br />
</code><br />
现在米家app可以给home assistant设备发信息了，下一步要做的是根据这个信息，触发不同的动作。</p>
<h2>Home assistant根据遥控器指令触发动作</h2>
<p>编辑 HomeAssistant 的configuration.yaml文件，加入<a href="https://home-assistant.io/components/lirc/">lirc组件</a>，<br />
<code><br />
lirc:<br />
</code><br />
配置home assistant的自动化指令：<br />
<code><br />
automation:<br />
- alias: 打开灯<br />
trigger:<br />
platform: event<br />
event_type: ir_command_received<br />
event_data:<br />
button_name: KEY_PAUSE<br />
action:<br />
service: homeassistant.turn_on<br />
entity_id: group.a_lights<br />
</code><br />
上面的KEY_PAUSE就是刚刚配置的遥控器按键。action可以换成你想要的效果，我是帮来它来启动我的电脑了。重启homeassistant,让配置生效，现在对着树莓派按暂停播放键，就Homeassistant就会触发相应的动作了。</p>
<h2>让小米AI音箱控制万能遥控器</h2>
<p>先打开米家app，在底部点选“智能”，在“我在”tab中点右上角的“+”号创建新智能条目，在选择条件界面选择“手动执行”，选择“小米万能遥控器”-〈遥控模式〉-〈微软DVD播放器〉-〈暂停/播放〉-〈右上角“确定”〉设置你想要的名称，比如“启动电脑”<br />
好了。打开小米AI app，在底部点选“技能中心”-〈小爱训练计划〉-〈创建训练〉-〈为问题命名，比如“启动电脑”〉-〈设备控制〉-〈选择刚创建的“启动电脑”〉-〈打开〉，预览后保存。<br />
（相关的图文教程<a href="http://bbs.xiaomi.cn/t-13957311">点这里</a>）</p>
<p>好了。现在对着小米同学说“启动电脑”，小米音箱会指示小米万能遥控器发送一个KEY_PAUSE按键，这时home assisant收到后，就会触发启动电脑的动作了。</p>
<p>参看：<a href="https://www.hackster.io/austin-stanton/creating-a-raspberry-pi-universal-remote-with-lirc-2fd581">Creating a Raspberry Pi Universal Remote With LIRC</a><br />
另一种通过第三方平台桥接小爱同学和home assistant的方法： <a href="https://bbs.hassbian.com/thread-2404-1-1.html">https://bbs.hassbian.com/thread-2404-1-1.html</a>
<div style="margin-top: 15px; font-style: italic">
<p>转载请注明: 转自<a href="http://www.cslog.cn/">船长日志</a>, 本文链接地址: <a href="http://www.cslog.cn/Content/xiaomi-ai-box-2-home-assistant/">http://www.cslog.cn/Content/xiaomi-ai-box-2-home-assistant/</a></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.cslog.cn/Content/xiaomi-ai-box-2-home-assistant/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
