Re: Программирование
Добавлено: Чт ноя 29, 2012 4:41 pm
Натолкнулся вот на такой Web Server:
https://github.com/sergiomokshin/Arduino-WebServer
https://github.com/sergiomokshin/Arduino-WebServer
Код: Выделить всё
* функция проверки входа
**/
int pirPin = 7; // присваеваем 7 ноге название pirPin
...
...
...
// Настройка портов на вывод
pinMode (pirPin, INPUT); // Настройка порта как вход
digitalWrite(pirPin, LOW); // Установить на 7 ноге низкий уровень
...
...
...
void CheckMotion()
{
motionDetected = 0;
if(digitalRead(pirPin) == HIGH){
Serial.println("yes"); motionDetected = 1;}
else{/*Serial.println("no"); motionDetected = 0;*/}
}Залил на arduino прошивку от sochkasov, в веб-переменных состояние получаю но как правильно привязать к ним выключатель?sochkasov писал(а):
Я пока не могу до конца разобраться с настройкой кода, выполняемого на сервере. И не могу понять некоторые вещи.
Например, если я делаю управление светом. В интерфейсе есть выключатель "ВКЛЮЧЕНИЕ СВЕТА".
В случае если контроллер подключен, то я нажимаю на эту кнопку, на контроллер посылается команда. На выходе контроллера получаем "1". Все правильно.
Но, я перегружаю контроллер. На заданном выходе я получаю "0". А в интерфейсе все равно отображается, что свет включен. Если я правильно понимаю для этого надо воспользоваться одним из 2-х способов, которые описаны тут http://smartliving.ru/Main/DevIpPower9223 . Но пока я не осилил привязку. Хотя состояние получаю.
Так вот, вопрос вот в чем. Не нужно сделать так, чтобы после каждого вызова команды на контроллере происходило примерно так:
1. Контроллер принял команду 5=ON
2. Делаем digitalWrite(5,HIGH);
3. Отсылаем на сервер что-то вроде /?P5=ON
В этом случае контроллер будет посылать подтверждение того, что он действительно включил "1" на 5 пине.
например, у объекта ThisComputer создаем свойство sunrise.Urbas81 писал(а):Подскажите такой момент, как переменную, которая получается при выполнении страницы на php, завести в свойство переменной в объектах. Если конкрено: допустим вычисляется восход солнца получаем значение $t1
$t1=date_sunrise(time(), SUNFUNCS_RET_STRING, $lat, $long, $zenith, $offset); как можно дальше $t1 завести в систему, чтоб ней дальше можно было работать, например для управления освещением или индикации на страницах.
Код: Выделить всё
sg('ThisComputer.sunrise',$1);но это если в скрипте писать, а у меня это отдельный файл sun.php который вызывается из меню, и в php это не проходит.anemcov писал(а):например, у объекта ThisComputer создаем свойство sunrise.Urbas81 писал(а):Подскажите такой момент, как переменную, которая получается при выполнении страницы на php, завести в свойство переменной в объектах. Если конкрено: допустим вычисляется восход солнца получаем значение $t1
$t1=date_sunrise(time(), SUNFUNCS_RET_STRING, $lat, $long, $zenith, $offset); как можно дальше $t1 завести в систему, чтоб ней дальше можно было работать, например для управления освещением или индикации на страницах.
Далее в скрипте просто вызываемКод: Выделить всё
sg('ThisComputer.sunrise',$1);
Через POST-запрос (анпример так)Urbas81 писал(а): но это если в скрипте писать, а у меня это отдельный файл sun.php который вызывается из меню, и в php это не проходит.
Код: Выделить всё
http://homeserver/objects/?object=sensorMovement1&op=m&m=statusChanged&status=1