Arduino Mega Server

Модератор: Alex

Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server

Сообщение Alex » Чт июл 28, 2016 8:55 pm

Посоветуйте, пожалуйста, из-за чего могут быть ошибки при компиляции arduino_mega_server. Arduino 1.6.5. Взял уже свеже скачанный скетч без изменений, все библиотеки на месте, как и раньше.
Могу только предположить, что вы что-то делаете не по инструкции

http://hi-lab.ru/arduino-mega-server/do ... tion/setup
Аватара пользователя
uni
Сообщения: 191
Зарегистрирован: Вс июл 26, 2015 9:21 pm
Откуда: Екатеринбург
Благодарил (а): 4 раза
Поблагодарили: 7 раз
Контактная информация:

Re: Arduino Mega Server

Сообщение uni » Вт авг 02, 2016 9:10 am

Был, занят, вернулся опять к исследованиям в плане удобной разработки по проекту. На днях у меня получилось запустить мелкую операционную систему (scmRTOS) на Arduino MEGA2560 и задать в качестве процесса простую реализацию веб-сервера (из примера к Arduino). Заработало.
Сейчас пытаюсь сделать простой telnet сервер и оболочку командную, чтобы управлять Arduino'й извне.
По ресурсам. Для одного процесса ушло на всю программу около 800 байт ОЗУ и 15 Кбайт флеша. Это если использовать классы из библиотеки Arduino, но они избыточны в некоторых применениях.
Если интересно, как получится telnet сервер и небольшое управление - выложу код в сеть.

Для чего нужна ОСь. Чтобы можно было параллельно хотя бы иметь: telnetd, ftpd и httpd. Одним - видим что внутри, вторым обновляем конфигурацию и прошивку, а третий - визуализация.
Россия навсегда!
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server

Сообщение Alex » Вт авг 02, 2016 9:20 am

Был, занят, вернулся опять к исследованиям в плане удобной разработки по проекту.
Это радует. Грамотные специалисты у нас в дефиците. И тех, кто что-то делает, тоже можно пересчитать по пальцам рук.

Единственный комментарий — ваши разработки немного сложноваты для среднестатистического ардуинщика.
Аватара пользователя
uni
Сообщения: 191
Зарегистрирован: Вс июл 26, 2015 9:21 pm
Откуда: Екатеринбург
Благодарил (а): 4 раза
Поблагодарили: 7 раз
Контактная информация:

Re: Arduino Mega Server

Сообщение uni » Вт авг 02, 2016 9:42 am

Да, это не для среднестатистического. Но я могу объяснить, если это будет интересно для желающих. Просто можно будет разбить потребителей на две категории. Одни пользователи, которые меняют конфигурационные файлы и прочие настройки (с помощью файлов на флешке), могут прошить мк, а вторые - "низкоуровневые" программеры, которые могут "допилить" код, отладить его.

Вообще, у меня цель - сделать мини ПЛК, т.е. добавить ещё и скриптовый движок внутри (какой-нибудь стандартный язык для промышленного программирования). Для этой всей кухни и нужна ОСь.

Также на этой же конфигурации можно сделать другие вещи: шлюз Modbus-TCP в Modbus-RTU, просто коммутатор Modbus-RTU. Эти штуки нужны для создания разветвлённой сети передачи данных на основе Modbus (потому что есть очень много софта его поддерживающего). Если ещё сделать типовые модули ввода-вывода, то получится комплект для простой почти промышленной автоматизации.

Код только сложноват и у меня не хватает времени всё собрать воедино.
Россия навсегда!
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server

Сообщение Alex » Вт авг 02, 2016 9:52 am

Да, это не для среднестатистического. Но я могу объяснить, если это будет интересно для желающих.
Идею поднять технический уровень пользователей я могу только приветствовать. Наверное нужны какие-нибудь статьи (на вашем сайте) и простые примеры для вхождения в технологию.

Но хочу предупредить, что по опыту это трудная и неблагодарная работа.
За это сообщение автора Alex поблагодарил:
murkur (Вт авг 02, 2016 11:10 am)
Рейтинг: 1.16%
Аватара пользователя
uni
Сообщения: 191
Зарегистрирован: Вс июл 26, 2015 9:21 pm
Откуда: Екатеринбург
Благодарил (а): 4 раза
Поблагодарили: 7 раз
Контактная информация:

