Домашня автоматизація на raspberry pi

Домашня автоматизація на Raspberry Pi. Апаратне забезпечення

Вже згадана нами система домашньої автоматизації, як ви пам'ятаєте з попередніх публікацій, складається з двох основних сегментів - централізованого і розподіленого. Розподілений сегмент - це контролери, рознесені територіально і підключаються до Raspberry Pi через інтерфейс RS485. Централізований сегмент - це релейні модулі, модулі дискретних входів, годинник реального часу, різні датчики температури, тиску і т.д, що підключаються безпосередньо до портів GPIO Raspberry Pi.

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

Принципова схема крос-плати наведена на рис. 1 (всі картинки по кліку відкриваються в окремому вікні)

До складу крос-плати входять:

  • Роз'єм 2х20 для підключення портів GPIO Raspberry B + (або Pi 2);
  • Блок живлення 5В / 2А на імпульсному стабілізаторі LM2576 для харчування Raspberry Pi і деяких датчиків. Наявність вихідної напруги 5В відображається світлодіодом VD4;
  • Вихід для підключення в буферному режимі резервного акумулятора;
  • 8 гальванічно розв'язаних дискретних входів, виконаних на оптронах PC817;
  • 8 релейних виходів, реалізованих на двох чотирьохканальних релейних модулях. Конструкція плати дозволяє використовувати як модулі з харчуванням реле 5В. так і модулі з харчуванням 12В. Вибір напруги харчування проводиться за допомогою перемичок JM1-JM2 і JM3-JM4;
  • Датчик атмосферного тиску і температури BMP085 (BMP180), що працює по шині I2C;
  • Годинник реального часу, виконані на мікросхемі DS1307. що працюють по шині I2C;
  • Клемний роз'єм для підключення шини 1-wire;
  • Клемний роз'єм для підключення шини I2C.

Крім того, на платі передбачені штирові роз'єми для підключення додаткових пристроїв через UART і SPI.

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

Raspberry Pi, релейні модулі, датчик тиску і температури BMP180 підключаються до крос-плати через роз'ємні з'єднання. Для надійності і додання зафіксованого стану, що встановлюються на плату компоненти і модулі кріпляться до неї через невеликі монтажні стійки з різьбленням М2,5 (рис.2).

Домашня автоматизація на raspberry pi

За допомогою таких же монтажних стійок, крос-плата кріпитися до стандартної 35-мм DIN-рейці для установки в монтажну шафу (рис.3).

Домашня автоматизація на raspberry pi

Для харчування крос-плати застосований готовий імпульсний блок живлення DR-60-12. Він забезпечує вихідна напруга 12В (з можливістю регулювання +/- 10%) при струмі 4,5 А. Резервний акумулятор 12В / 3,3А підключається до виходу блоку живлення через діод VD5 і працює в буферному режимі.

Харчування 5В подається на Raspberry Pi через штатний роз'єм microUSB. Підключати харчування через Піни 2 і 4 GPIO настійно не рекомендується, тому що в цьому випадку напруга 5В надходить в обхід елементів захисту входу харчування, що може в разі нештатної ситуації привести до виходу Raspberry Pi з ладу.

Дискретні входи розраховані на вхідна напруга 12В від окремого джерела живлення. У разі необхідності застосувати більш високу напругу, потрібно підібрати номінали резисторів R1 ... R8 в ланцюгах світлодіодів оптронов. Як альтернативний варіант, за допомогою перемичок JM5-JM6 для входів можна використовувати напруга 12В харчування самої крос-плати.

На рис.4 наведено вид установки крос-плати з блоком живлення і акумулятором резервного живлення в електромонтажний шафа Legrand 01722 типорозміру 2х12 модуля. Акумулятор встановлений на закріплених на задній стінці шафи двох Г-образних перфорованих куточках.

Домашня автоматизація на raspberry pi

У додатку до статті можна знайти два варіанти друкованої плати. Другий варіант відрізняється наявністю додаткових світлодіодів з струмообмежувальні резистори для індикації стану дискретних входів. Додаткові світлодіоди з резисторами підключаються паралельно входів INPUT 1 ... INPUT 8.

Крос-плата, встановлена ​​в монтажному шафі з блоком живлення і акумуляторною батареєю, в певній мірі може вважатися закінченим пристроєм з можливістю його нарощування і масштабування через шини RS485 (при застосуванні адаптерів USB / RS485 або UART / RS485), 1-wire, I2C і SPI.

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

P.S. У процесі модернізації крос-плати були задіяні вільні раніше Піни GPIO 17 і 27 для підключення двох датчиків температури і вологості DHT22. Зверніть увагу, що фреймворк WebIOPi не підтримує роботу з зазначеними датчиками, але їх підтримку на Raspberry Pi можна реалізувати за допомогою сторонніх бібліотек, зокрема Adafruit_DHT.

Принципова схема, варіанти друкованих плат