Умный Дом по Ethernet

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
ur5iic
Сообщения: 3
Зарегистрирован: 20 июл 2011, 10:51

Re: Умный Дом по Ethernet

Сообщение ur5iic » 20 июл 2011, 11:56

Спасибо за быстрый ответ.Ну я по-другому вижу это дело.
Контроль человека над машиной для меня важнее.Иначе
зачем использовать возможности сетей ,а не соединить
все однопроводной шиной с МК в доме.Имея возможность
включить бойлер к своему неожиданному приходу с работы-
не имею возможности получить информацию от датчика
задымленности ,разве как от пожарной команды из
моего глупого дома.Так что клиент у меня быть должен,
иначе приходится все время поглядывать браузером,
что не смешно.Красивого решения пока нет у меня.
Смотрю ваши исходники-спасибо.

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Умный Дом по Ethernet

Сообщение Andrey_B » 20 июл 2011, 12:09

ur5iic, поймите, предложенная здесь схема не для того, что скрыть информацию от пользователя, а, напротив, сделать доступ к этой информации удобнее.
Вот смотрите, у меня сейчас устройство в тестовом режиме подключено к датчику давления водопроводной сети.
Что я могу - зайти на устройство, где весьма сухо, так сказать, в стиле техно будет написано 837. Что это за цифра? Ага, я начинаю вспоминать формулу перевода значения с АЦП в бары.
Далее, предположим мое устройство пришлет мне SMS, когда давление будет меньше 1 атм. Что это будет за сообщение, учитывая универсальность входов. А такое "Вход №2 зафиксировал значение 793, которое является ниже установленного порога". Что за Вход №2, как трактовать это значение? А если таких устройств будет 10, да в каждом по 10 входов? Конечно, можно внедрять в устройство "лейблы" и прочее, применять более дорогие и сложные микросхемы. Да только есть выход проще!
Мысль пропустить все это через сервер. Пусть сервер сам общается с устройством, пусть сервер сам интерпретирует значения. И тогда получается, что не устройство, а сервер вышлет мне SMS, где будет написано примерно так: "Давление воды в водопроводной сети упало ниже 1 атм. Рекомендуется уменьшить расход воды." Более того, сервер может ведь проанализировать тенденцию и написать "Давление воды продолжает снижаться" или "Давление воды ниже 1 атм, но постепенно начинает расти" или все что угодно.
Если я захочу сам посмотреть эту информацию, то у меня гораздо больше средств - это график давления, это минимальные и максимальные значения и т.д.
Таким образом вы получите все более в качественном виде. А программирование сервера на basic, perl, php, python гораздо приятнее, быстрее и проще, чем на C для gcc-avr.

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Умный Дом по Ethernet

Сообщение Andrey_B » 20 июл 2011, 12:15

Вот за 10 секунд добавил график давления к своему новому веб-интерфейсу. Значения получены с обсуждаемого здесь девайса.
Сейчас дорабатываю CSS и java-script'ы для он-лайн обновления данных.
scr20110720.jpg
scr20110720.jpg (140.8 КБ) 25074 просмотра

ur5iic
Сообщения: 3
Зарегистрирован: 20 июл 2011, 10:51

Re: Умный Дом по Ethernet

Сообщение ur5iic » 20 июл 2011, 12:27

Убедительно.Причина видимо в том,что я двигаюсь от МК к IT,а вы -от IT к МК.Ну и еще
вопрос ,мгко говоря ,продаваемости девайса.Вам прийдется и сервер предоставлять клиенту
и прочее сопровождение.Возможно это развлечение для себя-тогда все вопросы снимаются.
Я сам радиолюбитель и мое хобби -одни затраты и море удовольствия.Еще раз-спасибо.
Не смею отвлекать от дел.Удачи.

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Умный Дом по Ethernet

Сообщение Andrey_B » 20 июл 2011, 12:47

