![]() |
![]() |
#21 | |
Junior Member
Регистрация: 24.08.2013
Сообщений: 2
Вес репутации: 0 ![]() |
![]() Цитата:
на mbserv -p 3425 -d /dev/ttyUSB0 -b 57600 -deb отвечает ======================================== =============== Gatawey-server TCP to Modbus RTU for Arduino V 0.3a Copyright (C) 2013 by Sh.A.S. ======================================== =============== Usege argument: -h or -? for help php ставил, на <?php phpinfo ?> страничка с информацией выходит в Arduino modbus_configure(57600, ID_MODBUS, 0, MB_REGS, tab_reg); потому что на прямую к роутору подключаю (через USB концентратор) еще порт инициализирую при загрузке вот так: stty -F /dev/ttyUSB0 cs8 57600 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts -hupcl |
|
![]() |
![]() |
![]() |
#23 | |
Senior Member
Регистрация: 16.09.2012
Адрес: Irkutsk
Сообщений: 555
Вес репутации: 1605 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
2 tuxmen
Цитата:
Сервер в режиме ожидания. Шлите ему команды с web страницы и увидите диалог.. Если на web странице вы видите "Сообщение от сервера: Error" значит не настроен php. При загрузке страница обращается к веб серверу используя ajax и json строки доустановите пакеты Код:
opkg install php5-cgi opkg install php5-mod-gd opkg install php5-mod-session opkg install php5-mod-json opkg install php5-mod-sockets Заметил в архиве несколько неточностей 1. в index.html поправить Код HTML:
<script type="text/javascript" src="js/jquery.js"></script> PHP код:
Код:
;display_errors = on display_errors = off пояснение: web страница в ответ ожидает строку в формате json, а в случае установки display_errors = on в php.ini, возникает внутренняя ошибка не верного формата т.к. при такой установке сообщение от php на веб страницу идут в текстовом формате, а не в json. В данном случае эта ошибка ни как себя не проявляет, а просто игнорируется. Как результат нет обмена между web страницей и сервером (php). Такую ситуации можно отловить специальными средствами - плагинами такими например как firebug для mozilla. Когда мы отключаем вывод ошибок на дисплей display_errors = off в интерпритаторе php уже не возникает вн. ошибки. dsp.php в случае возникновения ошибок записывает их в переменную $errtxt и затем формирует json строку, которая передается на web страницу в одну из переменных json строки. после этих манипуляций на web странице будет появляться сообщения вроде этих Код:
Сообщение от сервера: Can't connect socket. Gateway-Server Connection refused Последний раз редактировалось andr128; 01.09.2013 в 21:52. |
|
![]() |
![]() |
![]() |
#24 |
Junior Member
Регистрация: 15.09.2013
Сообщений: 13
Вес репутации: 0 ![]() |
![]()
Приветствую всех. Топик-стартеру огромное спасибо за интересный материал. Решил подключиться к обсуждению проекта.
Несколько лет назад я принимал участие в написании вэб-интерфейса для роутера в котором был модуль управления реле. Проект не содержал php и прочих сложностей ![]() хочу предложить всем вариант посмотреть в сторону интерпритатора haserl. Зачастую его почему-то обходят стороной, хотя мне кажется для домашней автоматизации оно самое то. Пример нашего проекта (вэб-морда хакерского роутера) с использованием haserl и модульной архитектурой можно взять тут - http://www.flyrouter.net/downloads/s..._-2_mipsel.ipk В случае использования haserl, достаточно будет встроенного в busybox httpd с включенной поддержкой cgi. Отпадет необходимость кучи жирных программ и как следствие - подключения USB накопителя. Идеальный вариант - TP-Link MR3020. На консоль вешаем преобразователь для RS485 с коммутатором - пока роутер грузится, дебаг сообщения никак не мешают. Как только роутер загрузился, коммутатор по управлению с любого GPIO/LED подключает преобразователь RS485. USB порт остается свободным для других задач. Вот еще из старых запасов ссылок нашел преобразователь с автоматическим включением передачи - http://adm5120.narod.ru/RS485.gif. Схему и печатку коммутатора выложу на днях, как буду на работе. Буду рад любым комментариям. Спасибо. Последний раз редактировалось ZigFisher; 15.09.2013 в 02:55. |
![]() |
![]() |
![]() |
#25 |
Senior Member
Регистрация: 16.09.2012
Адрес: Irkutsk
Сообщений: 555
Вес репутации: 1605 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Вы бы раскрыли тему. А то не совсем понятно что и как.
Перепаковал webadmin_-2_mipsel.ipk (по вашей ссылке) в data.zip посмотрел содержимое и не чего не понял ![]() хе-хе вот что это такое: http://haserl.sourceforge.net/index.html http://haserl.sourceforge.net/manpage.html Последний раз редактировалось andr128; 18.09.2013 в 20:35. |
![]() |
![]() |
![]() |
#26 |
Senior Member
Регистрация: 16.09.2012
Адрес: Irkutsk
Сообщений: 555
Вес репутации: 1605 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Если идти по этому пути тогда нужно писать программу которая будет работать как cgi приложение. Чёто нет пока желания вникать в эти дебри ради компактности.
8 mb флэш память решает уже проблемы с нехваткой памяти. на php все-же гибче и удобнее писАть. |
![]() |
![]() |
![]() |
#27 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Я сейчас использу uhttpd + cgi
Тестовый проект Управляю Arduino из веб интерфейса Еще из интерфейса произвожу настройки wireless + network Вообщем можно что угодно делать cgi скриптами, файлами управлять, папки создавать/удалять, порты читать /писать и т.д. |
![]() |
![]() |
![]() |
#28 |
Junior Member
Регистрация: 15.09.2013
Сообщений: 13
Вес репутации: 0 ![]() |
![]()
Через пару недель, как привезут мне частотный регулятор оборотов двигателя с RS-485 я таки возьму на себя смелость попытаться реализовать задуманное
![]() О результатах конечно отпишусь здесь. |
![]() |
![]() |
![]() |
#29 | |
Senior Member
Регистрация: 16.09.2012
Адрес: Irkutsk
Сообщений: 555
Вес репутации: 1605 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() Цитата:
Как вы отправляете и принимаете команды ардуино. |
|
![]() |
![]() |
![]() |
#30 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9824 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Отправляю пост запросом скрипту AWK
Сам скрипт выглядит вот так Код:
#!/usr/bin/awk -f function unescape(s) { gsub(/\+/," ",s) res = "" do { p = match(s,/%[0-9a-fA-F]{2}/) if(p>0) { res = res substr(s,0,p-1) sprintf("%c",0+("0x" substr(s,p+1,2))) s = substr(s,p+3) } } while(p>0) return res s } BEGIN { RS = "&" FS = "=" } { if($1 == "SERIAL_DATA" ) print unescape($2) > "/dev/ttyUSB0" } END { print "202" } |
![]() |
![]() |
![]() |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|