Re: Управление техникой по ИК каналу
Добавлено: 27 авг 2015, 09:43
А куда вы выводите кабель? В потолке маленькая дырочка или вообще как? Если например нужно управлять телевизором?
Вариантов много можно придумать . Например, у меня управление кондиционером выполнено так:vtec писал(а):А куда вы выводите кабель? В потолке маленькая дырочка или вообще как? Если например нужно управлять телевизором?
Приемник мне нужен только для получения кодов, которые потом буду отправлять.alexsis_76 писал(а):kod.begemot а вы делаете передатчик или приемник
Тут есть API и доп. информация: http://rm-bridge.fun2code.de/dnk писал(а):Подскажите пожалуйста.
Накопал на али такие передатчики:
http://russian.alibaba.com/product-gs/w ... 49448.html
http://russian.alibaba.com/product-gs/n ... 86917.html
http://russian.alibaba.com/product-gs/n ... 14367.html
Но не могу понять как к ним привязаться по управлению, отправляя команды с сервера. Понятно что с своих программ на телефонах и прочих они управляются. Вообщем надо их API или порекомендуйте похожие. Что нравится, красивое решение, всенаправленность и, у некоторых работа, через вайфай.
Вдруг кто то уже пощупал их или похожие, поделитесь пожалуйста опытом. У меня ядро wiren board и две меги, хочу по ик порулить техникой.
Код: Выделить всё
Number TV_Remote "IR"
Код: Выделить всё
Text label="Samsung" icon="television" {
Switch item=TV_Remote mappings=[7=" On/Off ", 8=" Source "]
Switch item=TV_Remote mappings=[1=" ◄ ", 2=" ▲ ", 3=" ▼ ", 4=" ► "]
Switch item=TV_Remote mappings=[5="✅", 6="❌"]
}
Код: Выделить всё
rule "remote control"
when
Item TV_Remote received command
then
switch (receivedCommand){
case 1 : sendHttpGetRequest("http://192.168.1.14/sec/?pt=12&ir=E0E0A659&irp0=4589&irp1=4511&irp2=591&irp3=1664&irp4=536&irp5=2")
case 2 : sendHttpGetRequest("http://192.168.1.14/sec/?pt=12&ir=E0E006F9&irp0=4589&irp1=4511&irp2=591&irp3=1664&irp4=536&irp5=2")
case 3 : sendHttpGetRequest("http://192.168.1.14/sec/?pt=12&ir=E0E08679&irp0=4589&irp1=4511&irp2=591&irp3=1664&irp4=536&irp5=2")
case 4 : sendHttpGetRequest("http://192.168.1.14/sec/?pt=12&ir=E0E046B9&irp0=4589&irp1=4511&irp2=591&irp3=1664&irp4=536&irp5=2")
case 5 : sendHttpGetRequest("http://192.168.1.14/sec/?pt=12&ir=E0E016E9&irp0=4589&irp1=4511&irp2=591&irp3=1664&irp4=536&irp5=2")
case 6 : sendHttpGetRequest("http://192.168.1.14/sec/?pt=12&ir=E0E0B44B&irp0=4589&irp1=4511&irp2=591&irp3=1664&irp4=536&irp5=2")
case 7 : sendHttpGetRequest("http://192.168.1.14/sec/?pt=12&ir=E0E040BF&irp0=4589&irp1=4511&irp2=591&irp3=1664&irp4=536&irp5=2")
case 8 : sendHttpGetRequest("http://192.168.1.14/sec/?pt=12&ir=E0E0807F&irp0=4589&irp1=4511&irp2=591&irp3=1664&irp4=536&irp5=2")
}
postUpdate( TV_Remote, 0 ) // выключаем "залипание" кнопки))
end
Код: Выделить всё
/* Condey Кухня */
Switch AC_1_Power "On/Off" (AC)
Switch AC_1_Jet "JET" (AC)
Number AC_1_Mode "Режим" (AC)
Number AC_1_Temp "Temp [%s]" (AC)
Number AC_1_Fan "Скор.Вент" (AC)
Switch AC_1_AClean "Auto Clean" (AC)
String AC_1_String "Реж.АС [%s]" (AC)
String AC_1_St "[%s]"
Код: Выделить всё
Switch item=AC_1_Power icon="ac" label="Кондиционер"
Text item=AC_1_String icon="settings" label="Настройки Конд. [MAP(Condey.map):%s]" valuecolor=[AC_1_Temp>=25="orange", AC_1_Temp==24="green", 0="white", AC_1_Temp<24="blue"] {
Selection item=AC_1_Mode icon="input" mappings=[0="Охлаждение", 1="Осушение", 2="Вентиляция", 3="Авто", 4="Обогрев"]
Setpoint item=AC_1_Temp minValue=18 maxValue=30 step=1 icon="temperature"
Selection item=AC_1_Fan icon="flow" mappings=[0="Low", 1="Med", 2="Max", 3="Flow"]
Switch item=AC_1_Jet
Switch item=AC_1_AClean
}
Код: Выделить всё
0_18=18 \❄️
0_19=19 \❄️
0_20=20 \❄️
0_21=21 \❄️
0_22=22 \❄️
0_23=23 \❄️
0_24=24 \❄️
4_24=24 \🌞
4_25=25 \🌞
4_26=26 \🌞
4_27=27 \🌞
4_28=28 \🌞
4_29=29 \🌞
4_30=30 \🌞
1_24=24 \💧
2_24=24 \🌀
3_22=22 \🌼
N/A= \⛄
NULL = \⛄
Код: Выделить всё
var ac_mode = 0
var ac_temp = 18
var ac_fan = 2
var ac_state = "0-18-2"
var Timer set_timer = null
// Condey mode: 0="Охлаждение", 1="Осушение", 2="Вентиляция", 3="Авто", 4="Обогрев"
// Condey Fan Speed: 0="Low", 1="Med", 2="Max", 3="Flow"
rule "Condey_1 On/Off" // Кондей на кухне
when
Item AC_1_Power changed
then
switch (AC_1_Power.state) {
case ON: sendHttpGetRequest("http://192.168.0.14/sec/?pt=12&ir=8800347&irp0=8900&irp1=4150&irp2=530&irp3=1550&irp4=510&irp5=3")
case OFF: sendHttpGetRequest("http://192.168.0.14/sec/?pt=12&ir=88C0051&irp0=8900&irp1=4150&irp2=530&irp3=1550&irp4=510&irp5=3")
}
end
rule "Condey_1 JET" // Кондей на кухне, команда JET
when
Item AC_1_Jet changed
then
switch (AC_1_Jet.state) {
case ON: {
sendHttpGetRequest("http://192.168.0.14/sec/?pt=12&ir=8810089&irp0=8900&irp1=4150&irp2=530&irp3=1550&irp4=510&irp5=3")
postUpdate(AC_1_Mode, 0)
postUpdate(AC_1_Temp, 18)
postUpdate(AC_1_Fan, 2)
set_timer = createTimer(now.plusSeconds(3600))
[
AC_1_Jet.postUpdate(OFF) // Выключает кнопку JET. Кондишка сама переключиться в режим 18грд охлаждения
set_timer = null
]
}
case OFF: sendHttpGetRequest("http://192.168.0.14/sec/?pt=12&ir=880834F&irp0=8900&irp1=4150&irp2=530&irp3=1550&irp4=510&irp5=3")
}
end
rule "Condey_1 Auto Clean" // Кондей на кухне, команда AutoClean
when
Item AC_1_AClean changed
then
switch (AC_1_AClean.state) {
case ON: sendHttpGetRequest("http://192.168.0.14/sec/?pt=12&ir=88C00B7&irp0=8900&irp1=4150&irp2=530&irp3=1550&irp4=510&irp5=3")
case OFF: sendHttpGetRequest("http://192.168.0.14/sec/?pt=12&ir=88C00C8&irp0=8900&irp1=4150&irp2=530&irp3=1550&irp4=510&irp5=3")
}
end
rule "Condey_1 Mode Select" // Кондей на кухне, Выбор режима
when
Item AC_1_Mode received command
then
switch (receivedCommand) {
case 0: {
sendHttpGetRequest("http://192.168.0.14/sec/?pt=12&ir=880834F&irp0=8900&irp1=4150&irp2=530&irp3=1550&irp4=510&irp5=3")
postUpdate(AC_1_Mode, 0)
postUpdate(AC_1_Temp, 18)
postUpdate(AC_1_Fan, 2)
}
case 1: {
sendHttpGetRequest("http://192.168.0.14/sec/?pt=12&ir=8809924&irp0=8900&irp1=4150&irp2=530&irp3=1550&irp4=510&irp5=3")
postUpdate(AC_1_Mode, 1)
postUpdate(AC_1_Temp, 24)
postUpdate(AC_1_Fan, 1)
}
case 2: {
sendHttpGetRequest("http://192.168.0.14/sec/?pt=12&ir=880A352&irp0=8900&irp1=4150&irp2=530&irp3=1550&irp4=510&irp5=3")
postUpdate(AC_1_Mode, 2)
postUpdate(AC_1_Temp, 24)
postUpdate(AC_1_Fan, 3)
}
case 3: {
sendHttpGetRequest("http://192.168.0.14/sec/?pt=12&ir=880B746&irp0=8900&irp1=4150&irp2=530&irp3=1550&irp4=510&irp5=3")
postUpdate(AC_1_Mode, 3)
postUpdate(AC_1_Temp, 22)
postUpdate(AC_1_Fan, 2)
}
case 4: {
sendHttpGetRequest("http://192.168.0.14/sec/?pt=12&ir=880CF4F&irp0=8900&irp1=4150&irp2=530&irp3=1550&irp4=510&irp5=3")
postUpdate(AC_1_Mode, 4)
postUpdate(AC_1_Temp, 30)
postUpdate(AC_1_Fan, 2)
}
}
end
rule "AC State" // Кондей на кухне, Состояние ("конструктор" состояния команды для посылки)
when
Item AC_1_Mode changed or
Item AC_1_Temp changed or
Item AC_1_Fan changed
then
ac_mode=AC_1_Mode.state
ac_fan=AC_1_Fan.state
ac_temp=AC_1_Temp.state
AC_1_String.postUpdate(ac_mode+"_"+ac_temp)
ac_state=(ac_mode+"-"+ac_temp+"-"+ac_fan)
AC_1_St.postUpdate(ac_state)
end
rule "Condey_1 Temp Change" // Кондей на кухне, Изменение Температуры и Скорости вентилятора
when
Item AC_1_Temp received command or
Item AC_1_Fan received command
then
if (ac_state.equals("0-18-2")) {
sendHttpGetRequest("http://192.168.0.14/sec/?pt=12&ir=880834F&irp0=8900&irp1=4150&irp2=530&irp3=1550&irp4=510&irp5=3")
} // Охл - 18 гр - Макс. обороты
if (ac_state.equals("0-19-2")) {
sendHttpGetRequest("http://192.168.0.14/sec/?pt=12&ir=8808440&irp0=8900&irp1=4150&irp2=530&irp3=1550&irp4=510&irp5=3")
} // Охл - 19 гр - Макс. обороты
if (ac_state.equals("0-20-2")) {
sendHttpGetRequest("http://192.168.0.14/sec/?pt=12&ir=8808541&irp0=8900&irp1=4150&irp2=530&irp3=1550&irp4=510&irp5=3")
} // Охл - 20 гр - Макс. обороты
if (ac_state.equals("0-21-2")) {
sendHttpGetRequest("http://192.168.0.14/sec/?pt=12&ir=8808642&irp0=8900&irp1=4150&irp2=530&irp3=1550&irp4=510&irp5=3")
} // Охл - 21 гр - Макс. обороты
if (ac_state.equals("0-22-2")) {
sendHttpGetRequest("http://192.168.0.14/sec/?pt=12&ir=8808743&irp0=8900&irp1=4150&irp2=530&irp3=1550&irp4=510&irp5=3")
} // Охл - 22 гр - Макс. обороты
if (ac_state.equals("0-23-2")) {
sendHttpGetRequest("http://192.168.0.14/sec/?pt=12&ir=8808844&irp0=8900&irp1=4150&irp2=530&irp3=1550&irp4=510&irp5=3")
} // Охл - 23 гр - Макс. обороты
if (ac_state.equals("0-24-2")) {
sendHttpGetRequest("http://192.168.0.14/sec/?pt=12&ir=8808945&irp0=8900&irp1=4150&irp2=530&irp3=1550&irp4=510&irp5=3")
} // Охл - 24 гр - Макс. обороты
if (ac_state.equals("0-24-3")) {
sendHttpGetRequest("http://192.168.0.14/sec/?pt=12&ir=8808956&irp0=8900&irp1=4150&irp2=530&irp3=1550&irp4=510&irp5=3")
} // Охл - 24 гр - Бриз
if (ac_state.equals("0-24-0")) {
sendHttpGetRequest("http://192.168.0.14/sec/?pt=12&ir=8808901&irp0=8900&irp1=4150&irp2=530&irp3=1550&irp4=510&irp5=3")
} // Охл - 24 гр - Мин. обороты
if (ac_state.equals("0-24-1")) {
sendHttpGetRequest("http://192.168.0.14/sec/?pt=12&ir=8808923&irp0=8900&irp1=4150&irp2=530&irp3=1550&irp4=510&irp5=3")
} // Охл - 24 гр - Сред. обороты
if (ac_state.equals("4-24-3")) {
sendHttpGetRequest("http://192.168.0.14/sec/?pt=12&ir=880C95A&irp0=8900&irp1=4150&irp2=530&irp3=1550&irp4=510&irp5=3")
} // Обогрев - 24 гр - Бриз
if (ac_state.equals("4-24-0")) {
sendHttpGetRequest("http://192.168.0.14/sec/?pt=12&ir=880C905&irp0=8900&irp1=4150&irp2=530&irp3=1550&irp4=510&irp5=3")
} // Обогрев - 24 гр - Мин. обороты
if (ac_state.equals("4-24-1")) {
sendHttpGetRequest("http://192.168.0.14/sec/?pt=12&ir=880C927&irp0=8900&irp1=4150&irp2=530&irp3=1550&irp4=510&irp5=3")
} // Обогрев - 24 гр - Сред. обороты
if (ac_state.equals("4-24-2")) {
sendHttpGetRequest("http://192.168.0.14/sec/?pt=12&ir=880C949&irp0=8900&irp1=4150&irp2=530&irp3=1550&irp4=510&irp5=3")
} // Обогрев - 24 гр - Макс. обороты
if (ac_state.equals("4-25-2")) {
sendHttpGetRequest("http://192.168.0.14/sec/?pt=12&ir=880CA4A&irp0=8900&irp1=4150&irp2=530&irp3=1550&irp4=510&irp5=3")
} // Обогрев - 25 гр - Макс. обороты
if (ac_state.equals("4-26-2")) {
sendHttpGetRequest("http://192.168.0.14/sec/?pt=12&ir=880CB4B&irp0=8900&irp1=4150&irp2=530&irp3=1550&irp4=510&irp5=3")
} // Обогрев - 26 гр - Макс. обороты
if (ac_state.equals("4-27-2")) {
sendHttpGetRequest("http://192.168.0.14/sec/?pt=12&ir=880CC4C&irp0=8900&irp1=4150&irp2=530&irp3=1550&irp4=510&irp5=3")
} // Обогрев - 27 гр - Макс. обороты
if (ac_state.equals("4-28-2")) {
sendHttpGetRequest("http://192.168.0.14/sec/?pt=12&ir=880CD4D&irp0=8900&irp1=4150&irp2=530&irp3=1550&irp4=510&irp5=3")
} // Обогрев - 28 гр - Макс. обороты
if (ac_state.equals("4-29-2")) {
sendHttpGetRequest("http://192.168.0.14/sec/?pt=12&ir=880CE4E&irp0=8900&irp1=4150&irp2=530&irp3=1550&irp4=510&irp5=3")
} // Обогрев - 29 гр - Макс. обороты
if (ac_state.equals("4-30-2")) {
sendHttpGetRequest("http://192.168.0.14/sec/?pt=12&ir=880CF4F&irp0=8900&irp1=4150&irp2=530&irp3=1550&irp4=510&irp5=3")
} // Обогрев - 30 гр - Макс. обороты
if (ac_state.equals("2-24-0")) {
sendHttpGetRequest("http://192.168.1.114/sec/?pt=12&ir=880A30D&irp0=8900&irp1=4150&irp2=530&irp3=1550&irp4=510&irp5=3")
} // Вентиляция - 24 грд - Мин. обороты
if (ac_state.equals("2-24-1")) {
sendHttpGetRequest("http://192.168.1.114/sec/?pt=12&ir=880A32F&irp0=8900&irp1=4150&irp2=530&irp3=1550&irp4=510&irp5=3")
} // Вентиляция - 24 грд - Сред. обороты
if (ac_state.equals("2-24-2")) {
sendHttpGetRequest("http://192.168.1.114/sec/?pt=12&ir=880A341&irp0=8900&irp1=4150&irp2=530&irp3=1550&irp4=510&irp5=3")
} // Вентиляция - 24 грд - Макс. обороты
if (ac_state.equals("2-24-3")) {
sendHttpGetRequest("http://192.168.1.114/sec/?pt=12&ir=880A352&irp0=8900&irp1=4150&irp2=530&irp3=1550&irp4=510&irp5=3")
} // Вентиляция - 24 грд - Бриз
if (ac_state.equals("1-24-0")) {
sendHttpGetRequest("http://192.168.1.114/sec/?pt=12&ir=8809902&irp0=8900&irp1=4150&irp2=530&irp3=1550&irp4=510&irp5=3")
} // Осушение - 24 грд - Мин. обороты
if (ac_state.equals("1-24-1")) {
sendHttpGetRequest("http://192.168.1.114/sec/?pt=12&ir=8809924&irp0=8900&irp1=4150&irp2=530&irp3=1550&irp4=510&irp5=3")
} // Осушение - 24 грд - Сред. обороты
if (ac_state.equals("1-24-2")) {
sendHttpGetRequest("http://192.168.1.114/sec/?pt=12&ir=8809946&irp0=8900&irp1=4150&irp2=530&irp3=1550&irp4=510&irp5=3")
} // Осушение - 24 грд - Макс. обороты
// else {
// sendHttpGetRequest("http://192.168.1.114/sec/?pt=12&ir=880B746&irp0=8900&irp1=4150&irp2=530&irp3=1550&irp4=510&irp5=3")
// postUpdate(AC_1_Mode, 3)
// postUpdate(AC_1_Temp, 22)
// postUpdate(AC_1_Fan, 2)
// }
end
Код: Выделить всё
pi@raspberrypi:~ $ mode2 --driver default -d /dev/lirc0
Using driver default on device /dev/lirc0
Trying device: /dev/lirc0
Using device: /dev/lirc0
pulse 8950
space 4500
pulse 550
space 550
pulse 600
space 550
pulse 600
space 1650
pulse 600
space 550
pulse 600
space 500
pulse 600
space 550
pulse 600
space 500
pulse 600
space 550
pulse 600
space 1650
pulse 600
space 1650
pulse 600
space 550
pulse 600
space 1650
pulse 600
space 1650
pulse 600
space 1650
pulse 600
space 1650
pulse 600
space 1700
pulse 600
space 500
pulse 600
space 550
pulse 600
space 500
pulse 600
space 1650
pulse 600
space 550
pulse 600
space 550
pulse 600
space 500
pulse 600
space 550
pulse 600
space 1650
pulse 600
space 1650
pulse 600
space 1650
pulse 600
space 550
pulse 600
space 1650
pulse 600
space 1650
pulse 600
space 1650
pulse 600
space 1650
pulse 600
space 40400
pulse 8800
space 2200
pulse 600
space 96800
pulse 8800
space 2250
pulse 600
space 16777215
^Z
[1]+ Stopped mode2 --driver default -d /dev/lirc0
pi@raspberrypi:~ $ mode2 -d /dev/lirc0
Using driver devinput on device /dev/lirc0
Cannot initiate device /dev/lirc0
pi@raspberrypi:~ $ sudo /etc/init.d/lirc stop
sudo: /etc/init.d/lirc: command not found
pi@raspberrypi:~ $ mode2 --driver default -d /dev/lirc0
Using driver default on device /dev/lirc0
Cannot initiate device /dev/lirc0
Код: Выделить всё
space 16777215
^Z
[1]+ Stopped mode2 --driver default -d /dev/lirc0
Спасибо за вашу подсказку, но еще глупые вопросы - считываю команды с пультов:Andrey_B писал(а): ↑02 май 2019, 14:55По команде ^Z в Linux программа не завершается. Выполнение приостанавливается, а программа остается в памяти компьютера, продолжая блокировать устройство /dev/lirc0.Код: Выделить всё
space 16777215 ^Z [1]+ Stopped mode2 --driver default -d /dev/lirc0
Если вы наберете команду fg (foreground) программа продолжит выполнение. Если bg (background) уйдет в фоновое выполнение.
Завершать, отменять выполнение программы в Linux нужно по команде ^C.
Код: Выделить всё
pi@raspberrypi:~ $ mode2 --driver default -d /dev/lirc0
Using driver default on device /dev/lirc0
Trying device: /dev/lirc0
Using device: /dev/lirc0
pulse 4050
space 3950
pulse 550
space 1950
pulse 550
space 1950
pulse 550
space 1950
pulse 550
space 1950
pulse 550
space 950
pulse 550
space 950
pulse 550
space 1950
pulse 550
space 950
pulse 550
space 1950
pulse 550
space 950
pulse 550
space 1950
pulse 550
space 950
pulse 550
space 950
pulse 550
space 950
pulse 550
space 950
pulse 550
space 950
pulse 550
space 1950
pulse 550
space 1950
pulse 550
space 950
pulse 550
space 1950
pulse 550
space 950
pulse 550
space 1950
pulse 550
space 950
pulse 550
space 1900
pulse 600
space 8300
pulse 4000
space 3950
pulse 600
space 1900
pulse 550
space 1950
pulse 550
space 1950
pulse 550
space 1950
pulse 550
space 950
pulse 550
space 950
pulse 550
space 1950
pulse 550
space 950
pulse 550
space 1950
pulse 550
space 950
pulse 550
space 1950
pulse 550
space 950
pulse 550
space 950
pulse 550
space 950
pulse 550
space 950
pulse 550
space 950
pulse 550
space 1950
pulse 550
space 1950
pulse 550
space 950
pulse 550
space 1950
pulse 550
space 950
pulse 550
space 1950
pulse 550
space 950
pulse 550
space 1950
pulse 550
space 8300
pulse 4050
space 3950
pulse 500
space 2000
pulse 550
space 1950
pulse 550
space 1900
pulse 600
space 1900
pulse 550
space 950
pulse 600
space 900
pulse 600
space 1900
pulse 550
space 950
pulse 550
space 1950
pulse 550
space 950
pulse 550
space 1950
pulse 550
space 950
pulse 550
space 950
pulse 600
space 950
pulse 550
space 950
pulse 550
space 950
pulse 550
space 1950
pulse 550
space 1900
pulse 550
space 950
pulse 600
space 1900
pulse 550
space 950
pulse 600
space 1900
pulse 550
space 950
pulse 550
space 1950
pulse 550
space 8350
pulse 4000
space 3950
pulse 550
space 1950
pulse 550
space 1950
pulse 550
space 1950
pulse 550
space 1950
pulse 550
space 950
pulse 500
space 1000
pulse 550
space 1950
pulse 550
space 950
pulse 550
space 1950
pulse 550
space 950
pulse 500
space 2000
pulse 500
space 1000
pulse 550
space 950
pulse 500
space 1000
pulse 550
space 950
pulse 550
space 950
pulse 550
space 1950
pulse 550
space 1950
pulse 550
space 950
pulse 550
space 1950
pulse 550
space 950
pulse 550
space 1950
pulse 500
space 1000
pulse 550
space 1950
pulse 550
Код: Выделить всё
space 16777215
Код: Выделить всё
pulse 9050
space 4500
pulse 650
space 500
pulse 600
space 500
pulse 650
space 450
pulse 650
space 500
pulse 650
space 500
pulse 600
space 500
pulse 600
space 550
pulse 600
space 500
pulse 600
space 1650
pulse 650
space 500
pulse 650
space 1600
pulse 650
space 1600
pulse 650
space 1600
pulse 650
space 1650
pulse 600
space 1650
pulse 600
space 1650
pulse 650
space 500
pulse 600
space 1650
pulse 600
space 500
pulse 600
space 550
pulse 600
space 1650
pulse 600
space 550
pulse 600
space 500
pulse 650
space 500
pulse 600
space 1650
pulse 600
space 500
pulse 650
space 1650
pulse 600
space 1650
pulse 600
space 500
pulse 650
space 1600
pulse 650
space 1650
pulse 600
space 1650
pulse 650
space 41250
pulse 9050
space 2200
pulse 600
space 16777215
^C
pi@raspberrypi:~ $
Код: Выделить всё
pi@raspberrypi:~ $ whereis php
php: /usr/bin/php7.0 /usr/bin/php /usr/lib/php /etc/php /usr/share/php7.0-json /usr/share/php7.0-readline /usr/share/php7.0-opcache /usr/share/php7.0-xml /usr/share/php7.0-common /usr/share/man/man1/php.1.gz
pi@raspberrypi:~ $ php ir-decode.php
<?
error_reporting(E_ALL & ~E_NOTICE);
$import = file("condey.ir");
...
pi@raspberrypi:~ $ chmod u+x ir-decode.php
pi@raspberrypi:~ $ php ir-decode.php condey.ir
<?
error_reporting(E_ALL & ~E_NOTICE);
$import = file("condey.ir");
...
pi@raspberrypi:~ $ php ir-decode condey.ir
Could not open input file: ir-decode
Код: Выделить всё
Release = Raspbian GNU/Linux 9 (stretch)
Kernel = Linux 4.14.98+
Platform = Raspberry Pi Model B Rev 2
Обработал нужные кнопки lessar_power key.ir, rostelekom_back key.ir, rostelekom_power key.ir, thomson_mute.ir, thomson_power key.ir, thomson_vol +.ir, thomson_vol -.ir, но скрипт https://ab-log.ru/files/File/ir-decode.zip не запускается.
Код: Выделить всё
<?php
Код: Выделить всё
[empenoso@mike-pc MegaD-2561]$ php ir-decode.php
Init pulse: 4000
Init space: 3950
00001101[0d]01011111[5f]00101010[2a]
block 0
total bits: 24
ir: 0d5f2a
avr pulse: 550
avr space1: 950
avr space0: 1950
url: ir=0d5f2a&irp0=4000&irp1=3950&irp2=550&irp3=950&irp4=1950
Init pulse: 4050
Init space: 3900
00001101[0d]01011111[5f]00101010[2a]
block 1
total bits: 24
ir: 0d5f2a
avr pulse: 552
avr space1: 950
avr space0: 1948
url: ir=0d5f2a&irp0=4050&irp1=3900&irp2=552&irp3=950&irp4=1948
Init pulse: 4050
Init space: 3950
00001101[0d]01011111[5f]00101010[2a]
block 2
total bits: 24
ir: 0d5f2a
avr pulse: 552
avr space1: 950
avr space0: 1946
url: ir=0d5f2a&irp0=4050&irp1=3950&irp2=552&irp3=950&irp4=1946
PHP Warning: Use of undefined constant i - assumed 'i' (this will throw an Error in a future version of PHP) in /home/empenoso/Загрузки/MegaD-2561/ir-decode.php on line 136
PHP Warning: Use of undefined constant i - assumed 'i' (this will throw an Error in a future version of PHP) in /home/empenoso/Загрузки/MegaD-2561/ir-decode.php on line 136
PHP Warning: Use of undefined constant i - assumed 'i' (this will throw an Error in a future version of PHP) in /home/empenoso/Загрузки/MegaD-2561/ir-decode.php on line 136
URL (irp5): ir=0d5f2a&irp0=4050&irp1=3950&irp2=552&irp3=950&irp4=1946&irp5=2
[empenoso@mike-pc MegaD-2561]$
Код: Выделить всё
[09:29:48] openhabian@openHABianPi:~/MegaD-2561$ php ir-decode.php
Init pulse: 4000
Init space: 4000
00001100[0c]00000011[03]00111111[3f]
block 0
total bits: 24
ir: 0c033f
avr pulse: 542
avr space1: 950
avr space0: 1818
url: ir=0c033f&irp0=4000&irp1=4000&irp2=542&irp3=950&irp4=1818
Init pulse: 4000
Init space: 3950
00001100[0c]00000000[00]00000111[07]
block 1
total bits: 24
ir: 0c0007
avr pulse: 526
avr space1: 950
avr space0: 1700
url: ir=0c0007&irp0=4000&irp1=3950&irp2=526&irp3=950&irp4=1700
Init pulse: 4050
Init space: 3950
00000000[00]00001000[08]00000000[00]
block 2
total bits: 24
ir: 000800
avr pulse: 516
avr space1: 950
avr space0: 1621
url: ir=000800&irp0=4050&irp1=3950&irp2=516&irp3=950&irp4=1621
URL (irp5): ir=000800&irp0=4050&irp1=3950&irp2=516&irp3=950&irp4=1621&irp5=2
[09:31:38] openhabian@openHABianPi:~/MegaD-2561$
Код: Выделить всё
pulse 4000
space 3950
pulse 550
space 1950
pulse 550
space 1950
pulse 550
space 1950
pulse 550
space 1950
pulse 550
space 950
pulse 550
space 950
pulse 550
space 1950
pulse 550
space 1950
pulse 550
space 1950
pulse 550
space 1950
pulse 550
space 1950
pulse 550
space 1950
pulse 550
space 950
pulse 550
space 950
pulse 550
space 950
pulse 500
space 1000
pulse 550
space 1950
pulse 550
space 1950
pulse 550
space 950
pulse 550
space 950
pulse 550
space 950
pulse 550
space 950
pulse 550
space 950
pulse 550
space 950
pulse 550
space 8300
pulse 4050
space 3950
pulse 550
space 1950
pulse 550
space 1950
pulse 550
space 1950
pulse 500
space 2000
pulse 500
space 1000
pulse 550
space 950
pulse 550
space 1950
pulse 550
space 1950
pulse 550
space 1950
pulse 550
space 1950
pulse 550
space 1950
pulse 550
space 1900
pulse 600
space 950
pulse 550
space 950
pulse 500
space 1000
pulse 550
space 950
pulse 500
space 2000
pulse 550
space 1950
pulse 550
space 950
pulse 550
space 950
pulse 500
space 1000
pulse 550
space 950
pulse 500
space 1000
pulse 550
space 950
pulse 550
Код: Выделить всё
[09:45:04] openhabian@openHABianPi:~/MegaD-2561$ php ir-decode.php
Init pulse: 4000
Init space: 3950
00001100[0c]00001110[0e]00111111[3f]
block 0
total bits: 24
ir: 0c0e3f
avr pulse: 548
avr space1: 950
avr space0: 1877
url: ir=0c0e3f&irp0=4000&irp1=3950&irp2=548&irp3=950&irp4=1877
Init pulse: 4050
Init space: 3950
00000100[04]00001101[0d]00110101[35]
block 1
total bits: 24
ir: 040d35
avr pulse: 540
avr space1: 950
avr space0: 1788
url: ir=040d35&irp0=4050&irp1=3950&irp2=540&irp3=950&irp4=1788
URL (irp5): ir=040d35&irp0=4050&irp1=3950&irp2=540&irp3=950&irp4=1788&irp5=2
[09:50:32] openhabian@openHABianPi:~/MegaD-2561$
Код: Выделить всё
thomson_mute.ir
http://192.168.48.30/sec/?pt=12&ir=040d35&irp0=4050&irp1=3950&irp2=540&irp3=950&irp4=1788&irp5=2
Код: Выделить всё
pi@raspberrypi:~ $ mode2 --driver default -d /dev/lirc0
Using driver default on device /dev/lirc0
Trying device: /dev/lirc0
Using device: /dev/lirc0
space 8735662
pulse 4150
space 4050
pulse 600
space 1800
pulse 550
space 1850
pulse 550
space 1850
pulse 550
space 1850
pulse 550
space 1850
pulse 550
space 950
pulse 550
space 1850
pulse 550
space 1850
pulse 550
space 1800
pulse 600
space 1800
pulse 550
space 1850
pulse 550
space 1850
pulse 600
space 950
pulse 550
space 950
pulse 550
space 1850
pulse 550
space 1000
pulse 550
space 1850
pulse 550
space 1800
pulse 600
space 950
pulse 550
space 1000
pulse 550
space 1850
pulse 550
space 950
pulse 550
space 1850
pulse 550
space 950
pulse 600
space 5250
pulse 4150
space 4050
pulse 550
space 1850
pulse 550
space 1800
pulse 600
space 1850
pulse 550
space 1800
pulse 550
space 1850
pulse 550
space 1000
pulse 550
space 1800
pulse 600
space 1800
pulse 550
space 1850
pulse 600
space 1800
pulse 550
space 1850
pulse 550
space 1850
pulse 550
space 950
pulse 550
space 1000
pulse 550
space 1850
pulse 550
space 1000
pulse 550
space 1800
pulse 600
space 1800
pulse 550
space 1000
pulse 550
space 1000
pulse 550
space 1800
pulse 550
space 1000
pulse 550
space 1800
pulse 550
space 1000
pulse 600
space 16777215
^C
pi@raspberrypi:~ $