目录

项目背景

实现过程

参考代码


项目背景

最近看中智能小夜灯的项目,通过淘宝几块钱购买人体感应小夜灯(使用外壳),然后机子画板子加入esp8266联网控制,接入homeassistant,做智能控制。

目前以实现以下功能:

  • 红外人体侦测
  • ld2410微波侦测
  • 环境光亮度侦测
  • 夜灯控制
  • RGB彩灯控制
  • dht11温湿度读值(不准)
  • 红外发射与接收

既然已经实现红外发射与接收,那么有没有可能通过这个设备,做为普通红外遥控转接信号来控制已接入homeassistant的其他设备呢?

实现过程

网上论坛大神已提供相关代码,原作者帖子

实现步骤:

  • 红外(或者315 433射频)遥控器发射信号
  • 接收头接收到信号后给到ESP
  • ESP交给MQTT
  • HA里面根据MQTT内容执行相应的自动化

仅验证红外部分,实测可用:

  1. 使用esphome来识别红外遥控按键代码[main:094]: nec: 1886437949:0
[20:26:22][D][remote.pronto:229]: Received Pronto: data=0000 006D 0001 0000 0003 06C3
[20:26:23][I][main:094]: nec: 1886437949:0
[20:26:23][D][remote.pronto:229]: Received Pronto: data=0000 006D 0001 0000 0002 06C3
[20:26:23][D][remote.pronto:229]: Received Pronto: data=0000 006D 0003 0000 00AD 00AB 0018 003F 0019 06C3
[20:26:24][I][main:094]: nec: 1886437949:0
[20:26:24][D][remote.pronto:229]: Received Pronto: data=0000 006D 0003 0000 00AD 00AB 0019 003E 0018 06C3
[20:26:31][D][remote.pronto:229]: Received Pronto: data=0000 006D 0001 0000 0001 06C3
[20:26:35][I][main:094]: nec: 1886413469:0
[20:26:35][D][remote.pronto:229]: Received Pronto: data=0000 006D 0003 0000 00AE 00AA 0019 003E 0018 06C3
[20:26:37][I][main:094]: nec: 1886413469:0
[20:26:37][D][remote.pronto:229]: Received Pronto: data=0000 006D 0001 0000 0003 06C3
[20:26:37][D][remote.pronto:229]: Received Pronto: data=0000 006D 0003 0000 00AE 00AA 0018 003F 0018 06C3
[20:26:38][I][main:094]: nec: 1886413469:0
[20:26:38][D][remote.pronto:229]: Received Pronto: data=0000 006D 0003 0000 00AE 00AA 0019 003E 0018 06C3
[20:26:40][I][main:094]: nec: 1886413469:0
[20:26:40][D][remote.pronto:229]: Received Pronto: data=0000 006D 0003 0000 00AF 00A9 0018 003F 0019 06C3

建立自动化例子

alias: num4 toggle ir_conf
trigger:- platform: mqtttopic: ir_conf/senso/irpayload: '1886413469:0'
action:- service: switch.toggledata:entity_id: switch.wall_switch_left_158d0xxxx

使用红外遥控来验证

参考代码

附上esphome代码:

esphome:name: ir_confesp8266:framework:version: 2.7.4board: nodemcuv2# Enable logging
logger:# Enable Home Assistant API
api:password: !secret api_password
ota:password: !secret ota_passwordwifi:ssid: !secret wifi_ssidpassword: !secret wifi_passwordmanual_ip:# Set this to the IP of the ESPstatic_ip: 192.168.1.178#static_ip: 192.168.1.10# Set this to the IP address of the router. Often ends with .1gateway: 192.168.1.1# The subnet of the network. 255.255.255.0 works for most home networks.subnet: 255.255.255.0#DNS1: 192.168.31.1# Enable fallback hotspot (captive portal) in case wifi connection fails# Enable fallback hotspot (captive portal) in case wifi connection failsap:ssid: "Light Xiaoyedeng"password: "MynRqBY96AUC"captive_portal:# remote_receiver:# id: rcvr# pin:# number: D5# inverted: true# # mode:# # input: true# # pullup: true# dump: #all# - nec# - raw
mqtt:broker: !secret brokerusername: !secret mqtt_namepassword: !secret mqtt_passworddiscovery: true
remote_receiver:pin: number: D5inverted: Truemode: INPUT_PULLUPdump: allon_nec:then:- mqtt.publish:topic: ir_conf/sensor/irpayload: !lambda |-char temp[20];sprintf(temp, "%d:%d", x.address, x.command);ESP_LOGI("main", "nec: %s", temp);return temp;on_panasonic:then:- mqtt.publish:topic: ir_conf/sensor/irpayload: !lambda |-char temp[20];sprintf(temp, "%d:%d", x.address, x.command);ESP_LOGI("main", "nec: %s", temp);return temp;          on_sony:then:- mqtt.publish:topic: ir_conf/sensor/irpayload: !lambda |-char temp[20];sprintf(temp, "%d:%d", x.data, x.nbits);ESP_LOGI("main", "nec: %s", temp);return temp; on_samsung:then:- mqtt.publish:topic: ir_conf/sensor/irpayload: !lambda |-char temp[20];sprintf(temp, "%d:%d", x.data, x.nbits);ESP_LOGI("main", "nec: %s", temp);return temp; on_jvc:        then:- mqtt.publish:topic: ir_conf/sensor/irpayload: !lambda |-char temp[20];sprintf(temp, "%d", x.data);ESP_LOGI("main", "nec: %s", temp);return temp; on_rc5:        then:- mqtt.publish:topic: ir_conf/sensor/irpayload: !lambda |-char temp[20];sprintf(temp, "%d:%d", x.address, x.command);ESP_LOGI("main", "nec: %s", temp);return temp;

