Огляд шини 1-WIRE для створення розумного будинку

  1. Унікальний ідентифікатор пристрою

У попередніх статтях ми розглядали саме поняття   розумного будинку   і огляд шини   KNX   , Тепер же перейдемо до найпростішої платформі для створення розумного будинку - 1-WIRE
У попередніх статтях ми розглядали саме поняття розумного будинку і огляд шини KNX , Тепер же перейдемо до найпростішої платформі для створення розумного будинку - 1-WIRE. Платформа розроблялася з кінця 80-х до кінця 90-х років компанією Dallas Semiconductor (з 2001 року - Maxim Integrated) і призначалася для задач контактної ідентифікації об'єктів, в т.ч. з функціями вимірювання і реєстрації температури, вологості, параметрів автономного електроживлення, а також з функціями знімання, зберігання і перенесення даних. Мабуть, найвідомішим прикладом застосування цієї платформи є iButton - ключ-таблетка для домофона:

В даному випадку компонент 1-Wire розміщується усередині невеликої «таблетки» з нержавіючої сталі і підключається до систем шини 1-Wire за допомогою розеток з контактами, які стосуються «кришки» і «дна» таблетки. Однак надалі, завдяки вмінню роботи з температурою, шину стали використовувати при створенні розумного будинку, в першу чергу в системах контролю мікроклімату.
Архітектура платформи 1-WIRE
Інтерфейс 1-Wire має всього два дроти - один загальний (GND, земля), другий для харчування і даних; в деяких випадках використовують і окремий провід живлення. Шина двунаправленная, швидкість зазвичай 15,4 Кбіт / с, максимум 125 Кбіт / с в режимі overdrive. Напруга живлення абонентів при цьому формується шляхом пікового детектування напруги на сигнальному проводі, тобто використовується «паразитне» харчування (сигнал, який є стрибком напруги, і живить пристрої на шині) - це виявляється можливим завдяки низькому енергоспоживанню розробленої для 1-Wire елементної бази. Але, зрозуміло, в мережі можуть бути пристрої з власним джерелом живлення, а так само для пристроїв, що мають підвищене енергоспоживання, використовується живлення по окремій лінії.
Можливість підключення пристроїв в «гарячому» режимі
Протокол 1-Wire передбачає видачу пристроєм, що підключається до магістралі в «гарячому» режимі, імпульсу, який повідомляє про появу на магістралі нового пристрою. Іншими словами, в мережу можна додавати нові пристрої і вони тут же зможуть працювати.

Унікальний ідентифікатор пристрою

Кожна мікросхема 1-Wire містить унікальний 64-бітний код, записується на етапі виробництва.Даний код дозволяє індивідуалізувати всі випущені пристрої 1-Wire, для чого виробник гарантує відсутність однакових кодів (аналогічно MAC-адресами мережевих адаптерів).При підключенні до магістралі даний код зчитується контролером і використовується для ідентифікації пов'язаного з цим пристроєм об'єкта, а також для визначення типу пристрою.При підключенні до магістралі декількох пристроїв їх коди можуть використовуватися в якості їх адрес, що дозволяє будувати технологічні мережі, що отримали назву MicroLAN.
топологія
У мережі обов'язково є центральний контролер-майстер, завдяки якому відбувається обмін інформацією, і адаптер - для узгодження контролера з магістраллю.Усі інші пристрої-слейви (підлеглі) приєднані до двох проводах, сигнальному і загальним:

Так як шина двунаправленная, то при наявності одного контролера топологія (принцип пристрою мережі) - лінія, тобто всі пристрої нанизані на один загальний кабель.Однак при наявності декількох взаємопов'язаних контролерів можливо зробити і і ветвящуюся деревоподібну структуру.
Основні параметри інтерфейсу 1-Wire наступні:
  • максимальна довжина магістралі при використанні кручений пари - до 300 м;
  • максимальна кількість абонентів на магістралі максимальної довжини - до 250;
  • швидкість обміну по магістралі максимальної довжини - до 16,3 кбіт / c.
Принцип роботи мережі

Обмін даними по магістралі включає три фази:

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


Логіка всіх пристроїв тактується негативним фронтом сигналів контролера як в режимі запису, так і в режимі читання. Біти кодуються тривалістю позитивного імпульсу: «1» передається довгим імпульсом, а «0» - коротким. У режимі запису все імпульси даних формуються контролером. У режимі читання контролер формує послідовність одиниць, а абонент накладає на них свою маску нулів:
Логіка всіх пристроїв тактується негативним фронтом сигналів контролера як в режимі запису, так і в режимі читання
Іншими словами контролер пускає в мережу послідовність одиниць, підключений до мережі пристрій в потрібному місці змінює 1 на 0 (тим самим забезпечуючи собі харчування), а на контролер приходить послідовність нулів і одиниць - відповідь від слейва.
Програмне забезпечення
Фірма Maxim Integrated (творець шини 1-WIRE) надає для програмування систем на базі 1-Wire бібліотеки API і SDK для широкого ряду платформ - персональних комп'ютерів з ОС Windows / Linux / MacOS, мобільних пристроїв, мікроконтролерів, .NET і JAVA. Так само пропонується програмний сканер мережі OneWire Viewer, що дозволяє знаходити й ідентифікувати підключення до мережі пристрою і відображати повний перелік їх параметрів і даних. З сторонніх розробок найбільший інтерес представляють наступні:

  • OWFS - One Wire File System. Вільно поширюється по ліцензії GPLv2. Призначений для UNIX-платформ, але при використанні UNIX-емулятора cygWin може працювати і в середовищі Windows. Має веб-інтерфейс, що робить можливим віддалений доступ, наприклад, через Інтернет. OWFS є найпопулярнішою програмним середовищем для домашньої автоматизації на базі платформи 1-Wire.
  • Бенукс - програмне середовище для різних завдань автоматизації. Є комерційним продуктом. Дозволяє взаємодіяти з системою автоматизації по різних каналах, в т.ч. за допомогою веб-інтерфейсу і SMS. Надає можливості автоматизованого управління за сценаріями.
  • jHomeNet - вільно розповсюджуваний програмний комплекс для сервера 1-Wire на Java.

Новости