Arduino Mega Server
Модератор: Alex
Re: Arduino Mega Server
теперь, далее скопировал в маджордомо файлы. где и что далее запускать? маджордомо запущен. там видно только его. с сервера пингуется амс (192.168.2.8). что запустить чтоб получить картинки амс?
-
- Сообщения: 5
- Зарегистрирован: Ср дек 23, 2015 10:51 pm
- Благодарил (а): 2 раза
- Поблагодарили: 0
Re: Arduino Mega Server
Спасибо Alex и Gorokhov. Запустил на версии IDE 1.7.8. Возникла другая проблема: роутер не видит подключение. Грешил на W5100, все мограет но не пингуется даже, но на работе на другом оборудовании проверил, все работает. Итог: Alex писал выше, на Zyxel не видит шилд 5100. Если сверху подключить древний свич типа D- link, все поднимается. Будем думать.
-
- Сообщения: 12
- Зарегистрирован: Пт дек 18, 2015 8:28 pm
- Благодарил (а): 4 раза
- Поблагодарили: 0
Re: Arduino Mega Server
Всем привет, у меня вопрос: я хочу уже использовать платфому меги и 014 скетч, поменять полностью интерфейс веба, получать и отправлять данные по нескольким пинам, и мне интересно, стабильно ли все будет работать, или лучше дождатся последующих версий?
-
- Сообщения: 2357
- Зарегистрирован: Пт апр 20, 2012 12:53 pm
- Благодарил (а): 42 раза
- Поблагодарили: 262 раза
Re: Arduino Mega Server
А я то думаю почему пользователи так активно скачивают 0.13 версию, когда есть 0.14. Оказывается они не видят разницы.но это все таки ваше была ошибка. зачем было _013 выставлять?
Там же написано
0.14 — последняя актуальная версия
0.13 — архивная версия
Куда уже понятнее?
В меню «настройки» АМС есть галочка — тандемный режим. Нажимаете и АМС начинает использовать файлы на MajorDoMo. Этот режим нужен только для разработки — вам, наверное, рановато.теперь, далее скопировал в маджордомо файлы. где и что далее запускать? маджордомо запущен. там видно только его. с сервера пингуется амс (192.168.2.8). что запустить чтоб получить картинки амс?
Вот-вот скорее всего это проблема Зукселя.Если сверху подключить древний свич типа D- link, все поднимается. Будем думать.
0.14 это лучшее и очень достойное из всего, что было и ждать нет смысла — делайте на основе этой версии. Хотя прогресс неостановим и следующие могут быть лучше.Всем привет, у меня вопрос: я хочу уже использовать платфому меги и 014 скетч, поменять полностью интерфейс веба, получать и отправлять данные по нескольким пинам, и мне интересно, стабильно ли все будет работать, или лучше дождатся последующих версий?
-
- Сообщения: 51
- Зарегистрирован: Ср сен 18, 2013 12:21 am
- Благодарил (а): 9 раз
- Поблагодарили: 7 раз
Re: Arduino Mega Server
А можно увидеть строку запроса ко второму примеру? Хотя насколько я понял, то это выглядит примерно так?SPbDima писал(а):Парсинг get запроса:Второй вариант с отдельной процедуройКод: Выделить всё
(не тестировал, но должно работать) else if (StrContains(HTTP_req, "GET /renamefile&")) { sendXmlAnswer(cl); strtok(HTTP_req, "GET /&"); renameFile(cl, String(strtok(NULL, "GET /&")), String(strtok(NULL, "GET /&")), String(strtok(NULL, "GET /&")));//каталог, старый файл, новый файл }
Код: Выделить всё
void procedure(EthernetClient cl) { String monthCount=strtok(HTTP_req, "GET /&"); //первый параметр отвечает за количество запрашиваемых месяцев char* numSensor=strtok(NULL, "GET /&"); //второй параметр - порядковые номера запрашиваемых сенсоров через запятую for(String nSensor=strtok(numSensor, ","); nSensor!=NULL; nSensor=strtok(NULL, ",")) { byte num=nSensor.toInt();//число месяцев в формате int
Код: Выделить всё
.../&10/&1,3,5
Я помню, когда Сергей только первые скетчи под W5100 выкладывал, там ограничения на размер передаваемых параметров был ограничен 32-мя символами. Вполне хватало, а сейчас вообще ЖИР в 64))) В реалиях запросов МД действительно хватит и 32 символов, если переменные указывать не "red, green, blue" а "r, g, b" например.SPbDima писал(а): По поводу передачи параметра через "имя=значение", не забывайте что размер буфера запроса и команды 128 и 64 символов соответственно, поэтому использовать "имя" желательно только при острой необходимости.
Ммм...хотите сказать AMS полностью реализует Ваши фантазии? Настроить его на автономную работу конечно не плохо...но как же плюшки проекта Сергея?SPbDima писал(а):МД не использую, поэтому нюансов не знаю.
SPbDima писал(а): Если необходимо использовать "имя", можно сделать функцию разбивающая строчку "имя=значение" по "=" и возвращающая отдельно "имя" и "значение".
В моей функции это и реализовано, структура добавлена только для удобства обращения.
Спорить не буду, тестов не проводил.SPbDima писал(а):Использовать ".substring(0,buffer1.indexOf('='));", насколько я понимаю, не лучший вариант по скорости.
-
- Сообщения: 113
- Зарегистрирован: Пн окт 19, 2015 8:27 am
- Благодарил (а): 9 раз
- Поблагодарили: 21 раз
Re: Arduino Mega Server
СпойлерПоказать
Xseon писал(а):А можно увидеть строку запроса ко второму примеру? Хотя насколько я понял, то это выглядит примерно так?SPbDima писал(а):Парсинг get запроса:Второй вариант с отдельной процедуройКод: Выделить всё
(не тестировал, но должно работать) else if (StrContains(HTTP_req, "GET /renamefile&")) { sendXmlAnswer(cl); strtok(HTTP_req, "GET /&"); renameFile(cl, String(strtok(NULL, "GET /&")), String(strtok(NULL, "GET /&")), String(strtok(NULL, "GET /&")));//каталог, старый файл, новый файл }
Код: Выделить всё
void procedure(EthernetClient cl) { String monthCount=strtok(HTTP_req, "GET /&"); //первый параметр отвечает за количество запрашиваемых месяцев char* numSensor=strtok(NULL, "GET /&"); //второй параметр - порядковые номера запрашиваемых сенсоров через запятую for(String nSensor=strtok(numSensor, ","); nSensor!=NULL; nSensor=strtok(NULL, ",")) { byte num=nSensor.toInt();//число месяцев в формате int
Совсем не читабельно. Конечно когда это "твое детище", можно хоть азбуку морзе внедрить, вопрос про юзабилити.Код: Выделить всё
.../&10/&1,3,5
запрос получается: GET /LogTSensor&10&1,3,5&nocache=3333
Разве юзабилити будет лучше у запроса GET /LogTSensor&n=10&m=1,3,5&nocache=3333 ?
Если рассмотреть твой запрос:
GET /rgb=1&r=10&g=110&b=100&a=40
то, ответь на вопросы:
1. результаты запросов GET /rgb=1&r=50&g=0&b=100&a=40 и GET /rgb=1&a=40&r=50&g=0&b=100 будут аналогичны?
2. Разве менее читабельно GET /rgbа=1&50&0&100&40, либо GET /rgbа=50,0,100,40, либо GET /rgbа&50,0,100,40?
со следующим парсингом color(led1, strtok(NULL, "GET /&"), strtok(NULL, "GET /&"), strtok(NULL, "GET /&"));// n-led, red, green, blue
СпойлерПоказать
Xseon писал(а):Я помню, когда Сергей только первые скетчи под W5100 выкладывал, там ограничения на размер передаваемых параметров был ограничен 32-мя символами. Вполне хватало, а сейчас вообще ЖИР в 64))) В реалиях запросов МД действительно хватит и 32 символов, если переменные указывать не "red, green, blue" а "r, g, b" например.SPbDima писал(а): По поводу передачи параметра через "имя=значение", не забывайте что размер буфера запроса и команды 128 и 64 символов соответственно, поэтому использовать "имя" желательно только при острой необходимости.Ммм...хотите сказать AMS полностью реализует Ваши фантазии? Настроить его на автономную работу конечно не плохо...но как же плюшки проекта Сергея?SPbDima писал(а):МД не использую, поэтому нюансов не знаю.
Алекс, при помощи АМС, позволил использовать весь потенциал ардуино через веб-интерфейс, так что МД, для меня, стало ненужным костылем.
Логи, графики, управление? - пожалуйста!
А, если =), допишу файловый менеджер, то уже АМС...
СпойлерПоказать
Xseon писал(а):SPbDima писал(а): Если необходимо использовать "имя", можно сделать функцию разбивающая строчку "имя=значение" по "=" и возвращающая отдельно "имя" и "значение".
В моей функции это и реализовано, структура добавлена только для удобства обращения.Спорить не буду, тестов не проводил.SPbDima писал(а):Использовать ".substring(0,buffer1.indexOf('='));", насколько я понимаю, не лучший вариант по скорости.
P.S.: я с большим удовольствием буду писать код с хорошим юзабилити, но только если в нём будет смысл, а просто перегружать маленькую ардуинку громоздким и никому не нужным кодом я не собираюсь.
Re: Arduino Mega Server
Подскажите, рассматривался вопрос о отправки смс (даже лучше эл.письма) на телефон? На пример при превышении заданного порогового значения сенсоров. Если нет, то как можно его реализовать.
-
- Сообщения: 81
- Зарегистрирован: Пт окт 02, 2015 7:47 pm
- Благодарил (а): 7 раз
- Поблагодарили: 4 раза
Re: Arduino Mega Server
смотрите мое сообщение по теме выше на пару страниц...я сделал это с помощью сервиса temboo.com..Pitti писал(а):Подскажите, рассматривался вопрос о отправки смс (даже лучше эл.письма) на телефон? На пример при превышении заданного порогового значения сенсоров. Если нет, то как можно его реализовать.
других рабочих вариантов я пока не нашел уже за более чем год поисков...
-
- Сообщения: 2357
- Зарегистрирован: Пт апр 20, 2012 12:53 pm
- Благодарил (а): 42 раза
- Поблагодарили: 262 раза
Re: Arduino Mega Server
Во-во и я об этом. Сколько ни пытаюсь донести эту мысль, народ в своей массе никак не «врубится» в эту фишку. Правда для меня М стал костылём на 80%, а на 20 всё-таки без него не обойтись.Алекс, при помощи АМС, позволил использовать весь потенциал ардуино через веб-интерфейс, так что МД, для меня, стало ненужным костылем.