ATmega2560+W5100 для умного дома

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
Vyacheslav
Сообщения: 13
Зарегистрирован: 24 июл 2013, 21:41

ATmega2560+W5100 для умного дома

Сообщение Vyacheslav » 23 дек 2013, 11:22

Введение:
Сама ИДЕЯ мегадевайса от Андрея и принцип её работы на мой вкус просто отличны и менять в них нечего.
Слежу за проектом довольно давно и ключевые процессы у себя автоматизировал.
Собрался было идти дальше, но вот незадача портов хватило на оборудование в котельной и свет в коридоре.
Прикинул, что только на управление светом первого этажа мне нужен один девайс (и то с нехваткой), не говоря уж о датчиках движения...
С паяльником я в целом дружу, но вот времени паять нет совсем, увы.
Поэтому были найдены готовые модули:
http://www.arduino.ru/Hardware/ArduinoBoardMega2560
http://arduino.cc/en/Main/ArduinoEthernetShield
Купил, воткнул и никаких проблем, при этом получаем:
Цифровые Входы/Выходы - 54 (14 из которых ШИМ)
Аналоговые входы - 16
Флеш-память - 256 KB (из которых 8 КB используются для загрузчика)
ОЗУ - 8 KB
Энергонезависимая память -4 KB
Тактовая частота - 16 MHz

Собственно цели:
1. Заточить прошивку Автора (ещё раз ему спасибо за МегаИдею) для работы с данной связкой, учитывая мои зачаточные навыки программирования буду сидеть долго и упорно (буду крайне благодарен за помощь).
2. Учитывая бОльший объем ПЗУ украсить сию прошивку до некоего интерфейса умного дома (в текстовом стиле без графики) на случай смерти сервера.
3. Учитывая бОльший объем ПЗУ расширить функционал прошивки: возможность ввода задержек на вкл/откл портов типа out, поддержка 1-wire и т.д. и т.п.
4. Заставить работать sd-card на этой связке, правда пока не придумал для чего :)

PS:
В одиночку мне всё это точно не осилить (слишком слабы навыки и слишком мало времени).
Кто может помочь в выполнении пункта 1, жду Ваших предложений (может кто за деньги возьмётся?)
Что касается основной части программы, надеюсь это будет интересно и Автору, всё же EEPROM бОльший в 4 раза и ПЗУ в 8 раз! даёт простор для действий, и интерфейсный модуль с таким функционалом и количеством портов был бы гораздо интереснее...

msc
Сообщения: 6
Зарегистрирован: 19 окт 2012, 12:21

Re: ATmega2560+W5100 для умного дома

Сообщение msc » 23 дек 2013, 12:02

Пошел по тому же пути, ибо пайка не мой конек, ну и мега 2560 более "мощный" чип. Правда из-за катастрофической нехватки времени дело далее простых страниц, датчика температуры, и кнопок дальше не продвинулось. Правда я сначала пробовал с ENC, но из-за уродливости программного стэка на этом чипе, решил экономить время, а не деньги.
1. Заточить или портировать прошивку в том виде в каком она есть, просто не реально. Хотя бы по той причине, что работа с кнопками реализована через прерывания, а насколько я понял, работа с ними в ардуино несколько затруднена. Опять же другой ethernet контроллер. Единственное, что можно повторить - так это API, описание которого есть на этом сайте.
2. Можно запустить полноценный веб-интерфейс, если шаблоны страниц хранить на флешке, в том числе можно использовать графику.
3. Можно все, уже есть готовые решения на playground.arduino.cc, осталось только их адаптировать. Но вот хватит ли озу тянуть это все в одном контроллере одновременно - сомневаюсь. Придется разделять роли.
4. Без проблем. Хранить буфферные данные о датчиках, той же температуры, если сервер в отключке. Хранить файлы настроек, вместо EEPROM, так как можно воткнуть флешку в компьютер и сконфигурировать вручную. Хранить сценарии, например, отправить серию запросов на другой контроллер или сервер. Ну и т.д.

PS
Я могу и рад помочь, но времени на это просто нет (с весны не могу даже полноценный стенд запустить). Единственное могу собрать все свои наработки и выложить куда-нить на гитхаб или в открытый доступ. Но опять же позже, так как надо причесать то что напрограммировано, ибо стыдно ;-) писал ведь на коленке мизинцем правой ноги.

