Arduino Mega Server

Модератор: Alex

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

Re: Arduino Mega Server

Сообщение Alex » Вт янв 05, 2016 9:31 pm

Arduino Mega Server for Due 0.14

http://hi-lab.ru/arduino-mega-server/details/download

Совершенно роскошный релиз: всё работает чётко и быстро. Полностью восстановлена работа со всей периферией на Due. Добавлен движок беспроводного управления nooLite и ещё более 30-и нововведений. С полным списком можно ознакомиться здесь

http://hi-lab.ru/arduino-mega-server/de ... or-due-014

Проект разрабатывался в Arduino IDE 1.6.5 r2 и поэтому желательно компилировать его в этой версии среды. Processing использовался версии 1.5.1 (можно взять на странице загрузки).

AMS поставляется настроенным для полностью автономной работы. Указания по изменению конфигурации находятся в скетче АМС.

IP адрес по умолчанию 192.168.1.36. Этот IP адрес может быть безболезненно изменён на любой другой в скетче и всё будет работать корректно.

Если вы хотите работать в тандемном режиме, то IP адреса должны быть 192.168.2.36 (для AMS) и 192.168.2.8 для MajorDoMo. Папка проекта на сервере MajorDoMo переименована из «one» в «due».

По умолчанию синхронизация времени производится через Интернет. При активации модуля «MajorDoMo» автоматически включается синхронизация с ним.

Проект находится в папке «Sketches», которую можно поместить в любое место на диске.

Чтобы среда Arduino нашла библиотеки проекта нужно в настройках IDE указать путь к файлам проекта, например:

C:\Sketches\ams_due\Arduino

(если вы поместили файлы в корне диска C:)

Если вам что-то непонятно, то прочитайте инструкции по установке с первой страницы.
Вложения
ams014.png
AMS for Due 0.14
ams014.png (217.45 КБ) 12568 просмотров
Последний раз редактировалось Alex Вс янв 10, 2016 7:03 pm, всего редактировалось 1 раз.
VGorokhov
Сообщения: 51
Зарегистрирован: Пн фев 09, 2015 4:12 am
Откуда: г. Актау, Мангистауской области
Благодарил (а): 38 раз
Поблагодарили: 7 раз

Re: Arduino Mega Server

Сообщение VGorokhov » Ср янв 06, 2016 12:28 am

Alex, при компиляции проекта 0.14 вылетает ошибка библиотеки DallasTemperature

Sketches\ams_due\Arduino\libraries\DallasTemperature\DallasTemperature.cpp: In member function 'void DallasTemperature::begin()':
Sketches\ams_due\Arduino\libraries\DallasTemperature\DallasTemperature.cpp:51:67: error: 'max' was not declared in this scope
bitResolution = max(bitResolution, getResolution(deviceAddress));

Версия библиотеки DallasTemperature в архиве ams_due_014.zip от 2011 года
Замена библиотеки на более свежею от 2015 дает ошибку

Sketches\ams_due\Arduino\libraries\DallasTemperature\DallasTemperature.cpp: In member function 'void DallasTemperature::begin()':
Sketches\ams_due\Arduino\libraries\DallasTemperature\DallasTemperature.cpp:60:76: error: 'max' was not declared in this scope
bitResolution = max(bitResolution, getResolution(deviceAddress));

Проект компилировал arduino-1.6.5-r2-windows.

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

Re: Arduino Mega Server

Сообщение Alex » Вс янв 10, 2016 11:36 am

Столкнулся с совершенно мистическим явлением. Симптомы:

Чётко, как по таймеру, раз в 5 минут АМС перестаёт отвечать на запросы. Они копятся ровно 45 секунд, а затем в течение 10 секунд получают ответы как из пулемёта. И так по кругу.

Отключил все модули (даже RTC) — никакого эффекта. Остался только сервер.

Вопрос: где источник этих 5-и минутных циклов и что вообще это может быть?
alex946
Сообщения: 7
Зарегистрирован: Вт янв 05, 2016 9:11 am
Благодарил (а): 0
Поблагодарили: 0

Re: Arduino Mega Server

Сообщение alex946 » Вс янв 10, 2016 11:48 am

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

Re: Arduino Mega Server

Сообщение Alex » Вс янв 10, 2016 12:53 pm

Проблема несколько сложнее. Я уже с чем-то подобным сталкивался и решил эту проблему

http://majordomo.smartliving.ru/forum/v ... 47&p=22967

(сверху — описание проблемы, ближе к низу — решение)

В данном случае улучшения (частичные) наступают только при значении 150, что ОЧЕНЬ много.

