Система "Умный дом" для загородного дома на Arduino Mega2560, HC-05, SIM900,DHT11,3-х DS18B20,RTC-DS1302
- Войдите на сайт для отправки комментариев
Здравствуйте форумчане, хочу поделиться с вами плодами своего труда. Может, кому пригодится то, что я делаю. Если кто сможет помочь в оптимизации программного кода, то я буду очень благодарен. Я далеко не программист, по специальности инженер КИПиА, поэтому программировать учился с нуля. Долго я разбирался, как это делается на ардуино, и резко все стало проясняться после того как я нашел на www.forumhouse.ru пример програмного кода умного дома на меге с экранчиком. Поэтому выкладываю все исходники, проекты в КОМПАСе и все сопутствующие файлы для того, чтобы все всё сразу поняли. Мне для хороших людей ничего не жалко. Буду рад, если и хорошие люди поделятся со мной, например программкой платформе андроида для аналогичного умного дома. Ну, или хотя бы информацией как эту программку написать.
Год назад я переехал в старенький загородный домик, и вот уже полгода я воплощаю в жизнь свою мечту: систему умный дом. Работы веду параллельно с ремонтом дома и работами на участке, поэтому не так все быстро получается. Но стараюсь придерживаться главного правила: сначала прокладываем кабель, устанавливаем датчики, проводим наладку, после этого делаем отделку места. Я зашиваю всё гипсокартоном, сверлить, ломать и перестраивать не боюсь. Самое главное, что жена пока все это безобразие поддерживает.
Дом у меня с водопроводом, электричеством и природным газом. Поэтому в первую очередь система занимается оптимальным расходованием этим ресурсов. Основные объекты автоматизации: насосная станция, дренажная емкость, газовый котел, всё освещение дома и территории.
Ну а поскольку работаю я вахтовым методом в ХМАО, то мне нужен полный дистанционный контроль и управление через GSM. Для этого применяется плата GSM модуль на SIM900. Много есть программок для андроида для посылок команд через СМС. Но мне нравится больше всего эта: GSM Trinket.apk
По месту управление происходит со смартфонов на андроиде по Bluetooth через программку BluetoothSPP.apk
Основные функции умного дома:
Контроль протечки воды;
Охранно-пожарная сигнализация;
Охрана периметра в ночное время;
Управление освещением;
Климат-контроль дома;
Управление всеми электроприемниками дома;
Контроль и сигнализация предельных температур в помещениях и на улице.
Дистанционное управление по GSM и Bluetooth
Голосовой контроль по GSM
В планах:
Голосовое оповещение на микроконтроллере Attiny2313 и SD-карте (плата уже готова);
Контроль утечки газа (нужен датчик газа);
Имитация присутствия хозяев в доме при работе охранной сигналзиации.
Управление с ИК пультов (а надо ли?)
Контроль уровня в канализационной емкости (есть идея сделать самомы из полипропиленовой трубы, магнита и герконов так же как промышленный ПМП-118 )
Вывод показаний в интернет по GPRS. (найти надо сервер или соцсеть)
Файлы к статье:
Программный код для mega2560:
ForumHouseV14_01_2015.ino
Проект в картинках. Прошу прощения, он еще далек от совершенства, так как все мы знаем, что у него нет пределов. Как только доведу его до уровня исполнительной документации, сразу же выложу.
Проект в JPEG от декабрь 2014.rar
Фото шкафа силового и шкафа контроллерного:
Фото силового шкафа:
Фото контроллерного шкафа:
Центр системы arduino Mega2560:
Плата часов реального времени:
Платы опторазвязки:
Плата реле:
Плата голосового оповещения на attiny2313 и SD-карте:
Файлы доступны на яндекс диске
https://yadi.sk/d/iqyRFz1Zdt8W2
Объем работ, проделанный автором, вызывает искреннее уважение, респект Вам.
Да согласен объем работ вызывает уважение.
Так как я сам КИПовец - то посоветовал бы все платы - преввратить в модули на разъемах. В дальнейшем эксплуатировать и менять в случае неисправности такого модуля - будет намного проще. А вот отпаивать, если возникнет необходимость наладки и замены плат очень и очень "геморно". Наверно ты меня поймешь как КИПовец.
ATkRnr, полностью согласен, коллега! Прошел я уже это, затарился вот такими разъемами с шагом 2,54мм, и все сделал на них, и буду все делать на них. Очень удобно.
Плохо что, плата GSM заточена для arduino UNO. На МЕГу тоже ставится, но делает не доступными пины меги. А так много места в шкафу было бы сэкономлено. Хотя шкафы ЩМП взял на вырост. На avito.ru человек продавал по 1200р за штуку. Взял два, думал в один запихну, но потом понял: гулять, так гулять.
Скоро выложу фото контроллерного шкафа, сейчас там наведен порядок.
Вот это да...
Какая красота в шкафу!
Новый прикол.
Вывод в серийный порт:
Выводит вот это:
Просто как то это пугает...
Я боюсь, что умный дом будет умнее своего создателя))
Похоже на глюк компилятора. У меня кстановлено: ARDUINO 1.0.6
"Похоже на глюк компилятора. У меня кстановлено: ARDUINO 1.0.6"
А почему ты не хочешь отказаться от сканирование датчиков, и работать с фиксированными адресами?
Насколько я знаю, если датчик пропадает из сети то меняет их порядок очереди, и становится уже непонять кто где. Или тебе география не важна, и все датчики установлены в одном месте?
У меня иногда случается, что дачтик температуры на улице кратковременно пропадает, и и УД выдает температуру на улице -127. Хоть и в Сибири живем, но такого не видали. Так вот кабель до датчика идет 17 метров КСПВ 4х0,5. Не экранированный, и даже не витой. Более того на плюсовой жиле сидит датчик освещенности улицы (делитель из резистора и фотоорезистора) и плюс мигающий светодиод из муляжа купольной камеры, в которой все это установлено. Надеюсь кто нибудь что нибудь понял :) Потом пришлю фото.
Так вот когда приеду с вахты, заменю кабель на экранированную витую пару UTP. Питание "потребителей" сделаю по отдельным жилам. И самое главное я уменьшу номинал резистора 4,7к, который на шину данных идет, на меньший 2,7к хотя бы. А вообще поэкспериментирую.
По РЕН-ТВ показывали с месяц назад как скоро роботы убьют человечество и роботизированные чайники зальют людей кипятком :) может кто видел? Чисто поржать можно.
Так вот вывод! Спали умный дом - спаси человечество :)))
Новый прикол.
Вывод в серийный порт:
Выводит вот это:
Господа, проблема все таки в вашем компоте с переменными. Если после 35 строки вы поставите a=0; или объявите их как и требуется BYTE, то все сразу заработает. Не поленитесь, посмотрите какие она принимает значения в вашем варианте. Это маленькие, подлые штуки, которые пытаются сами преобразовывать типы по мере надобности.
Датчики будут стоять в 5 комнатах. Пока не знаю какой будет в какой. и какой на улице.
Я не в курсе был, что надо byte... Везде вроде int пользовался раньше.
Я решил весь код переделать, чтобы без компота из чужих ягод. Переделаю на byte вечером. теперь так:
Пока без sim900 и LCD.))
Здравствуйте Slavyanin55, я здесь новичек, мне очень интересна система Arduino и я бы хотел с вами поговорить об этой системе лично, как нам можно связаться!!! Вот моя почта vladislav178@mail.ru!!!
Ну в шапке программного кода (скетча) я оставил свой email chernisheevka@mail.ru ну вконтактик можно писать http://vk.com/id18126240
Кстати сейчас занимаюсь созданием программки на android для управления моим скетчем. Вот что нашел: онлайн сервис по созданию приложений на андроиде http://ai2.appinventor.mit.edu/#5386187431739392
ну а здесь пример http://arduino-project.net/golosovoe-upravlenie-arduino-android-telefonom/
вообщем за день удалось создать пульт управления по блютус, т.е. тупо отправка команд по блютус. Буду дальше изучать, как показания температур и переменных отображать в приложении.
Здравствуйте,не могли бы Вы поделиться библиотеками использованными в проекте?
Без проблем, выложил на яндекс диске в папку "Библиотеки к проекту"
https://yadi.sk/d/UFkHLq8He6yCz
Спасибо
Столько труда тут. Уважаю.
Да... Вот это полноценный умный дом! Порадовала ардуинка, наглухо прикрученная огромными саморезами!
Спасибо автору.
Буду собирать эту схему для своего частного дома.
Благодарю за отзыв! Собирайте, делитесь опытом! Выкладывайте фото вашего труда. Ну а я могу помочь в программировании, если будут вопросы к моему программному коду.
:) да, люблю когда крепление надежно и разъемно. Видал на алиэкспресе корпуса-боксы для меги... можно её мегу установить в такой корпус.
Хочу сообщить, под шляпками саморезов небольшие отрезки кембрика, они выполняют функцию изолятора + "подпружинивают" корпус меги. Т.е. саморезы не затянуты, а слегка завернуты.
Вообще я сначало думал на двусторонний скотч :) , но не люблю борьбу с клеем от него.
Короче краткий отчет...
Система запущена в ноябре и работает по сей день. Программу постоянно оптимизирую. Добавил много фишек (функций), исправил ошибки, поборол ложные срабатывания от пожарных шлейфов.
Добавил контроль напряжения сети 220В. И по ходу эксплуатации обнаружилось, что во время пурги на улице пошаливает электричество в сети, видимо случаются где то перехлестывания проводов ЛЭП и напряжение "дребезжит" потом вырубается, до восстановления его энергетиками. Так вот Ардуинка успевала за эти мгновения дребезка настряпать в эфир по 4 СМС сообщений. Сделал простую задержку, после первого импульса отключения, и после подачи напряжения. Ну и естественно с временем этого события.
Добавил вольтметр, чтобы контролировать напряжение после ИБП. Полезно, когда дом остался без электричество и арудинка пребывает на аккумуляторе. Ну и когда вот вот каюк ему настанет пошлет СМС. Так же при перезаряде сообщит.
Модернизировал цикл пожарной сигнализации...ничего гениального не придумал, просто сделал тактику работы, как у современных приборов пожарной сигнализции. Сделал режим "проверка" Чтобы, была возможность проверить работоспособность датчиков без тревог и отсылания СМС.
Добавил счетчик отправленных СМС. Так для статистики, чтобы знать куда деньги деваются со счета. Ну и если у вас пакет СМС-ок, то когда он закончится.
Оптимизировал работу с датчиками даллас... теперь, если датчик выдал -127, то система сразу делает переопрос датчиков добавляет в счетчик "косяков" датчиков +1. И вуаля! работать стало хорошо. А косяки потому что я до сих пор не заменил кабель на витую пару и не поменял резистор на шину данных. Ну погоды не было еще, вот сейчас тепло станет, доделаю.
Причесал контроллерный шкаф
В силовом шкафу ничего нового
вообщем жена совсем взяла за горло, делаю ремонт в кухне, умный дом пока на втором месте по приоритету.
Выкладываю последний программный код:
Эт уже не шкафы, это центр управления полетами)))
Выложил последнюю программу на яндекс диск https://yadi.sk/d/9krPQtI4esHWb
И не говори :))) на перспективу!
Вот там за шторкой место есть еще для таких же 2-х шкафов :)
Смотрю и глаз радуется. Автору огромный респект! Красота.
Когда соберу свою систему по вашему примеру, сделаю фото отчет. Но это будет в конце лета, ибо объем большой и делается для сети все красиво и аккаратно :)
А секрет простой, берете большой щит ЩМП, и большой короб ПВХ 25х40. В коробе по бокам дрелью делаются 100500 отверстий, через которые будут протянуты провода. Все собирается, и вся борода проводов прячется в короб. Снаружи красиво, а все страшное внутри. Принцип любого евроремонта :)))
"делается для себя все красиво и аккаратно :)" - во! а вот это самое главное. Для себя же делаем.
Все забываю сделать фотографию чердака. На чердаке у меня сделаны лотки из стоечного и направляющих профилей для гипсокартона. Отдельно силовые лотки, отдельно слаботочные. Так же поставил два дымовых датчика под коньком чердака.
Тоже жду лета, летом строительства на участке будет валом. А так нужно будет подземные кабели кидать до забора, гаража, бани... чтобы датчики и концевики установить. Вот думаю как охрану участка организовать, ИК барьеры от мастер кита чтоли, попробовать.
А вообще летом в выгребную яму буду ставить датчик уровня. Если не сделаю свой из полипропилена и герконов, то просто куплю в кастораме поплавовый выключатель за 320р от насосов.
Подскажите.
pinMode(39, OUTPUT); // Питание гаража
pinMode(41, OUTPUT); // Питание бани
pinMode(43, OUTPUT); // Питание розеток дома
pinMode(45, OUTPUT); // Питание вентиляции
Это выходы на реле?
И интересно как вы снимаете статусы
int statusrzd=0; // статус питания розеток дома 0 - откл , 1- вкл
int statusgaraj=0; // статус питания гаража 0 - откл , 1- вкл
int statusbania=0; // статус питания бани 0 - откл , 1- вкл
int statusPump=0; // статус питания станции водоснабжения 0 - откл , 1- вкл
Спасибо.
1. Да, это выходы реле... в настоящее время, не сделано физически. Куплю пускатели или мощные реле, тогда и доделаю.
2. Ну эти статусы не снимаются. Они как бы задаются. Это такие программные тригеры. Ардуинщики называют их флагами.
Т.е. обратной связи нет, нет контроля напряжения на объектах. Есть только контроль напряжения после УЗО которое обесточивает ряд автоматов на насосы, розетки, баню, граж,... исключение только: холодильник, питание UPS, освещение в доме.
Понял спасибо.
Тоже планиную делать умный дом на Arduino (пока на стадии разработки), правда интересно с беспроводными 433МГц датчиками попробовать.
Спасибо за отличную статью и бесценный опыт.
И да, шкафы у вас шикарные :)
День добрый,
Управление всем светом происходит в этом шкафу ? С каждой люстры идет отдельный 220 в шкаф ? Как та жа люстра взаимодействует с выключателем на стене и с реле в шкафу ?
За что отвечают опторазвязки ?
Ну вообще можно сделать включение света от шкафа (реле) и от выключателя на стене. Как удобно так и включай. Я себе так сделаю.
Да. С каждой люстры, и с каждого двухклавишного комнатного выключателя идут по кабелю ВВГ3х1,5. Сходятся они в шкафу на клеммнике.
Идея такая. Освещение каждой комнаты, запитывается от своего однополюсного автомата. Для того чтобы, освещение всегда было работало, в независимости от работоспособности умного дома. Используется двух клавишный выключатель. Одна клавиша "режим ручной" на ней постоянно фаза. Всегда можно включить свет на постоянку. На второй клавише "режи авто".Фаза на ней появляется после срабатывание реле. Реле включается мгновенно после обнаружения движения датчиком на время установленное в программе и отключается после прекращения движения в комнате.
Если режим авто не нужен просто включается клавиша "ручной режим". Например, когда заходишь в душевую кабину. ИК Датчик тебея уже не видит. Ну а так по мелким делам работает отлично. В зале например у меня ручной режим не используется вообще. Там выдержка в 4 минуты сделана. Если в зале никого нет уже 4 минуты свет отключается. Электроэнергия стала экономиться. Так как ребенок 2 лет, то тут то там, то остался на долго у мамы на кухне. А свет...погорел и сам погас.
Опторазвязки я стараюсь делать где только можно. Оптопары, "убивают двух зайцев" 1. происходит согласование разных напряжений, 2-е гальваническая развязка и помеха защищенность. Мало ли чего бывает. Грозовые разряды, статика... мне нужна надежность. + я не парюсь проводить кабели в близи с "помехами"
Опторазвязки у меня для гальванической изоляции входных и выходных дискретных сигналов.
Вот интересно аналоги развязать возможно?
Дайте пожалуйста ссылку на схему влучшем качестве. Интересно на вашу поглядеть. Просто на этой плохо видны все подписи.
https://yadi.sk/d/uCTDejVSf82H6
Попробуйте вот по этой ссылке, скачайте весь проект. Прошу прощения сразу. Недочертил ещё его. От исполнительной документации он еще далек. Но суть там вся отображена.
Скачал. Большое спасибо.
Скачал. Большое спасибо.
Да на здоровье. Жду ваших идей и реализаций!
Проект выполняется в программе KompasV12 3D. Исходники, всегда пожалуйста.
Где бы мне человечка найти, который на андроиде приложение накидает для моего дома. Кстати нашел сайт http://remotexy.com/ru/editor/code/
Попробую, когда лень и суета отпустят.
Вот это супер! Мне до такого наверное не дойти. Хотя хотелось именно нечто подобного.
Дом стоит пока без штукатурки, но беда в том что я не электрик. А наемные - им как проще. Проходной выключатель, и то нехотя ведут. А если их озадачить чтобы к каждому выключателю и каждой разетки 2 кабеля протащить - сумашедшим сочтут.
Я хотел еще ко всему вышеописанному еще и видеонаблюдение по периметру привентить с мониторингом с телефона. Не думали?
Вот это супер! Мне до такого наверное не дойти. Хотя хотелось именно нечто подобного.
Дом стоит пока без штукатурки, но беда в том что я не электрик. А наемные - им как проще. Проходной выключатель, и то нехотя ведут. А если их озадачить чтобы к каждому выключателю и каждой разетки 2 кабеля протащить - сумашедшим сочтут.
Я хотел еще ко всему вышеописанному еще и видеонаблюдение по периметру привентить с мониторингом с телефона. Не думали?
1. Не подпускайте электриков к своему дому :)) Я как КИПовец их не долюбливаю. Ну это профессиональные особенности. КИПиА. Коллеги поймут. Лучше научитесь сами. Лучше вас никто не сделает. На Ютубе все показывают, как что делается.
"А если их озадачить чтобы к каждому выключателю и каждой разетки 2 кабеля протащить - сумашедшим сочтут." - ну это большая проблема человечества. Отказаться от стереотипов, и зайти за рамки привычного. На этом сайте таких людей нет. Так как, когда рассказываешь человеку, на чем сделан умный дом, то сразу вопрос "а нафига, готовое же все продается? Ну ты маньяк!" ... когда человеку показываешь сколько просят фирмочки за установку готвых систем, больше человек вопросов не задает. Но все равно обычно у таких людей разговоры такие: а пожарная сигнализация зачем, у тебя че пожар будет? А охранная зачем если полиция не приедет? Ну и че, ты на вахте, у тебя там протечка воды случилась... и чЁ, смысл?
Ну начинаешь ему объяснять, что дом не в глухой тайге, кругом люди, соседи. друзья. Что не обязательно дожидаться приезда моего с вахты. А просто попросить соседа(друга,родственника) взять ключ и зайти в дом и проверить. А еще приходится объяснять, что если вода будет бежать неделю(месяц), то будет ущерба больше для жилья, чем если вода будет бежать до прихода соседа(друга,родственника). Ну вообще я шаровый кран на водопровод буду ставить :))))
2. Думали, еще как думали... я уже представляю где будут камеры у меня стоять. В их полезности не сомневаюсь. На данный момент у меня висят 2 муляжа камеры и на входных местах участка большие таблички "внимание видется видеонаблюдение". Пусть думает кто что хочет, но самое главное что алкашы и прочая нечисть участок стороной обходит. Сначало я купил в бауцентре мляж купольной камеры с мигающим светодиодом. Но аборигены не видят его в упор. А вот когда купил муляж серьезной камеры, то вопросов у них нет. Пусть ведут себя прилично. А вообще, уже присматриваюсь что брать. Обязательно хочу с выводом в интернет. Чтобы мог будучи на вахте, посмотреть как дела дома. Мне 4 камер за глаза. Ну а Супруга может за детьми приглядывать, не отходя от плиты. Я считаю, это полезно.
Ты главное кабелей накидай, и штукатурь смело. По ходу дела разберешься. Потому, что жить то в доме надо. Рекомендую сделать нишу, или кладовочку в центре дома. Чтобы были выходы на крышу, чердак. Чтобы была возможность сделать каналы, короба, проходы. Чтобы потом можно было докидывать кабеля. А почему в середине дома. Чтобы геометрически меньше были длины.
Приеду домой, сделаю фото чердака, и как я там сделал лотки кабельные из стоечных профилей гипсокартона.
Тут явно не хватает веб интерфейса. Сильно порадовали саморезы которыми крепится мега :) Если просверлить дырку в проце и туда завернуть такой же саморез, то держаться будет крепче !