Страница 2 из 11

Re: Универсальный узел автоматики

Добавлено: Вт янв 07, 2014 6:40 pm
artko
ignat99 писал(а):Ну, я слышал, можно делать программы на LUA и Python на нём.
(вздрогнул). можно еще и на яваскрипте. (проект espruino, от STM32F100 и выше).

только зачем? брать дорогие МК, вешать на них интерпретаторы скриптовых языков чтобы управлять освещением тем же? Имхо, кто сам будет делать - тому все равно какой мк, с большой вероятностью будет взята легкодоступная и известная платформа, да еще недорогая (ардуина, например, ага). А кто не умеет - тому и на возможность программировать датчик открывания двери на питоне скорее всего наплевать.

у меня сейчас развешаны по дому датчики на базе STM8S003F3 (по 40 центов за штуку). Паяется на коленке. Минимальный доступный STM32F4 почти 10 баксов, на порядок дороже.

Термодатчик с барометром и гигрометром как повешен год назад, так и висит на улице. Накой мне в нем питон? :)

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

А, кстати :) Вот перед НГ склепал себе датчик энергопотребления на вводе в дом, по времени между импульсами счетчика. Интересно, как на скриптовом языке делать такие вещи, где нужны измерения точных интервалов и вовремя?

Re: Универсальный узел автоматики

Добавлено: Вт янв 07, 2014 6:57 pm
ignat99
artko писал(а):
А, кстати :) Вот перед НГ склепал себе датчик энергопотребления на вводе в дом, по времени между импульсами счетчика. Интересно, как на скриптовом языке делать такие вещи, где нужны измерения точных интервалов и вовремя?
Могу ответить только про Python в критических местах там используются быстрые библиотеки написанные на Си или Asm. Полагаю, что во многих проектах в микроконтроллерах используется возможность преобразования LUA в Си с последующей компиляцией.

Re: Универсальный узел автоматики

