Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам > CyberWrt

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.02.2014, 17:43   #21
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: Включение чего угодно по HTTP

Я только в понедельник смогу проверить и модуль создать
напиши все пакеты которые требуются для модуля
Admin вне форума   Ответить с цитированием
Старый 22.02.2014, 18:05   #22
St@rz
Senior Member
 
Регистрация: 30.05.2011
Возраст: 50
Сообщений: 291
Вес репутации: 0
St@rz is on a distinguished road
По умолчанию Re: Включение чего угодно по HTTP

Для модуля нужны файлы из вложения (только путь в файле index.html поменять), наверное все USB Basic Support, kmod-hid-generic, ну и kmod-usb-hid.

Для файла /www/cgi-bin/ctlrelay нужно изменить права chmod +x ctlrelay
Содержание файла ctlrelay:
Цитата:
#!/bin/sh

KB_LEDS=/dev/input/event0
EV_LED="\x00\x11"
LED_NUML="\x00\x00"
LED_CAPSL="\x00\x01"
LED_SCROLLL="\x00\x02"
TURN_ON="\x00\x00\x00\x01"
TURN_OFF="\x00\x00\x00\x00"
DT_DUMMY="\x00\x00\x00\x00\x00\x00\x00\x 00"

#формируем 16-байтовые посылки для отсылки в файл клавиатуры
NUM_ON=$DT_DUMMY$EV_LED$LED_NUML$TURN_ON
NUM_OFF=$DT_DUMMY$EV_LED$LED_NUML$TURN_O FF
CAPS_ON=$DT_DUMMY$EV_LED$LED_CAPSL$TURN_ ON
CAPS_OFF=$DT_DUMMY$EV_LED$LED_CAPSL$TURN _OFF
SCROLL_ON=$DT_DUMMY$EV_LED$LED_SCROLLL$T URN_ON
SCROLL_OFF=$DT_DUMMY$EV_LED$LED_SCROLLL$ TURN_OFF

#"костыль", обеспечивающий чтение файла клавиатуры на время записи
if ! ps | grep -qe "[c]at $KB_LEDS"; then cat $KB_LEDS > /dev/null & fi

#берем команду из "переменной" command GET-запроса
#если эапроса нет - берем команду из первого аргумента
if [ -z "$QUERY_STRING" ]; then COMMAND=$1;
else
COMMAND=`echo "$QUERY_STRING" | sed -n 's/^.*command=\([^&]*\).*$/\1/p'`
printf "Content-type: text/plain\r\n\r\n"
fi

#посылка события в файл обработчика
case $COMMAND in
num_on)
printf $NUM_ON > $KB_LEDS;;
num_off)
printf $NUM_OFF > $KB_LEDS;;
caps_on)
printf caps_on > /var/rrr
printf $CAPS_ON > $KB_LEDS;;

caps_off)
printf caps_off > /var/rrr
printf $CAPS_OFF > $KB_LEDS;;
scroll_on)
printf $SCROLL_ON > $KB_LEDS;;
scroll_off)
printf $SCROLL_OFF > $KB_LEDS;;
num_pulse)
printf $NUM_ON > $KB_LEDS
sleep 1
printf $NUM_OFF > $KB_LEDS
;;
caps_pulse)
printf $CAPS_ON > $KB_LEDS
sleep 1
printf $CAPS_OFF > $KB_LEDS
;;
scroll_pulse)
printf $SCROLL_ON > $KB_LEDS
sleep 1
printf $SCROLL_OFF > $KB_LEDS
;;
*) WRONG_ARG=1;;
esac

