1-Wire: различия между версиями

Материал из Wiren Board
(не показаны 24 промежуточные версии 3 участников)
Строка 1: Строка 1:
[[File:ds18b20.jpg|400px|thumb|Самый популярный температурный датчик 1-Wire - DS18B20]]
[[File:ds18b20.jpg|400px|thumb|Самый популярный температурный датчик 1-Wire - DS18B20, установленный в герметичном корпусе]]
'''1-Wire''' - шина для подключения внешних датчиков по двум (или трём) проводам. Так как это шина, можно подключить несколько устройств на один порт 1-Wire.
[https://en.wikipedia.org/wiki/1-Wire '''1-Wire'''] - шина для подключения внешних датчиков, чаще всего температурных. Датчики подключаются по двум или трём проводам. Так как это шина, на один 1-Wire порт Wiren Board можно подключить несколько датчиков при соблюдении определённых условий.
== Поддерживаемые датчики ==
== Поддерживаемые датчики ==
Wiren Board поддерживает один тип датчиков - температурные на основе чипов DS18B20 и подобных, например:
Wiren Board поддерживает один тип 1-Wire датчиков: температурные датчики на основе чипов DS18B20 и подобные. Они продаются в том числе в нашем [http://contactless.ru/store/#!/%D0%A6%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%BE%D0%B9-%D0%B4%D0%B0%D1%82%D1%87%D0%B8%D0%BA-%D1%82%D0%B5%D0%BC%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D1%83%D1%80%D1%8B-1-Wire/p/49713039/category=14225168 магазине].
* [http://shop.nag.ru/catalog/00007.Avtomatizatsiya-i-monitoring/06630.Datchiki/08428.SNR-DTS SNR-DTS]
* [http://www.aliexpress.com/item/Waterproof-DS18B20-Temperature-Probe-Temperature-Sensor-Stainless-Steel-Package-100cm-Wire/1426853426.html Stainless Steel Package]


Возможна реализация поддержки других датчиков по запросу на support@contactless.ru
Диапазон измерения температуры: -55..+125 °C.
 
Возможна реализация поддержки других 1-Wire устройств по запросу на [mailto:support@contactless.ru].


== Подключение ==
== Подключение ==
Датчик имеет три вывода: земля, питание и данные. Если есть возможность подключить все три вывода, то лучше сделать именно так: на землю, 5 В и контакт 1-Wire. Если нужно уменшьшить число проводов, что нужно соединить контакты питания и земли датчика, и подключить их к земле контроллера. В таком случае датчик будет брать питание с канала с данными, но этот способ не так надёжен, как подключение по трём проводам, и может замедлить опрашивание датчиков, особенно если их несколько на одном канале.
=== Подключение одного датчика по трём проводам ===
Датчик имеет три вывода. Их цвета могут меняться от модели к модели, желательно найти документацию на свою модель.
{| class="wikitable"
!Сигнал||К какому клеммнику <br> Wiren Board подключать||Цвет: модель 1||Цвет: модель 2||Цвет: модель 3
|-
|Vdd (VCC, питание)||+5V Out||Красный||Красный||Красный
|-
|GND (земля)||GND||Чёрный||Чёрный||Желтый
|-
|DQ (DATA, данные)||1W||Синий||Жёлтый||Зелёный
|}
=== Подключение одного датчика по двум проводам ===
В некоторых случаях датчик можно подключить всего двумя проводами. Для этого нужно соединить контакты питания и земли датчика, и подключить их к земле контроллера. При таком подключении датчик будет брать питание с канала данных. '''Этот способ не рекомендуется''', так как при этом замедляется опрос датчиков, особенно если их несколько на одном порту контроллера: время тратится на зарядку внутренних емкостей датчиков напряжением от линии данных. Этот способ крайне не рекомендуется при одновременном подключении нескольких датчиков, так как тока с линии данных может не хватить для зарядки нескольких датчиков
=== Подключение нескольких датчиков на одну шину ===
'''Внимание! Одновременная надёжная работа двух и более датчиков гарантируется только при соблюдении описанных ниже условий.'''


Длина шины может быть до сотни метров, однако эффективная дальность зависит от наводок на кабель.
Основной документ при проектировании шины - инструкция от разработчика 1-Wire [https://www.maximintegrated.com/en/app-notes/index.mvp/id/148 TUTORIAL 148: Guidelines for Reliable Long Line 1-Wire Networks]. Основные тезисы оттуда:
* Длина шины при подключении одного датчика может составлять 200 метров
* Если вы собираетесь подключать несколько датчиков, обязательно подключайте их к питанию 5В (не используйте двухпроводную схему подключения)
* Если вы прокладываете шину на несколько метров, или короткую, но в условиях повышенных помех (например, в щитке) - используйте витую пару, например, Cat 5
* Количество датчиков, которые можно подключить к одному мастеру (например, контроллеру Wiren Board), зависит как от длины шины, так и от её топологии
* Прокладка линии одной шиной лучше, чем прокладка звездой. При прокладке линии звездой надёжная работа не гарантируется


== Поддержка в ПО ==
== Поддержка в ПО ==
 
[[File:Web-devices-1-wire.png|400px|thumb|Показания датчика и его уникальный идентификатор на странице ''Devices'' веб-интерфейса]]
После подключения значения с датчиков сразу будут транслироваться в [[MQTT]] и появятся в [[Wiren Board 4:Веб-интерфейс | веб-интерфейсе]].
После подключения значения с датчиков сразу появятся в [[Веб-интерфейс Wiren Board|веб-интерфейсе]]. Если к контроллеру подключены несколько датчиков, они будут различаться своими идентификаторами. (Идентификаторы установлены в датчики на заводе,они содержат тип устройства, номер и контрольную сумму.)
 
Значения датчика транслируются в очередь сообщений [[MQTT]] драйвером [https://github.com/contactless/wb-homa-w1 wb-homa-w1].
Каждый датчик имеет собственный уникальный идентификатор.
[[Файл:1wire_mqtt.png|900px|thumb|center|MQTT-топик и идентификатор датчика в разделе ''Settings'' веб-интерфейса]]
 
== Поддержка в устаревших устройствах (Wiren Board 2.8) ==
Более подробная информация про 1-Wire на нашем 
[[1-Wire в Wiren Board 2.8]]
[http://contactless.ru/forums/topic/%D0%BF%D0%BE%D0%B4%D0%B4%D0%B5%D1%80%D0%B6%D0%BA%D0%B0-1-wire-%D1%83%D1%81%D1%82%D1%80%D0%BE%D0%B9%D1%81%D1%82%D0%B2-%D0%B8-%D0%B2%D1%81%D1%91-%D0%B2%D1%81%D1%91-%D0%B2%D1%81%D1%91/#post-2605  форуме].

Версия 16:25, 20 марта 2017

Самый популярный температурный датчик 1-Wire - DS18B20, установленный в герметичном корпусе

1-Wire - шина для подключения внешних датчиков, чаще всего температурных. Датчики подключаются по двум или трём проводам. Так как это шина, на один 1-Wire порт Wiren Board можно подключить несколько датчиков при соблюдении определённых условий.

Поддерживаемые датчики

Wiren Board поддерживает один тип 1-Wire датчиков: температурные датчики на основе чипов DS18B20 и подобные. Они продаются в том числе в нашем магазине.

Диапазон измерения температуры: -55..+125 °C.

Возможна реализация поддержки других 1-Wire устройств по запросу на [1].

Подключение

Подключение одного датчика по трём проводам

Датчик имеет три вывода. Их цвета могут меняться от модели к модели, желательно найти документацию на свою модель.

Сигнал К какому клеммнику
Wiren Board подключать
Цвет: модель 1 Цвет: модель 2 Цвет: модель 3
Vdd (VCC, питание) +5V Out Красный Красный Красный
GND (земля) GND Чёрный Чёрный Желтый
DQ (DATA, данные) 1W Синий Жёлтый Зелёный

Подключение одного датчика по двум проводам

В некоторых случаях датчик можно подключить всего двумя проводами. Для этого нужно соединить контакты питания и земли датчика, и подключить их к земле контроллера. При таком подключении датчик будет брать питание с канала данных. Этот способ не рекомендуется, так как при этом замедляется опрос датчиков, особенно если их несколько на одном порту контроллера: время тратится на зарядку внутренних емкостей датчиков напряжением от линии данных. Этот способ крайне не рекомендуется при одновременном подключении нескольких датчиков, так как тока с линии данных может не хватить для зарядки нескольких датчиков

Подключение нескольких датчиков на одну шину

Внимание! Одновременная надёжная работа двух и более датчиков гарантируется только при соблюдении описанных ниже условий.

Основной документ при проектировании шины - инструкция от разработчика 1-Wire TUTORIAL 148: Guidelines for Reliable Long Line 1-Wire Networks. Основные тезисы оттуда:

  • Длина шины при подключении одного датчика может составлять 200 метров
  • Если вы собираетесь подключать несколько датчиков, обязательно подключайте их к питанию 5В (не используйте двухпроводную схему подключения)
  • Если вы прокладываете шину на несколько метров, или короткую, но в условиях повышенных помех (например, в щитке) - используйте витую пару, например, Cat 5
  • Количество датчиков, которые можно подключить к одному мастеру (например, контроллеру Wiren Board), зависит как от длины шины, так и от её топологии
  • Прокладка линии одной шиной лучше, чем прокладка звездой. При прокладке линии звездой надёжная работа не гарантируется

Поддержка в ПО

Показания датчика и его уникальный идентификатор на странице Devices веб-интерфейса

После подключения значения с датчиков сразу появятся в веб-интерфейсе. Если к контроллеру подключены несколько датчиков, они будут различаться своими идентификаторами. (Идентификаторы установлены в датчики на заводе,они содержат тип устройства, номер и контрольную сумму.) Значения датчика транслируются в очередь сообщений MQTT драйвером wb-homa-w1.

MQTT-топик и идентификатор датчика в разделе Settings веб-интерфейса

Поддержка в устаревших устройствах (Wiren Board 2.8)

1-Wire в Wiren Board 2.8