11.08.2015, 00:01 | #1 |
Junior Member
|
Передача команд с USART (usb) на внешний сервер
Доброе время суток. Есть такая задача, передать данные,которые поступают от микроконтроллера (по структуре как Ардуино) подключенного либо к USB (предпочтительнее) либо к USART, на внешний сервер (MajorDomo) по аналогии (http://majordomo.smartliving.ru/Main/DlinkHub).
Строка выдаваемая микроконтроллером имеет вид GET http://<полный_путь_с_парамет рами> т.е. команда, данные состояние и пр. Как вариант полная строка "GET /objects/?object=sensorGarage&op=m&m=statusChange d&status=%i HTTP/1.0", (int)current_garage); " Т.е на сервер (MajorDomo) передается текущее состояние датчика (гаражная дверь). Также с сервера могут поступать команды на управление Пинами микроконтроллера. Строка от внешнего сервера такая http://192.168.0.44/?ON,4 т.е активируем 4 пин в 1 или OFF в 0. В наличии имеются 2 роутера MR3020 с прошивкой CuberWRT. Пробовал модуль Ser2net, но команды с таким форматом не проходят. Нужна сквозная передача команд как на порты USB (UART) так и обратно. Прошу подсказать как это можно реализовать, либо какой модуль позволит это выполнить... бьюсь 3 день никак .. Спасибо! |
11.08.2015, 07:41 | #2 |
Senior Member
Регистрация: 20.09.2014
Сообщений: 145
Вес репутации: 0 |
Re: Передача команд с USART (usb) на внешний сервер
Поставьте временный костыль:
istarik.ru/blog/esp8266/29.html#cut Ардуина-esp8266 ===== wifi ===== mr3020-inet |
11.08.2015, 08:23 | #3 |
Junior Member
|
Re: Передача команд с USART (usb) на внешний сервер
Такой вариант конечно хорош. Но нет ESP8266.
Использовать роутер с одной стороны проще тем что все внутри и простое подключение, также есть дополнительные функции. |
11.08.2015, 15:17 | #4 |
Junior Member
|
Re: Передача команд с USART (usb) на внешний сервер
Уточняю: Есть такой bash скрипт
#!/bin/sh ARDUINO_PORT=/dev/usb/ttu0 (порт ардуино в зависимости от его определения ACM /USB и пр) BASE_URL=http://192.168.0.17 (адрес внешнего сервера куда будут отправлятся данные) stty -F $ARDUINO_PORT raw speed 115200 while read LINE; do date echo "$LINE" MATCH=${LINE:0:5} #echo "$MATCH" if [ "$MATCH" = "GET /" ]; then echo "MATCHED: $MATCH" URL=${LINE/GET /} URL=${URL%%?????????} URL="$BASE_URL$URL" echo "URL: $URL" wget -q -T 5 -O - $URL fi done < $ARDUINO_PORT Как этот скрипт пределать под MR2030 и установить его автозапуск. Данный скрипт будет полезен многим кто хочет использовать Ардуино и TP Link MR3020 вместо InetShilds поскольку проще и что немало важно дешевле а также функцианальнее. Прошу помочь. |
11.08.2015, 17:58 | #5 | |
Senior Member
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,125
Вес репутации: 1311 |
Re: Передача команд с USART (usb) на внешний сервер
Цитата:
__________________
istarik.ru |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|