Управляти з комп'ютера освітленням і виробляти контроль температури за допомогою 1-Wire.
У даній статті я постараюся описати процес установки і настройки пакета 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м.Адаптер DS9490R найкраще придбати в інтернет магазині, збирати його клопітно та й як мені здається не має сенсу. А ось силовий ключ, можна купити або зібрати самостійно. На сайті www.benuks.ru є схеми 1-Wre пристроїв, практично на всі випадки. Блок живлення на 12 Вольт, можна зібрати або використовувати який-небудь від старої зламаною техніки, якщо вже все зовсім сумно тоді купити. Коннектора можна обжимати плоскою викруткою, тільки потрібно підібрати її по товщині так, щоб вона була трохи товщі і довше позолоченого контакту. Просто вставляєте проводки в коннектор в потрібні Піни, а потім кладете його на тверду поверхню вгору контактами, притримуєте проводки і коннектор однією рукою. Другий з силою натискаєте викруткою на контакти, спочатку краще обжимати ті які з проводками, потім порожні, після чого притиснути оболонку кабелю за допомогою тієї ж викрутки вставивши її в пластмасову виїмку розташовану поперек коннектора. Загалом як то так, єдине потрібно до цього процесу призвичаїтися.
Схема включення 1-Wire
Якщо перший варіант не спрацював. Зверніть увагу на порт 3001, він може відрізнятися в залежності від параметрів зазначених при запуску owhttpd (owhttpd -s 3000 -p 3001). У результаті повинна з'явитися сторінка приблизно такого вигляду.
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
Ось власне і все! Пробуйте експериментуйте, пишіть свої програми для управління.