#обновляем информацию в файле текущего состояния светодиодов
if [ -z $WRONG_ARG ]
then
STATE_FILE=/var/ledstate
DEFAULT_STATE={\"num\":false,\"caps\":fa lse,\"scroll\":false}
if ! [ -e $STATE_FILE ]; then echo $DEFAULT_STATE > $STATE_FILE; fi
AFFECTED_LED=`echo $COMMAND | sed -r -e 's/_[a-z]+$//'`
NEW_STATE=`echo $COMMAND | sed -r -e 's/^[a-z]+_//' -e 's/on/true/' -e 's/off|pulse/false/'`
sed -i -r 's/"'"$AFFECTED_LED"'":[a-z]+/"'"$AFFECTED_LED"'":'"$NEW_STATE"'/' $STATE_FILE
fi
Из-за чего кнопки перестали работать? Чего еще не хватает?
В файле ledstate переменные не меняются.

Последний раз редактировалось St@rz; 22.02.2014 в 18:51.
St@rz вне форума   Ответить с цитированием
Старый 23.02.2014, 00:02   #23
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: Включение чего угодно по HTTP

Выложил модуль "HID драйвер" для CyberWrt
У меня работает.
Проверяйте у себя
Admin вне форума   Ответить с цитированием
Старый 23.02.2014, 04:32   #24
St@rz
Senior Member
 
Регистрация: 30.05.2011
Возраст: 50
Сообщений: 291
Вес репутации: 0
St@rz is on a distinguished road
По умолчанию Re: Включение чего угодно по HTTP

Модуль работает.
И с кнопками я разобрался.
Упустил следующее:
Цитата:
Сообщение от Павел Громовиков
Маленький нюанс — браузер, конечно, не имеет доступа к папке /var на сервере, поэтому предоставим ему возможность прочитать файл ledstate оттуда, куда он «дотягивается», с помощью симлинка:
Код:
ln -s /var/ledstate /www/ledstate

Последний раз редактировалось St@rz; 23.02.2014 в 05:05.
St@rz вне форума   Ответить с цитированием
Старый 24.02.2014, 21:45   #25
St@rz
Senior Member
 
Регистрация: 30.05.2011
Возраст: 50
Сообщений: 291
Вес репутации: 0
St@rz is on a distinguished road
По умолчанию Re: Включение чего угодно по HTTP

Для кнопок так же добавлен модуль "HID Выключатель".
St@rz вне форума   Ответить с цитированием
Старый 20.04.2014, 15:24   #26
piglet-animas
Member
 
Регистрация: 14.04.2014
Сообщений: 48
Вес репутации: 0
piglet-animas is an unknown quantity at this point
По умолчанию Re: Включение чего угодно по HTTP

господа добрый день!
кто нибудь подскажет как relay контрол перенести на lighttpd
сам light лежит /srv/www, создаю та папку relay ибо там же есть еще и /radio
копирую ctrlrelay в /srv/www/relay, все остальные файлы положил в /srv/www,
интерфейс запускается, кнопки переключаются, а вот светодиоды не горят, понимаю что где-то что то не так, вопрос только где?

ps всех с пасхой!
piglet-animas вне форума   Ответить с цитированием
Старый 20.04.2014, 17:48   #27
St@rz
Senior Member
 
Регистрация: 30.05.2011
Возраст: 50
Сообщений: 291
Вес репутации: 0
St@rz is on a distinguished road
По умолчанию Re: Включение чего угодно по HTTP

Права задай.
St@rz вне форума   Ответить с цитированием
Старый 20.04.2014, 18:14   #28
piglet-animas
Member
 
Регистрация: 14.04.2014
Сообщений: 48
Вес репутации: 0
piglet-animas is an unknown quantity at this point
По умолчанию Re: Включение чего угодно по HTTP

Цитата:
Сообщение от St@rz Посмотреть сообщение
Права задай.
А чуток подробнее?)
на какую-то папку?
piglet-animas вне форума   Ответить с цитированием
Старый 21.04.2014, 00:37   #29
stD
Senior Member
 
Аватар для stD
 
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1311
stD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant future
По умолчанию Re: Включение чего угодно по HTTP

chmod 777 /srv/www/relay
chmod -R 777 /srv/www/relay рекурсивно (на всё что ниже)
chmod +x /фаил фаил будет исполняемым

Последний раз редактировалось stD; 21.04.2014 в 00:41.
stD вне форума   Ответить с цитированием
Старый 23.04.2014, 23:39   #30
piglet-animas
Member
 
Регистрация: 14.04.2014
Сообщений: 48
Вес репутации: 0
piglet-animas is an unknown quantity at this point
По умолчанию Re: Включение чего угодно по HTTP

все права задал, не хотят зажигаться) сам файл ctlrelay исполняем и при запуске в putty светодиоды зажигаются)
piglet-animas вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 02:41. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика