Сделал себе ИК приемник передатчик принимающий и отправляющий ик команды на бытовую технику и MD, дополнительно измеряет уровень освещённости в помещении фоторезистором, сеть и подключение конфигурируется через web интерфейс.
Пример применения, потеряется родной пульт от телека, взял другой пульт от телека и в MD сопоставил коды двух пультов, можно управлять устройствами с ик через веб интерфейс md через, например телевизором.
Исходный код для ESP8266:
https://github.com/vgamaev/ESPMDDEVICE
Печатная плата нарисованная в Eagle изготавливал по технологии ЛУТ:
https://github.com/vgamaev/ESPMDIR
Фото готового изделия:
Код: Выделить всё
метод IR_Resiver для класса.
$this->setProperty("updatedTime",date("d/m/y H:i"));
$DebugCode2 = $this->getProperty("DebugCode1");
$this->setProperty("DebugCode2", $DebugCode2);
$DebugCode1 = $this->getProperty("ResiverCode");
$this->setProperty("DebugCode1", $DebugCode1);
Код: Выделить всё
$ResiverCode = $this->getProperty("ResiverCode");
runScript("AverMedia_Samsung", array('code' => $ResiverCode));
Код: Выделить всё
$ResiverCode = $params['code'];
$TransmitCode = 0;
$IP = "192.168.1.138";
$token = "esp8266";
$objRX = getObject("AverMedia");
$objTX = getObject("SAMSUNG");
switch ($ResiverCode)
{
case $objRX->getProperty("VolPlus"):
$TransmitCode = $objTX->getProperty("VolPlus");
break;
case $objRX->getProperty("VolMinus"):
$TransmitCode = $objTX->getProperty("VolMinus");
break;
case $objRX->getProperty("ChanelPlus"):
$TransmitCode = $objTX->getProperty("ChanelPlus");
break;
case $objRX->getProperty("ChanelMinus"):
$TransmitCode = $objTX->getProperty("ChanelMinus");
break;
case $objRX->getProperty("Power"):
$TransmitCode = $objTX->getProperty("Power");
break;
case $objRX->getProperty("Mute"):
$TransmitCode = $objTX->getProperty("Mute");
break;
case $objRX->getProperty("Button_1"):
$TransmitCode = $objTX->getProperty("Button_1");
break;
case $objRX->getProperty("Button_2"):
$TransmitCode = $objTX->getProperty("Button_2");
break;
case $objRX->getProperty("Button_3"):
$TransmitCode = $objTX->getProperty("Button_3");
break;
case $objRX->getProperty("Button_4"):
$TransmitCode = $objTX->getProperty("Button_4");
break;
case $objRX->getProperty("Button_5"):
$TransmitCode = $objTX->getProperty("Button_5");
break;
case $objRX->getProperty("Button_6"):
$TransmitCode = $objTX->getProperty("Button_6");
break;
case $objRX->getProperty("Button_7"):
$TransmitCode = $objTX->getProperty("Button_7");
break;
case $objRX->getProperty("Button_8"):
$TransmitCode = $objTX->getProperty("Button_8");
break;
case $objRX->getProperty("Button_9"):
$TransmitCode = $objTX->getProperty("Button_9");
break;
case $objRX->getProperty("Button_0"):
$TransmitCode = $objTX->getProperty("Button_0");
break;
}
if($TransmitCode != 0 )
{
getURL('http://'.$IP.'/ir?token='.$token.'&ircode='.$TransmitCode, 0);
}