Вопрос коммерческого спроса на данного рода девайс стоит для меня на последнем месте.
Но давайте порассуждаем. Современная система видеонаблюдения - это ведь не только парочка камер, это еще и провода и разъемы и регистратор, который фактически является полноценным ПК, сервером. Это работы по монтажу и обслуживанию этой техники. Если бы проект был коммерческим (а мы тут все-таки не коммерсанты, это хобби), то нет ничего удивительного в том, чтобы поставлять в том числе СИСТЕМУ, которая представляет из себя набор исполнительных модулей и сервер. Причем сервер можно поставлять не только в виде готовой железки, но и в виде дистрибутива или даже уже настроенного имиджа под рекомендованное оборудование. Разворачивай имидж и поехали.
Что касается движения к или от IT, то я как-то не задумывался на этот счет. У меня появляются мысли и я пытаюсь встроить их в свою систему, чтобы было надежно, легко управлялось, давало максимальное количество возможностей. А уж в какую сторону это движение, все равно.

laborant
Сообщения: 2
Зарегистрирован: 20 июл 2011, 16:38

Re: Умный Дом по Ethernet

Сообщение laborant » 20 июл 2011, 17:00

Здравствуйте Andrey_B я очень давно читаю ваш форум но только сейчас собрал это девайс. После 2-х дней экспериментов обратил внимание, что очень не хватает выбора активного состояния выходов 0 или 1. Дело в том, что имеется фирменный модуль выходов у которого активный входной сигнал " 0 " в момент включения устройства включаются все нагрузки. Возможно ли добавить настройку активного состояния выходов?
С уважением Александр.

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Умный Дом по Ethernet

Сообщение Andrey_B » 20 июл 2011, 23:18

laborant, мы как-то тут уже затрагивали вскользь этот вопрос. Теперь нужно принять решение.
Тут есть два параллельных и местами взаимоисключающих варианта.
1. Мы для каждого порта типа выход определяем состояние после ресета. (это как вы просите)
2. Мы сохраняем текущее состояние порта в EEPROM и восстанавливаем состояние после ресета.

Мне лично второй вариант нравится больше. После аварийного отключения питания, устройство восстановит то состояние выходов, которые было до сбоя. В этом случае, вроде бы, делать дополнительную настройку не нужно. Как вы думаете?

laborant
Сообщения: 2
Зарегистрирован: 20 июл 2011, 16:38

Re: Умный Дом по Ethernet

Сообщение laborant » 21 июл 2011, 08:43

Добрый день Andrey_B мне кажется, что мой вариант более безопаснее и логичнее. Мы за ранее устанавливаем безопасное состояние выходов, что бы после ресета не произошло нежелательное включение " открытие ворот гаража " и чего либо еще. А по поводу сохранения в EEPROM каждого состояния пина мы уменьшаем срок службы контроллера, допустим происходит регулирование чего либо и запись состояния происходит каждые 5 минут, что будет с этой ячейкой через год.

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Умный Дом по Ethernet

Сообщение Andrey_B » 21 июл 2011, 11:02

laborant, согласен с вами.
Постараюсь реализовать и эту задачу.

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Умный Дом по Ethernet

Сообщение Andrey_B » 22 июл 2011, 00:21

Внес изменения в прошивку
1. MAC адрес. В целях экономии ресурсов MAC адрес генерируется из IP-адреса. Два первых байта MAC-адреса статичны. В 4 последних содержится IP-адрес. Таким образом будет сохранена уникальность, а пользователю не нужно будет заполнять еще одно поле. Для тех, кто по тем или иным причинам делает привязку к MAC-адресу (в системах безопасности) алгоритм его генерации также известен. По-моему, нормальное решение.
2. Ссылку Back в сетевой конфигурации добавил
3. Состояние выхода по умолчанию добавил. Поле 'Act'. Пришлось несколько пожертвовать красотой, чтобы выкроить под это дело несколько нужных байт...

Просили? Проверяйте.

Raw_mat
Сообщения: 27
Зарегистрирован: 04 июл 2011, 14:53

Re: Умный Дом по Ethernet

Сообщение Raw_mat » 22 июл 2011, 11:23

Андрей, кстати, а почему бы не сменить МК на 328ой или 324ый? почитал описания, вроде кроме ресурсов отличий иных не заметно, а по цене практически идентично. а это даст возможность сделать интерфейс более удобным и позволит быть свободнее в использовании EEPROM.

щас к сожалению пришлось отложить работу по автоматизации, ибо все бабки ушли в переоборудование четырехколесной игрушки новым движком. во второй половине августа могу попробовать собрать это дело на 328ом МК и попробовать как оно работать будет.