Re: Arduino Mega Server

Сообщение uni » Вт авг 02, 2016 9:59 am

Я могу потом ещё одну статью на хабре написать, по результатам, так сказать.

Но некоторые вещи из моих изысканий уже можно взять для использования. К примеру, я значительно модифицировал отладочную функцию StreamPrint_progmem(). Теперь она умеет выводить текущее время (если оно есть, конечно). Добавил макрос FSTR() по аналогии с PSTR(), чтобы можно было использовать стандартные методы вывода так: .println( FSTR( "строка" ) ). В таком виде строка не только будет во флеш, но и иметь тип указателя, совместимый с библиотечными функциями. Вечером покажу мой вариант реализации.
Россия навсегда!
Аватара пользователя
uni
Сообщения: 191
Зарегистрирован: Вс июл 26, 2015 9:21 pm
Откуда: Екатеринбург
Благодарил (а): 4 раза
Поблагодарили: 7 раз
Контактная информация:

Re: Arduino Mega Server

Сообщение uni » Вт авг 02, 2016 6:21 pm

Вот как выглядят исходники: TelnetServer. Пока это заготовка, но можно оценить сложность проекта.

Что касается FSTR(), то его описание можно найти тут. Отладочный вывод делается по особому, с использованием класса CConsole (это временно). В нём можно посмотреть каким образом делается вывод, который выглядит вот так:

Код: Выделить всё

1970.01.01 00:00:00.000 [DEBUG] void setup()
1970.01.01 00:00:00.000 [DEBUG] Server IP is 192.168.0.10.
1970.01.01 00:00:00.001 [DEBUG] void CTelnetd::Setup()
1970.01.01 00:00:00.006 [DEBUG] void CProcess::Setup().
1970.01.01 00:00:00.000 [DEBUG] void setup()
1970.01.01 00:00:00.000 [DEBUG] void setup()
1970.01.01 00:00:00.000 [DEBUG] Server IP is 192.168.0.10.
1970.01.01 00:00:00.001 [DEBUG] void CTelnetd::Setup()
1970.01.01 00:00:00.006 [DEBUG] void CProcess::Setup().
 
Я обычно добавляю __PRETTY_FUNCTION__ в отладочный вывод, но в данном случае пришлось от этого отказаться, т.к. по-видимому не удастся поместить сгенерированное транслятором имя функции во флеш и каждый вывод съедал бы ОЗУ. Жаль.
Россия навсегда!
Agafonq2
Сообщения: 7
Зарегистрирован: Ср авг 17, 2016 3:44 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Arduino Mega Server

Сообщение Agafonq2 » Ср авг 17, 2016 3:50 pm

Alex писал(а):
Посоветуйте, пожалуйста, из-за чего могут быть ошибки при компиляции arduino_mega_server. Arduino 1.6.5. Взял уже свеже скачанный скетч без изменений, все библиотеки на месте, как и раньше.
Могу только предположить, что вы что-то делаете не по инструкции

http://hi-lab.ru/arduino-mega-server/do ... tion/setup
Поддерживаю предыдущего оратора. Ошибки появляются.
Брал версию 16 и 14.
Arduino: 1.6.10 (Windows 7), Плата:"Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)" W5100
Делаю по инструкции. Хотя как там можно сделать не так не представляю.
Есть ли отдельная ветка с возможностью решить тот или иной вопрос с установкой?
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server

Сообщение Alex » Ср авг 17, 2016 4:14 pm

Arduino: 1.6.10

Делаю по инструкции
Даже не знаю, что сказать, в инструкции много раз настоятельно рекомендуется использовать 1.6.5 r2 и никакую другую. Если у вас 1.6.10, то работать и не должно.
Agafonq2
Сообщения: 7
Зарегистрирован: Ср авг 17, 2016 3:44 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Arduino Mega Server

Сообщение Agafonq2 » Ср авг 17, 2016 4:25 pm

Alex писал(а):
Arduino: 1.6.10

Делаю по инструкции
Даже не знаю, что сказать, в инструкции много раз настоятельно рекомендуется использовать 1.6.5 r2 и никакую другую. Если у вас 1.6.10, то работать и не должно.
Я прошёлся от 1.6.3 до 1.6.10 вариант 1.6.5 r2 на сайте не использовал как не странно. Пойду попробую...
Спасибо.
Ответить