Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам > OpenWRT/LEDE

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 10.02.2016, 10:34   #91
uni
Senior Member
 
Аватар для uni
 
Регистрация: 29.10.2013
Адрес: Екатеринбург, Нижневартовск, Энергодар
Возраст: 43
Сообщений: 573
Вес репутации: 599
uni has a spectacular aura aboutuni has a spectacular aura about
Отправить сообщение для uni с помощью ICQ
По умолчанию Re: MR3020 + arduino. как работать с UART ?

А файл-то сам где? На роутере будет или на Ардуине?
__________________
Россия навсегда!
uni вне форума   Ответить с цитированием
Старый 10.02.2016, 10:41   #92
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: MR3020 + arduino. как работать с UART ?

Цитата:
Сообщение от V.A.S.t Посмотреть сообщение
Гуру, к вам вопрос. Я в линукс-системах не разбираюсь. По инструкции настроил соединение между ардуино и роутером по UART, посредством Ser2net. На роутере крутится веб-страница. Все работает шикарно, но хотелось бы возможности собирать логи с ардуины, например записывать в файл показания температуры или отключение-включение света в какой-либо комнате. Со стороны ардуино представляю, как это сделать, а вот со стороны OpenWrt как то не совсем. Я так понимаю ser2net настроен на определенный порт, который потом слушается через PHP скрипт, как сделать несколько разных портов, один для взаимодействия со страницей, а второй для принятия логов? И каким, собственно, софтом можно сохранять эти логи?
З.Ы. настраивал по этой инструкции.
Можно все это сделать без ser2net
Admin вне форума   Ответить с цитированием
Старый 11.02.2016, 03:51   #93
V.A.S.t
Junior Member
 
Регистрация: 10.02.2016
Сообщений: 5
Вес репутации: 0
V.A.S.t is an unknown quantity at this point
По умолчанию Re: MR3020 + arduino. как работать с UART ?

Цитата:
Сообщение от Admin Посмотреть сообщение
Модуль достаточно интересный, но у меня уже все настроено и успешно работает через ser2net Не хочется все переделывать, да и хотелось бы все же разобраться, как можно сделать самому.
Цитата:
Сообщение от uni Посмотреть сообщение
А файл-то сам где? На роутере будет или на Ардуине?
Файл на роутере, т.к. к нему подключена флешка и места для всего достаточно. Можно использовать тот же sqlite, но как в него передавать информацию не представляю. Вижу это все примерно таким образом:
В данной реализации (как у меня все работает сейчас) web-страница (если она открыта) каждые две секунды опрашивает ардуино посредством PHP и через ser2net. После чего выводит полученные данные на экран.
Для реализации ведения логов возможны два варианта:
1. Нежелательный вариант. Ардуина сохраняет события в своей памяти и раз в определенный промежуток времени выдает роутеру по запросу. Нежелателен, потому что данные надо хранить какое то время в памяти МК, причем каждую с меткой времени, что усложняет скетч и память МК не безгранична. Отсюда возможны проблемы.
2. Предпочтительный вариант. Ардуина при выполнении каких либо событий отчитывается об этом через UART, а роутер ловит эти данные, ставит время и записывает куда-нибудь. Здесь очень просто все делается со стороны МК, потому что достаточно отправить код события, а роутер сделает всю остальную работу.
Я так понимаю, на роутере надо запустить какого-то демона, который будет постоянно отлавливать приходящие на порт данные, анализировать их и записывать в файл/sqlite. Если не прав, поправьте
Вот тут возникает вопрос: не будет ли конфликта между этим демоном и запрашивающей данные страницей, порт-то один...
Еще проблема в том, что не особо силен в программировании. В PHP, думаю, смогу разобраться, а вот C# изучать нет ни времени ни желания, да и не зачем мне это
В общем, был бы крайне признателен за какой либо мануал по созданию такого демона, желательно на русском языке

Последний раз редактировалось V.A.S.t; 11.02.2016 в 04:53.
V.A.S.t вне форума   Ответить с цитированием
Старый 11.02.2016, 04:02   #94
V.A.S.t
Junior Member
 
Регистрация: 10.02.2016
Сообщений: 5
Вес репутации: 0
V.A.S.t is an unknown quantity at this point
По умолчанию Re: MR3020 + arduino. как работать с UART ?