а вообще в чипе 168ой стоит 460 ру, а 328ой - 260 ру...

а если в терре - то там оба по 135 ру в корпусе TQFP

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Умный Дом по Ethernet

Сообщение Andrey_B » 22 июл 2011, 12:00

Как мы уже тут говорили, Atmega328 можно и нужно использовать в дальнейшем.
Зато 16Кб Flash и 1Кб RAM в Atmega168 очень дисциплинируют ;)
В данный момент основная проблема даже не в размере Flash, а в размере RAM. Больше функционала, больше мы отрезаем от размера TCP/IP пакета, меньше данных помещается на страницу. В идеале бы нужно максимально приблизить размер TCP/IP пакета к размеру MTU (обычно 1500 байт). Тогда можно рассчитывать даже на некоторую красоту ;)
Одним словом держим пока направление на Atmega328.
Что касается 324, то в данный момент не очень хочется переходить на 40-пин.
Конечно, в продаже свободно имеются уже отладочные наборы на ARM (любых) с нужным набором интерфейсов, но цена... 4-5 тыс за штуку... За эти деньги можно собрать полноценный компьютер ;)
А по сути для реализации обсуждаемых нами задач 8-битников за глаза хватает. Продолжаю настаивать на том, чтобы не перегружать исполнительные девайсы лишним функционалом.

Raw_mat
Сообщения: 27
Зарегистрирован: 04 июл 2011, 14:53

Re: Умный Дом по Ethernet

Сообщение Raw_mat » 22 июл 2011, 13:38

Вашу логику по минимальному функционалу понимаю, и в данном контексте считаю вполне оправданной.

про 328ой - там как раз и оперативка уже 2 Кб. надо еще глянуть если между ними ноги не отличаются - то там вообще проще некуда, у меня плата уже подогнана под tqfp32

THK
Модератор
Сообщения: 588
Зарегистрирован: 18 мар 2011, 19:00
Откуда: Серпухов, МО

Re: Умный Дом по Ethernet

Сообщение THK » 22 июл 2011, 17:40

Andrey_B писал(а):Внес изменения в прошивку
...
Просили? Проверяйте.
Спасибо!
Теперь два устройства в сети работают без проблем.

По поводу красоты. Можно заменить"<br>" между "</select>" и "Act" на пробел, вернуть на место пробел после "Type" и добавить после "Act". И красота вернется на место... :) +1байт.

Баг все таки найти удалось ;) . При конфигурировании любого пина порта "С" как выход появляется Select Act, а вместо кнопки Save текстовое поле ввода. обрезанно
"Act<select name=d><option selected value=0>0</option><option value=1>1</option></select><br><input type="
С портом "D" все в порядке.

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Умный Дом по Ethernet

Сообщение Andrey_B » 22 июл 2011, 23:15

Это все из-за того, что для портов "С" есть возможность прописать ADC, а это значит лишний <option>, который собственно в буквальном смысле и оказывался лишним.
У нас в Atmega168 есть 1024 байта оперативной памяти. В данный момент под HTTP пакет мы можем выделить 520 байт. Остальное для различных переменных. Минус заголовки пакета. Итого доступно 500 байт для странички.
Говорят, что красота требует жертв. В нашем случае все вышло наоборот, красота пала жертвой. Ржавым ножичком я все испохабил.
И вот результат...
avr_eth_scr.jpg
avr_eth_scr.jpg (18.81 КБ) 25019 просмотров
В принципе для администратора системы (а пользователь сюда и не полезет) все и так очевидно, без лишних надписей.
Но иначе страница в память не лезет. Конечно можно обойтись без закрывающих тэгов. Например, можно отказаться от </form> или </select>, браузеры то разберутся, но как-то это некрасиво, некошерно и слух режет...
Вывод: следующее устройство собираем на Atmega328. Уж там то мы на 2048 байтах такое сделаем, Рембрант с Тропининым ахнут!
Ну а если у кого какая гениальная мысль появится на этот счет, я не против. Уж очень много у HTML форм накладных расходов типа <option></option><select></select>, совсем разработчики HTML 1.0 не думали про AVR Ethernet ;)

