|
|
Опции темы | Поиск в этой теме | Опции просмотра |
24.10.2014, 18:28 | #11 |
Senior Member
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1311 |
Re: Одновременные чтение/запись в/из Arduino на /dev/ttyUSB
А что такое MQTT?
|
25.10.2014, 02:56 | #12 |
Member
Регистрация: 25.10.2013
Сообщений: 80
Вес репутации: 0 |
Re: Одновременные чтение/запись в/из Arduino на /dev/ttyUSB
MQTT - протокол подписки/нотификации.
Если вкратце: есть некий сервер (брокер), к которому подключаются хосты, публикующие инфу и хосты-подписчики. Вся инфа публикуется в древовидной структуре, типа каталогов в файловой системе. Подписка может быть оформлена на определенную ветку или ряд веток по маске. Очень удобно, когда нужно в real-time получать изменения чего-либо. Есть MQTT-S - разновидность MQTT, чуть урезанная - для простоты при работе с простыми датчиками. |
25.10.2014, 05:32 | #13 |
Senior Member
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1311 |
Re: Одновременные чтение/запись в/из Arduino на /dev/ttyUSB
Мудрёно.
|
29.10.2014, 02:42 | #14 |
Member
Регистрация: 25.10.2013
Сообщений: 80
Вес репутации: 0 |
Re: Одновременные чтение/запись в/из Arduino на /dev/ttyUSB
Получилось примерно так:
#!/bin/sh stty -F /dev/ttyUSB0 raw speed 9600 while read i; do URL="http://server/path/to/script/$i" `wget -q "$URL" -O /tmp/wget_answer` TMP=`cat /tmp/wget_answer` echo $TMP > /dev/ttyUSB0 done </dev/ttyUSB0 Но периодически сталкиваюсь с проблемой - OpenWRT перестает общаться с ардуино, хотя устройство в /dev/ присутствует (как и прежде - /dev/ttyUSB0). Ардуино не висит, работает. Такое впечатление, что слетают настройки stty, но повторная команда stty -F /dev/ttyUSB0 raw speed 9600 или повторный запуск скрипта проблему не решают (( И главное - НЕ ругается, что устройство занято. Перетыкание провода USB на ардуине освобождают (переинициализируют) в OpenWRT ttyUSB и все оживает. В чем может быть затык? |
29.10.2014, 03:02 | #15 |
Member
Регистрация: 25.10.2013
Сообщений: 80
Вес репутации: 0 |
Re: Одновременные чтение/запись в/из Arduino на /dev/ttyUSB
И вот еще что заметил - проблемы сдвухсторонним общением (чтение/запись) с портом /dev/ttyUSB0 отчасти были вызваны отсутствием интернет.
Уж не знаю как это связано, но дома (openwrt получает доступ к интернет через wifi) скрипт работает, на работе (нет wifi) - нет. Сразу скажу, что для чистоты эксперимента из скрипта убирал обращения к внешним серверам (wget) и даже пробовал просто отправлять что-нибудь в порт - все повторялось: дома - ok, на работе - нихт.. ( Отправлял, например, такое: stty -F /dev/ttyUSB0 raw speed 9600 && echo **reload:5# > /dev/ttyUSB0 или stty -F /dev/ttyUSB0 raw speed 9600 && sleep 2 && echo **reload:5# > /dev/ttyUSB0 где "**reload:5#" - это некая команда скетчу arduino Последний раз редактировалось borey; 29.10.2014 в 03:05. |
29.10.2014, 03:49 | #16 | |
Senior Member
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1311 |
Re: Одновременные чтение/запись в/из Arduino на /dev/ttyUSB
Порт достачно инициализировать один раз, например засунуть это
Цитата:
А ser2net пробовали? |
|
29.10.2014, 12:28 | #17 | |
Member
Регистрация: 25.10.2013
Сообщений: 80
Вес репутации: 0 |
Re: Одновременные чтение/запись в/из Arduino на /dev/ttyUSB
Цитата:
Про инициализацию один раз понимаю, делаю каждый раз на всякий случай - вредить не должно. Проблема вряд ли этим вызвана, т.к. в цикле нет перенастроек параметров порта, а отвечать перестает как раз находясь в цикле.. ( |
|
29.10.2014, 23:07 | #18 | ||
Senior Member
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1311 |
Re: Одновременные чтение/запись в/из Arduino на /dev/ttyUSB
Цитата:
Цитата:
|
||
29.10.2014, 23:29 | #19 | |
Senior Member
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1311 |
Re: Одновременные чтение/запись в/из Arduino на /dev/ttyUSB
Цитата:
|
|
30.10.2014, 13:49 | #20 | |
Member
Регистрация: 25.10.2013
Сообщений: 80
Вес репутации: 0 |
Re: Одновременные чтение/запись в/из Arduino на /dev/ttyUSB
Цитата:
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|