1-Wire: различия между версиями
Matveevrj (обсуждение | вклад) |
Fizikdaos (обсуждение | вклад) |
||
(не показано 48 промежуточных версий 5 участников) | |||
Строка 1: | Строка 1: | ||
<languages/><translate> | <languages/> | ||
<!--T: | <translate> | ||
<!--T:1--> | |||
'''[https://wirenboard.com/product/1wire-DS18B20/ Купить | '''[https://wirenboard.com/ru/product/1wire-DS18B20/ Купить в интернет-магазине]''' | ||
[[ | <!--T:2--> | ||
[[File:ds18b20.jpg|400px|thumb|Самый популярный температурный датчик 1-Wire - DS18B20, установленный в герметичном корпусе]] | |||
<!--T:3--> | |||
[https://en.wikipedia.org/wiki/1-Wire '''1-Wire'''] - шина для подключения внешних датчиков, чаще всего температурных. Датчики подключаются по двум или трём проводам. Так как это шина, на один 1-Wire порт Wiren Board можно подключить несколько датчиков при соблюдении определённых условий. | |||
<!--T: | == Поддерживаемые датчики == <!--T:4--> | ||
<!--T:5--> | |||
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 магазине]. | |||
<!--T:6--> | |||
Диапазон измерения температуры: -55..+125 °C. | |||
<!--T:7--> | |||
Возможна реализация поддержки других 1-Wire устройств по запросу на [mailto:support@contactless.ru]. | |||
<!--T: | |||
{ | == Подключение == <!--T:8--> | ||
=== Подключение одного датчика по трём проводам === <!--T:9--> | |||
<!--T:10--> | |||
Датчик имеет три вывода. Их цвета могут меняться от модели к модели, желательно найти документацию на свою модель. | |||
{| class="wikitable" | |||
!Сигнал||К какому клеммнику <br> Wiren Board подключать||Цвет: модель 1||Цвет: модель 2||Цвет: модель 3 | |||
|- | |||
|Vdd (VCC, питание)||+5V Out||Красный||Красный||Красный | |||
|- | |||
|GND (земля)||GND||Чёрный||Чёрный||Желтый | |||
|- | |||
|DQ (DATA, данные)||1W||Синий||Жёлтый||Зелёный | |||
|} | |||
=== Подключение одного датчика по двум проводам === <!--T:11--> | |||
<!--T:12--> | |||
В некоторых случаях датчик можно подключить всего двумя проводами. Для этого нужно соединить контакты питания и земли датчика и подключить их к земле контроллера. При таком подключении датчик будет брать питание с канала данных. '''Этот способ не рекомендуется''', так как при этом замедляется опрос датчиков, особенно если их несколько на одном порту контроллера: время тратится на зарядку внутренних емкостей датчиков напряжением от линии данных. Этот способ крайне не рекомендуется при одновременном подключении нескольких датчиков, так как тока с линии данных может не хватить для зарядки нескольких датчиков | |||
=== Подключение нескольких датчиков на одну шину === <!--T:13--> | |||
<!--T:14--> | |||
'''Внимание! Одновременная надёжная работа двух и более датчиков гарантируется только при соблюдении описанных ниже условий.''' | |||
<!--T:15--> | |||
Основной документ при проектировании шины - инструкция от разработчика 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), зависит как от длины шины, так и от её топологии | |||
* Прокладка линии одной шиной лучше, чем прокладка звездой. При прокладке линии звездой надёжная работа не гарантируется | |||
== Поддержка в ПО == <!--T:16--> | |||
<!--T:17--> | |||
[[File:Web-devices-1-wire.png|400px|thumb|Показания датчика и его уникальный идентификатор на странице ''Devices'' веб-интерфейса]] | |||
После подключения значения с датчиков сразу появятся в [[Special:MyLanguage/Веб-интерфейс Wiren Board|веб-интерфейсе]]. Если к контроллеру подключены несколько датчиков, они будут различаться своими идентификаторами. (Идентификаторы установлены в датчики на заводе,они содержат тип устройства, номер и контрольную сумму.) | |||
Значения датчика транслируются в очередь сообщений [[Special:MyLanguage/MQTT|MQTT]] драйвером [https://github.com/contactless/wb-homa-w1 wb-homa-w1]. | |||
[[File:1wire_mqtt.png|900px|thumb|center|MQTT-топик и идентификатор датчика в разделе ''Settings'' веб-интерфейса]] | |||
== Поддержка в устаревших устройствах (Wiren Board 2.8) == <!--T:18--> | |||
<!--T:19--> | |||
[[Special:MyLanguage/1-Wire в Wiren Board 2.8|1-Wire в Wiren Board 2.8]] | |||
</translate> | </translate> |
Версия 16:54, 8 мая 2020
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), зависит как от длины шины, так и от её топологии
- Прокладка линии одной шиной лучше, чем прокладка звездой. При прокладке линии звездой надёжная работа не гарантируется
Поддержка в ПО
После подключения значения с датчиков сразу появятся в веб-интерфейсе. Если к контроллеру подключены несколько датчиков, они будут различаться своими идентификаторами. (Идентификаторы установлены в датчики на заводе,они содержат тип устройства, номер и контрольную сумму.) Значения датчика транслируются в очередь сообщений MQTT драйвером wb-homa-w1.