Git Product home page Git Product logo

irbaby's Introduction

IRbaby

中文版 | English

IRbaby 使用 IRext 开源红外库(由于某些原因该仓库已关闭,相关网站已下架,但是码库服务仍然提供),提供数以万计的红外设备遥控编码。IRbaby 是一个 ESP8266 万能红外方案,配合硬件支持达到类似于市面上售卖的万能红外遥控。并且只需对其进行简单设置就可以快速部署在HomeAssisant

forthebadge


特点

  • IRext 强大红外码库
  • 基于 ESP8266 的芯片
  • 提供 MQTT API
  • 提供 UDP API
  • 支持录码
  • 离线解码
  • HomeAssistant 自动发现
  • LED 工作指示灯

架构图

struction

开始使用

  1. 下载 ESP8266 固件并烧写到设备。IRbaby-firmware
  2. 设备上电,移动端搜索连接到 ESP** 信号,并在浏览器中输入 192.168.4.1 对设备进行联网设置
  3. 下载 Android 客户端并运行,对设备进行 MQTT 和红外收发引脚设定。IRbaby-android
  4. 匹配电器,完成控制, HomeAssistant 用户可在控制界面导出配置文件(现已支持 HomeAssistant 自动发现功能,设备添加之后,可直接在 HA 集成中看到)

IRbaby目前仍处于开发阶,目前的交互协议可能随时改变,不保证向后兼容,升级新版本时需要注意公告说明同时升级固件和客户端。

六步连接HomeAssistant

效果演示视频

发现设备 配置信息 添加电器
匹配电器 已有电器 导出MQTT

材料

红外接收头可选(如果需要录码功能)

Nodemcu 红外二级管
红外接收头 三级管

关于连线

接线

备注:红外二级管连接的时候也可以尝试不用三级管,直接连接。红外二级管长引脚接gpio,短脚接地。红外接收头的话就照着上图标示的那样与模块连接。红外接收头非必须,如果你不使用录码功能可忽略红外接收头。只要你有一个红外发射管和一块 ESP8266 和一部 Android 手机就可以尝试该项目。另外目前项目只支持空调控制,其他功能暂不支持,后续会添加。控制客户端目前也只支持 Android,跨平台客户端也在后续添加中

附加下载地址

如果你有在 github releases 下载文件过慢的问题,请在 https://irbaby.caffreyfans.top 下在对应文件

捐赠

支付宝 微信

特别感谢

Strawmanbobi IRext开源库的作者,给予我技术和精神上的支持。

irbaby's People

Contributors

caffreyfans avatar imgbotapp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

irbaby's Issues

固件启动成功wifi配置成功,打开app闪退

模块:esp-12e
接线:vcc3.3v,rst、en高电平,gpio15、gnd低电平。启动正常
固件:0.9
APP:0.9 (安卓4.4.4、安卓10均已尝试)
使用网页配置wifi,打开app可以在设备管理发现,设置mqtt,端口。发射引脚14,接受引脚10。
以上步骤均正常。
点击家电控制-点击设备-空调-选择 格力,到这一步app白屏或者闪退报错。
望回复。感谢!

ESP8285能用吗

在网上找到有些把红外发射接收和ESP8285集成在一个板子上的,想看看能不能刷在这种板子上刷这些固件,或者有什么方法可以使得8285支持IRBaby

移动空调伴侣X12适配请求

X12使用TYWE3S模块,好像是涂鸦的
与ESP8266不同的地方在于flash大小,TYWE3S只有2M,ESP8266有4M
进入烧录模式也有区别:TYWE3S只需要拉低IO2,ESP8266还需要拉低IO15(运行模式也需要拉低IO15,即IO15始终拉低)
X12使用模块的IO14发送,IO13接收
直接使用IRbaby固件可以烧录,但日志报错内存空间不足,无法创建文件

刷NodeMCU之后配网失败

配置好wifi和密码之后,没有连上wifi,路由器看不到此设备,而且用提供的工具也扫描不到NodeMCU 而且再次烧录需要用4M空白文件覆盖

app里家电控制页添加空调设备时可控,添加后不可控

问题描述:
app里家电控制页添加空调设备,选择长虹3或长虹13,空调有响应;
确定选择后,再进行控制,则空调能接收到指令(表现为滴滴滴响),状态始终为17°,模式为最后一次设定的模式。

环境:
win10,雷电模拟器,IRbaby 安卓客户端0.0.3,IRbaby 固件0.0.3
X12移动空调伴侣,模块替换ESP8266(4Mflash),设置14脚发送 13脚接收,mqtt设置且已连接

