Куда копать, примерно понял, но что-то с наскока не получается. Загуглил про этот udev (поскольку в этом я пока нулевой), нашёл вот такой пример (правда, для Репки, ну вроде же должен подойти?):
https://habr.com/ru/articles/757522/Сделал, как они там пишут, группу, проверил - в списке появилась. Добавил туда своего пользователя, тоже нормально. Потом добавил вот этот /etc/udev/rules.d/99-gpio.rules, про который они там пишут. Перезапустил систему, но ничего не поменялось. С sudo работает, а без него нет.
Сам текст теста вот такой (C#):
using System;
using System.Device.Gpio;
using System.Threading;
int pin = 18;
using GpioController controller = new ();
controller.OpenPin(pin, PinMode.Output);
bool ledOn = true;
while (true)
{
controller.Write(pin, ((ledOn) ? PinValue.High : PinValue.Low));
Thread.Sleep(1000);
ledOn = !ledOn;
Console.WriteLine($"ledOn = {ledOn}");
}
Ошибку пишет вот такую:
Unhandled exception. System.IO.IOException: Error 13 initializing the Gpio driver.
at System.Device.Gpio.Drivers.RaspberryPi3LinuxDriver.Initialize()
at System.Device.Gpio.Drivers.RaspberryPi3LinuxDriver.OpenPin(Int32 pinNumber)
at System.Device.Gpio.Drivers.RaspberryPi3Driver.OpenPin(Int32 pinNumber)
at System.Device.Gpio.GpioController.OpenPinCore(Int32 pinNumber)
at System.Device.Gpio.GpioController.OpenPin(Int32 pinNumber)
at System.Device.Gpio.GpioController.OpenPin(Int32 pinNumber, PinMode mode)
at Program.<Main>$(String[] args) in /home/alex/DotNetProgs/GpioTest/Program.cs:line 8
Аварийный останов
т.е. каких-то прав ему не хватает на эти "файлы"...
где что посмотреть?