Узел автоматики на базе роутера TPLink

Подключение исполнительных устройств, датчиков, контроллеров.

Модератор: immortal

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

Узел автоматики на базе роутера TPLink

Сообщение sergejey » Чт фев 14, 2013 2:51 pm


Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Узел автоматики на базе роутера TPLink

Сообщение sergejey » Чт фев 14, 2013 2:52 pm

Пока только создал наборосок статьи -- чуть позже будут подробности по настройке.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Узел автоматики на базе роутера TPLink

Сообщение sergejey » Пт фев 15, 2013 2:51 pm

Столкнулся с одной проблемой. Поставил следующий скрипт для мониторинга того, что происходит на Arduino, подключенной к роутеру:

/etc/monitor.sh

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

#!/bin/sh

ARDUINO_PORT=/dev/ttyACM0
BASE_URL=http://192.168.0.17

stty -F $ARDUINO_PORT raw speed 9600

while read LINE; do
 date
 echo "$LINE"
 MATCH=${LINE:0:5}
 #echo "$MATCH"

 if [ "$MATCH" = "GET /" ]; then
  echo "MATCHED: $MATCH"
  URL=${LINE/GET /}
  URL=${URL%%?????????}
  URL="$BASE_URL$URL"
  echo "URL: $URL"
  wget -q $URL>/dev/nil
 fi

done < $ARDUINO_PORT
Всё работает замечательно, но не долго. Может полчаса, может час... А потом всё, данные перестают поступать. Захожу на роутер, скрипт запущен. Убиваю процесс, запускаю заново --тишина, ничего с порта (с ардуины) не поступает. Убиваю скрипт, пробую запустить команду cat</dev/ttyACM0 -- тоже тишина. Набираю reboot -- роутер перезагружается и всё начинает снова работать какое-то время.

Может кто подскажет, в чём может быть дело? На DLink Dir320 всё тоже самое (ну почти -- прошивка другая) работает отлично можно сказать неограниченное время, а тут фиг... Подозреваю, что на роутере какая-то проблема с постоянным чтением с порта и можно было бы его инициализировать заново время от времени, но как это сделать ума не приложу. Не ставить же reboot на каждые полчаса...

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Узел автоматики на базе роутера TPLink

Сообщение sergejey » Пт фев 22, 2013 11:55 am

Какая-то засада короче с этим TP Link-ом... через секунд 30-50 обмена с ардуиной порт зависает до reboot-а (хотя сама ардуина нормально продолжает работать -- проверил морганием светодиода в программе).

Нашёл обсуждение подобной проблемы: https://forum.openwrt.org/viewtopic.php?id=39956
Люди решают разными способами -- у кого-то начинает работать всё хорошо, если подключить контроллер через USB-хаб (мне не помогло), кто-то пишет, что если отключить WiFi, то тоже стабильно работает (не пробовал).

Ещё вариант вывести внутренний UART и подключить ардуину через него, но не хотелось бы лезть в роутер. Короче, пока тупик. Попробую ещё второй роутер такой же настроить и взять другой контроллер -- мало ли...

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
ignat99
Сообщения: 206
Зарегистрирован: Сб дек 21, 2013 9:21 pm
Откуда: Spain
Благодарил (а): 1 раз
Поблагодарили: 22 раза

Re: Узел автоматики на базе роутера TPLink

Сообщение ignat99 » Пн дек 23, 2013 5:28 pm

Этот баг пофиксили 5 дней назад.
Бинарный патчь с инструкциями по установке (пока не проверял).
https://github.com/SLboat/Openwrt_12.09 ... SET_PATCH/

Если поэксперементировать с этими регистрами в которых якобы нет значимых битов, возможно вылезет какая нибудь страшная уязвимость. Иначе зачем так долго (2 года) эту информацию не открывали?
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Узел автоматики на базе роутера TPLink

Сообщение sergejey » Пн дек 23, 2013 5:54 pm

ignat99 писал(а):Этот баг пофиксили 5 дней назад.
Бинарный патчь с инструкциями по установке (пока не проверял).
https://github.com/SLboat/Openwrt_12.09 ... SET_PATCH/