Похоже проще будет купить SD шилд и писать на карту памяти Не так удобно, зато без заморочек )))
V.A.S.t вне форума   Ответить с цитированием
Старый 11.02.2016, 13:46   #95
khseal
Senior Member
 
Регистрация: 19.09.2014
Сообщений: 220
Вес репутации: 0
khseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of light
По умолчанию Re: MR3020 + arduino. как работать с UART ?

Хз, я для данных использую это https://ru.wikipedia.org/wiki/RRDtool
Данные пешу в оперативную память и кидаю бэкап в сеть.
Т.к. у меня флешка почему-то отваливается если на нее часто писать. Виню в этом USB концентратор т.к. менял все кроме него.
khseal вне форума   Ответить с цитированием
Старый 16.02.2016, 09:36   #96
V.A.S.t
Junior Member
 
Регистрация: 10.02.2016
Сообщений: 5
Вес репутации: 0
V.A.S.t is an unknown quantity at this point
По умолчанию Re: MR3020 + arduino. как работать с UART ?

А как ты считываешь данные с порта?
V.A.S.t вне форума   Ответить с цитированием
Старый 17.02.2016, 13:16   #97
khseal
Senior Member
 
Регистрация: 19.09.2014
Сообщений: 220
Вес репутации: 0
khseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of light
По умолчанию Re: MR3020 + arduino. как работать с UART ?

Цитата:
А как ты считываешь данные с порта?
Долго думал как грамотно считать с порта, но так и не придумал в итоге у меня такой колхоз
Цитата:
while [ 1 ];
do
echo 'LOADING...'
printf "X" > /dev/ttyACM4
timeout -s 9 10 cat /dev/ttyACM4 >> /var/log/data
CH1=`cat /var/log/data | awk -F":" '/ch1/ {print $1}' | tail -n 1`
CH2=`cat /var/log/data | awk -F":" '/ch2/ {print $1}' | tail -n 1`
DUST=`cat /var/log/data | awk -F":" '/dust/ {print $2}' | tail -n 1`
if [ "$CH1" = ch1 ] && [ "$CH2" = ch2 ] && [ "$DUST" ]
then
break
fi
sleep 10
done
У меня в цикле еще происходит проверка данных, т.к. данные иногда могут быть получены не все. Особенно при первом старте. Хотя надо на ардуине еще кое что подкрутить.

Последний раз редактировалось khseal; 17.02.2016 в 13:18.
khseal вне форума   Ответить с цитированием
Старый 17.02.2016, 13:43   #98
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: MR3020 + arduino. как работать с UART ?

Использую утилиту "Serp"
Admin вне форума   Ответить с цитированием
Старый 17.02.2016, 15:53   #99
uni
Senior Member
 
Аватар для uni
 
Регистрация: 29.10.2013
Адрес: Екатеринбург, Нижневартовск, Энергодар
Возраст: 43
Сообщений: 573
Вес репутации: 599
uni has a spectacular aura aboutuni has a spectacular aura about
Отправить сообщение для uni с помощью ICQ
По умолчанию Re: MR3020 + arduino. как работать с UART ?

А я читаю так. Вот тут модифицированный вариант.
__________________
Россия навсегда!
uni вне форума   Ответить с цитированием
Старый 17.02.2016, 15:54   #100
khseal
Senior Member
 
Регистрация: 19.09.2014
Сообщений: 220
Вес репутации: 0
khseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of lightkhseal is a glorious beacon of light
По умолчанию Re: MR3020 + arduino. как работать с UART ?

Цитата:
В отличии от всех команд для чтения и записи, serp выполняется быстрей и по этой причине не теряет первые несколько байт данных. Это и стало причиной написание своей более универсальной команды
Вот кстати столкнулся с такой же проблемой. В итоге добавил небольшую паузу в ардуине при отправке и все стало ок.
Цитата:
Утилита доступна только для CyberWrt
Огорчает только этот нюанс. А есть где-нибудь исходники которые можно собрать под Openwrt?
Цитата:
А я читаю так. Вот тут модифицированный вариант.
А я так и не осилил modbus. Хотя надо бы...

Последний раз редактировалось khseal; 18.02.2016 в 02:18.
khseal вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 07:30. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика