translator, wb_editors
4539
правок
Matveevrj (обсуждение | вклад) |
Matveevrj (обсуждение | вклад) (Отметить эту версию для перевода) |
||
Строка 1: | Строка 1: | ||
<translate> | <translate> | ||
<!--T:1--> | |||
<noinclude>{{Warning Editing Inсlude}}</noinclude> | <noinclude>{{Warning Editing Inсlude}}</noinclude> | ||
<h2> Введение </h2> | <h2> Введение </h2> | ||
Эта статья предназначена, в первую очередь, для разработчиков стороннего ПО для контроллеров Wiren Board. | Эта статья предназначена, в первую очередь, для разработчиков стороннего ПО для контроллеров Wiren Board. | ||
<!--T:2--> | |||
Самый простой и удобный способ работы с железом контроллера - через [[MQTT]], связываясь с сервисами wb: wb-mqtt-gpio, wb-mqtt-adc, wb-mqtt-gpio и т.п. Сервисы wb- позволяют работать с железом через унифицированный интерфейс [[MQTT]] и скрывают аппаратные различия между [[Controller_hardware_revisions|аппаратными ревизиями]] контроллеров. | Самый простой и удобный способ работы с железом контроллера - через [[MQTT]], связываясь с сервисами wb: wb-mqtt-gpio, wb-mqtt-adc, wb-mqtt-gpio и т.п. Сервисы wb- позволяют работать с железом через унифицированный интерфейс [[MQTT]] и скрывают аппаратные различия между [[Controller_hardware_revisions|аппаратными ревизиями]] контроллеров. | ||
<!--T:3--> | |||
Работать в обход стандартных сервисов wb- обычно используется, когда программное обеспечение выполняется на разных Linux-контроллерах разных вендоров, и работа через соответсвующие интерфейсы ядра уже реализована в ПО. Данная статья содержит описание периферии, нужное для работы с ней через стандартные интерфейсы ядра. При работе с ядерными интерфейсами не забудьте отключить соответствующий сервис wb-. | Работать в обход стандартных сервисов wb- обычно используется, когда программное обеспечение выполняется на разных Linux-контроллерах разных вендоров, и работа через соответсвующие интерфейсы ядра уже реализована в ПО. Данная статья содержит описание периферии, нужное для работы с ней через стандартные интерфейсы ядра. При работе с ядерными интерфейсами не забудьте отключить соответствующий сервис wb-. | ||
<!--T:4--> | |||
Большая часть периферии, описанной в этой статье, описана также в ноде /wirenboard в Devicee Tree контроллера. Сервисы wb-mqtt-gpio, wb-mqtt-adc и т.д. [https://github.com/wirenboard/wb-mqtt-gpio/blob/master/generate-system-config.sh берут] описание периферии именно оттуда, считывая описание каждый раз при старте контроллера. Этот способ является предпочтительным и для стороннего ПО, чтобы сохранить совместимость с прошлыми и будущими [[Controller_hardware_revisions|аппаратными ревизиями]] оборудования. | Большая часть периферии, описанной в этой статье, описана также в ноде /wirenboard в Devicee Tree контроллера. Сервисы wb-mqtt-gpio, wb-mqtt-adc и т.д. [https://github.com/wirenboard/wb-mqtt-gpio/blob/master/generate-system-config.sh берут] описание периферии именно оттуда, считывая описание каждый раз при старте контроллера. Этот способ является предпочтительным и для стороннего ПО, чтобы сохранить совместимость с прошлыми и будущими [[Controller_hardware_revisions|аппаратными ревизиями]] оборудования. | ||
<!--T:5--> | |||
<h2> Работа с GPIO в Linux </h2> | <h2> Работа с GPIO в Linux </h2> | ||
'''GPIO ''' (''General-purpose input/output — ввод/вывод общего назначения'') — контакт электрической схемы, который может принимать одно из двух логических состояний — единицу или ноль. Пользователь может устанавливать и считывать состояние GPIO. | '''GPIO ''' (''General-purpose input/output — ввод/вывод общего назначения'') — контакт электрической схемы, который может принимать одно из двух логических состояний — единицу или ноль. Пользователь может устанавливать и считывать состояние GPIO. | ||
<!--T:6--> | |||
В разных устройствах высокий логический уровень может представляться разным напряжением — следите за этим. В контроллерах Wiren Board логическая единица — это 3.3 В. | В разных устройствах высокий логический уровень может представляться разным напряжением — следите за этим. В контроллерах Wiren Board логическая единица — это 3.3 В. | ||
<!--T:7--> | |||
'''ВНИМАНИЕ:''' не подключайте напрямую к GPIO контроллера сигналы с напряжением больше 3.3 В! Если нужно подключить устройство, которое выдает сигнал с более высоким напряжением — используйте схемы согласования. В некоторых случаях, если напряжение сигнала не больше 5 В, то можно согласовать сигналы через резистор на 20 кОм. | '''ВНИМАНИЕ:''' не подключайте напрямую к GPIO контроллера сигналы с напряжением больше 3.3 В! Если нужно подключить устройство, которое выдает сигнал с более высоким напряжением — используйте схемы согласования. В некоторых случаях, если напряжение сигнала не больше 5 В, то можно согласовать сигналы через резистор на 20 кОм. | ||
<!--T:8--> | |||
О работе с GPIO в Linux читайте в [https://www.kernel.org/doc/Documentation/gpio/sysfs.txt документации к ядру]. Также можно почитать устаревшую инструкцию в нашей Wiki — [[Работа с GPIO|Работа с GPIO]]. | О работе с GPIO в Linux читайте в [https://www.kernel.org/doc/Documentation/gpio/sysfs.txt документации к ядру]. Также можно почитать устаревшую инструкцию в нашей Wiki — [[Работа с GPIO|Работа с GPIO]]. | ||
<!--T:9--> | |||
Для других версий контроллера смотрите [[GPIO | Таблицы GPIO разных версий контроллера]]. | Для других версий контроллера смотрите [[GPIO | Таблицы GPIO разных версий контроллера]]. | ||
</translate> | </translate> |