Wiren Board 7.2: Peripherals: различия между версиями

Материал из Wiren Board
(Новая страница: «{{DISPLAYTITLE:Wiren Board 6.7: Низкоуровневая работа с железом}} {{Wbincludes:Peripherals}} == GPIO на клеммниках == ==...»)
 
Строка 3: Строка 3:
== GPIO на клеммниках ==
== GPIO на клеммниках ==
== Реализация UART ==
== Реализация UART ==
[[Файл:MOD12.png|300px|thumb|right| Распиновка разъемов Mod1, Mod2 и Mod3 на WB6.7 под модули расширения]]  
[[Файл:MOD12.png|300px|thumb|right| Распиновка разъемов Mod1, Mod2 и Mod3 на WB7 под модули расширения]]  
[[Файл:MOD3.png|300px|thumb|right| Распиновка разъема Mod4 на WB6.7 под модули расширения]]
[[Файл:MOD3.png|300px|thumb|right| Распиновка разъема Mod4 на WB7 под модули расширения]]
[[Файл:wbc_mod.png|300px|thumb|right| Распиновка разъема WBC на WB6.7 под модули 2g/3g/4g модемов]]
[[Файл:wbc_mod.png|300px|thumb|right| Распиновка разъема WBC на WB7 под модули 2g/3g/4g модемов]]


== Сигналы на модулях расширения ==
== Сигналы на модулях расширения ==

Версия 04:03, 11 ноября 2021

Введение

Эта статья предназначена, в первую очередь, для разработчиков стороннего ПО для контроллеров Wiren Board.

Самый простой и удобный способ работы с железом контроллера — через MQTT, связываясь с сервисами wb: wb-mqtt-gpio, wb-mqtt-adc, wb-mqtt-gpio и т.п. Сервисы wb- позволяют работать с железом через унифицированный интерфейс MQTT и скрывают аппаратные различия между аппаратными ревизиями контроллеров.

Работа в обход стандартных сервисов wb- обычно используется, когда программное обеспечение выполняется на разных Linux-контроллерах разных вендоров, и работа через соответсвующие интерфейсы ядра уже реализована в ПО. Данная статья содержит описание периферии, нужное для работы с ней через стандартные интерфейсы ядра. При работе с ядерными интерфейсами не забудьте отключить соответствующий сервис wb-.

Большая часть периферии, описанной в этой статье, описана также в ноде /wirenboard в Devicee Tree контроллера. Сервисы wb-mqtt-gpio, wb-mqtt-adc и т.д. берут описание периферии именно оттуда, считывая описание каждый раз при старте контроллера. Этот способ является предпочтительным и для стороннего ПО, чтобы сохранить совместимость с прошлыми и будущими аппаратными ревизиями оборудования.

Работа с GPIO в Linux

GPIO (General-purpose input/output — ввод/вывод общего назначения) — контакт электрической схемы, который может принимать одно из двух логических состояний — единицу или ноль. Пользователь может устанавливать и считывать состояние GPIO.

В разных устройствах высокий логический уровень может представляться разным напряжением — следите за этим. В контроллерах Wiren Board логическая единица — это 3.3 В.

ВНИМАНИЕ: не подключайте напрямую к GPIO контроллера сигналы с напряжением больше 3.3 В! Если нужно подключить устройство, которое выдает сигнал с более высоким напряжением — используйте схемы согласования. В некоторых случаях, если напряжение сигнала не больше 5 В, то можно согласовать сигналы через резистор на 20 кОм.

Подробно про работу с GPIO читайте в статье Работа с GPIO. Также рекомендуем прочитать соответствующий раздел документации к ядру Linux.

Для других версий контроллера смотрите Таблицы GPIO разных версий контроллера.

Посмотреть таблицу GPIO можно командой cat /sys/kernel/debug/gpio, или в разделе ниже.

GPIO на клеммниках

Реализация UART

Распиновка разъемов Mod1, Mod2 и Mod3 на WB7 под модули расширения
Распиновка разъема Mod4 на WB7 под модули расширения
Распиновка разъема WBC на WB7 под модули 2g/3g/4g модемов

Сигналы на модулях расширения

Каналы АЦП

Ножки для внутреннего использования