Arduino: можливості «розумного будинку», датчик температури і вологості, складання проекту і створення системи керування житлом своїми руками

Що таке «розумний будинок» на базі Arduino?

    Останнім часом все частіше інноваційні технології проникають в різні сфери нашого життя. Їх використання дозволяє істотно підвищити комфорт і економить час людини на виконанні різних завдань. Сьогодні ми торкнемося теми так званих «розумних будинків» і розповімо про їх особливості, переваги, мінуси і технології створення.

    опис системи

    Якщо розбиратися в терміні «розумний будинок», то найбільш близьким аналогом, який буде зрозумілий більшості людей, є фраза «домашньої автоматизації». Сенс таких речей складається в забезпеченні автоматичного здійснення різних процесів, які відбуваються в приміщенні. Використовувати такий механізм можна не тільки в житлових будинках, але і в офісах, а також на різних об'єктах спеціалізованого призначення.

    Якщо говорити конкретно про таких процесах, то можна привести приклад автоматичного включення освітлення в момент, коли хтось заходить до кімнати. Тепер поговоримо детальніше про особливості такої системи.

    Особливості

    Першою особливістю, про яку слід сказати, буде можливість збору системи на зразок конструктора. Вона являє собою наявність центрального елемента на платформі Arduino, представленого центральним контролером, куди стікається вся інформація від різних систем, встановлених в будинку. І в міру можливості допустимо додавати нові компоненти в систему - управляти світлом в різних кімнатах, сповіщати власника про виникнення різних непередбачених ситуацій, контролювати кліматичні умови, стежити за інженерними механізмами.

    Але слід розуміти, що чітких уявлень, які компоненти і механізми повинні бути в подібній системі - немає. Тобто, це концепція, а не певний продукт. При необхідності можна поставити якусь одну систему, а інші ні. Тобто починаємо з чогось малого і в міру необхідності нарощуємо функціонал будинку, отримуючи нові можливості в сфері управління житлом. Однією з найбільш значущих особливостей є можливість інтелектуального управління освітленням. Застосування подібної системи в побуті дозволяє серйозно заощадити ресурси, адже освітлення вмикається виключно тоді, коли людина знаходиться в якомусь приміщенні.

    А враховуючи, що більшість європейців живуть в котеджах, де джерел світла повинно бути значно більше, ніж в квартирі, то це питання є вкрай важливим. Та й не буде зайвим мати контроль за всіма світловими приладами в будинку з будь-якої його точки.

    Наступна особливість - контроль мікроклімату в приміщенні. Описуваний механізм має не меншу важливість. Наприклад, автоматизація опалення буде вкрай важливою не тільки для економії в холодну пору року, але і щоб включити опалення в потрібний момент, адже не завжди є можливість зробити його активним при різкому зниженні температурного режиму. Якщо у вас є автономне опалення на основі котла, то при наявності термодатчиков і механізму контролю газоутечек в разі позаштатної ситуації власник буде сповіщений і зможе оперативно відреагувати на неї в режимі реального часу.

    Ще одна перевага - технічна оснащеність різних систем. З установкою автоматики власник будинку одержує можливість виконувати різні дії: опускати жалюзі, включати екран телевізора або медіа-програвач. Підключивши ці та інші системи до загального механізму, можна реально створити умови для активації того чи іншого пристрою за допомогою натискання всього однієї клавіші.

    Наступна особливість - система безпеки. Механізм «розумного будинку» піднімає на новий рівень захист від проникнення в будинок непрошених гостей під час відсутності господарів. Будинок просто трансформується практично в неприступний об'єкт. Більш того, система може імітувати ефект присутності в будинку шляхом включення і виключення світла, а камери спостереження передають господареві актуальну інформацію про активність в будинку або прилеглої території, що дозволяє заощадити на охороні. Система має ще цілий ряд засобів, які дозволять знешкодити порушника, якщо в цьому є необхідність.

    І остання особливість, про яку хочеться сказати - просте і доступне управління. Незважаючи на свій величезний функціонал, описуваної системою може керувати навіть дитина. Зазвичай для цього використовується невеликий пульт дистанційного керування з традиційними перемикачами і спеціальними панелями. Крім того, управляти механізмами можна з ПК або мобільного пристрою. А в останні роки впроваджуються і так рішення, як управління голосом. Як можна переконатися, у такої системи є маса особливостей, які роблять її відмінним комплексним рішенням для будинку або будь-якого іншого об'єкта.

    Складові частини

    Сьогодні з'явилася велика кількість модифікацій і комплектацій на базі Arduino, де розглянута система може бути реалізована. Велика кількість компаній, які виробляють такі механізми, роблять контролери вже з вбудованими системами Wi-Fi і Bluetooth, що дозволяє управляти системою в межах приміщення через мобільний. Існують і рішення, де управління здійснюється по інтерфейсу типу Ethernet, мова йде про проводове способі за допомогою оптоволоконних кабелів через домашню мережу локального типу. У подібні рішення зазвичай додаються комутатори, а також роутери типу Wi-Fi, що дозволяє здійснювати бездротове підключення, якщо інше не передбачено самим контролером.

    Підключення звичайних ручних вимикачів можна здійснюватися на центральний контролер двома методами:

    • за допомогою електричної проводки;
    • за бездротовою технологією.

    Як можна переконатися, існує велика кількість складових частин «розумного будинку».

    Зазвичай система складається з наступних вузлів, які можуть бути представлені різного роду пристроями:

    • центральний системний контролер, зазвичай представлений головним вузлом, а також дискретного виводу-вступними модуляторами;
    • пристрою розширення і зв'язку, куди входять роутери, різні комутатори, а також модулі GPS і GPRS;
    • прилади, що відповідають за комутацію електроланцюзі - реле, диммери і блоки живлення;
    • прилади виконання - різного роду клапани (води, газу);
    • частини системного управління - сенсорні панелі, планшети, кишенькові персональні комп'ютери, а також пульти;
    • різні вимірювальні частини - прилади, датчики і сенсори (мова йде про датчиках світла, температури і руху).

    Підбираючи обладнання для механізму на базі Arduino, необхідно брати до уваги, який метод передачі інформації буде використовувати конкретна система. Як приклад можна привести досить поширений стандарт EIB \ KNX. Тут зазвичай застосовуються електромережі силового типу, комп'ютерні мережі, а також радіоканали. У той же час існує стандарт Х10, де для передачі інформації використовується звичайна побутова мережа змінного струму з напругою 230 вольт.

    Тут просто йде обмін сигналом, який зазвичай подається при переході струму змінного типу через нульовий варіант. Подібні варіанти зазвичай представлені імпульсами радіочастотного типу в частоті 120 кілогерц з тривалістю 1 мілісекунда.

    переваги

    Говорячи про переваги «розумного будинку» на базі Arduino, слід відзначити наступні моменти.

    • Великі можливості в плані налаштування роботи всього механізму. Тобто використовувати може самостійно написати програму, що може виконати алгоритми різного рівня складності.
    • При бажанні система може працювати автономно через наявність власного контролера.
    • Завантажити програму не складає труднощів через те, що програматор для цього не потрібен, а все здійснюється за допомогою USB-інтерфейсу, так як в мікроконтролері просто здійснюється прошивка бутлоадер.
    • Досить невисока ціна складових частин системи. Це є наслідком того, що у різних виробників немає монопольних прав. З цієї причини архітектура Arduino відноситься до розряду відкритих.
    • Наявність відкритого вихідного коду, що дає можливість користувачеві безпосередньо управляти механізмом розумного будинку.
    • Доступність в тому, що користувач сам вибирає, які датчики і механізми йому необхідні.
    • Універсальність і можливість реалізації найцікавіших ідей. Інструкції або стандарту, яким повинен бути «розумний будинок» на базі Arduino, не існує. Це означає, що користувач може зробити систему такою, якою він хоче, так як власник не обмежений нічим в плані монтажу датчиків в спальні або кухні.
    • Можливість самостійної прошивки завантажувача.
    • Наявність штирьового роз'єму у процесорних плат Arduino, що дозволяє робити програмування вже всередині системи.

    недоліки

    Як і будь-якого механізму, у даної системи є і деякі недоліки.

    • Незважаючи на відкритість системи, для того, щоб її освоїти і успішно нею користуватися, знадобляться знання з цілого ряду специфічних сфер, включаючи такі, як програмування, ремонт і електроніка.
    • Необхідність витратити чималу кількість часу для реалізації і настройки власного проекту, так як кожен проект за своєю суттю є унікальним і може мало в чому повторювати інші.
    • Труднощі в безпосередній налаштуванні Arduino через те, що цей механізм працює лише з невеликою кількістю операційних систем.
    • Існування ймовірності наявності збоїв в програмному забезпеченні, що може привести до проблем або непрацездатності тієї чи іншої команди. З цієї причини слід час від часу робити діагностику справності обладнання.
    • Випромінювання різних типів, які неминучі при такому алгоритмі управління.
    • Необхідність відведення місця під спеціальний шафа, де буде розташовано додаткове обладнання й проведення.
    • Якщо управління здійснюється за допомогою мережі інтернет, то дані, що передаються між компонентами механізму можуть бути перехоплені зловмисниками. Частковим вирішенням проблеми стане виключно захищене з'єднання. Але для його забезпечення потрібно вкласти чимало коштів у модернізацію обладнання.

    Система розумного будинку на базі Arduino має, як і будь-який механізм, свої недоліки. Але їх кількість досить невелика, якщо брати до уваги всі переваги і можливості, які дає подібне обладнання.

    проектування

    Створення будь-якої системи розумного будинку на базі Arduino стартує зі створення проекту. При його розробці слід розуміти, які саме функції і завдання повинна виконувати система.

    Зазвичай проект на базі рішення Arduino Uno передбачає вирішення наступних завдань.

    • Відстеження погодних умов за вікном і температури в приміщенні і, як наслідок, адекватна реакція на їх зміну. Пристрій зазвичай стає елементом єдиної системи разом з опалювальними, вентиляційними приладами та іншими пристроями.
    • Моніторинг стану вікон і дверей - закриті вони чи відкриті.
    • Генерування звукового сигналу при активізації датчика руху, якщо активна функція сигналізації.
    • Автоматичне управління побутовою технікою.
    • Контроль споживання електроенергії, завдяки автопідключенні і виключення освітлювальної техніки.
    • Забезпечення пожежної безпеки. Механізм подає власнику сигнал про наявність спалаху або диму в приміщенні. Якщо розроблена складна система, то вона може навіть викликати на місце пожежників.

    При розробці проекту по стандарту будинок відразу поділяються на 5 основних секторів - кухня, ванна, вулиця, передпокій, спальня. При формуванні проекту подібної системи слід взяти до уваги наступні моменти.

    • Передпокій. Тут необхідно автовключение світла, коли стає темно на вулиці, а також створення механізму виявлення руху. У нічний час зазвичай активується лампочка середньої потужності, що не повинно стати причиною дискомфорту для членів сім'ї.
    • Кухня. Активація та деактивація освітлення на кухні здійснюється зазвичай вручну. Відключення може бути автоматичним, якщо ніхто тривалий час не ходить по приміщенню. Якщо система виявляє, що людина починає приготування їжі, то автоматично включається витяжка.
    • Ганок. Активація освітлювальних приладів може здійснюватися або при відкритті дверей, коли людина виходить з будівлі, або ж коли господар наближається до будинку, якщо на вулиці вже темно.
    • Кімната. Включення світлових приладів здійснюється вручну, хоча при потребі і наявності датчика руху активація може проводитися і в авторежимі.
    • Санвузол. Говорячи про цю кімнату, скажімо, що тут зазвичай все зводиться до управління бойлером. У ньому самому є вимикач харчування, коли при досягненні певної температури води пристрій вимикається. Управління водонагрівачем буде здійснюватися в залежності від автоматики, яка є в наявності. Також при вході в санвузол можна включати світло і активувати роботу витяжки.

    Після того як всі описані вище моменти стали максимально зрозумілі, здійснюється підготовка технічного завдання, куди замовник вносить будь-які правки. Коли буде складено фінальний варіант, це стане основою для формування кошторисної документації на проведення робіт проектного типу.

    Правильно виконане технічне завдання є важливим етапом створення проектної документації. Вже на основі вищезгаданого документа буде створюватися проект по всім системам «розумного будинку».

    Зазвичай проект складається з наступних компонентів:

    • пояснювальний документ, де наводиться опис різних підсистем;
    • схема розташування пристроїв управління;
    • схематичний план трас для кабелів;
    • проект розміщення пристроїв в шафках автоматики;
    • принципові варіанти підключення техніки в таких шафах;
    • плани підключення техніки;
    • журнал кабельного типу;
    • різні специфікації.

    Крім того, на етапі формування проекту здійснюється розрахунок ціни «розумного будинку».

    Залежати ціна буде від таких факторів:

    • кількість пристроїв;
    • вбрання обладнання та підсистеми.

    етапи створення

    Слід сказати, що етапи створення системи «розумного будинку» із залученням фахівців або ж своїми руками будуть однаковими. Правда, в останньому випадку готовий варіант в цілому обійдеться істотно дешевше, ніж якщо залучати фахівців, яких на ринку і так не вистачає. З цієї причини зарплати у них будуть відповідними, а значить, якщо ви не хочете витрачати зайві кошти, то можна обійтися власними силами. Отже, почнемо з комплектуючих для цієї системи, якщо ви вирішили все-таки створювати її самостійно.

    Комплектація

    Якщо говорити про комплектацію системи, то технологія буде включати в себе наступний набір компонентів:

    • датчик руху;
    • датчик температури і вологості;
    • датчик освітленості;
    • пара температурних датчиків з маркуванням DS18B20;
    • Ethernet-модуль марки ENC28J60;
    • мікрофон;
    • перемикач язичкового типу;
    • реле;
    • кабель типу «кручена пара»;
    • кабель категорії Ethernet;
    • резистор, що має опір 4,7 кілоомах;
    • мікропроцесорна плата Arduino.

    Тут слід сказати, що представлений список може доповнюватися і відрізнятися в залежності від проекту, а також потреб користувача, необхідності в тих чи інших функціях.

    алгоритм підключення

    Слід сказати, що розумний будинок повинен бути оснащений виключно світлодіодними лампочками, так як звичайні варіанти просто можуть не витримати великої напруги. Коли проект буде готовий, а всі потрібні запчастини вже придбані, слід почати підключення датчиків і контролерів. Робити це необхідно виключно за схемою, створеної раніше. Контакти необхідно повністю ізолювати.

    Якщо говорити коротко, то поетапно алгоритм підключення буде виглядати таким чином:

    • установка коду;
    • настройка програми для ПК або мобільного;
    • портова переадресація;
    • здійснення тестування ПО і датчиків;
    • усунення несправностей, якщо вони були виявлені при тестуванні.

    Отже, почнемо з установки коду.

    Спочатку користувачеві слід написати ПО в Arduino IDE. У ньому представлені:

    • текстовий редактор;
    • творець проектів;
    • програма для компіляції;
    • препроцесор;
    • інструмент для завантаження ПО в міні-процесор Arduino.

    Слід сказати, що існують версії ПЗ для основних комп'ютерних ОС - Windows, Linux, Mac OS X. Якщо говорити про використовувану мову програмування, то мова йде про C ++ з рядом спрощень. Програми, написані користувачами для Arduino, зазвичай називають скетчами. Ряд функцій система створює автоматично і користувачеві не потрібно розбиратися в їх написанні, прописуючи список звичайних дій. Також немає необхідності вносити файли заголовки типу звичайних бібліотек. Але для користувача вставляти необхідно.

    Додавати бібліотеки в проектний IDE-менеджер можна різними методами. У вигляді початкових кодів, прописаних на С ++, йде додавання в окрему директорію на робочій директорії IDE-оболонки. Тепер імена необхідних бібліотек з'являються в певному IDE-меню. Ті, що ви відзначите, увійдуть в компіляційний список. В IDE існує мала кількість налаштувань, а задавати тонкощі компілятора взагалі немає можливості. Це зроблено для того, щоб недосвідчена людина не накоїв якихось помилок.

    Але на сьогоднішній день користувачеві не завжди необхідно самостійно створювати програму - в інтернеті можна знайти велику кількість скетчів і вже готових бібліотек.

    Якщо ви завантажили бібліотеку, то її необхідно розпакувати і просто вставити в IDE. У програмному тексті є коментарі, які пояснюють принцип її роботи. Слід зазначити, що всі додатки на Arduino працюють за однією технологією: користувач шле запит на процесор, а він, у свою чергу, здійснює завантаження потрібного коду на екран пристрою. Коли людина натискає клавішу Refresh, то мікроконтролер відсилає інформацію. З кожної зі сторінок з певним позначенням йде програмний код, що буде відображатися на екрані.

    Наступний комплекс дій полягає в установці клієнта на персональний комп'ютер або смартфон. Завантажити його можна в інтернеті, в Google Play Market або з іншого джерела. Для того щоб зробити це, необхідно відкрити файл на телефоні, який ви завантажили, після чого клацнути по ньому і у вікні натиснути на клавішу «Встановити». При цьому слід знати, що для цього повинна бути активована опція, що дозволяє здійснювати установку програм не з сервісу Google Play. Щоб включити цю опцію, необхідно увійти в розділ налаштувань і вибрати там пункт «Безпека». Саме так і необхідно активувати відповідну опцію. Коли установка завершиться, то можна буде здійснити активацію програми і налаштувати його.

    управління

    Використовуючи це ПО, можна не тільки отримувати інформацію від системи, але і здійснювати управління - наприклад, активувати і деактивувати сигналізацію. Якщо опція активна, то при активації датчика руху програма отримає відповідну інформацію. Відзначимо, що опитування Arduino на активацію датчика руху програма здійснює з інтервалом раз в 60 секунд.

    Наступний етап підключення - настройка браузерної програми на використання з «розумним будинком». В адресній рядку потрібно ввести певну послідовність, якої буде IP-адреса вашого комп'ютера. Після здійснення цієї дії користувачеві стане доступною можливість отримання інформації від «розумного будинку» і можливість керувати ним.

    Після цього можна переходити до роботи з маршрутизатором. На ньому слід відкрити порт.

    Здійснити це можна за наступним алгоритмом:

    • відкрити настройки;
    • прописати адресу мікроконтролера Arduino;
    • відкрити восьмидесятих порт.

    Тепер слід налаштувати обліковий запис на порталі Noip. com. Хоча даний етап необов'язковий, але в ньому є необхідність, якщо адресою необхідно дати ім'я доменного типу. Потрібно пройти процедуру реєстрації на порталі www. noip. com, після чого перейти в категорію Add host і вказати IP-системи. Після проходження цієї процедури можна буде отримувати доступ не тільки по IP, але і по домену. На цьому формування проекту закінчено і можна здійснювати перевірку системи на предмет її працездатності.

    Особливості використання ряду апаратних частин

    З огляду на, що совестімие з Arduino компоненти випускаються великою кількістю виробників, а сама Arduino не може контролювати продукцію, користувач стикається з ймовірністю придбання компонента, який буде працювати, м'яко кажучи, некоректно. В цілому така ситуація вже існує в сегменті створення персональних комп'ютерів. Дуже давно компанія IBM зробила архітектуру своїх персональних комп'ютерів відкритій, у зв'язку з чим сумісні комп'ютери стали виробляти різні компанії.

    У той же час якість деталей і ступінь сумісності впали. На противагу цьому можна назвати політику компанії Apple, яка істотно обмежила число розробників, які отримали доступ до її архітектурі.

    Те ж саме стосується і розробки ПЗ. Це стало причиною того, що продукція американської компанії істотно менше поширена і має більш високу ціну. Але якість тут істотно вище і не йде ні в яке порівняння з пристроями, які працюють під Windows.

    Користувачі відзначили такі особливості в роботі ряду компонентів Adruino.

    • На ряді мікропроцесорних рішень Arduino при здійсненні замикання реле, що до них підключені, ламається порт типу COM. З цієї причини мікроконтролер не може здійснити завантаження скетчу. При старті цієї процедури устаткування йде на перезавантаження. Найцікавіше, що реле видає клацання, COM-порт вимикається, а скетч не завантажується.
    • На випадок збою в діяльності мікроконтролера або ж виникнення кодової помилки краще використовувати добре замкнуті реле, до яких підключені послідовно вимикачі ручного типу.
    • Датчик закривання дверей може іноді спрацьовувати хибно. З цієї причини скетч створюється так, щоб система здійснювала потрібну дію при отриманні пари-трійки сигналів відразу.
    • Для пристрою, який відповідає за протипожежну сигналізацію, найкраще використовувати димової датчик, а не вогневої. У останнього існує недолік - він виявляє вогонь не далі, ніж на відстані тридцяти сантиметрів від себе.
    • Температурний датчик моделі DHT11, який йде в так званому стандартному наборі, видає серйозну погрішність на рівні два-три градуси. У будівництві краще використовувати модель DHT22, яка істотно точніше. А за вікном краще використовувати DHT21. Він може працювати навіть при мінусовій температурі і стійкий до пошкоджень механічного типу.
    • Щоб налаштувати управління процесами за допомогою ударів, ряд користувачів через незнання замість мікрофона бере звуковий детектор, де присутній настройка порога ручного типу. Для таких цілей цей пристрій не підійде через те, що воно має порівняно невеликий радіус дії. Та й датчик здійснює передачу сигналів невеликими за часом імпульсами. При наявності великого за розміром скетчу, обробка якого займає час, мікроконтролер просто не фіксує сигнали.

    Щоб уникнути придбання запчастин низької якості, досвідчені користувачі рекомендують перед покупкою читати відгуки в інтернеті. Доступні датчики можна купувати в декількох варіаціях, щоб перевірити особисто, який буде працювати ефективніше.

    Візуалізація системи і збільшення її потенціалу

    Слід сказати, що для візуалізації процесів в даній системі можна застосовувати цифрові табло або дисплей на рідких кристалах. Але це не кращий варіант в даному випадку. Використовувати для візуалізації окремий сервер оброблення станів буде найефективніше. Його можна реалізувати на Node. js, яка дозволяє реалізувати будь-якій сервер. Природно, що мова йде і про обробленні станів плати Adruino.

    Дана технологія застосовується для виконання завдань так званого інтернету речей, у зв'язку з чим для візуалізації системної автоматики вона підійде. Необхідно просто створити сервер і обробник на JavaScript, тоді легко буде відобразити підсумок у браузері будь-якого пристрою. Як апаратну основу можна застосовувати той же мікрокомп'ютер Raspberry Pi або ПК. Але можливості механізму автоматизації істотно збільшаться. Наприклад, на сервері обсяг пам'яті необмежений, та й серверну програму можна створити таким чином, щоб вона керувала всім.

    За допомогою такого типу сервера можна навіть зв'язати речі між собою. Йдеться про те, щоб візуалізувати автоматичні процеси будинку за допомогою хмарних сервісів. Ще один варіант - отримання інформації та керування системою за допомогою SMS-повідомлень.

    Загалом, як можна переконатися, система такого типу на Arduino - це відмінне рішення для тих, хто хоче зробити свій будинок технологічним і комфортним.

    Про те, що таке «розумний будинок» на базі Arduino, дивіться в наступному відео.