THK
Модератор
Сообщения: 588
Зарегистрирован: 18 мар 2011, 19:00
Откуда: Серпухов, МО

Re: Умный Дом по Ethernet

Сообщение THK » 23 июл 2011, 10:27

Говорят, что красота требует жертв. В нашем случае все вышло наоборот, красота пала жертвой. Ржавым ножичком я все испохабил.
Не все так плохо как Вы пишите, в данном случае важен функционал.
Кстати, можно "Back" заменить на "<".
Интересно, а что скажет WEB-дизайнер, если его запихнуть в 500 байт? ;)
Вывод: следующее устройство собираем на Atmega328. Уж там то мы на 2048 байтах такое сделаем, Рембрант с Тропининым ахнут!
Пора закупаться?
Вот интересные цены http://www.freeduino.ru/arduino/atmega.html
По пинам Atmega328 совпадает с Atmega168 http://www.atmel.com/dyn/resources/prod ... /8271S.pdf
На мой взгляд, не стоит переключаться на что то более мощное, ради дизайна странички. Вот если ШИМ потребуется, это другой разговор.

Raw_mat
Сообщения: 27
Зарегистрирован: 04 июл 2011, 14:53

Re: Умный Дом по Ethernet

Сообщение Raw_mat » 23 июл 2011, 17:21

вот цены:

ATmega168-20PU = 137 рублей или ATmega168P-20AU = 134 рубля


ATmega328P-PU = 134 рубля

просто пока нет 328ых в дип корпусе, ну и вообще не проще ли сделать все в поверхностном варианте?

dmitry
Сообщения: 2
Зарегистрирован: 29 июл 2011, 10:25

Re: Умный Дом по Ethernet

Сообщение dmitry » 29 июл 2011, 14:25

Здравствуйте, Andrey_B, здравствуйте, Уважаемые форумчане

Спасибо Вам за проделанную работу, было очень занимательно почитать(прежде чем написать я прочем данную тему полностью).
У меня возник ряд вопросов.
В программировании микроконтроллеров я новичек, совсем недавно купил arduino uno(http://amperka.ru/collection/Platy/product/Arduino-Uno).
Прочитав Вашу статью про "Умный дом" на сайте и форум решил попробовать сделать нечто подобное и прикупил LU1T516-43(http://www.chipdip.ru/product/lu1t516-43.aspx) и ENC28J60-I/SP(http://www.chipdip.ru/product/enc28j60-i-sp.aspx). По указанным ссылкам цены не самые "добрые", но искать некогда да и на данное хобби денег не совсем уж жалко.
Собственно вопрос:
- как я понимаю, всё это собрать воедино(с моим железом) можно, но встает вопрос как?
- Вы программируете микроконтроллер программатором собственной разработки, а ардуино программируется с помощью отладочной платы из комплекта. Это не будет помехой?
- я не совсем понимаю, надо ли прошивать ENC28J60-I/SP ?

Прошу извинения за ламерские вопросы, я только учусь.
PS: в топике обсуждался вопрос с Debouncing, в данном видео есть очень даже неплохой аппаратный выход: http://www.youtube.com/watch?v=wjB2qZ3Zkh0 (на 4й минуте начало)

Raw_mat
Сообщения: 27
Зарегистрирован: 04 июл 2011, 14:53

Re: Умный Дом по Ethernet

Сообщение Raw_mat » 29 июл 2011, 17:19

Если вы в москве то можете так же поискать эти компоненты на сайте из моего предыдущего сообщения про 328ой чип.

Andrey_B
Администратор
Сообщения: 5327
Зарегистрирован: 18 мар 2011, 12:06

Re: Умный Дом по Ethernet

Сообщение Andrey_B » 29 июл 2011, 23:15

dmitry, я использую программатор USBasp. В системах Arduino/Freeduion, насколько мне известно, несколько иной подход с использованием bootloader'а. Пусть лучше ответят те, кто более в теме. Я не меньше вашего чайник в МК.
ENC28J60 прошивать не надо. Эта микросхема на аппаратном уровне поддерживает Ethernet. Некоторые инициализационные данные (MAC-адрес), а также обмен данными реализован в выложенной прошивке. То есть надо загрузить программу только в Atmega.

Ответить