One Wire

Эта статья о том как

Управлять с компьютера освещением и производить контроль температуры при помощи 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. Качаем драйвер устройства.(При скачивании в правом верхнем углу 5 сек. таймер, затем "Пропустить рекламу")

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. Качаем OWFS

4.1 Ставим OWFS настройки по умолчанию.

5. Запускаем CMD.

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 на Windows - видео инструкция.

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

1. owserver - Собственно сам сервер управляющий устройствами one wire.

2. owfs - Файловая система. (что то типа FTP сервера, каждое устройство отображается в виде папки с файлами).

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

Что нам понадобятся для тестов:

  • Адаптер DS9490R 1-Wir - USB - 1 шт.
  • Цифровой термометр в виде микросхемы DS18B20 - 1 шт.
  • 2-х канальный 1-wire модуль (силовой ключ) - 1 шт.
  • Провод типа витая пара ~ 5м.
  • Провод 0.75 квадрата ~ 2х5м.
  • Блок питания на 12 Вольт - 1 шт.
  • Коннектор RJ-11 - 1 шт.
  • Обжимка для коннекторов (если применить ловкость рук то можно взять плоскую отвертку) - 1 шт.
  • Паяльник (или можно просто скрутить проводки с выводами DS18B20) - 1 шт.
  • Адаптер DS9490R лучше всего приобрести в интернет магазине, собирать его муторно да и как мне кажется игра не стоит свеч. А вот силовой ключ, можно купить либо собрать самостоятельно. На сайте www.benuks.ru есть схемы 1-Wre устройств, практически на все случаи. Блок питания на 12 Вольт, можно собрать или использовать какой нибудь от старой сломанной техники, если уж всё совсем печально тогда купить. Коннектора можно обжимать плоской отверткой, только нужно подобрать её по толщине так, чтобы она была чуть толще и длиннее позолоченного контакта. Просто вставляете проводки в коннектор в нужные пины, а затем кладете его на твердую поверхность вверх контактами, придерживаете проводки и коннектор одной рукой. Второй с силой нажимаете отверткой на контакты, сначала лучше обжимать те которые с проводками, затем пустые, после чего прижать оболочку кабеля с помощью той же отвертки вставив ее в пластмассовую выемку расположенную поперек коннектора. В общем как то так, единственное нужно к этому процессу приловчиться.

    Когда все компоненты есть в наличии, можно собрать мини сеть по схеме. Питание на контакт VDD цифрового термометра DS18B20, можно не подавать просто замкнуть на GND (можно не замыкать, проверял без замыкания контактов - тоже работает), но я делал так как на схеме потому, что при опросе датчика сеть 1-Wire становиться не доступной до момента окончания опроса. А время опроса датчика при таком включении как на схеме сокращается примерно в два раза. По окончании процесса сборки, вставить адаптер DS9490R в USB порт, включить в него нашу мини 1-Wire сеть и перезагрузить компьютер. После того как процесс перезагрузки закончится, открываем интернет браузер и в адресной строке пишем:

    http://localhost:3001/

    или так:

    http://127.0.0.1:3001/

    Если первый вариант не сработал. Обратите внимание на порт 3001, он может отличаться в зависимости от параметров указанных при запуске owhttpd (owhttpd -s 3000 -p 3001). В итоге должна появиться страница примерно такого вида.

    Первые два длинных числа - Цифровой термометр 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

    Вот собственно и все! Пробуйте экспериментируйте, пишите свои программы для управления.

    Здесь можно посмотреть как это работает.

    Официальный сайт OWFS.

    Программы и технологии используемые в моей системе - Умный Дом

    Комментарии Все комментарии

    Написать комментарий