Vyacheslav
Сообщения: 13
Зарегистрирован: 24 июл 2013, 21:41

Re: ATmega2560+W5100 для умного дома

Сообщение Vyacheslav » 23 дек 2013, 12:10

Заточить или портировать прошивку в том виде в каком она есть, просто не реально. Хотя бы по той причине, что работа с кнопками реализована через прерывания, а насколько я понял, работа с ними в ардуино несколько затруднена. - честно говоря не знаю о чём речь.... (просьба не бить ногами, программированием не занимался лет 10) прошивка Андрея свободно заливается в Arduino Uno ардуиновским же софтом и работает без какой либо правки (ну частоту подправлял только).
Опять же другой ethernet контроллер - это да... это проблема №1.

Кстати: я из Самары. Какой город у тебя?

msc
Сообщения: 6
Зарегистрирован: 19 окт 2012, 12:21

Re: ATmega2560+W5100 для умного дома

Сообщение msc » 23 дек 2013, 12:59

Vyacheslav писал(а):Заточить или портировать прошивку в том виде в каком она есть, просто не реально. Хотя бы по той причине, что работа с кнопками реализована через прерывания, а насколько я понял, работа с ними в ардуино несколько затруднена. - честно говоря не знаю о чём речь.... (просьба не бить ногами, программированием не занимался лет 10) прошивка Андрея свободно заливается в Arduino Uno ардуиновским же софтом и работает без какой либо правки (ну частоту подправлял только).
Опять же другой ethernet контроллер - это да... это проблема №1.

Кстати: я из Самары. Какой город у тебя?
В контроллере реализованы прерывания, например выполнить функцию, когда на некотором пине будет определенный сигнал (или он изменится ну т.п.), если это случилось, то запускается функция, независимо от того выполняются ли в данный момент другие задачи. Например, контроллер занят отсылкой на сервер 1 Гб файлов. Это займет некоторое время, если нажать кнопку, нажатие будет обработано. Если же выполнять проверку значения пина в цикле (программно), то пока не закончится отсылка, контроллер не будет реагировать. Но в Arduino всего 2 пина поддерживают прерывания (в меге 5). Поэтому я не стал копать в эту сторону, а реализовал программные кнопки. Правда есть библиотеки, которые позволяют получать прерывания со всех пинов, но в то время, мне хотелось скорее включить релюшку ;-).

Что касается прошивки Андрея, то не знал, что она заливается родной ардуиновской иде (то есть открывается как скетч и аплоад?), когда пробовал адаптировать под ардуино, то там либо напильник приличный нужен был, или напрямую программатором. Может быть что-то изменилось.

Если так, то адаптировать ее проблем не составит, насколько помню там лишь нужно массив пинов подправить под мегу. Но все это с enc. Для wiz5100 увы и ах. Либо выпиливать код enc и заменять родной библиотекой для wiz5100, опять же напильник нужен еще тот.

Так или иначе я все же пошел другим путем, использую стандартные библиотеки от Ардуино. Другими словами это другая совсем прошивка и только конкретно под ардуино. К тому же в playground.arduino.cc есть уже куча готовых библиотек и примеров для работы с дачиками и прочей периферией.

Я из Томска.

Vyacheslav
Сообщения: 13
Зарегистрирован: 24 июл 2013, 21:41

Re: ATmega2560+W5100 для умного дома

Сообщение Vyacheslav » 23 дек 2013, 13:13