复现:
如上述环境设置,app左侧“家电控制”页,找到局域网设备,添加空调-长虹3或长虹13
PS:我家空调只有制热、制冷模式生效,其他模式空调不响应,空调型号:KFR-35GW/DHR(W1-H)+2
在点击下方的【是】之前,空调响应指令,且正确
点击【是】后重新进入该空调控制界面,任意指令发送,空调均响应为17°,模式不变

其他:
日志中,选择设备和确认设备后的控制页面,同样的状态下(模式、风速、风向、扫风、温度等),日志输出
{
"params": {
"set": "set",
"file": "new_ac_10707",
"var": "{"power":0,"temperature":10,"mode":2,"swing":1,"direction":1,"speed":0}"
}
}
中的file字段都一致,但后面DEBUG: length = 243具体的指令码有区别

HASS里控制,改变模式、风速、扫风,温度均变为17°

条件:
X12刷入0.3.1版本 2Mflash固件,app0.3版本
配置了mqtt 、收发引脚,导出mqtt(因空调不支持,只保留了制冷 制热模式、扫风、风速三类),接入hass
问题:
在HASS里控制,只要切换模式、风速、扫风任意一项,空调实际均改变温度为17°
例如:当前是制热25大风,扫风关,切换模式为制冷时,HASS界面变为“制冷25 大风,扫风关”,但实际空调为“制冷17°大风 扫风关”

mqtt断线重连问题

经几次验证,正常使用中,如果hass重启,mqtt连接会断开。虽然nodemcu会一直尝试重连,但不成功。rx口输出如下:
[12:55:27.196]收←◆MQTT try to reconnect
[Connecting to MQTT]:
[12:55:33.856]收←◆.
[12:55:57.196]收←◆MQTT try to reconnect
[Connecting to MQTT]: .
[12:56:03.862]收←◆.
但如果重启nodemcu,则会立即连上mqtt。

是否可以优化mqtt断线重连机制?
或者是否可以在固件中加入一个重启命令,像espeasy一样输入一个命令就可以让nodemcu重启,例如espdasy的指令是:http://192.168.1.xx/?cmd=reboot;sonoff命令是http://192.168.1.xx/cm?cmnd=Restart 1,这样也可以在hass重启后发送命令重置重启nodemcu。

删除 HomeAssistant 中多余注册电器

目前在 APP 中删除了电器了,HomeAssistant 中不会同步所删除的设备,该问题待解决。

造成这种情况的原因是,APP 中删除了电器但未向设备发送设备删除指令,导致 HomeAssistant 中依旧保存所删除的电器。另外固件中也没有电器清空的功能,待添加。

Web 端开发

目前 ios 用户无法使用 android 客户端,应开发 web 端来解决跨平台问题。

apk可否适配android4.4.2以上?

下载提供的apk无法在android低版本(华为荣耀6,android5.0自带红外遥控器)中安装。请发布apk时可否适配像4.4.2+以上的版本。非常感谢

2个问题

1.我想用你的源码,做一个esp01 512k的固件,我自己加了代码
[env:esp8266-512k-base]
board = ${common.board_512k}
board_build.ldscript = ${common.ldscript_512k}

但是编译时候提示Error: Could not find 'eagle.flash.512k0m1s.ld' LD script in LDPATH 'C:\Users\testuser\Desktop\IRbaby-firmware-0.4.pio\build\esp8266-512k-base

mqtt录码后 应该怎么操作呢?

大佬您好
我已经刷了你的固件,已经连上mqtt,还没有连接ha
mqtt那边需要监听主题应该填写什么呢? 试了好几个 都不对

安卓app点击风扇-艾美特没反应

1.刷完固件,配置好网络之后,无法进入风扇的红外调试,风扇里面基本都不行。
2.在录码界面,对着红外接收器按遥控,app上无任何反应
我换了手机也不行,不知道是哪里的问题

HomeAssistant中无法自动发现,手动添加也不行

HomeAssistant中没有自动发现设备,查看被忽略的集成里也没有。手动添加MQTT的话,显示“无法连接到服务器。”,是否是账号密码还是端口输入错误,我端口号填的是默认的1883,账号和密码留空。另外,在安卓客户端中是可以进行控制的

关于部署在ESP01模块上不能发射红外的问题

首先感谢作者开发如此好用的固件,真的是一键话部署,目前使用的是ESP01模,很小巧,但是只留了0和2两个io,这两个io都是跟启动相关的。io2启动时需要拉高,否则启动会失败,导致接三极管烧毁,提一个小需求能否在下次更新把io口拉低(不知道这样描述是否正确大概就是这个意识),这样esp01也可以使用。感谢!

建议APP中增加重启和清除功能

由于有些芯片预留脚位的和板子大小之类的问题,
有时候不太方便增加 RST 按键和引出 GPIO2 引脚来长接地恢复出厂设置,
建议在 APP 中增加 重启 的功能和 恢复出厂设置 的功能。

