Проблема при загрузке правил с connect.smartliving.ru

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Molostov
Сообщения: 52
Зарегистрирован: Пт янв 17, 2014 1:47 am
Откуда: Карпинск, Свердловская область
Благодарил (а): 136 раз
Поблагодарили: 13 раз

Проблема при загрузке правил с connect.smartliving.ru

Сообщение Molostov » Пт янв 17, 2014 8:49 pm

Создал узел как написано здесь http://smartliving.ru/Main/LinuxMiniHub, на базе asus wl500g P2.
Настроил arduino как написано здесь http://smartliving.ru/Main/LinuxMiniHubSampleRF.
Также создал несколько правил, включая обработку для EasyRF.
Но при загрузке правил в устройство, а также при нажатии кнопки Download bash script на странице SLP получаю вот такой код

Код: Выделить всё

# # RULE 1 ACTIONS
if [[ "$MATCHED_RULE1" == "1" ]]
then
#Action 1.1 (http) 
echo "HTTP request: http://192.168.1.101:80/objects/?object=Relay1&op=m&m=turnOn&"
wget -O $DATA_PATH/http.tmp http://192.168.1.101:80/objects/?object=Relay1\&op=m\&m=turnOn\&
#Action 1.2 (http) 
echo "HTTP request: 192.168.1.101:80/objects/?object=Relay1&op=m&m=turnOn&"
wget -O $DATA_PATH/http.tmp 192.168.1.101:80/objects/?object=Relay1\&op=m\&m=turnOn\&
fi

# RULE 3 ACTIONS
if [[ "$MATCHED_RULE3" == "1" ]]
then
#Action 3.1 (http) 
echo "HTTP request: http://192.168.1.101/objects/?script=easyRF&did=$DATA_FROM&dest=$DATA_TO&pid=$PACKET_ID&c=$DATA_COMMAND&d=$DATA_VALUE"
wget -O $DATA_PATH/http.tmp http://192.168.1.101/objects/?script=easyRF\&did=$DATA_FROM\&dest=$DATA_TO\&pid=$PACKET_ID\&c=$DATA_COMMAND\&d=$DATA_VALUE
fi
Обратите внимание на появление слэшей (которых там быть не должно и к тому же они неправильные) в коде после команды wget.
Естественно, что при таких правилах узел толком не работает. Правка вручную помогает, но только до перезагрузки, т.к. узел опять скачивает меню из интернета.
Вопрос - это у меня что-то не так или неверное формирование меню?

p.s. весь bash доступен по адресу http://connect.smartliving.ru/rules/?id ... -6415-8b5f
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Проблема при загрузке правил с connect.smartliving.ru

Сообщение sergejey » Сб янв 18, 2014 12:04 am

хм... тут вопрос. дело в том, что у меня как раз подобный код без слэшей не работает, т.е. bash ругается на "&" без слэша. поэтому я то их и экранирую слэшами.

попробуйте сейчас -- убрал экранирование и поставил урл в одинарные кавычки.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Molostov
Сообщения: 52
Зарегистрирован: Пт янв 17, 2014 1:47 am
Откуда: Карпинск, Свердловская область
Благодарил (а): 136 раз
Поблагодарили: 13 раз

Re: Проблема при загрузке правил с connect.smartliving.ru

Сообщение Molostov » Сб янв 18, 2014 3:07 am

Не работает, излазил всё вдоль и поперёк, но до МДМ команда не доходит. Есть несколько вопросов:
1. В файле settings.sh в строке LOCAL_BASE_URL="http://connect.dev" нужно менять IP или нет, если да, то на адрес контроллера или МДМ?
2. В файле cycle.sh в строке 93 есть команда URL=$LOCAL_BAST_URL это опечатка или действительно BAST?
(после того как я закомментировал эту строку в консоли стала появляться нужная команда, но отправки всё равно нет).
3. Как я понял правила создают файл temp в папке data, но я этого не вижу, или он так быстро обрабатывается и удаляется?
4. Какой из всех этих файлов даёт окончательную команду wget на отправку в МДМ?
На всякий случай прикладываю мои файлы
Вложения
2222.rar
(2.82 КБ) 209 скачиваний
Molostov
Сообщения: 52
Зарегистрирован: Пт янв 17, 2014 1:47 am
Откуда: Карпинск, Свердловская область
Благодарил (а): 136 раз
Поблагодарили: 13 раз

