Страница 1 из 2
Проблема при загрузке правил с connect.smartliving.ru
Добавлено: Пт янв 17, 2014 8:49 pm
Molostov
Создал узел как написано здесь
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
Re: Проблема при загрузке правил с connect.smartliving.ru
Добавлено: Сб янв 18, 2014 12:04 am
sergejey
хм... тут вопрос. дело в том, что у меня как раз подобный код без слэшей не работает, т.е. bash ругается на "&" без слэша. поэтому я то их и экранирую слэшами.
попробуйте сейчас -- убрал экранирование и поставил урл в одинарные кавычки.
Re: Проблема при загрузке правил с connect.smartliving.ru
Добавлено: Сб янв 18, 2014 3:07 am
Molostov
Не работает, излазил всё вдоль и поперёк, но до МДМ команда не доходит. Есть несколько вопросов:
1. В файле settings.sh в строке LOCAL_BASE_URL="
http://connect.dev" нужно менять IP или нет, если да, то на адрес контроллера или МДМ?
2. В файле cycle.sh в строке 93 есть команда URL=$LOCAL_BAST_URL это опечатка или действительно BAST?
(после того как я закомментировал эту строку в консоли стала появляться нужная команда, но отправки всё равно нет).
3. Как я понял правила создают файл temp в папке data, но я этого не вижу, или он так быстро обрабатывается и удаляется?
4. Какой из всех этих файлов даёт окончательную команду wget на отправку в МДМ?
На всякий случай прикладываю мои файлы
Re: Проблема при загрузке правил с connect.smartliving.ru
Добавлено: Сб янв 18, 2014 3:20 am
Molostov
А если запускаю из консоли этот файл то отправка работает как часы, естественно только в одну сторону
Re: Проблема при загрузке правил с connect.smartliving.ru
Добавлено: Сб янв 18, 2014 4:22 pm
Molostov
На свежую голову ещё поковырялся, получается изначально со слешами всё правильно было. Проблемы в настройке контроллера.
Сергей исправьте пожалуйста всё обратно, как меню формировалось так и надо.
Весь вопрос в контроллере, если запускаю 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 с прописыванием свойств объектов, но не могу найти, может кто-нибудь поделиться ссылкой.
Re: Проблема при загрузке правил с connect.smartliving.ru
Добавлено: Сб янв 18, 2014 11:19 pm
sergejey
Попробуйте приаттаченный cycle.sh -- как оказалось в текущей версии я не доделал вообще обработку GET / т.к. сам не использую больше такую конструкцию и в основном работаю через строки с данными типа P...;F...;T...;C...;D...;
Обработчик easyRF можно на моём профиле найти
http://connect.smartliving.ru/profile/1
За ссылки спасибо -- посмотрю.
Модули nRF24L01+ обсуждались здесь в других ветках -- там можно посмотреть примеры и скетчи, ну и у ребят поспрашивать про особенности использования.
Re: Проблема при загрузке правил с connect.smartliving.ru
Добавлено: Вс янв 19, 2014 12:05 am
Molostov
Спасибо, попробую
sergejey писал(а):в основном работаю через строки с данными типа P...;F...;T...;C...;D...;
Можно подробнее? Мне почему-то казалось, что мы об этом и говорим. Только видимо вы используете другой скетч для ардуино.
Скачал cycle.sh работает, но в rules_set.sh падают ошибки при формировании на сервере.
Re: Проблема при загрузке правил с connect.smartliving.ru
Добавлено: Пн янв 20, 2014 4:36 pm
sergejey
Molostov писал(а):Спасибо, попробую
sergejey писал(а):в основном работаю через строки с данными типа P...;F...;T...;C...;D...;
Можно подробнее? Мне почему-то казалось, что мы об этом и говорим. Только видимо вы используете другой скетч для ардуино.
Скачал cycle.sh работает, но в rules_set.sh падают ошибки при формировании на сервере.
А какие именно ошибки? Возможно, сервер что-то не так генерит, но что именно?
Я использую вот этот скетч у себя
http://smartliving.ru/Main/LinuxMiniHubSampleRF для пересылки показаний от радио-датчиков на свой сервер, но вообще должны работать и более простые правила.
Re: Проблема при загрузке правил с connect.smartliving.ru
Добавлено: Пн янв 20, 2014 5:24 pm
Molostov
Код: Выделить всё
<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 этого не должно быть
Re: Проблема при загрузке правил с connect.smartliving.ru
Добавлено: Пн янв 20, 2014 5:50 pm
sergejey
Да, это я вслепую возвращал как было раньше и не заметил что не так вернул. Сейчас должно быть ок.