标准版
#第五届立创电子设计大赛#原生HomeKit空调遥控与多传感器

创建时间:4年前

项目主题:智能家居

视频

  • 原生HomeKit空调遥控与多传感器-自我介绍.mp4

  • 原生HomeKit空调遥控与多传感器-项目介绍.mp4

  • 原生HomeKit空调遥控与多传感器-功能演示_720P.mp4

描述

<h2>原生HomeKit空调遥控与多传感器</h2> <p><img src="//image.lceda.cn/pullimage/SP3cp4sticEK1cQwMIiljabdReexXBlq5LUkPNNh.png" alt="LC5-主图.png"></p> <h3>自我介绍</h3> <p>大家好,我是王小菜,业余DIY爱好者。</p> <h3>项目介绍</h3> <p>本作品是一款DIY智能家居配件,具备<strong>空调红外遥控、温湿度与光照传感器</strong>等功能,支持<strong>Apple原生HomeKit协议</strong>。</p> <h3>1、项目详情</h3> <p>本作品的主要功能是空调遥控、温湿度与光照感应,支持HomeKit协议与Web控制。</p> <ul> <li><strong>原生HomeKit配件</strong>:可独立运行,无需homeassistant或homebridge等任何的桥接服务器,在iPhone、iPad、Mac等的家庭APP中可直接添加本配件,支持Siri语音控制、家庭自动化、多设备iCloud同步等</li> <li><strong>空调控制</strong>:空调开关、模式、温度、风速、扫风、灯光(数显)等,支持数十种空调红外协议</li> <li><strong>传感器</strong>:温湿度与光照实时数据、历史曲线,导出CSV格式数据文档</li> <li><strong>迷你尺寸</strong>:PCB长宽3.6x3.6cm,外壳长宽3.88x3.88cm厚1.64cm</li> </ul> <p>注:配件实现了Apple公开的<strong>非商用版</strong><code>HomeKit Accessory Protocol (Non-Commercial Version)</code>,参见<a href="https://developer.apple.com/support/homekit-accessory-protocol/" target="_blank">developer.apple.com</a>。</p> <p><img src="//image.lceda.cn/pullimage/AEPZf1MGBKANpDKdGnoN4TP3L4CjFE4BDAkY2UZZ.jpeg" alt="带壳示意图 samll.jpg"></p> <h5>1.1 HomeKit功能</h5> <p><img src="//image.lceda.cn/pullimage/ylw5O6K8JFuDJzZBpzspmweBU4iDvFkqua4ugJ3O.jpeg" alt="homekit all.jpg"></p> <ul> <li>在iPhone、iPad、Mac等苹果设备中的家庭APP中添加本配件,配对码为<code>111-11-111</code></li> <li>配件包括空调与空调灯光,温度、湿度、光照</li> <li>支持控制空调的开关、模式、温度、风速、扫风、灯光(数显)</li> <li>支持实时更新温度、湿度、光照</li> <li>支持Siri语音控制、自动化、多设备iCloud同步、远程控制</li> </ul> <p>注:远程控制、自动化等功需配置家庭中枢,需iPad或Apple TV或HomePod作为家庭中枢,参见家庭APP自动化标签页面中的介绍</p> <h5>1.2 Web功能</h5> <p><img src="//image.lceda.cn/pullimage/W1dhjkoMP3t0rOF5qqXllSpIpJcOA60w20dBMX3G.jpeg" alt="Web_all_2.jpg"></p> <ul> <li> <p>访问<code>http://{ip}</code>Web页面,<code>{ip}</code>为ESP8266联网后的IP地址,提供比HomeKit更加全面的控制与功能</p> </li> <li> <p>空调:配置空调红外协议与子型号,支持静音、强劲、经济、经济、过滤等高级空调控制</p> </li> <li> <p>传感器:查看实时数据、按天/周/月查看历史记录折线图,File Manager中可导出近一月的CSV格式历史数据</p> </li> <li> <p>历史数据:传感器历史数据存储于ESP8266内置Flash中,基于SPIFFS文件系统,每10分钟记录一次,保留近30天内的历史数据</p> </li> <li> <p>其他功能:查看系统信息,WiFi配置,内部文件浏览,在线固件升级</p> </li> <li> <p>支持Apple-WebAPP全屏模式:Safari浏览器->分享->添加到主屏幕即可</p> </li> </ul> <h3>2、面临的挑战及解决的问题</h3> <p>本作品的主要目标是实现原生HomeKit配件,相对于其他智能家居方案,优势在于可直接接入Apple HomeKit智能家居系统,体验苹果统一的、全家桶式的良好智能家居体验,在iPhone、iPad、Mac、Watch上均可控制与使用该配件。</p> <p>苹果HomeKit是成熟的智能家居协议之一,HomeKit协议已公开发布多年,长期以来普遍采用桥接服务器的方式将DIY设备接入HomeKit,如homeassistant或homebridge,成本较高且配置较为复杂。</p> <p>之前注意到github上 <a href="https://github.com/maximkulkin/esp-homekit" target="_blank">esp-homekit</a>项目可以实现ESP8266独立运行HomeKit协议,可抛弃配置桥接服务器,美中不足的是该项目是基于非乐鑫官方ESP8266开发SDK编写,编译工具配置复杂,上手难度较高。</p> <p>今年上半年疫情期间我个人将该项目移植到乐鑫官方Arduino SDK中,发布<a href="https://github.com/Mixiaoxiao/Arduino-HomeKit-ESP8266" target="_blank">Arduino-HomeKit-ESP8266</a>,兼容Arduino一键编译,降低了编译门槛,提供了一种在Arduino环境下支持HomeKit的易用方案。另外该库也被乐鑫官方推荐为<a href="https://www.espressif.com/zh-hans/news/ESP_Apple_HomeKit_ADK" target="_blank">ESP8266上实现HomeKit的替代方案</a>。</p> <h3>3、项目硬件、软件关键点</h3> <h5>PCB</h5> <p><img src="//image.lceda.cn/pullimage/P2i7G99J2gnJcwjkKlV30vA2LDQuD8Gh2cdb4YOS.jpeg" alt="PCB all small.jpg"></p> <ul> <li> <p><strong>紧凑布局</strong>:尺寸仅3.6x3.6cm,仅比一元硬币(直径2.5cm)大些。</p> </li> <li> <p><strong>全向满功率红外发射</strong>:布局参考了米家和天猫精灵的成品万能遥控器,使用7枚5MM发射管,实现360°全向遥控。使用N-MOS管驱动发射管,依据发射管数据手册中的最大电流(100mA)选取限流电阻,实际电流约92mA,实测一般房间中可全向覆盖,发射管背向空调时依赖墙面反射也可正常遥控。</p> </li> <li> <p><strong>高精度温湿度传感器</strong>:使用来自瑞士Sensirion的SHTC3高精度传感器,精度±0.2℃ / ±2%RH,范围-40~125℃ / 0~100%RH,该芯片的DFN 4脚的封装相对于DFN 8脚封装的SHT3x焊接相对容易。</p> </li> <li> <p><strong>数字光照传感器</strong>:使用BH1750数字环境光传感器,支持0.11lx精度,范围1 - 65535 lx,焊接略有难度。</p> </li> <li> <p><strong>热隔离设计</strong>:主要发热元件ESP8266与降压芯片位于PCB顶面右侧,温湿度芯片SHTC3位于PCB底面左侧,另在SHTC3挖出PCB槽孔与其他部分隔离,最大限度降低元件发热对温湿度传感器的影响。</p> </li> <li> <p><strong>烧录接口</strong>:使用ESP-01布局,可直接接上板载自动烧写电路的ESP-01烧录工具实现一键烧录,也可使用其他USB-TTL烧录工具烧录。</p> </li> </ul> <h5>外壳</h5> <p><img src="//image.lceda.cn/pullimage/Q0HLTitYJNSZsmIL7a1sWF0FYoWx7cyHvl58HBVh.jpeg" alt="外壳 all.jpg"></p> <ul> <li> <p><strong>迷你尺寸</strong>:长宽3.88x3.88cm,厚1.64cm,4枚长约6mm的M2螺丝固定。</p> </li> <li> <p><strong>3D打印模型</strong>:可使用半透明(本色)、透明PLA打印,中间2图中上侧为半透明材料(PCB未焊接),下侧为透明材料(PCB已焊接)。半透明材料的实物比较有质感,透明材料的实物则是另一种感觉。顶盖无需添加支撑,底盖中仅需磁铁圆槽部分需要支撑,模型尺寸专为0.2mm层厚、0.4mm喷嘴优化。</p> </li> <li> <p><strong>散热设计</strong>:顶盖大范围散热口,增强散热,底部SHTC3完全外露,降低元件发热对温湿度传感器的影响。</p> </li> <li> <p><strong>磁吸固定</strong>:背部可粘贴2.5cm直径的磁铁(大小与1元硬币相同),可以将该配件吸在任何含铁的表面,也可以使用双面胶固定。全向满功率红外发射,磁吸摆放位置比较自由。</p> </li> </ul> <h5>软件</h5> <ul> <li> <p>使用我个人开源的<a href="https://github.com/Mixiaoxiao/Arduino-HomeKit-ESP8266" target="_blank">Arduino-HomeKit-ESP8266</a>实现HomeKit协议,可直接实现原生HomeKit配件。</p> </li> <li> <p>使用crankyoldgit开源的<a href="https://github.com/crankyoldgit/IRremoteESP8266" target="_blank">IRremoteESP8266</a>库实现空调遥控红外编码与解码,支持数十种型号空调红外协议。</p> </li> </ul> <h3>4、项目材料清单</h3> <table> <tr> <th>名称</th> <th>型号</th> <th>数量</th> </tr> <tr> <td>ESP8266/ESP8285</td> <td>ESP-01F, 2M Flash 宽温版</td> <td>1</td> </tr> <tr> <td>光照传感器</td> <td>BH1750FVI</td> <td>1</td> </tr> <tr> <td>温湿度传感器</td> <td>SHTC3</td> <td>1</td> </tr> <tr> <td>红外发射</td> <td>5MM发射管,如IR333C</td> <td>7</td> </tr> <tr> <td>红外接收</td> <td>VS/HX1838红外接收管</td> <td>1</td> </tr> <tr> <td>LED指示灯</td> <td>0805贴片蓝色</td> <td>1</td> </tr> <tr> <td>3.3V降压芯片</td> <td>AMS1117-3.3, SOT89</td> <td>1</td> </tr> <tr> <td>N-MOS管</td> <td>AO3400A, SOT-23</td> <td>1</td> </tr> <tr> <td>1206贴片电容</td> <td>100U</td> <td>1</td> </tr> <tr> <td>排针</td> <td>4针2排</td> <td>1</td> </tr> <tr> <td>0805贴片电阻</td> <td>10R, 50R, 470R, 1K,10K</td> <td>若干</td> </tr> <tr> <td>0805贴片电容</td> <td>0.1U, 10U</td> <td>若干</td> </tr> </table> <h3>5、项目图片</h3> <p><img src="//image.lceda.cn/pullimage/A1QsNdp2GdHHWVwvvXtsGK3R6Bsah0JmgWTPrrR6.jpeg" alt="PCB_logo.jpg"> 以上为PCB图片焊接完成的实物图与立创EDA中的2D渲染图,顶面与底面均带有大赛logo。</p> <h3>6、项目演示视频</h3> <h5>6.1、视频上传大赛官网</h5> <p>已上传。</p> <h5>6.2、B站视频标题和链接</h5> <p><strong>自我介绍:</strong><a href="https://www.bilibili.com/video/BV1jf4y1X7c3/" target="_blank">第五届立创电子设计大赛:DIY自制原生HomeKit空调遥控与多传感器-自我介绍</a></p> <p><strong>项目介绍:</strong><a href="https://www.bilibili.com/video/BV13a4y1j7hJ/" target="_blank">第五届立创电子设计大赛:DIY自制原生HomeKit空调遥控与多传感器-项目介绍</a></p> <p><strong>功能演示&性能测试:</strong><a href="https://www.bilibili.com/video/BV1AD4y1o7qX/" target="_blank">第五届立创电子设计大赛:DIY自制原生HomeKit空调遥控与多传感器-功能演示&性能测试</a></p> <h3>7、是否首次公开发布</h3> <p>本项目是首次公开。</p> <h3>8、开源文档</h3> <p>原理图与PCB完全使用立创EDA制作,在<a href="https://diy.szlcsc.com/p/EDAUSER001/homekit-kong-diao-yao-kong-yu-duo-zhuan-gan-qi" target="_blank">本项目</a>中发布,可在编辑器中打开。 固件、外壳模型见附件。</p> <h3>9、参考文献</h3> <p>点击链接了解更多详情:<a href="https://www.szlcsc.com/go/dsxq" target="_blank">https://www.szlcsc.com/go/dsxq</a></p>