Re: Проблема при загрузке правил с connect.smartliving.ru

Сообщение Molostov » Сб янв 18, 2014 3:20 am

А если запускаю из консоли этот файл то отправка работает как часы, естественно только в одну сторону
Вложения
monitor.rar
(337 байт) 192 скачивания
Molostov
Сообщения: 52
Зарегистрирован: Пт янв 17, 2014 1:47 am
Откуда: Карпинск, Свердловская область
Благодарил (а): 136 раз
Поблагодарили: 13 раз

Re: Проблема при загрузке правил с connect.smartliving.ru

Сообщение Molostov » Сб янв 18, 2014 4:22 pm

На свежую голову ещё поковырялся, получается изначально со слешами всё правильно было. Проблемы в настройке контроллера.
Сергей исправьте пожалуйста всё обратно, как меню формировалось так и надо.

Весь вопрос в контроллере, если запускаю cycle.sh, то получаю:

Код: Выделить всё

PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: seq=0 ttl=45 time=57.640 ms

--- 8.8.8.8 ping statistics ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 57.640/57.640/57.640 ms
Network available.
Getting rules from http://connect.smartliving.ru/rules/?id=877b-ec89-6415-8b5f
Connecting to connect.smartliving.ru (83.169.6.78:80)
rules_set.tmp        100% |*******************************|  1799   0:00:00 ETA
Posting: http://connect.smartliving.ru/rules/?id=877b-ec89-6415-8b5f&data=koridorlight|1;
Connecting to connect.smartliving.ru (83.169.6.78:80)
data_post.tmp        100% |*******************************|  1799   0:00:00 ETA
Getting menu from http://connect.smartliving.ru/rules//menu.php?id=877b-ec89-6415-8b5f
Connecting to connect.smartliving.ru (83.169.6.78:80)
menu.tmp             100% |*******************************|  3994   0:00:00 ETA
Getting Device ID... 26807

Got: Device ID: 45397 Destination ID: 0 Packet ID: 3288 Command: 12 Data: 1

GET /objects/?script=easyRF&did=45397&dest=0&pid=3288&c=12&d=1 HTTP/1.0
Getting URL
http://192.168.1.101/objects/?script=easyRF&did=45397&dest=0&pid=3288&c=12&d=1 HTTP/1.0




именно с таким количеством строк в конце, но МДМ ничего не получает

а если запускаю:

Код: Выделить всё

wget -O $DATA_PATH/http.tmp http://192.168.1.101/objects/?script=easyRF\&did=$DATA_FROM\&dest=$DATA_TO\&pid=$PACKET_ID\&c=$DATA_COMMAND&d=$DATA_VALUE
то получаю в консоли

Код: Выделить всё

root@OpenWrt:~# Connecting to 192.168.1.101 (192.168.1.101:80)
http.tmp             100% |*******************************|    66   0:00:00 ETA
и МДМ получает пакет с пустыми данными, как и должно быть в данном случае.
Буду ещё искать, но может подскажите направление )

Если есть возможность ответьте по поводу cycle.sh и ещё вы писали, что возможно рассмотрите модули nRF24L01+ и построение сети на них - может быть есть наработки в этом направлении.

P.S. Не знаю видели вы или нет, но вот здесь строят умный дом на основе сети на nRF24L01+ и контроллере VERA от MICASAVERDE, тут небольшая русская ветка http://arduino.ru/forum/proekty/umnyi-d ... oavrnrf24l, а вот здесь исходники http://code.mios.com/trac/mios_arduino-sensor/wiki быть может это как либо пригодится.

