Стартовая страница › Форумы › Разработка и интеграция › Драйвер GPIO для Scada V6.1
- В этой теме 6 ответов, 2 участника, последнее обновление 4 месяца, 1 неделя назад сделано
Mikhail.
-
АвторСообщения
-
12.05.2023 в 12:08 #28516
manjey73
УчастникДрайвер управления GPIO для Scada v6.1
Использовался пакет Nuget System.Device.Gpio v2.2.0 в качестве прокладки для пакета gpiod (apt install gpiod)
В некоторых системах пакет установлен.Что касается нумерации gpio pin то в OrangPi можно посмотреть по команде gpioinfo и проверить по расчету. Например контакт PG7 — G = 7-я буква алфавита.
(7-1)*32 + 7 = 199 номер пина.Для других процессоров не всегда можно посчитать.
Например ПК на DIN рейку JetHome JetHub D1
Я так и не смог понять, как узнать точный номер pin для ввода в конфигурацию, подходят номера, указанные в документации.
Шаблон для входов/выходов прилагаю.<?xml version="1.0" encoding="utf-8"?> <DevTemplate Name="JetHub_Gpio"> <Gpios> <Gpiod Name="GOUT1" Active="true" Code="out1" Pin="456" /> <Gpiod Name="GOUT2" Active="true" Code="out2" Pin="455" /> <Gpiod Name="GOUT3" Active="true" Code="out3" Pin="454" /> <Gpiod Name="GIN_1" Active="true" Code="in1" Pin="472" /> <Gpiod Name="GIN_2" Active="true" Code="in2" Pin="471" /> <Gpiod Name="GIN_3" Active="true" Code="in3" Pin="470" /> <Gpiod Name="GIN_4" Active="true" Code="in4" Pin="469" /> </Gpios> </DevTemplate>
Если входы/выходы уже сконфигурированы системой, PinMode можно не указывать, но если потребуется использовать стартовое значение PinValue при запуске драйвера то должен быть указан так же как в системе (на конфликтность не проверял)
Orange Pi не понимает типы входов InputPullDown и InputPullUp, только InputНа Raspberry пока не проверял.
12.05.2023 в 12:17 #28517manjey73
Участник12.05.2023 в 15:15 #28522Mikhail
МодераторОтлично! Нужно будет добавить в репозиторий.
12.05.2023 в 15:24 #28523manjey73
УчастникНа WirenBoard проверить нет возможности.
Что именно там установлено можно проверить командой gpiodetect, если ответит, значит gpiod стоит.
Если не ответит, можно попробовать команду gpio readall — тогда там WirenPi (на нем базировался драйвер для 5-й версии)12.05.2023 в 16:55 #28527Mikhail
МодераторНа WirenBoard используется внутренняя шина MQTT, которая работает со всей периферией. Поэтому нет смысла на него ставить этот драйвер.
12.05.2023 в 17:00 #28528manjey73
УчастникТак то и на OrangePi можно формулами читать и записывать в GPIO, если они сконфигурированы в системе. По крайней мере на JetHub получилось формулами в канале управлять выходами.
А как их конфигурировать в Linux не смог разобраться. По крайней мере на JetHub не нашел где зарыты скрипты…Может чуть позже адаптирую старый драйвер, только там библиотека WirenOP вместо WirenPi… кто-то портировал…
16.05.2023 в 11:38 #28553Mikhail
МодераторДрайвер добавлен в репозиторий.
-
АвторСообщения
- Вы должны авторизироваться для ответа в этой теме.