то есть открывается как скетч и аплоад? - именно так.
нужно массив пинов подправить под мегу - именно так.
выпиливать код enc и заменять родной библиотекой для wiz5100 - именно так (enc тоже работает посредством готовой библиотеки enc28j60.c, enc28j60.h и соответственно #include "enc28j60.h") -вот с этим и надо расковыряться.... http://www.ab-log.ru/files/File/ip_mana ... _beta1.zip - вот тут последняя прошивка

alexsis_76

Re: ATmega2560+W5100 для умного дома

Сообщение alexsis_76 » 23 дек 2013, 14:46

Добрый день как явствует из даташита W5100 имеет аппаратный стек , сдесь используется програмный стек, т,е контроллер берет пакет разбирает его и посылает ответ,енс используется только как конвертер , она собственно ничего другого и не умеет , W5100 делает все сама вам только остается написать код приложения собственно вот работа с ней (правдв тут W5300)http://ab-log.ru/forum/viewtopic.php?f=1&t=630 вам только останется перенести код Андрея и все

Sergey Borovkov
Сообщения: 77
Зарегистрирован: 22 ноя 2013, 03:17

Re: ATmega2560+W5100 для умного дома

Сообщение Sergey Borovkov » 23 дек 2013, 15:24

Думал об этом. У ардуино-мега уж очень большие размеры. Мegad можно собрать из arduino nano + плата с enc и получится совсем мелкое устройство за 15$ (без силовых ключей). Фактически это дает возможность поставить по такому устройству в каждую комнату и не париться насчет денег.

Мега-2560 в этом смысле, конечно, универсальнее в разы. Я в соседней теме предложил сделать прошивку модульной. Если так сделать, то можно будет в ардуино-мега включить все модули прошивки и получить полный функционал. Точно также, наверное, имеет смысл сделать выбор ethernet модуля.

Переписать код под w5100 - уверен, что не большая проблема. Исходники у MegaD хорошие. У меня есть подозрение, что там дел - на вечер, максимум - два.

Vyacheslav
Сообщения: 13
Зарегистрирован: 24 июл 2013, 21:41

Re: ATmega2560+W5100 для умного дома

Сообщение Vyacheslav » 23 дек 2013, 16:51

.....Фактически это дает возможность поставить по такому устройству в каждую комнату - вот этого очень не хочется как раз... к каждой из 10 тащить питание и сетевой кабель + лишний switch, хотя с точки зрения надёжности системы - это гораздо правильнее. Навернулось одно устройство - не так страшно, остальные работают.
.....Переписать код под w5100 - уверен, что не большая проблема... похоже на то, но у меня два вечера (минимум) уйдёт на то, чтоб понять чего менять и ещё два на написание и тестирование, а учитывая, что вечера у меня свободные только по субботам :) это не меньше месяца :)

alexsis_76

Re: ATmega2560+W5100 для умного дома

Сообщение alexsis_76 » 23 дек 2013, 16:57

Переписать код под w5100 - уверен, что не большая проблем
да уж придется постораться

comparator
Сообщения: 516
Зарегистрирован: 20 окт 2012, 12:40
Откуда: Мюнхен

Re: ATmega2560+W5100 для умного дома

Сообщение comparator » 23 дек 2013, 17:25

Советую не заморачиваться с W5100, а глянуть в сторону W5500/W5200, стандартные библиотеки поддерживают оба типа, плюс более удобная разводка да и цена ниже.
По крайней мере в своем новом устройстве я использую именно W5500. Правда контроллер не атмел.

Sergey Borovkov
Сообщения: 77
Зарегистрирован: 22 ноя 2013, 03:17

Re: ATmega2560+W5100 для умного дома

Сообщение Sergey Borovkov » 23 дек 2013, 18:57

Vyacheslav писал(а):.....Фактически это дает возможность поставить по такому устройству в каждую комнату - вот этого очень не хочется как раз... к каждой из 10 тащить питание и сетевой кабель + лишний switch, хотя с точки зрения надёжности системы - это гораздо правильнее. Навернулось одно устройство - не так страшно, остальные работают.
.....Переписать код под w5100 - уверен, что не большая проблема... похоже на то, но у меня два вечера (минимум) уйдёт на то, чтоб понять чего менять и ещё два на написание и тестирование, а учитывая, что вечера у меня свободные только по субботам :) это не меньше месяца :)
Ну тут же стандартно - либо в комнату патч+питание (когда уже POE будет???), либо по проводу от каждого датчика :-). Я бы в каждую комнату повесил по dht22, плюс выключатель, плюс возможно датчик движения, плюс по-хорошему датчик co2 (дорогой, собака). Это только датчики. Вместо проводов от них всех - патч+питание, по-моему неплохо. А если еще пару семисторов для управления светом поставить, то большего мне на комнату и не надо.

Закажу себе платку с W5x00 и посмотрю. Но учитывая почту россии, получу я это все не совсем сразу :-). У меня с вечерами проще - каждый после полуночи мой, но сил уже нет :-)).
Последний раз редактировалось Sergey Borovkov 23 дек 2013, 19:28, всего редактировалось 1 раз.

vtec
Сообщения: 459
Зарегистрирован: 19 сен 2011, 09:28

Re: ATmega2560+W5100 для умного дома

