![]() |
|
![]() |
#1 |
Junior Member
Регистрация: 23.10.2012
Сообщений: 13
Вес репутации: 0 ![]() |
![]()
Всем привет.
Есть задачка. Не могу справиться ... mr3020 openwrt хранит данные с счетчиков воды в sqlite. (полученные по wi-fi с esp 8266) И содержит на борту несколько скриптов, количество которых будет увеличиваться. К примеру по выполнению ./to.sh (to- temperature outdoor) выводиться значение температуры, скажем 25. А по выполнению ./kc.sh (kc-kitchen cold) получаю на экран последнее значение хранящееся в базе счетчика холодной воды в кухне. В планах разработки иметь "коробочку" с N кнопками. Которые подключены к ардуине, та в свою очередь имеет 2-х строчный дисплей. И так в состоянии покоя скажем на дисплее время (этот момент пока опустим) Скажем выходя из дома я хочу узнать температуру. Нажимаю на "коробочке" кнопку и на дисплей выводиться "ответ скрипта" В чем на данный момент заключается проблема? Arduino не получает ответ на команду serial.println("./root/to.sh") от openwrt по UART. При этом если я цепляю на UART комп. То среди "мусора" лога загрузки, точнее после того как он перестанет сыпать. Команда ./root/to.sh успешно возвращает мне значение, скажем 25. Уверен что дело в скетче. Выкладывать да же особо нечего. Bounce использовал для кнопки. Кстати если по умолчанию содержимое serial кидать на LCD, то на экране я наблюдаю лог загрузки. И да же если в SSH выполнить ./to.sh > /dev/ttyATH0 то дисплей ардуины высветит заветное "25". Уже запутался в скетчах, но умудрялся получать что то вроде /bin/ash not found. Насройка порта в роутере: stty -F /dev/ttyATH0 cs8 115200 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts -hupcl скорость 115200 думаю потому что именно на этой скорости по uart с компа команды выполняются. Вообщем прошу помощи у ADMINa и stD. |
![]() |
![]() |
![]() |
#2 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Самого главного не вижу.
Где код ожидания пакета для ардуино и скрипт ожидания пакета для openwrt Какой USB мост у ардуино? |
![]() |
![]() |
![]() |
#3 |
Junior Member
Регистрация: 23.10.2012
Сообщений: 13
Вес репутации: 0 ![]() |
![]()
Если я праильно понимаю USB мост я не использую. Подключаюсь через rx tx gnd на uart роутера.
В любом случае у меня arduino nano. Не пойму какой скрипт должен ожидать пакет на openwrt. (ведь кидая команды с компа на все тот же uart в роутере ничто не ждет команд) А вот с arduino сложнее. if (bouncer.update()) { //если произошло событие if (bouncer.read()==0) { //если кнопка нажата Serial.println("./root/kh.sh"); if (serial.avarible() > 0 ) { str = Serial.readStringUntil('\n'); } lcd.clear(); lcd.print(str); Serial.println(str); } } Конструкция очень примерная. И почему то мне уже кажется что нужно и проще использовать php только как всегда его выполнять не пойму?( при запуске php в цикле) |
![]() |
![]() |
![]() |
#4 | |||
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Цитата:
Цитата:
Цитата:
|
|||
![]() |
![]() |
![]() |
#5 |
Senior Member
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1312 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
А если так /root/kh.sh
__________________
istarik.ru |
![]() |
![]() |
![]() |
Метки |
arduino, bash, openwrt, serial, uart |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|