1 2 3 4 5 6 7 8 9 10 9.5/10 9,65оценок: 31

Умный дом на модулях Ардуино

Тема в разделе "Умный дом", создана пользователем Logvin, 02.07.12.

  1. Echelon
    Регистрация:
    15.08.12
    Сообщения:
    374
    Благодарности:
    118

    Echelon

    Живу здесь

    Echelon

    Живу здесь

    Регистрация:
    15.08.12
    Сообщения:
    374
    Благодарности:
    118
    Адрес:
    Прага
    Что то, не хватает в этом комплекте, у меня не компилируется скетч на вашем компиляторе 022, с вашими библиотеками. Я пока буду разбираться ...проверьте плз архив.
     
  2. Logvin
    Регистрация:
    30.06.12
    Сообщения:
    1.754
    Благодарности:
    902

    Logvin

    Живу здесь

    Logvin

    Живу здесь

    Регистрация:
    30.06.12
    Сообщения:
    1.754
    Благодарности:
    902
    Адрес:
    Звенигород Московская область
    Все правильно Echelon :super:.
    На большое растояние проблемы возникают только с ШИМ, тоесть если у вас будет на пример светодиодное освещение, и управлятся дряйвера будут через ШИМ, то ставть драйвера рядом с ардуино, и на светодиоды тяните силовые линии. А можно и поставить в каждой комнате по ардуино нано или уно, там и воткнуть драйвера и релейные модули, обьеденить ардуинки беспроводным способом, можно привязать их к одному головному устройству, а можно сделать самостоятельными но с возможностью управления с головного устройства (так правильней).
    К мастеру подключить слэйвов сколько угодно. В радио модули прошиваете свои разные ID, и вперед.
    Я бы для связи использовал свои родные радиомодули XBee, есть версия про и без, отличие радиус действия. У про по улице типа до 1 км (не верю).


    Хм возможно библиотеки подтянулись с других мест у меня, проверте наличие библиотек.
    вот какие нужны
    #include <ITDB02_Graph16.h> / экрана
    #include <ITDB02_Touch.h> / тач
    #include <tinyFAT.h> / SD
    #include <ITDB02_tinyFAT16.h> / SD именно на экране
    #include <DS1307.h> / часики
    #include <Wire.h> / I2C (часики работают по этой шине)
    #include <EEPROM.h> / библиотека памяти для хранения переменных



    #include <tinyFAT.h> / SD
    Вот точно глянул архив, в папке libraries отсутствует библиотека тини фат.
    Вот тут можно скачать свеженькую http://www.henningkarlsen.com/electronics/library.php?id=7.
    Прошу прощения :).
    Скачиваем и распаковываем в папку с библиотеками.


    и библиотека #include <ITDB02_tinyFAT16.h>
    тут можно взять http://www.henningkarlsen.com/electronics/library.php?id=33.


    На данный момент у меня подключен GPRS, к Serial1, это второй аппаратный UART на меге, и через СМС включается полностью дом, и выключается, включается авто полив с указанием в ответном смс активации и на какое время, приходят в обратку смс по выполнению команд. СМС управления с паролями.


    В принципе управление через СМС можно поставить на что угодно, на пример у меня на корридор датчик движения, когда дом активен он управляет светом в корридоре, а когда дом выключен то шлет смс с алармом что дома ктото ходить, типа сигнализации, смс можно слать кому угодно и сколько угодно, главное чтоб денег хватило на счету :)
     
  3. Echelon
    Регистрация:
    15.08.12
    Сообщения:
    374
    Благодарности:
    118

    Echelon

    Живу здесь

    Echelon

    Живу здесь

    Регистрация:
    15.08.12
    Сообщения:
    374
    Благодарности:
    118
    Адрес:
    Прага
    Я переделываю ваш скетч на ардуино 1.01, библиотеки добавил...сразу
    Вроде как ошибки типа такойостались
    HomeV2clock_pde.cpp: In function 'void strit()':
    HomeV2clock_pde:309: error: 'class ITDB02' has no member named 'loadBitmap'

    похоже еще и картинок не хватает *.raw
     
  4. Andr0n
    Регистрация:
    31.05.10
    Сообщения:
    90
    Благодарности:
    18

    Andr0n

    Живу здесь

    Andr0n

    Живу здесь

    Регистрация:
    31.05.10
    Сообщения:
    90
    Благодарности:
    18
    Адрес:
    Москва
    А софтовая реализация подобных вещей (naster-slave) есть или здесь придется все с нуля писать? Имеется в виду именно центральное управление с мастера.

    И если закладываться на такую архитектуру, то какую проводку к слейвам закладывать? Обычную витую пару кат 5 или что-то более хитрое?
     
  5. Logvin
    Регистрация:
    30.06.12
    Сообщения:
    1.754
    Благодарности:
    902

    Logvin

    Живу здесь

    Logvin

    Живу здесь

    Регистрация:
    30.06.12
    Сообщения:
    1.754
    Благодарности:
    902
    Адрес:
    Звенигород Московская область
    Картинки не мешают грозить скетч, просто их не будет отображать пока не за грузите, а так все будет работать.
    Ну а по ошибкам тут значить так: с дополнительной функцией стрит, это там где по улице в меню, ему чтото не нравится, и библиотека часов ему тож чтото не нравится, нужен полный список с ошибками.
    И еще вопрос - а зачем переводить на версию компилятора 1.01 ? Там у самих разработчиков то проблемы, она типа в тестировании, на край я рекомендую 0,23 или уж так хочется то 1.0
    А в общем это на самой работе ардуинки не отображается. Просто в новых версиях добавлены новые возможности.


    Ардуинка общается в основном по сериал интерфейсу. Так что общение можно свести к простой передаче данных переменых, а вот как и какому модулю реагировать на переменые нужно на отдельных модулях описывать. А через XBee если то зачем закладывать пару если они общаются по радио. Только питание надо обеспечит, чтоб стабилитрон на ардуинке не грелся лучше давать 6-7 вольт.
     
  6. Andr0n
    Регистрация:
    31.05.10
    Сообщения:
    90
    Благодарности:
    18

    Andr0n

    Живу здесь

    Andr0n

    Живу здесь

    Регистрация:
    31.05.10
    Сообщения:
    90
    Благодарности:
    18
    Адрес:
    Москва
    Не очень люблю я радиоканал, и тем более, если питание все равно тянуть. Смотрю есть Arduino Ethernet PoE (nano и ethernet в одном флаконе). А как выглядит программирование взаимодействия между модулями - есть ли поддержка всего ввода вывода или нужно коммуникационный протокол самому реализовывать?
     
  7. Logvin
    Регистрация:
    30.06.12
    Сообщения:
    1.754
    Благодарности:
    902

    Logvin

    Живу здесь

    Logvin

    Живу здесь

    Регистрация:
    30.06.12
    Сообщения:
    1.754
    Благодарности:
    902
    Адрес:
    Звенигород Московская область
    Ну давайте в начале разберемся с тем как в общем работает комутация в ардуино контролерах,
    тут все просто - можно назначить каждому пину имя, присвоить режим работы (не рекомендую один и тот же пин в одной програме запускать в разных режимах, цифровой и аналоговый, тоесть если решили что этот пин выход, то пусть так и будет, если решили что вход и цифровой или аналоговый то пусть так и будет), далее если это выход, то должны определится какой, просто включить или выключить или ШИМ.
    И эти показания все присваиваются переменным, так вот в дальнейшем контролеру надо просто сообшить показание этой переменной, или она подтянется из епрома, или изменится от дейсвия програмного или аппаратного зависимость от другого пина, или получит по каналу связи, на пример по сериал порту или езернет.
    Писать сам скетч конечно прийдется на каждый модуль, но разобравшись в этом вопросе в дальнейшем это не так сложно.
    Скетчи на конечных модулях если они отвечают только за комутацию устройств, будут простенькими, а головное устройство будет только отсылать значение переменных.
    Но можно уйти от сложных схем тоже. На пример по освещению, я буду делать лед с управлением от ардуино по шим. Тут конечно можно было городить все что угодно, но мне достаточно на пример было скомутировать просто питание на этаж, далее там на этаже стоит ардуинка уно, сама по себе, в которой залит простенький скетч, отвечающий за работу освещения, по всему этажу, димирование, сенсорные кнопки, голосовой модуль. И сама эта ардуинка работает самостоятельно, а центральная ардуинка, с сенсорным экраном и модулем GPRS только комутирует канал питания целиком.
    И так в принципе можно все подключить. А так если у вас головное устройство, вы ведь не будете к нему постоянно бегать, чтоб чтонить включить и так далее.
    Единственное если захочется сделать так чтоб с каждой комнаты можно было управлять всеми устройствами, и любым модулем любого помещения, тот тут прийдется конечно городить двухстороннью связь. Вот тогда надо задумыватся о проводах езернет :) .
     
  8. opyzhov
    Регистрация:
    03.10.11
    Сообщения:
    556
    Благодарности:
    146

    opyzhov

    Живу здесь

    opyzhov

    Живу здесь

    Регистрация:
    03.10.11
    Сообщения:
    556
    Благодарности:
    146
    Адрес:
    Санкт-Петербург
    Logvin, согласен что децентрализация это хорошо и правильно. увеличивается отказоустойчивость всей системы в целом.
    > Единственное если захочется сделать так чтоб с каждой комнаты можно было управлять всеми устройствами, и любым модулем любого помещения, тот тут прийдется конечно городить двухстороннью связь. Вот тогда надо задумыватся о проводах езернет

    думаю протокол должен быть обязательно двухсторонним. например функция "выключить все" ведомые модули должны ее воспринять...
    вот какой протокол выбрать это вопрос.
    читаю сейчас про modbus TCP (https://code.google.com/p/mudbus/) .. если его реализовать, то можно не только устройство связать, но и подключить к центральной SCADA системе, через которую сделать нормальную визуализацию и мониторинг ..
     
  9. Logvin
    Регистрация:
    30.06.12
    Сообщения:
    1.754
    Благодарности:
    902

    Logvin

    Живу здесь

    Logvin

    Живу здесь

    Регистрация:
    30.06.12
    Сообщения:
    1.754
    Благодарности:
    902
    Адрес:
    Звенигород Московская область
    Ну так через езернет шилд легко сделать веб морду, и через нее управлять и получать визуально данные.
    Только всеравно сделанно это через сериал интерфейс. А какой модуль подключен через сериал роли не играет, на пример у меня подключен сейчас GPRS модуль, и управлять центральным модулем через смс мне показалось удобно, чем залазить через комп на веб морду. Ну или на пример заставить конектится модуль по GPRS к серверу а там реализовать управление тоже можно, но надо обеспечить хороший канал связи и выделенный сервер .
     
  10. opyzhov
    Регистрация:
    03.10.11
    Сообщения:
    556
    Благодарности:
    146

    opyzhov

    Живу здесь

    opyzhov

    Живу здесь

    Регистрация:
    03.10.11
    Сообщения:
    556
    Благодарности:
    146
    Адрес:
    Санкт-Петербург
    Logvin, я немного про другое писал. про взаимодействие модулей между собой.
    а управлять домом через web морду имхо неудобно.
    и опятьже имхо грузить контроллер управлением web сервером тоже неправильно, лучше оставить место в памяти для обработки событий ...

    с точки зрения управления я вижу себе: обычные выключатели + центральная сенсорная панель (у вас я так понимаю сделано похоже)
    Вв свое время смотрел встраиваемые сенсорные 10' мониторы с PC платой, либо планшетник.
    а внешнее управление скажем по sms или (я считаю лучше) по email... послал команду "еду домой" - на контроллере отработал сценарий. не более того. т. к. заходить в браузер или делать еще какие либо сложные действия сидя например в машине - неудобно.
     
  11. KillerAll
    Регистрация:
    13.04.10
    Сообщения:
    198
    Благодарности:
    25

    KillerAll

    Живу здесь

    KillerAll

    Живу здесь

    Регистрация:
    13.04.10
    Сообщения:
    198
    Благодарности:
    25
    Адрес:
    Орел
    Посмотрите тут https://forum.ixbt.com/topic.cgi?id=82:103-115#2960 и тут http://www.gaw.ru/html.cgi/txt/interface/spi/index.htm мельком нашел
     
  12. Logvin
    Регистрация:
    30.06.12
    Сообщения:
    1.754
    Благодарности:
    902

    Logvin

    Живу здесь

    Logvin

    Живу здесь

    Регистрация:
    30.06.12
    Сообщения:
    1.754
    Благодарности:
    902
    Адрес:
    Звенигород Московская область
    Я вас понимаю, и инфу только добавляю а не опровергаю вашу, вы все правильно думаете по поводу управления.
    Контролер дополнительный, что веб, что GPRS и так далее, особо не грузит ценральный проц, в основнома модуль все берет на себя.
    У меня сейчас сделано так, отсылаю сообщение - еду домой с паролем в сообщении, если дом получил и обработал то в обратку присылает ответ по выполненому действию.
    Когда отсылаю сообщение на полив на пример, то в ответ получаю не только выполнение но и сколько временибудет длится авто полив, а когда полив выключится то получу ответ по смс что выключился.
    В принципе на любую команду пожно так сделать, и меня это в полне устаивает .
     
  13. opyzhov
    Регистрация:
    03.10.11
    Сообщения:
    556
    Благодарности:
    146

    opyzhov

    Живу здесь

    opyzhov

    Живу здесь

    Регистрация:
    03.10.11
    Сообщения:
    556
    Благодарности:
    146
    Адрес:
    Санкт-Петербург
    Logvin,. здо'рово...
    а не подскажите как долго вся система работает? волнует надежность...
    и как себя ведут реле? сильно щелкают?
    я дома (квартира).. если переведу всю электрику на управление от контроллера и в один момент он перестанет работать, будет... не очень хорошо...

    PS заказал вот такие релюхи...
    [​IMG]
    http://www.ebay.com/itm/8-Channel-Input-5V-150mA-Solid-State-Relay-Module-Board-based-on-OMRON-SSR-/320863155960?pt=LH_DefaultDomain_0&hash=item4ab4ef36f8

    мощьными нагрузками хочу управлять через данные реле + реле AC/AC 220В на 40A
     
  14. Andr0n
    Регистрация:
    31.05.10
    Сообщения:
    90
    Благодарности:
    18

    Andr0n

    Живу здесь

    Andr0n

    Живу здесь

    Регистрация:
    31.05.10
    Сообщения:
    90
    Благодарности:
    18
    Адрес:
    Москва
    Я хочу автоматизировать только управление отоплением. Возможно потом что-то еще, но со светом заморачиваться точно не буду.

    Думаю о такой схеме работы:
    В каждой комнате стоит свой контроллер, к которому подключены 1-2 датчика температуры. С центрального контроллера он получает команду, какую температуру поддерживать и далее этим и занимается.
    На центральном контроллере уже реализуются все сценарии управления. В дополнение можно взять недорогой андроидный планшет с небольшой диагональю и его использовать в качестве еще одного пульта дист. управления.
    Хотя если температурные сенсоры можно было бы удалять от контроллера метров на 10-15, то тогда вообще можно не городить огород с несколькими контроллерами.
     
  15. opyzhov
    Регистрация:
    03.10.11
    Сообщения:
    556
    Благодарности:
    146

    opyzhov

    Живу здесь

    opyzhov

    Живу здесь

    Регистрация:
    03.10.11
    Сообщения:
    556
    Благодарности:
    146
    Адрес:
    Санкт-Петербург
    Andr0n, на сколько мне позволяют судить теоритические знания для измерения температуры можно использовать один шлейф сети 1-wire с датчикам DS18B20 .. работают на большом расстоянии.