Ещё смущает, что периоды привязаны к реальному времени и не зависят от рестартов контроллера. Такое впечатление, что источник проблемы внешний по отношению к контроллеру.

Что это может быть?
alex946
Сообщения: 7
Зарегистрирован: Вт янв 05, 2016 9:11 am
Благодарил (а): 0
Поблагодарили: 0

Re: Arduino Mega Server

Сообщение alex946 » Вс янв 10, 2016 1:50 pm

Да что угодно.
Опрос аналоговых датчиков тока, например. У вас он ужасно медленный.
Вообще, вы разработчик, у вас есть (должны быть) средства отладки, tcpdump и прочие JTAG
Смысл на форуме спрашивать, чтоб гадать на кофейной гуще?
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server

Сообщение Alex » Вс янв 10, 2016 1:59 pm

Вообще, вы разработчик, у вас есть (должны быть) средства отладки, tcpdump и прочие JTAG
У нас никто никому ничего не должен
Смысл на форуме спрашивать, чтоб гадать на кофейной гуще?
Спрашиваю, потому, что считаю нужным спросить. И всегда могут быть люди, которые знают больше и могут помочь дельными советами, а не пустыми нравоучениями.

А теперь о сути проблемы.

Проблема оказалась не в АМС, а в роутере ZyXEL. Открытым остаётся только вопрос, что не так с роутером и что он умудряется делать каждые 5 минут такого, что АМС виснет.
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server

Сообщение Alex » Вс янв 10, 2016 6:59 pm

Arduino Mega Server 0.14

http://hi-lab.ru/arduino-mega-server/details/download

Добавлен движок беспроводного управления nooLite, поддержка W5500 и ещё более 30-и нововведений. С полным списком можно ознакомиться здесь:

http://hi-lab.ru/arduino-mega-server/de ... ersion-014

Проект разрабатывался в Arduino IDE 1.6.5 r2 и поэтому желательно компилировать его в этой версии среды. Processing использовался версии 1.5.1 (можно взять на странице загрузки).

AMS поставляется настроенным для полностью автономной работы. Указания по изменению конфигурации находятся в скетче АМС.

IP адрес по умолчанию 192.168.1.37. Этот IP адрес может быть безболезненно изменён на любой другой в скетче и всё будет работать корректно.

Если вы хотите работать в тандемном режиме, то IP адреса должны быть 192.168.2.37 (для AMS) и 192.168.2.8 для MajorDoMo. Папка проекта на сервере MajorDoMo переименована из «one» в «mega».

По умолчанию синхронизация времени производится через Интернет. При активации модуля «MajorDoMo» автоматически включается синхронизация с ним.

Проект находится в папке «Sketches», которую можно поместить в любое место на диске.

Чтобы среда Arduino нашла библиотеки проекта нужно в настройках IDE указать путь к файлам проекта, например:

C:\Sketches\ams\Arduino

(если вы поместили файлы в корне диска C:)

Если вам что-то непонятно, то прочитайте инструкции по установке с первой страницы.
Вложения
ams-014.png
AMS 0.14
ams-014.png (124.64 КБ) 13088 просмотров
За это сообщение автора Alex поблагодарили (всего 2):
SPbDima (Вс янв 10, 2016 8:41 pm) • Xseon (Пн янв 11, 2016 11:36 pm)
Рейтинг: 2.33%
SPbDima
Сообщения: 113
Зарегистрирован: Пн окт 19, 2015 8:27 am
Благодарил (а): 9 раз
Поблагодарили: 21 раз

Re: Arduino Mega Server

Сообщение SPbDima » Пн янв 11, 2016 9:50 am

Можете поделиться вторым изданием книги Виктора Петина?
Xseon
Сообщения: 51
Зарегистрирован: Ср сен 18, 2013 12:21 am
Благодарил (а): 9 раз
Поблагодарили: 7 раз

Re: Arduino Mega Server

Сообщение Xseon » Пн янв 11, 2016 11:36 pm

Низкий поклон и огромное спасибо товарищу Alex'y за великий труд, как и Сергею!
Я начал освоение АМС с 0.13 версии.
0.13 версия была крайне нестабильной, "работая" с сервером МД.
Перечитал всю ветку форума (более 100 страниц) в поисках стабильности, но только откомпилировав 0.14 увидел огромную разницу между ними.
0.14 версией я вообще не нарадуюсь, стабильно отправляет данные на сервер МД, но заметил тормоза при одновременном обращении с разных девайсов. Насколько я понимаю проблема в таймерах и сокетах сохранилась.
По мере возможности постараюсь помочь...
Ответить