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

Удалённая из перевода страница
(Удалённая из перевода страница)
 
Строка 1: Строка 1:
<languages/>
<translate>
<!--T:1-->
'''Внимание! Эта страница относится только к очень старой версии устройства. Для всех новых смотрите статью [[Special:MyLanguage/1-Wire|1-Wire]].'''
'''Внимание! Эта страница относится только к очень старой версии устройства. Для всех новых смотрите статью [[Special:MyLanguage/1-Wire|1-Wire]].'''


==Подключение== <!--T:2-->
==Подключение==


<!--T:3-->
1-wire датчики можно подключать к линиям GPIO Wiren Board.
1-Wire датчики можно подключать к линиям GPIO Wiren Board.


<!--T:4-->
Существует два типа подключения датчиков: обычный и с использованием паразитного питания:
Существует два типа подключения датчиков: обычный и с использованием паразитного питания:
* обычное подключение датчиков: подключите линию GND к земле, линию DATA к [[Special:MyLanguage/Список GPIO|GPIO]], линию VCC к питанию +3.3V или +5V
* обычное подключение датчиков: подключите линию GND к земле, линию DATA к [[Special:MyLanguage/Список GPIO|GPIO]], линию VCC к питанию +3.3V или +5V
* подключение с использованием паразитного питания: подключите линию GND к земле, линию DATA к GPIO. Линия VCC должна быть соединена с линией GND.
* подключение с использованием паразитного питания: подключите линию GND к земле, линию DATA к GPIO. Линия VCC должна быть соединена с линией GND.


<!--T:5-->
В любом случае рекомендуется использование внешнего подтягивающего резистора номиналом 2-10 кОм между линией DATA и напряжением питания +3.3V или +5V.
В любом случае рекомендуется использование внешнего подтягивающего резистора номиналом 2-10 кОм между линией DATA и напряжением питания +3.3V или +5V.


==Настройка Device Tree== <!--T:6-->


<!--T:7-->
После подключения 1-Wire сети к какому-либо GPIO необходимо внести соответствующие изменения в файл Device Tree. См. [[Special:MyLanguage/Пересборка Device Tree|Пересборка Device Tree]]


<!--T:8-->
 
==Настройка Device Tree==
 
После подключения 1-wire сети к какому-либо GPIO необходимо внести соответствующие изменения в файл Device Tree. См. [[Special:MyLanguage/Пересборка Device Tree|Пересборка Device Tree]]
 
<pre>
<pre>
onewire@0 {
onewire@0 {
Строка 30: Строка 25:
</pre>
</pre>


<!--T:9-->
Соответствующую запись необходимо добавить внутри корневой секции.
Соответствующую запись необходимо добавить внутри корневой секции.
Параметр <b>gpios</b> указывает на используемый GPIO. В данном примере это GPIO номер <b>2</b> т.е. клеммник номер 9 (см. [[Special:MyLanguage/Список GPIO|Список GPIO]]). Подробнее про формат поля <b>gpios</b>: [[Special:MyLanguage/Работа с GPIO|Работа с GPIO]]
Параметр <b>gpios</b> указывает на используемый GPIO. В данном примере это GPIO номер <b>2</b> т.е. клеммник номер 9 (см. [[Special:MyLanguage/Список GPIO|Список GPIO]]). Подробнее про формат поля <b>gpios</b>: [[Special:MyLanguage/Работа с GPIO|Работа с GPIO]]




<!--T:10-->
==Работа с 1-wire в Linux
==Работа с 1-Wire в Linux==
Для работы используется ядерный интерфейс в <b>/sys/bus/w1/</b>:
Для работы используется ядерный интерфейс в <b>/sys/bus/w1/</b>:


<!--T:11-->
<pre>
<pre>
root@wirenboard:~# ls /sys/bus/w1/
root@wirenboard:~# ls /sys/bus/w1/
Строка 45: Строка 37:
</pre>
</pre>


<!--T:12-->
<pre>
<pre>
root@wirenboard:~# ls /sys/bus/w1/devices/
root@wirenboard:~# ls /sys/bus/w1/devices/
Строка 51: Строка 42:
</pre>
</pre>


<!--T:13-->
Здесь <b>28-000002dc22b0</b> - идентификаторы обнаруженных устройств на шине, а <b>w1_bus_master1</b> - ведущие устройства 1-wire, каждый из которых соответствует одному GPIO.
Здесь <b>28-000002dc22b0</b> - идентификаторы обнаруженных устройств на шине, а <b>w1_bus_master1</b> - ведущие устройства 1-Wire, каждый из которых соответствует одному GPIO.


<!--T:14-->
Список обнаруженных устройств можно также посмотреть командой:
Список обнаруженных устройств можно также посмотреть командой:
<pre>
<pre>
Строка 64: Строка 53:
</pre>
</pre>


<!--T:15-->
По-умолчанию сканирование шины происходит раз в 10 секунд.
По-умолчанию сканирование шины происходит раз в 10 секунд.


==Работа с температурными датчиками== <!--T:16-->


<!--T:17-->
 
 
==Работа с температурными датчиками==
 
За работу с датчиками температуры отвечает модуль ядра w1_therm.  
За работу с датчиками температуры отвечает модуль ядра w1_therm.  


<!--T:18-->
Загрузим модуль (автозагрузка отключена намеренно):
Загрузим модуль (автозагрузка отключена намеренно):
<pre>
<pre>
Строка 78: Строка 67:
</pre>
</pre>


<!--T:19-->
Теперь в директориях устройств-термометров появляется файл w1_slave:
Теперь в директориях устройств-термометров появляется файл w1_slave:


<!--T:20-->
<pre>
<pre>
root@wirenboard:~# ls  /sys/bus/w1/devices/28-000004a7d3f9/
root@wirenboard:~# ls  /sys/bus/w1/devices/28-000004a7d3f9/
Строка 87: Строка 74:
</pre>
</pre>


<!--T:21-->
С его помощью можно считывать показания термометра:
С его помощью можно считывать показания термометра:


<!--T:22-->
<pre>
<pre>
root@wirenboard:~# cat  /sys/bus/w1/devices/28-000004a7d3f9/w1_slave  
root@wirenboard:~# cat  /sys/bus/w1/devices/28-000004a7d3f9/w1_slave  
Строка 97: Строка 82:
</pre>
</pre>


<!--T:23-->
Здесь <b>t=25187</b> температура в тысячных долях градусов Цельсия, т.е. <b>25.187C</b>.
Здесь <b>t=25187</b> температура в тысячных долях градусов Цельсия, т.е. <b>25.187C</b>.


<!--T:24-->
 
Последовательно прочитаем показания всех термометров на шине:
Последовательно прочитаем показания всех термометров на шине:
<pre>
<pre>
Строка 113: Строка 97:
99 01 4b 46 7f ff 07 10 79 t=25562
99 01 4b 46 7f ff 07 10 79 t=25562
</pre>
</pre>
</translate>