Если поэксперементировать с этими регистрами в которых якобы нет значимых битов, возможно вылезет какая нибудь страшная уязвимость. Иначе зачем так долго (2 года) эту информацию не открывали?
Да, видел сообщение со ссылкой в форуме International. В самое ближайшее время потестирую -- в указанной ветке какой-то китайский товарищ выложил прошивку уже с патчем. Очень надеюсь, что будет работать. Я сейчас как раз паралельный проект готовлю к публикации -- можно сказать, реинкарнация универсального модуля на базе роутера, только гораздо круче :) Экспериментирую с DLink, но всё же хотелось бы на TPLink поднять.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
ignat99
Сообщения: 206
Зарегистрирован: Сб дек 21, 2013 9:21 pm
Откуда: Spain
Благодарил (а): 1 раз
Поблагодарили: 22 раза

Re: Узел автоматики на базе роутера TPLink

Сообщение ignat99 » Пн дек 23, 2013 6:15 pm

На соответствующей странице в Wiki я поместил выдержки из документации и соответствущие цитаты из патча.
Есть пара полезных ссылок для универсального модуля с готовым кодом:

https://github.com/calaos/calaos-os - образ всего под Малинку.
https://github.com/calaos/calaos_web - написан на PHP - это API которое используют клиенты.
https://github.com/calaos/calaos-web-app - вот этот клиент работает на всём, даже на Tizen мобилке.

calaos_server написан на С++ под Enlightenmentт к нему французкие товарищи активно подключают всякие системы через Wago - блок автоматизации с кабельным подключением сенсоров, рецепторов и афекторов. Но что характерно, часть протокола Modbus делал наш человек в далёком 2004 году.

https://github.com/telefonicaid/
Это Испанский-Европейский проект с призовым фондом на этот год до 1 миллиарда. Понятно, что до разработчиков дойдёт несколько миллионов только евро.
https://github.com/telefonicaid/fiware-orion
Это основная их программа, для использования на роутерах IMHO.

http://lab.fi-ware.eu/
Тут раздают бесплатно VPS под их приложения, как раз под задачи автоматизации городов-домов.
Как заполучить, смотреть видео. Документации нет. Особенно: Правое меню->Cloud->Instances
Работает не со всеми браузерами.
После регистрации, надо получить сертификат, продеплоить их виртуалку, сменить пароль, открыть 22 порт в правилах (в разделе Секьюрити). Посмотреть там IP внешний динамический и вот по нему по SSH заходить с сертификатом.
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Узел автоматики на базе роутера TPLink

Сообщение sergejey » Пн дек 23, 2013 10:24 pm

Класс, с TP Link всё получилось. Ещё буду тестировать, но промежуточные результаты обнадёживают -- если раньше ардуинка жила не больше минуты, то уже час и никаких признаков падения. Перепрошил два роутера -- на одном сразу всё заработало, на втором почему-то ни в какую не хотел определять USB-устройство -- попробовал подключить через USB-хаб и заработало тоже. Даже не знаю с чем такое поведение может быть связано -- одинаковые устройства, одинаковая прошивка, одна и та же последовательность установки.

В общем, если всё будет хорошо, то эти роутеры в связке с Ардуино одназначно отличный вариант -- WiFi узел автоматизации за дёшево.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Urbas81
Сообщения: 289
Зарегистрирован: Вс сен 16, 2012 9:39 am
Благодарил (а): 0
Поблагодарили: 1 раз

Re: Узел автоматики на базе роутера TPLink

Сообщение Urbas81 » Вт дек 24, 2013 9:33 am

sergejey писал(а): Перепрошил два роутера -- на одном сразу всё заработало, на втором почему-то ни в какую не хотел определять USB-устройство -- попробовал подключить через USB-хаб и заработало тоже. Даже не знаю с чем такое поведение может быть связано -- одинаковые устройства, одинаковая прошивка, одна и та же последовательность установки.
Если не заработало на Tp-Link, то читал на форуме, что без хаба не определяются USB2.0 ус-ва, хабы решают эту проблему, наверное в этом дело.
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Узел автоматики на базе роутера TPLink

Сообщение sergejey » Вт дек 24, 2013 11:32 am

Urbas81 писал(а):
sergejey писал(а): Перепрошил два роутера -- на одном сразу всё заработало, на втором почему-то ни в какую не хотел определять USB-устройство -- попробовал подключить через USB-хаб и заработало тоже. Даже не знаю с чем такое поведение может быть связано -- одинаковые устройства, одинаковая прошивка, одна и та же последовательность установки.
Если не заработало на Tp-Link, то читал на форуме, что без хаба не определяются USB2.0 ус-ва, хабы решают эту проблему, наверное в этом дело.
Тут странно, что на одном роутере определило, на втором только с хабом -- роутеры брать-близнецы. Ну да ладно, главное, что в итоге работает уже почти сутки.

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