打开电视时,8266把接收到的电视开机信号通知homeassistant进行自动化操作,这只是红外接收判断并切换LED的亮与灭,需要整合自动配网,上传MQTT,OTA
#include <IRremoteESP8266.h>//8266的红外库
#include <IRrecv.h>//上一个库中有包含,不知道为什么不引用会报错
#define RECV_PIN 14//D5//红外接收引脚
IRrecv irrecv(RECV_PIN); // 红外遥控初始化
decode_results results; // 储存接收到的红外遥控信息
void setup(){
pinMode(LED_BUILTIN,OUTPUT);//
digitalWrite(LED_BUILTIN,LOW);
Serial.begin(9600);
Serial.println("Enabling IRin");
irrecv.enableIRIn();//启动红外
Serial.println("Enabled IRin");
}
void loop() {
if (irrecv.decode(&results)){
Serial.println(results.value,HEX);
if (results.value == 0x40BE629D){//家里电视遥控开关的红外码是:40BE629D
digitalWrite(LED_BUILTIN,!digitalRead(LED_BUILTIN));
Serial.println("LED灯已:");
}
irrecv.resume();
}
}