esphome自制红外遥控器接入HA,用来控制灯光,开关等,可使用任意遥控控制相关推荐

  1. 斐讯dc1服务器什么时候修复,[4月1日更新!!]斐讯DC1插座自制固件接入ha

    请注意:工具也要更新到新版本,否则可能会出现问题!前期因按过重启按钮的,可能导致固件损坏,必须重新线刷!老版本的,可能无法OTA,也要重新线刷一次. 修复诸多问题,现在可以正常使用了! 目前功能情况: ...

  2. 和12岁小同志搞创客开发:如何驱动红外遥控器?

    目录 1.红外遥控器通信原理 2.NEC协议 3.实践 机缘巧合在网上认识一位12岁小同志,从零开始系统辅导其创客开发思维和技巧. 项目专栏:https://blog.csdn.net/m0_3810 ...

  3. 【STM32 .Net MF开发板学习-14】红外遥控器编码识别

    一年前我写过一篇博文<自制电脑红外遥控接收器(PC软解码)>,文中介绍借助几个简单的器件通过PC串口,来获取红外遥控器的按键信息.现在我们已经学会了如何用PWM技术驱动智能小车(参见< ...

  4. 【STM32 Net MF开发板学习-14】红外遥控器编码识别

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 一年前我 ...

  5. 手把手教你DIY一款属于自己的万能红外遥控器!

    下班刚回到家,天气很热~ 空调遥控器呢?找不到! 躺平不想动~ 风扇遥控器呢?找不到! 想看电视,不想动~ 电视遥控器呢?找不到! 好不容易找到了,遥控器没电?崩溃!!!! 想不想拥有一个万能红外遥控 ...

  6. 单片机毕业设计 stm32万能红外遥控器

    文章目录 1 简介 2 主要器件 3 实现效果 4 部分实现代码 5 最后 1 简介 Hi,大家好,学长今天向大家介绍一个学长做的单片机项目 基于单片机的万能红外遥控器 大家可用于 课程设计 或 毕业 ...

  7. 基于STM32的万能红外遥控器

    本博客介绍一种基于STM32的可学习和存储已有红外发射设备的万能红外遥控器的设计思路. 一.首先需要了解设计一款这功能的遥控器需要什么硬件设备支持. 1.3.3V,5V电源模块,用作给系统模块供电和单 ...

  8. 【涂鸦物联网足迹】涂鸦云平台接口列表—万能红外遥控器

    前序系列文章>>> [涂鸦物联网足迹]涂鸦云平台接口列表 我们系列文章,都会围绕如何完成一款智能"隔空接吻机"的开发.希望能帮到各异地恋or异国恋的情侣们! 本文 ...

  9. stm32毕业设计 单片机万能红外遥控器

    文章目录 1 简介 2 主要器件 3 实现效果 4 部分实现代码 1 简介 Hi,大家好,学长今天向大家介绍一个学长做的单片机项目 基于单片机的万能红外遥控器 大家可用于 课程设计 或 毕业设计 选题 ...

最新文章

  1. RocketMQ 基本概念
  2. python导入opencv失败_mac下安装opencv python中导入错误
  3. 光模块问题能ping通不能路由_宽带知识小白遇到问题很苦恼?都坐下、不要慌张...
  4. php常量 变量,php语言的变量和常量
  5. [学习笔记]圆方树广义圆方树
  6. java编译程序的基本命令是什么,【填空题】Java中编译java 程序的命令是 1 ,执行java程序的命令是 java 。...
  7. python多维数组初始化后赋值的问题
  8. 2018数据技术嘉年华-金融峰会·重庆站即将起航!
  9. EF性能优化-有人说EF性能低,我想说:EF确实不如ADO.NET
  10. Executors.newFixedThreadPool(NTHREADS)线程池数量设置多少合适?
  11. Sublime Text快捷键
  12. python银行卡号识别_EAST+CRNN银行卡号识别,附数据集
  13. 三极管作开关应用及详解
  14. Python学习视频收集
  15. python如何爬有道翻译_基于python爬取有道翻译过程图解
  16. c++中计算2得n次方_【复习专题】解析二元一次方程知识点及应用
  17. mysql 浮点类_MySQL浮点类型总结
  18. 内核层读写应用层文件,使用filp_open函数。
  19. 2017-2018-1 Java演绎法 小组会议及交互汇总
  20. Java基础—集合框架(三)

热门文章

  1. linux echo命令做运算,linux常用计算命令
  2. 快搜搜:让你辞职原因有哪些?
  3. 学习笔记:Oracle函数大全
  4. 小知识·adb安装和使用方法
  5. JMF(java media framework)综述
  6. 运算放大器知识体系-电流检测放大器
  7. CCF201809-3 元素选择器
  8. Android 系统名字、版本、API level的对应关系
  9. C语言使用fgetc()函数
  10. Vue批量生成二维码并打包下载