HomeKit 同步异常

哈喽,很感谢你的分享让我的空调可以控制了,但我现阶段有个问题希望能得到解决,那就是通过home assistant接入HomeKit后,当home assistant重启后,HomeKit里的空调就无法操作,显示未响应,此时需要在home assistant里面的空调面板点击按钮后HomeKit里面的空调才可以正常控制,我个人猜测可能是因为MQTT主题在重启后就会丢失内容,HomeKit无法获取到当前的状态,所以显示未响应

english version or other

Hello,
Thank you for your great work, I am french and I would like to use your application is there an english version of irbaby.apk?
Cordially

匹配奥克斯空调所有功能键都是开关

nodemcu刷的0.5版本固件,手机也是装的0.5版本apk,然后设置好mqtt和发射接收针脚,应该都没有问题,就是匹配家里一台奥克斯空调,只有3和10有反应,但是两组遥控都是会出现所有功能键,包括模式、温度加减等按键按下后都会让空调开机或关机,而且在homeassistant里控制也是一样,然后自己录码试过,温度加减和模式什么的应该都可以用,但是这样加在homeassistant里不成一套遥控功能,而且也没有办法匹配当前温度或是模式等,所以想请问这个是奥克斯遥控库的问题吗?如果是的话可以有办法自己录码增加一套遥控吗,如果方便的话能麻烦告知操作方法吗

请问红外收发器可以用TTL通讯的吗?

该红外收发器有5V、TXD、RXD、GND接口,经过测试发现,将TXD连接到开发板对应的红外接收GPIO口,RXD连接到开发板对应的红外发射GPIO口,在安卓客户端中可以收到红外收发器收到的红外信号,但是无法发射信号。
使用VCC、GND、DAT接口的红外收发器则可以正常收发,但是市面上这类产品大多发射距离短。
IMG_7160

调试信息显示下载成功,但是匹配设备发送红外信号时提示xxxx is not exist

download 11250 ok
[HTTP] POST return code: 200
download 11251 ok
[HTTP] POST return code: 200
download 11252 ok
[HTTP] POST return code: 200
download 12512 ok
download success
{"device_name":"irmqtt","device_type":"ac","download_post":{"id":12,"token":"ed17edaaed434fbeab2dbb9d22f0e585","indexId":12512},"list":["3722","3723","3724","3725","3726","3727","3728","3729","3730","3731","3732","3733","3734","3735","3736","3737","3738","3739","8647","8718","9475","10258","11250","11251","11252","12512"],"data_pin":"4"}Received packet of size = 12
From 192. 168. 123. 58, port 47200
{"cmd":"ir"}
is not exsits

目前APP不可用了吗

看到irext的网站打不开了,是不是因为这个原因app不可用了,选择添加家电的时候是空白页面

求继续维护IRmqtt-tool.py

照顾下mac用户的感受吧!刷了2.2的bin,然后去源码里找了IRmqtt-tool.py,但是每次“匹配电器”都直接报错退出。附错误日志:
【主菜单】
[1] 设置红外发射引脚
[2] MQTT 连接设置
[3] 匹配电器(当前只支持空调)
[4] 设置红外接收引脚
[5] 录制自定义红外码
[6] 退出程序
请输入选项: 3

# # # # # # # # # # # # # # # # # # # # # #

Traceback (most recent call last):
File "./IRmqtt-tool.py", line 537, in
main()
File "./IRmqtt-tool.py", line 533, in main
menu = Menu()
File "./IRmqtt-tool.py", line 477, in init
self.run(self._choice_dict, self._choice_dict)
File "./IRmqtt-tool.py", line 523, in run
v()
File "./IRmqtt-tool.py", line 463, in parse_ac
irext = Irext(self._device_name, self._device_ip)
File "./IRmqtt-tool.py", line 86, in init
'4f9697c87d75ebaf2522234c72410398')
File "./IRmqtt-tool.py", line 186, in app_login
auther = {'id':ret_json['entity']['id'], 'token':ret_json['entity']['token'] }
KeyError: 'entity'

ha中自动发现不了?

ha中默认的mqtt自动发现前缀是homeassistant,所以mqtt订阅主题,在安卓app中是否用户可以自由设定前缀呢?

能否开发web端的管理?

手上的安卓手机安装后总是无法使用(可能手机安卓版本太低),安卓模拟器上安装又会闪退,同时只是为了设置后接入homeassistant,如果能开发web端的管理就太好了

请问一下根据命令码,如何确定载波呢?

你好,通过红外管发送时间码的时候,载波是怎么确定的呢? 还是默认是38K嘛。
不好意思对嵌入式不太熟悉。目前正在查看 irext 的提供的数据库,但是还是无法看到相关的信息,请问是怎么处理该问题的了,多谢了

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.