Arduino Mega Server

Модератор: Alex

AVK74
Сообщения: 17
Зарегистрирован: Вс авг 02, 2015 10:58 am
Благодарил (а): 0
Поблагодарили: 0

Re: Arduino Mega Server

Сообщение AVK74 » Вс авг 02, 2015 11:04 am

Ардуина
http://www.ebay.com/itm/171865404789?_t ... EBIDX%3AIT
Сетевой шилд
http://www.ebay.com/itm/181524271680?_t ... EBIDX%3AIT
Сам заказал, скоро присоединюсь к вам.
Логический анализатор очень даже неплохой
http://www.ebay.com/itm/24MHz-8CH-USB-X ... 3cff68dfbb
Как то так
ElectroN007
Сообщения: 2
Зарегистрирован: Сб авг 01, 2015 6:02 pm
Откуда: Санкт-Петербург
Благодарил (а): 0
Поблагодарили: 0

Re: Arduino Mega Server

Сообщение ElectroN007 » Вс авг 02, 2015 11:30 am

Анализатор у меня серьезнее - zeroplus lap-c 16032. Железо, если китайская поделка на эзернет шилд рабочая, скоро будет. Я в таком большом проекте запутаться боюсь ;) , вот и хотел с кем-то из создателей/людей в теме ковырять.
Аватара пользователя
uni
Сообщения: 191
Зарегистрирован: Вс июл 26, 2015 9:21 pm
Откуда: Екатеринбург
Благодарил (а): 4 раза
Поблагодарили: 7 раз
Контактная информация:

Re: Arduino Mega Server

Сообщение uni » Вс авг 02, 2015 12:29 pm

Спасибо за наводки на китайские под(д)елки. Лично я бы сделал отладочный проект на C++ отдельно от исходников Arduino и отлаживал при помощи JTAG'а. Оригинальные отладчики дороги, но существуют дешёвые заменители: AVR JTAG ICE. Можно купить плату FTDI и переходник к ней AVR JTAG ICE, далее пользоваться:
На адаптер выведены:

Колодка ISP10 для прошивки контроллеров AVR стандартным ISP10 кабелем. В качестве программатора используется FTBИ (bitbang режим работы микросхемы FT2232)
Упрощенный четырех контактный разъем для прошивки AVR модулей, установленных в Pinboard II
Вывод JTAG для программной эмуляции AVR JTAG ICE II (Happy JTAG).
Вывод JTAG для аппаратной реализации AVR JTAG ICE I с подключением по COM порту (COM порт реализуется через эмуляцию USB-COM канала В микросхемы FTDI)
10 выводов GPIO встроенного контроллера.
Я использую Happy JTAG 2 (программный эмулятор JTAG ICE MkII) на Windows 7 x32, но не знаю на счёт поддержки 2560 меги. Заявлено, что программа поддерживает, но не тестировалось. Автор проекта его забросил, но пользоваться им можно. Лучше всего купить оригинальный отладчик, чтобы не мучиться в настройках прочих под(д)елок. Сложные проекты без JTAG поддерживать просто нереально (портить нервную систему).
Россия навсегда!
Аватара пользователя
uni
Сообщения: 191
Зарегистрирован: Вс июл 26, 2015 9:21 pm
Откуда: Екатеринбург
Благодарил (а): 4 раза
Поблагодарили: 7 раз
Контактная информация:

Re: Arduino Mega Server

Сообщение uni » Вс авг 02, 2015 1:00 pm

Я бы, если честно, сделал бы всю эту тему немного по-другому. В качестве головы с web-сервером использовал бы роутер TL-MR3020, к нему бы подключил многопортовый usb-hub, а к хабу переходники usb-RS-485. На каждой такой линии могут сидеть мк в качестве modbus slave устройств. Библиотека для работы по modbus через ajax запросы существует (со стороны web-сервера используются скрипты sh).

Получается обычная промышленная централизованная структура. Если нужны действия при наступлении каких-то событий, то в линуксе можно периодически считывать сигналы из сети RS-485 теми же shell-скриптами, обрабатывать их и делать управляющие воздействия.

П.С. Вот, кстати, как бы это могло выглядеть: Подключение конвертера RS-485 в TTL к Arduino.
Россия навсегда!
123ksn
Сообщения: 8
Зарегистрирован: Сб июл 25, 2015 1:23 am
Благодарил (а): 5 раз
Поблагодарили: 0

Re: Arduino Mega Server

Сообщение 123ksn » Пн авг 03, 2015 7:37 am

