Работа с GPIO на Raspberry

Просмотр 13 сообщений - с 1 по 13 (из 13 всего)
  • Автор
    Записи
  • #5643
    manjey73
    Участник

    Михаил, если сохранились ссылки на то как работать с GPIO можете скинуть ?
    Может уже начинали какие-то изыскания, а то мне от шефа задача прилетела, как раз было бы удобнее реализовать это на Малине и Rapid SCADA

    #5654
    Mikhail
    Модератор

    На гитхабе много библиотек для этого, но я сам не пробовал:
    https://github.com/search?l=C%23&q=raspberry+gpio&type=Repositories&utf8=%E2%9C%93

    или так
    https://github.com/search?l=C%23&o=desc&q=raspberry&s=stars&type=Repositories&utf8=%E2%9C%93

    • Ответ изменён 9 лет, 5 месяцев назад пользователем Mikhail.
    #5655
    Mikhail
    Модератор
    #5658
    manjey73
    Участник

    Спасибо, буду разбираться…

    #5696
    manjey73
    Участник

    Собственно на днях начну ваять драйвер. Выбрал работу через WiringPi библиотеку, GPIO Manager сильно кастрированный.

    Если у кого есть пожелания, пишите. Планируется в параметрах командной строки:
    1. битовой маской определять вход или выход (0 — вход, 1 — выход) (только допустимый список GPIO.
    2. Так же битовой маской определять подтяжку pullup и pulldown для входа, либо еще отключение, пока не решил.

    У кого есть Pi2, протестируйте, что требуется записывать для отключения выхода 1 или 0 ?
    На Pi3 по умолчанию 0 включает выход (притягивает к 0), 1 выключает выход — подает напряжение. Вернее если правильно сказать, так работает с релейной платой. Если на выход подать high то реле отключается. а при low включается. Для светодиодов например надо будет наоборот…
    Вот думаю как тут быть, есть идеи ?

    • Ответ изменён 9 лет, 5 месяцев назад пользователем manjey73.
    #5728
    Mikhail
    Модератор

    По-моему, Pi2 и Pi3 по GPIO не отличаются. Думаю, high — должно быть значение команды 1, а low — 0. Светодиоды можно включать как 0 (предпочтительно), так и 1.
    Пишите сюда по мере появления новостей.

    #5731
    manjey73
    Участник

    Да, я просто затупил, у меня плата на 4 реле управляется низким уровнем.
    Придется при инициализации выхода сделать настройку для предварительной записи высокого уровня, потом активировать выход.
    GPIO Manager не позволяет сделать запись уровня до активации GPIO как выхода, в отличии от WiringPi…

    #5738
    manjey73
    Участник

    Если кто выложит скрин таблички по команде
    gpio readall на Raspberry Pi2 буду признателен, чтобы убедиться что все на своих местах.
    WiringPi по идее должен быть установлен по умолчанию и утилита gpio тоже.

    #5777
    Mikhail
    Модератор

    postimage

    #5783
    manjey73
    Участник

    Отлично, совпадает все с Rpi3

    #5787
    manjey73
    Участник

    Нарисовалась проблемка. Пытаюсь добавить

    List<TagGroup> tagGroups = new List<TagGroup>();
    TagGroup tagGroup;
    tagGroup = new TagGroup(«Список используемых GPIO:»);
    tagGroup.KPTags.Add(new KPTag(signal, «GPIO» + Convert.ToString(gpionum)));
    tagGroups.Add(tagGroup);
    InitKPTags(tagGroups);

    При условии, что Тип линии связи — «Не задан» и в Коммуникаторе никаких тегов не добавляется.

    Статистика линии связи
    Состояние : бездействие
    Действие : Нет

    Пользовательские параметры и Общие свойства а так же Активные КП — НЕТ

    Хотя КП добавлен, есть привязка к серверу но в Данные КП — Нет данных

    ??? куда копать, как создать список тегов при Не заданной линии связи ?
    Ведь работа с GPIO идет через библиотеку и линии связи как таковой нет.

    Собственно ошибка в ScadaCommSvc
    2017-05-10 14:16:09 <VHPC><система><EXC> Ошибка при создании линии связи 34: Ошибка при создании экземпляра класса логики КП KpRpi3Logic: Адресат вызова создал исключение.

    Как поймать с чем связанна ошибка ?
    Сейчас пишу на Windows машине просто настроечные параметры для использования библиотеки.

    • Ответ изменён 9 лет, 5 месяцев назад пользователем manjey73.
    #5790
    manjey73
    Участник

    з.ы. все, пока проехали. Был вызов библиотеки на Raspberry, закоментировал и все поехало. Пока дальше ковыряю настройки.

    Вопрос, удаленно подключиться к Raspberry для отладки библиотеки ?

    #5791
    Mikhail
    Модератор

    Читал, что можно подключиться удалённо к Mono .NET, но не пробовал. Если не получится, то придётся отлаживать по логам.

Просмотр 13 сообщений - с 1 по 13 (из 13 всего)
  • Для ответа в этой теме необходимо авторизоваться.