Добавлено: Чт янв 16, 2014 4:29 pm
ignat99
TP Link всё-таки "жидковат" для MJD :(
Места там "кот наплакал" и штатной памяти не хватит даже на установку необходимых пакетов (php/mysql). Если использовать внешнюю флэшку, то в принципе завести можно, но при интенсивном использовании базы данных (много устройств, графики и т.п.) лучше иметь жёсткий диск. Поэтому даже для Raspberry я подумываю о какой-то глубокой оптимизации по базе данных.

TP Link просто отличное "промежуточное" устройство, которое может помочь с децентрализацией управления, за счёт того, что на такие узлы можно перенести часть логики. Как раз сейчас экспериментирую с созданием таких модулей, которые будут использовать Arduino (ну или любой другой перифирийный модуль, подключенный к роутеру по USB) в качестве интерфейса к датчикам/исполнительным механизмам и bash-скрипты для обработки приходящих событий и подачи команды. Сами скрипты создаются с помощью внешнего веб-сервиса и автоматически обновляются на устройстве при включении и перезагрузке (если интернет доступен). Так же у этих модулей есть простенькое HTTP API и минимальный веб-интерфейс. Чуть позже я это опишу подробнее, пока несколько скриншотов сервиса удалённой настройки модулей:

Изображение

Изображение

Изображение

Изображение

Изображение

Изображение

Пример веб-интерфейса на устройстве (что б уж совсем автономно можно было управлять)
Изображение

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

HTTP протокол MJD для TP-Link
А отправить любую строчку в Arduino можно через http:
http://адрес_устройства/cgi-bin/master?op=send&line=SomeData -- т.е. если цикл работает нормально и на ардуинке есть скетч, который понимает команду SomeData, то она будет отправлена и обработана.

Re: Универсальный узел автоматики

Добавлено: Пн фев 10, 2014 12:25 pm
Galakart
Уже несколько дней пробую связку TP-Link MR3020 + Arduino nano. Работает замечательно, но по Lan. При работе роутера по Wifi ардуина хоть и принимает команды, но сволочь виснет уже через минуту. Пробовал ставить патч из соседней ветки - с ним Wifi напрочь отказывается включаться, вываливая ошибку "PHY for wifi device radio0 not found"
sergejey писал(а): Загрузил сюда плюс добавил ссылку на страницу установки компонентов.
подойдёт ли эта прошивка для mr3020? Или может без прошивки как то можно исправить?

Ещё кстати заметил - если ардуина не подключена к роутеру (т.е. порт /dev/ttyUSB0 недоступен), то главный цикл выполняется до команды "stty -F $ARDUINO_PORT.......", соответственно выдаёт ошибку, и начинает свою работу заново - то есть каждую секунду скачивает с connect правила и меню, создавая лишний трафик.

Re: Универсальный узел автоматики

Добавлено: Пн фев 10, 2014 1:05 pm
sergejey
По прошивкам я не специалист, к сожалению, поэтому мне было проще поставить прошивку с нуля и проверить работу...

mr3020 это точно такой же роутер. на сколько я знаю, один в один. так что прошивка должна подойти.

За баг с недоступной Ардуиной спасибо, попробую как-то сделать обработку.

Re: Универсальный узел автоматики

Добавлено: Пн фев 10, 2014 1:13 pm
LutsenkoDenis
Galakart писал(а):Ещё кстати заметил - если ардуина не подключена к роутеру (т.е. порт /dev/ttyUSB0 недоступен), то главный цикл выполняется до команды "stty -F $ARDUINO_PORT.......", соответственно выдаёт ошибку, и начинает свою работу заново - то есть каждую секунду скачивает с connect правила и меню, создавая лишний трафик.
Это с учетом того что вывод обёрнут командой проверяющий доступность компорта?

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

if (Serial.available()) 
{
   some code
}

Re: Универсальный узел автоматики

Добавлено: Пн фев 10, 2014 1:29 pm
Galakart
LutsenkoDenis писал(а):
Это с учетом того что вывод обёрнут командой проверяющий доступность компорта?

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

if (Serial.available()) 
{
   some code
} 
Цикл, имеется в виду в роутере - /etc/master/cycle.sh

Re: Универсальный узел автоматики

Добавлено: Пн фев 10, 2014 1:52 pm
ignat99
Galakart писал(а):Уже несколько дней пробую связку TP-Link MR3020 + Arduino nano. Работает замечательно, но по Lan. При работе роутера по Wifi ардуина хоть и принимает команды, но сволочь виснет уже через минуту. Пробовал ставить патч из соседней ветки - с ним Wifi напрочь отказывается включаться, вываливая ошибку "PHY for wifi device radio0 not found"
sergejey писал(а): Загрузил сюда плюс добавил ссылку на страницу установки компонентов.
подойдёт ли эта прошивка для mr3020? Или может без прошивки как то можно исправить?

Ещё кстати заметил - если ардуина не подключена к роутеру (т.е. порт /dev/ttyUSB0 недоступен), то главный цикл выполняется до команды "stty -F $ARDUINO_PORT.......", соответственно выдаёт ошибку, и начинает свою работу заново - то есть каждую секунду скачивает с connect правила и меню, создавая лишний трафик.
На моём роутере TP-Link стоит пропатченная прошивка и другие конфиги. Arduino подключал по USB.
Устройство для подключне называется по другому /dev/ttyA*, сетевые конфигурационные файлы так же исправлены. Кажеться там использован wlan0 интерфейс, а не radio0

В любом случае надо поднимать интерфейс командой
ifup wlan0
или
ifup radio0

Эту команду я прописал в скрипт запуска демона, который выполняется при старте.

Re: Универсальный узел автоматики

Добавлено: Пн фев 10, 2014 6:40 pm
Galakart
Не удержался, попробовал перепрошить. И.....
В общем не прошивайте MR-3020 вышеприведённой прошивкой, она даже по названию только для wr703n. Хорошо что под рукой есть ttl-переходник и заранее распаянный uart-порт на роутере, откатился :)

Re: Универсальный узел автоматики

Добавлено: Пн фев 10, 2014 10:42 pm
binladin
Galakart писал(а):Не удержался, попробовал перепрошить. И.....
В общем не прошивайте MR-3020 вышеприведённой прошивкой, она даже по названию только для wr703n. Хорошо что под рукой есть ttl-переходник и заранее распаянный uart-порт на роутере, откатился :)
Спасибо, намотал на ус. Мне где-то попадалось сегодня, что у 3020 есть проблемы с ЮСБ, в том смысле, что USB-hidов он не опознаёт, хотя при работе через хаб (причём 2.0) - всё хватает нормально. Хотя если по езернету всё ок.... странно.