uni писал(а):и отлаживал при помощи JTAG'а...Я использую Happy JTAG 2 (программный эмулятор JTAG ICE MkII) на Windows 7 x32, но не знаю на счёт поддержки 2560 меги
Маленькая ремарка, которая может перечеркнуть истинность данного высказывания. Дело в том, что Ардуино Мега2560 - это кастрат относительно МК ATmega2560. Это я к тому, что не все сигналы МК выведены на разъемы. Лично я "прокололся" на втором кварце - нет для него места. И еще бог знает что не выведено. Курите даташит.
uni писал(а):Я бы, если честно, сделал бы всю эту тему немного по-другому. В качестве головы с web-сервером использовал бы роутер TL-MR3020, к нему бы подключил многопортовый usb-hub, а к хабу переходники usb-RS-485
Не сбивайте человека с "истинного" пути. Такие проекты (на роутере) уже (по моему) есть, а то, что делает автор - нет. Пусть будет и на ардуино. Ссылки специально не даю.
AVK74
Сообщения: 17
Зарегистрирован: Вс авг 02, 2015 10:58 am
Благодарил (а): 0
Поблагодарили: 0

Re: Arduino Mega Server

Сообщение AVK74 » Пн авг 03, 2015 8:15 am

123ksn писал(а):Маленькая ремарка, которая может перечеркнуть истинность данного высказывания. Дело в том, что Ардуино Мега2560 - это кастрат относительно МК ATmega2560. Это я к тому, что не все сигналы МК выведены на разъемы. Лично я "прокололся" на втором кварце - нет для него места. И еще бог знает что не выведено. Курите даташит.
Да вроде порт F в полном объеме выведен, а JTAG на нем как раз.
Ну и можно проще, при входе в процедуру ставим единичку на какойнить ноге, при выходе снимаем, смотрим осциллографом.
ингвар
Сообщения: 142
Зарегистрирован: Вт ноя 25, 2014 2:06 pm
Благодарил (а): 33 раза
Поблагодарили: 0

Re: Arduino Mega Server

Сообщение ингвар » Пн авг 03, 2015 9:54 am

Вопрос от новичка, подскажите пожалуйста как подключить датчик температуры ds18b20 это надо подключить его к D2 порту, а потом где он будет отображаться и как это значения передать на сервер MajorDoMo и что сделать если этих датчиков больше одного ?
Windows 10 + Raspberry Pi3 + ESP8266
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server

Сообщение Alex » Пн авг 03, 2015 11:39 am

В стандартной поставке модуль температуры отключён, но код присутстствует и вы можете его задействовать раскомментировав строку

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

//#define TEMP_FEATURE  
Но! модулю требуется оперативная память, которой и так вобрез. Поэтому, если не заработает, то отключите то, что вам сейчас не нужно, например электро.

Датчики сажаются на 2-ю ногу в режиме паразитного питания. Один момент. Вы должны указать id своих датчиков вместо

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

PROGMEM byte idTempDat1[] = {40, 240,  72, 81, 3, 0, 0}; // STR [*]
PROGMEM byte idTempDat2[] = {40, 149,  87, 87, 3, 0, 0}; // BLK [&]
PROGMEM byte idTempDat3[] = {40, 221,  16, 81, 3, 0, 0}; // SRV [@]
PROGMEM byte idTempDat4[] = {40,  23,  98, 87, 3, 0, 0}; // WRM [%]
PROGMEM byte idTempDat5[] = {40, 207, 142, 87, 3, 0, 0}; // HOM [^]  
Определить id можно при помощи функции

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

void showSerial() {
  Serial.print("S/N: ");
  for (byte i = 0; i < 8; i++) {
    Serial.print(' ');
    Serial.print(tempSensor1[i]); // in DEC
    //Serial.print(tempSensor1[i], HEX); // in HEX
  }
  Serial.println();
}
ингвар
Сообщения: 142
Зарегистрирован: Вт ноя 25, 2014 2:06 pm
Благодарил (а): 33 раза
Поблагодарили: 0

Re: Arduino Mega Server

Сообщение ингвар » Пн авг 03, 2015 2:22 pm

а куда эту функцию вписывать ? просто там в модуле есть эта функция и при подключении датчика пишет

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

MEGA started...
Init SD card... OK
index.htm... found
Waiting for NTP sync... 
Transmit NTP request
No NTP response
Connect to MajorDoMo... OK
Init SD card... OK
Parasite power is: OFF
Found 1 devices
1970-01-01 00:00:07 ;Open!
1970-01-01 00:00:07 GET /objects/?object=contHOM&op=m&m=update&v=1
1970-01-01 00:00:07 +Norm
1970-01-01 00:00:07 GET /objects/?object=contCLO&op=m&m=update&v=0
*not present
&not present
@not present
подключал и на паразитном питании все равно не пишет ID
может я что то не так делаю?
Windows 10 + Raspberry Pi3 + ESP8266
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: Arduino Mega Server

Сообщение Alex » Пн авг 03, 2015 3:37 pm

Технология такая. Подключаем один датчик и вызываем функцию. Показания записываем и вносим в код.

То же проделываем с каждым датчиком (при отдельном подключении). Это проделать нужно только один раз.

Или просто посмотрите номер датчика в какой-нибудь другой программе, где его видно.

Функцию можно вызвать из setup();
Ответить