P.P.S. Где-то на форуме видел пример разбора данных МДМ скрипта EasyRF с прописыванием свойств объектов, но не могу найти, может кто-нибудь поделиться ссылкой.
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Проблема при загрузке правил с connect.smartliving.ru

Сообщение sergejey » Сб янв 18, 2014 11:19 pm

Попробуйте приаттаченный cycle.sh -- как оказалось в текущей версии я не доделал вообще обработку GET / т.к. сам не использую больше такую конструкцию и в основном работаю через строки с данными типа P...;F...;T...;C...;D...;

Обработчик easyRF можно на моём профиле найти http://connect.smartliving.ru/profile/1

За ссылки спасибо -- посмотрю.

Модули nRF24L01+ обсуждались здесь в других ветках -- там можно посмотреть примеры и скетчи, ну и у ребят поспрашивать про особенности использования.
Вложения
cycle.zip
(1.3 КБ) 181 скачивание

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Molostov
Сообщения: 52
Зарегистрирован: Пт янв 17, 2014 1:47 am
Откуда: Карпинск, Свердловская область
Благодарил (а): 136 раз
Поблагодарили: 13 раз

Re: Проблема при загрузке правил с connect.smartliving.ru

Сообщение Molostov » Вс янв 19, 2014 12:05 am

Спасибо, попробую
sergejey писал(а):в основном работаю через строки с данными типа P...;F...;T...;C...;D...;
Можно подробнее? Мне почему-то казалось, что мы об этом и говорим. Только видимо вы используете другой скетч для ардуино.



Скачал cycle.sh работает, но в rules_set.sh падают ошибки при формировании на сервере.
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Проблема при загрузке правил с connect.smartliving.ru

Сообщение sergejey » Пн янв 20, 2014 4:36 pm

Molostov писал(а):Спасибо, попробую
sergejey писал(а):в основном работаю через строки с данными типа P...;F...;T...;C...;D...;
Можно подробнее? Мне почему-то казалось, что мы об этом и говорим. Только видимо вы используете другой скетч для ардуино.
Скачал cycle.sh работает, но в rules_set.sh падают ошибки при формировании на сервере.
А какие именно ошибки? Возможно, сервер что-то не так генерит, но что именно?

Я использую вот этот скетч у себя http://smartliving.ru/Main/LinuxMiniHubSampleRF для пересылки показаний от радио-датчиков на свой сервер, но вообще должны работать и более простые правила.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Molostov
Сообщения: 52
Зарегистрирован: Пт янв 17, 2014 1:47 am
Откуда: Карпинск, Свердловская область
Благодарил (а): 136 раз
Поблагодарили: 13 раз

Re: Проблема при загрузке правил с connect.smartliving.ru

Сообщение Molostov » Пн янв 20, 2014 5:24 pm

Код: Выделить всё

<br />
<b>Warning</b>:  addcslashes() expects exactly 2 parameters, 1 given in <b>/var/www/vhosts/smartliving.ru/subdomains/connect/httpdocs/rules/index.php</b> on line <b>165</b><br />
<br />
<b>Warning</b>:  addcslashes() expects exactly 2 parameters, 1 given in <b>/var/www/vhosts/smartliving.ru/subdomains/connect/httpdocs/rules/index.php</b> on line <b>166</b><br />
# Rules set for device id: 877b-ec89-6415-8b5f from IP 5.43.157.160
# Updated 2014-01-20 17:22:59
Всё что идёт до #Rules этого не должно быть
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 76 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Проблема при загрузке правил с connect.smartliving.ru

Сообщение sergejey » Пн янв 20, 2014 5:50 pm

Да, это я вслепую возвращал как было раньше и не заметил что не так вернул. Сейчас должно быть ок.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Ответить