Сообщение vtec » 23 дек 2013, 19:24

comparator писал(а):Правда контроллер не атмел.
STM?

Sergey Borovkov
Сообщения: 77
Зарегистрирован: 22 ноя 2013, 03:17

Re: ATmega2560+W5100 для умного дома

Сообщение Sergey Borovkov » 23 дек 2013, 19:32

кстати, вчера изучал maple mini - это типа ардуины-nano, но на stm-32. 20 кил памяти, куча флеша, 72мгц... И за недорого - на aliexpress порядка 15$. Но разбираться в stm32 - у меня времени нет. Совместимость с arduino - условная, библиотек мало, ощущение, что проект загибается.

Vyacheslav
Сообщения: 13
Зарегистрирован: 24 июл 2013, 21:41

Re: ATmega2560+W5100 для умного дома

Сообщение Vyacheslav » 23 дек 2013, 20:19

comparator писал(а):патч+питание (когда уже POE будет???)
Так есть же PoE в W5100. Таким образом у нас общая проблема №1 заменить enc на W5100 в прошивке Андрея.
Вообще Ваш подход мне близок по сути. Смущает только необходимость в PoE switche... не сильно правда, но всё же.
http://www.aliexpress.com/snapshot/301219223.html - вот отсюда за 20 дней W5100 приехал.

Aquarius
Сообщения: 362
Зарегистрирован: 19 дек 2011, 17:17
Откуда: Дзержинск

Re: ATmega2560+W5100 для умного дома

Сообщение Aquarius » 24 дек 2013, 11:26

Vyacheslav писал(а):
comparator писал(а):патч+питание (когда уже POE будет???)
Так есть же PoE в W5100.
В шилде W5100 есть только поддержка PoE. Для того, что его использовать необходимо докупить и припаять такой модуль.
Слышал, что чипы W5100 какие-то глючные, хотя у самого такой и проблем вроде не заметил. Правда работал он у меня не в режиме 24х7. Кто работал с W5500 подскажите - проблем никаких нет? В чём отличия W5100 от W5500?

Sergey Borovkov
Сообщения: 77
Зарегистрирован: 22 ноя 2013, 03:17

Re: ATmega2560+W5100 для умного дома

Сообщение Sergey Borovkov » 24 дек 2013, 12:38

Насколько я понял, не все шилды совместимы с PoE. Стандартная розетка с встроенным трансформатором не поддерживает PoE, поэтому на указанный сверху шилд http://www.aliexpress.com/snapshot/301219223.html скорее всего невозможно установить PoE.

Vyacheslav
Сообщения: 13
Зарегистрирован: 24 июл 2013, 21:41

Re: ATmega2560+W5100 для умного дома

Сообщение Vyacheslav » 24 дек 2013, 14:45

В общем и целом я для себя не обнаружил разницы в прокладке кабеля до устройства с PoE и в прокладке кабеля до кнопок, исполнительных устройств и датчиков. И так и эдак в каждую комнату тащить витую пару.

Aquarius
Сообщения: 362
Зарегистрирован: 19 дек 2011, 17:17
Откуда: Дзержинск

Re: ATmega2560+W5100 для умного дома

Сообщение Aquarius » 24 дек 2013, 21:41

Sergey Borovkov писал(а):Насколько я понял, не все шилды совместимы с PoE. Стандартная розетка с встроенным трансформатором не поддерживает PoE, поэтому на указанный сверху шилд http://www.aliexpress.com/snapshot/301219223.html скорее всего невозможно установить PoE.
Дело не в коннекторе RJ45, а в разводке платы. Она не предусматривает установку этого модуля. Если посмотреть на оригинальный шилд сверху то можно увидеть отверстия по линии, идущие под небольшим углом. В него как раз и устанавливается этот модуль РоЕ.

Sergey Borovkov
Сообщения: 77
Зарегистрирован: 22 ноя 2013, 03:17

Re: ATmega2560+W5100 для умного дома

Сообщение Sergey Borovkov » 25 дек 2013, 01:57

Насколько я понимаю, для поддержки poe должны быть выходы из средних точек обмоток трансформатора. В разъеме HR911105A их нет.

vtec
Сообщения: 459
Зарегистрирован: 19 сен 2011, 09:28

Re: ATmega2560+W5100 для умного дома

Сообщение vtec » 25 дек 2013, 05:12


Ответить