Установка и настройка WiringOP/WiringPi на Orange Pi PC

Как установить и настроить WiringPi на Orange Pi PC?

Для работы с GPIO (англ. general-purpose input/output) — интерфейс ввода/вывода общего назначения, необходимо установить WiringOP или WiringPi на Orange Pi. В данной статье мы узнаем как правильно скачать и установить библиотеку WiringPi на Orange Pi PC и проверить работоспособность примером программы на языке C (Си), а именно, самым простым примером — мигание светодиодом.

Смотрите ещё:
Orange PI PC — четырёхъядерный мини ПК
Как создать загрузочную флешку Ubuntu Mate для Orange Pi PC из Windows
Руководство пользователя Orange Pi (ENG)
Установка Android на Orange Pi
Banana Pi BPI-M3 – удаленный доступ к рабочему столу из Windows

Что такое WiringPi и WiringOP?

WiringPi это GPIO библиотека написана @drogon-ом, первоначально для Raspberry Pi, но Orange Pi модифицировали и адаптировали её под свои мини компьютеры и называли её WiringOP, где OP — сокращение от Orange Pi. Подробнее о библиотеке WiringPi можно узнать на сайте разработчика http://wiringpi.com/.

Загрузка, установка и проверка WiringOP/WiringPi на Orange Pi

WiringPi загружена на GIT для облегчения отслеживания изменений. Для того, что бы вытянуть WiringOP из github необходимо чтобы у вас был установлен пакет git-core. Если у вас не установлен GIT, то вы можете установить его с помощью:

При возникновении каких-либо ошибок, тогда необходимо обновить вашу ОС:

Загрузка WiringOP/WiringPi

В случае если вы уже клонировали файлы ранее, тогда необходимо просто обновить до последней версии:

Загрузка WiringOP/WiringPi для Orange Pi Zero

или

Загрузка WiringOP/WiringPi для Orange Pi PC 2

или

Установка WiringOP/WiringPi (H3, H5)

Установка WiringOP/WiringPi на Orange Pi Zero

Проверка WiringOP/WiringPi

Установка WiringPi на Orange Pi PC (1)

Самая простая программа: Мигание светодиодом

Мигание светодиодом является самой простой программой для управления пинами ввода/вывода на плате. Создайте файл с именем blink.c с содержанием:

Затем, для компиляции и запуска, вы должны выполнить следующие командны:

Чтобы увидеть результат, вам нужно будет подключить один светодиод между CON3-11 и GND с резистором на 220 Ом для ограничения тока.

Как найти номер вывода

Об этом можно узнать тут: тык. Номера выводов с GPIO не совпадают с номерами в WiringPi

Материалы

GitHub — zhaolei/WiringOP: This is a GPIO access library for OrangePi. It is based on the original WiringPi for Raspberry Pi.
Установка Git
WiringPi
Raspberry Pi | Wiring | Download & Install | Wiring Pi

Похожие записи