文档

Sheet_1

HOMEKIT_IR_SENSORS_LC5

BOM

暂无

附件

附件名 下载
baseV8.stl
coverV8.stl
HOMEKIT_IR_SENSORS__2M_Flash.bin

评论(54)

  • 表情
    emoji
    小嘉工作篇
    小嘉日常篇
  • 图片
成功
工程所有者当前已关闭评论
Caffreyfans 回复
<p>该项目可媲美市面上售卖的万能红外遥控,值得推荐!</p>
立创电赛 回复
<p>记得上传相关视频至大赛官网和B站哟!</p>
王小菜 回复
<p>功能演示视频开头,手持本diy配件嘿Siri开关空调只是针对性演示,配件的红外为<strong>全向满功率发射</strong>,与成品万能遥控器一样,可实现<strong>全屋红外覆盖</strong>。实际效果可以参考10分41秒处的视频内容。</p>
jixin001 回复
<p>见到了好几个WIFI的方案,手机APP的交互方式还是太复杂了。</p>
王小菜 回复
<p>@jixin001 本方案原生接入了HomeKit,主要控制端是iPhone、Mac、Watch上的家庭APP,以及Siri语音。另外纠正一点<strong>本方案无手机APP</strong>,仅有Web端(支持了Apple WebAPP运行模式,所以看起来和APP一样),Web端主要是HomeKit的补充,HomeKit协议目前未定义传感器历史数据查看方式,故把该功能做到了Web端。另外<strong>Web端网页与传感器历史数据也是由ESP8266直接提供与存储的</strong>,没有远程服务器,整个方案硬件主控与数据存储只有ESP8266。</p>
jixin001 回复
<p>@EDAUSER001 我不是说本项目使用了某个复杂的APP。而是说这个方案还需要一个APP来支持(你这里是IOS上的家庭APP),其实交互起来很复杂。我手机也安装有几个APP,本来觉得会很方便,后来发现还是遥控器香。生活场景中遥控器通常会放在某个随手拿到的地方,随手按一下遥控器比物联网设备响应速度快多了。不过你这里支持Siri会方便很多,我可以躺床上叫一声【手动狗头】。</p>
立创电赛 回复
<p><span class="colour" style="color: rgb(85, 85, 85);">“GD32杯”第五届立创电子设计大赛【网络人气TOP榜单】更新中,入榜TOP10将获得1000-5000元奖励,详见:</span><a href="https://diy.szlcsc.com/posts/77584d2f66a34eed97ebf5ae488004fb" target="_blank">https://diy.szlcsc.com/posts/77584d2f66a34eed97ebf5ae488004fb</a></p>
王小菜 回复
<p>@jixin001 家庭APP是所有苹果设备本身内置的APP,iPhone、Mac、Watch、iPad、TV都是内置的,另外苹果也有自己的智能音箱HomePod。比较新的设备都是支持息屏 “嘿 siri” 的(就是不用点亮屏幕,直接喊Siri来干活就行,自4年前的iPhone 7开始),可以直接把手机当智能音箱来用。<br/>而且有iPad或者HomePad的话配置为家庭中枢可以实现异网访问与控制。<br/>苹果这套HomeKit是拥有完整自成体系的智能家居方案。</p>
FKU 回复
<p>@jixin001  我只能说,你要么没有用苹果,要么不了解苹果的智能家居生态多好,我完全支持项目主人的看法,浏览器发送桌面也是不错的创新,从硬件到软件,很棒。</p>
lideshu 回复
<p>很棒 冒昧问下 项目合作方面可以私聊吗</p>
eric_chan 回复
<p>这感觉是高仿抄袭iobroker论坛里H大的方案。。</p>
eric_chan 回复
<p>喔看到了,竟然提到了ha,就肯定是借鉴或参考了,本身H大就是开源的项目。。</p>
王小菜 回复
<p>@eric_chan 这位同学不好意思,我是Arduino-HomeKit-ESP8266的原作者,<a href="https://github.com/Mixiaoxiao/Arduino-HomeKit-ESP8266" target="_blank">https://github.com/Mixiaoxiao/Arduino-HomeKit-ESP8266</a></p>
画板当吃生菜 回复
<p>@王小菜  我抄我自己😂</p>
画板当吃生菜 回复
<p>@jixin001  全家小米就好了</p>
wuxiandian1955 回复
<p>您好,我是《无线电》杂志的编辑,觉得您的制作挺有意思的,想跟您约稿,不知道是否可以?</p>
王小菜 回复
<p>@wuxiandian1955 您好,感谢关注,可以联系我的个人邮箱 mixiaoxiaogogo@163.com</p>
shinyzhuo 回复
<p>您好,文末的工程附件可以告诉我哪个对应哪个吗....我看程序是一脸懵....<br/>然后,图中“ESP8266”部分,写的是ESP-01F,这个01f是esp8285,这8266和8285程序是通用的嘛?</p>
王小菜 回复
<p>@shinyzhuo .bin是编译好的固件,.stl是外壳模型(可用于3D打印)。ESP8285和ESP8266是完全通用的,唯一的区别是ESP8285的Flash是内置的所以封装体积更小。ESP8266的Flash是外挂的,封装体积都很大。本固件适用于2MB及以上Flash的ESP8285或者ESP8266。</p>
shinyzhuo 回复
<p>@EDAUSER001 搜嘎,谢谢解惑</p>
立创电赛 回复
<p><span class="colour" style="color: rgb(85, 85, 85);">恭喜您的项目在第五届立创电子设计大赛中获得优胜奖和人气奖!</span></p>
Whateverrr 回复
<p>请问 <span class="colour" style="color: rgb(38, 44, 50);">AO3400A 的具体规格是多少呢?以及 ESP-01-PROG-WXC 是 PCB 板上的吗?</span></p>
czkm2015 回复
<p>有成品嘛?  想买一个试试</p>
Whateverrr 回复
<p>想知道贴片是自己焊的还是嘉立创弄的。</p>
王小菜 回复
<p>@Whateverrr</p><br/><table><br/><br/><tr><br/><th>名称</th><br/><th>元件</th><br/></tr><br/><br/><br/><tr><br/><td>N-MOS管</td><br/><td>AO3400A, SOT-23</td><br/></tr><br/><tr><br/><td>排针</td><br/><td>4针2排</td><br/></tr><br/><br/></table>
王小菜 回复
<p>@Whateverrr 自己焊就可以</p>
SUPERUSR 回复
<p>有链接吗?最近在搜集这方面信息</p>
SUPERUSR 回复
<p>这个网页界面怎么实现的,开源部分没找到</p>
a1051116338 回复
<p><span class="colour" style="color:rgb(24,24,24);">这个Wi-Fi密码换了的话应该要怎么进入配网模式呀</span></p>
liguichuan 回复
<p>项目只有固件,没有开源源码吗?</p>
yxllz 回复
<p>大佬您好,我焊了一块板子,连接usb转ttl模块电脑找不到端口,是不是我哪里焊短路了。插上的一瞬间led灯能亮</p><br/><p><br><br/><br></p>
lilili123456 回复
<p>软件有1个bug:</p><br/><p><br><br/>用普通遥控器关掉空调后,没有反馈空调最后的温度、制冷、制热等状态到 homekit。</p><br/><p><br><br/><br><br/><br><br/>再在手机homekit中打开空调,会发生错误,温度、制冷或制热等都不对。</p>
823878209tx 回复
<p>这个应该是没有解决的办法,正常情况下空调本身是没办法将自己的数据返回给红外遥控的,也就是没办法进行数据同步到homekit</p>
lilili123456 回复
<p>用普通遥控器关闭空调后,homekit同步显示关机,<br><br/>所以是有办法解决的。<br><br/>因为普通遥控器发送红外信号给空调时,这个项目上面的1838红外接收管也接受了信号,这个信号返回给homekit。<br><br/>不是空调将自己数据返回给红外遥控的思路</p>
spdk 回复
<p>温湿度测不准是为什么</p>
YazawaNiko 回复
<p style="user-select: auto;">牛</p>
lonely-night 回复
<p>既然都有usb口为什么还要用ttl线刷呢,直接usb口不就好了嘛</p>
yukal1 回复
<p>@lonely-night 那就得板载一个usb转uart芯片,增加面积和成本</p>
yukal1 回复
<p>I2C的引脚是不是有问题 我这边的温湿度和光照传感器都没有数据,查询了一下ESP01F的ds中I2C的引脚是IO14和IO2</p>
wzq1998 回复
<p>你好,作者,这个除了重新刷写固件意外还有没有别的办法重新进入配网模式?</p>
zipper 回复
<p>你好,作者,想问一下固件烧录软件esp-01F的烧录软件可以分享一下吗?</p>
zipper 回复
<p>你用什么方法刷的固件</p>
lilili123456 回复
<p>@lilili123456 coolix协议的Midea空调,关机代码中只有OFF.</p><br/><pre><code>Timestamp : 001973.966,  Library : v2.8.2<br/>Code : 0xB27BE0 (24 Bits)<br/>Protocol: 15 (COOLIX), Power: Off<br/>uint16_t rawData[199] = {4672, 4440,  520, ... ... ...};  // COOLIX B27BE0<br/>uint64_t data = 0xB27BE0;<br/></code></pre>
lilili123456 回复
<p>@wzq1998<br/>试试这个<br/> <a href="https://github.com/LouisLee985/Homekit-Air-Conditioner-Remote" target="_blank">Homekit-Air-Conditioner-Remote</a></p>
lilili123456 回复
<p>@zipper<br/> <a href="https://www.espressif.com.cn/zh-hans/support/download/other-tools" target="_blank">Flash 下载工具</a></p>
lingbm 回复
<p>ESP-01F买成1M版本了,烧录正常,控制大概试了一下 也没什么问题<br><br/>就是断电不保存信息,需要重新配网</p>
lingbm 回复
<p>找到大佬的github 下载了1MB版本的固件,只有ESP8266_IR_20200814_1MB.bin这个可以识别到我的遥控协议<br><br/>空调是格力的<br><br/>这个版本传感器数据都没有显示了,还是要找个2MB版本的01F更换</p>
lingbm 回复
<p>更换了ESP型号 刷入固件,无法在homekit里添加配件<br><br/>有一样的吗?<br><br/>其他固件是不是没有传感器数据页面?</p>
aaaaaaaaaasb 回复
<p>同不准,比其他温度计热了两三度,没找着咋校正的</p>
tsdyl2 回复
<p>我的也是没有数据显示</p>
dm980 回复
<p>安卓的可以用吗?</p>
huyen1314 回复
<p>大概是懒得画串口芯片吧</p>
yimisunrise 回复
<p>可以接入米家吗</p>
向明月 回复
<p>感谢开源,代码有开源吗</p>
goToTop
svg-battery svg-battery-wifi svg-books svg-more svg-paste svg-pencil svg-plant svg-ruler svg-share svg-user svg-logo-cn svg-double-arrow