One wire network

Управляти з комп'ютера освітленням і виробляти контроль температури за допомогою 1-Wire.

One wire network

One wire network

У даній статті я постараюся описати процес установки і настройки пакета OWFS на Debian 7 і Windows 7 32bit. Процес установки на різні операційні системи різний, і в ньому є свої тонкощі і хитрощі (я встановлював пакет з репозиторіїв Debian 7 і установка стабільної версії пройшла без проблем, єдине що довелося робити в ручну - прописувати запуск owfs при старті системи в rc.local і створити каталог 1wire в mnt), І знаю що є складнощі при установці OWFS на FreeBSD.

Для Debian 7 процес установки дуже простий:

1. Заходимо в менеджер пакетів Synaptic шукаємо OWFS і ставимо.

3. Створюємо каталог / mnt / 1wire

2. Для запуску програм при старті системи додаємо наступні записи в rc.local

owserver -uall -p 3000

owhttpd -s 3000 -p 3001

owfs -s 3000 --allow_other --mountpoint = '/ mnt / 1wire'

Процес установки пакета OWFS на Windows 7 32bit такий:

1. Вставляємо USB адаптер 1-wire в порт.

2.1 Встановлюємо драйвер - в диспетчері пристроїв з'явиться іконка з жовтою зірочкою і напис 1-Wire. там і буде новий пристрій.

3. Качаємо архів libusb-win32-bin. разархивируем його і йдемо в папку bin

3.1 Вибираємо свою архітектуру системи (у мене х86).

3.2 Копіюємо файли зазначені в libusb-win32-bin-README в зазначені папки. (Не забуваємо перейменовувати dll файли, як сказано в README)

3.3 Запускаємо файл install-filter-win, вибираємо перший пункт, тиснемо next, вибираємо свій адаптер, тиснемо install, тиснемо cancel.

4.1 Ставимо OWFS настройки за замовчуванням.

5.1 Пишемо в терміналі cd C: \ Program Files \ OWFS \ bin

5.2 Пишемо в терміналі owserver.exe -u -p 3000

5.3 Пишемо в терміналі owhttpd.exe -s 3000 -p 3001

6. Перевіряємо в браузері - localhost: 3001. якщо нічого немає, йдемо в Брандмауер Windows і виставляємо всі три галочки для owserver і owhttpd і повторюємо починаючи з пункту 5.2

При таких налаштуваннях у мене заробив 1-wire адаптер DS9490R в Windows 7 32bit.

Чому ж все таки OWFS - пакет а не програма, а все дуже просто в нього входить три програми:

1. owserver - Власне сам сервер керуючий пристроями one wire.

2. owfs - Файлова система. (Що то типу FTP сервера, кожен пристрій відображається у вигляді папки з файлами).

3. owhttpd - Web сервер для управління пристроями з інтернет браузера.

5м.
  • Провід 0.75 квадрата 2х5м.
  • Блок живлення на 12 Вольт - 1 шт.
  • Конектор RJ-11 - 1 шт.
  • Обжимка для конекторів (якщо застосувати спритність рук то можна взяти плоску викрутку) - 1 шт.
  • Паяльник (або можна просто скрутити проводки з висновками DS18B20) - 1 шт.

    Адаптер DS9490R найкраще придбати в інтернет магазині, збирати його клопітно та й як мені здається не має сенсу. А ось силовий ключ, можна купити або зібрати самостійно. На сайті www.benuks.ru є схеми 1-Wre пристроїв, практично на всі випадки. Блок живлення на 12 Вольт, можна зібрати або використовувати який-небудь від старої зламаною техніки, якщо вже все зовсім сумно тоді купити. Коннектора можна обжимати плоскою викруткою, тільки потрібно підібрати її по товщині так, щоб вона була трохи товщі і довше позолоченого контакту. Просто вставляєте проводки в коннектор в потрібні Піни, а потім кладете його на тверду поверхню вгору контактами, притримуєте проводки і коннектор однією рукою. Другий з силою натискаєте викруткою на контакти, спочатку краще обжимати ті які з проводками, потім порожні, після чого притиснути оболонку кабелю за допомогою тієї ж викрутки вставивши її в пластмасову виїмку розташовану поперек коннектора. Загалом як то так, єдине потрібно до цього процесу призвичаїтися.

    One wire network

    Схема включення 1-Wire

    Якщо перший варіант не спрацював. Зверніть увагу на порт 3001, він може відрізнятися в залежності від параметрів зазначених при запуску owhttpd (owhttpd -s 3000 -p 3001). У результаті повинна з'явитися сторінка приблизно такого вигляду.

    One wire network

    WEB сервер One Wire

    Перші два довгих числа - Цифровий термометр DS18B20 і 2-х канальний 1-wire switch DS2413 відповідно. Необхідно так само відзначити, що перші дві цифри до точки - код пристрою. Він не змінений для пристроїв даного типу, змінюються лише цифри після крапки - ID пристрої. Для DS18B20 код - 28, для DS2413 - 3A. Тепер треба натиснути посилання uncached (НЕ кешированниє дані), для того щоб можна було стежити за зміною температури вимірюваної DS18B20 в online режимі. Далі вибираємо посилання на початку якої стоїть 28. Якщо періодично оновлювати сторінку і нагрівати DS18B20 (наприклад взявши її двома пальцями), то буде видно що змінюються значення в рядках temperature. Можна ще виставити макс. і хв. пороги температур тривоги, і при їх досягненні з'являтиметься Alarm. Ось власне практично все що можна робити з DS18B20 в Web інтерфейсі OWFS.

    Якщо повернутися на попередню сторінку і натиснути на посилання 3A. То ми потрапляємо на сторінку управління DS2413, тут можна управляти каналами світча. Можливі три варіанти управління:

    1. PIO ALL - управління всіма каналами одночасно 0-викл. все, 1-вкл. тільки А, 2-вкл. тільки В, 3-вкл. А та В одночасно.

    2. PIO A - управління каналом А 0-викл. канал А, 1-вкл. канал А

    3. PIO B - управління каналом В 0-викл. канал В, 1-вкл. канал У

    Пишемо 1 в PIO A і натискаємо change якщо все обладнання підключено відповідно до схеми, то повинна спалахнути лампочка. При установці PIO A в 0 значення лампочка згасне.

    Пристроями на базі 1-Wire мережі, за допомогою пакета OWFS можна керувати трьома різними способами:

    1. Через WEB інтерфейс - owhttpd

    2. Через термінал, за допомогою читання файлу - записи в файл пристрою - owfs

    3. Пряме звернення до сервера пристроїв за допомогою різних мов програмування (C ++, PHP + OWNet, Phyton і т.д.) - owserver

    Ось власне і все! Пробуйте експериментуйте, пишіть свої програми для управління.

    СтатьіПосмотреть все