Комментарии 34

  • Приветствую, спасибо за полезный материал, у меня плата orange pi plus 2, соответственно не все работает(lan, usb не работают) по причине немного отличающегося оборудования, а есть тоже самое только под orange pi plus 2 ?, спасибо

  • А каким образом можно остановить даную команду?

  • Добрый день.
    Возникла проблема при установке. Плата orange pi pc2.
    При вызове команды gpio readall и любой другой в ответ приходит:
    piBoardRev: Unable to determine board revision from /proc/cpuinfo
    -> No «Revision» line

    В файле /proc/cpuinfo действительно нет записи Revision, данных файл является виртуальным и нет возможности его отредактировать.
    Скажите как можно исправить данную проблему?
    Спасибо.

  • Начал устанавливать, все вначале шло норм, но после части выполненных нормально операций по команде sudo ./build (дошло до [complite] drcSerial.c
    и hx711.c:86:2 error: ‘for’ loop initial declarations are only allowed in c99 or c11 mode

    • обновите версию g++ (больше> 4.8):

      чтобы проверить какая у вас версия:

      или:

    • ещё можно добавить в начале Makefile следующею команду:

      или

    • Словил эту же ошибку. OrangePI Zero. Armbian. Все апдейты на 26.02.2018 прошли без ошибок. Но при компиляции wiringPi-zero вылетела ваша ошибка. Решение указано на GitHub. Исходники копировать отсюда:
      git clone https://github.com/vladikoms/WiringOP-Zero
      С ними библиотека скомпилировалась, диод замигал..

  • Плата pi zero, ставил
    git clone https://github.com/xpertsavenue/WiringOP-Zero.git

    cd WiringOP-Zero
    chmod +x ./build
    sudo ./build

  • Выдает следующую ошибку:

    GPIO Utility
    [Link]
    /usr/bin/ld: gpio.o: relocation R_ARM_THM_MOVW_ABS_NC against `a local symbol’ can not be used when making a shared object; recompile with -fPIC
    gpio.o: error adding symbols: Bad value
    collect2: error: ld returned 1 exit status
    Makefile:48: recipe for target ‘gpio’ failed
    make: *** [gpio] Error 1

    не подскажете, что делать?

    • У вас Orange Pi Zero? Пробуйте этот вариант:

      вместо

  • Добрый день!!! Помогите пожалуйста!!
    У меня PC2, вроде все делаю правильно, скачал по нужной ссылке, правда по второй, первая, не рабочая оказалась…. в первый раз выдавало
    много ошибок при установке, попробовал повторить, выводится
    сообщение такого вида:

    [url=[/img][/url]

  • ./build: 4: ./build: [[: not found
    wiringPi Build script
    =====================

    WiringPi Library
    [UnInstall]
    make: Nothing to be done for ‘all’.
    [Install Headers]
    [Install Dynamic Lib]

    WiringPi Devices Library
    [UnInstall]
    make: Nothing to be done for ‘all’.
    [Install Headers]
    [Install Dynamic Lib]

    GPIO Utility
    make: Nothing to be done for ‘all’.
    [Install]

    All Done.

    NOTE: To compile programs with wiringBP v2, you need to add:
    -lwiringPi
    to your compile line(s) To use the Gertboard, MaxDetect, etc.
    code (the devLib), you need to also add:
    -lwiringPiDev
    to your compile line(s).

    • Попробуй этот вариант:

      К сожалению, нету у меня Orange Pi на базе Allwinner H5, чтобы протестировать работоспособность библиотеки.

      Можешь проверит вариант от zhaolei не указывая имя ветки:

  • Спасибо!!! По первой ссылке получилось.

  • Вроде все установил. Открываю пример blink из wiringpi, ругается на wiringPiSetup() и соответственно далее на все строки.

    • А можно поподробнее? Какая у вас плата и полное сообщение ошибки.
      Если использовать команду

      ошубок быть не должно.

  • Плата BananaPi M2Ultra. Плохо, что в комментах нельзя выделить код. Вот что получается:

  • Попробовал еще раз. После запуска установки были выдаются строки типа

    А в самом конце

    Но после запуска компиляции тестового примера ошибка осталась прежняя

    Не понятно, куда копать 🙁

  • Скомпилировалось при таком вызове

  • По поводу параметра pthread, залез в доки по gcc, там пишут:

    Так что без «l»
    Надо еще понять, что значит: -lm -lrt
    PS. Спасибо за ваши статьи.

    • Проверил, с pthread без разницы, а вот wiringPi без «l» не пойдет.
      П.С. Скомпилировалось или нет?

      • Да, скомпилировалось. Правда диод не мигает.
        Добавил в код вывод millis() в консоль — работает. Т.е. программка работает, но светодиод не мигает. Как правильно снести, установленный wiringPi?
        Хочу заново скачать и установить.

        • Снести можно так:

          В моём примере используется пин 0, но не факт, что на Банане он тот-же.
          Попробуйте использовать любой другой доступный из GPIO.XX, весь список можно получить командой gpio readall, смотрите на колонку wPI, пин под номером «0» работать и не должен, можете попробовать 21, 22, 23, 24 или 25-й.

  • Да я немного ступил, когда зашел на

    , то внизу прочел readme, ну и взял и использовал

    .
    Вечером переставлю и попробую заново.

  • В общем, ерунда какая то получается ;(
    Деинсталлировал установленный пакет, выполнил

    , установил. В результате

    • Что-от мне подсказывает, что это из за ОС Armbian, с твоей проблемой ещё сталкивались тут
      http://forum.banana-pi.org/t/banana-pi-bpi-m2-ultra-m2u-wiringpi-gpio-demo/3027/10

      If you look closer to WiringPi source code, you can see it receive info about board from:

      The easiest solution (not saying it is the right one) is to create it with this content (copied from bananapi images):

      Tested on Armbian image.

      Вам нужно будет создать файл /var/lib/bananapi/board.sh и прописать в него следующее содержание:

      Из за отсутствия этих параметров ваш мини-ПК определяется как Raspberry Pi, т.е. по умолчанию.
      После этих операций удалите WiringPi, перезапустите систему и установите по новой. Надеюсь, что получится на этот раз!

  • Заработало! Спасибо за помощь, я уже хотел бросить.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *