pi4J для Orange Pi Plus 2

Для школьного проекта я недавно купил Orange Pi +2 в надежде использовать его для управления несколькими электронными устройствами с помощью выводов GPIO. У меня многолетний опыт работы с Java, поэтому я естественно хотел написать свой код на этом языке. При попытке установить pi4j, который является библиотекой Java для Raspberry Pi, я получаю эту ошибку:

mackenzie@OrangePI:~$ sudo java -jar LCD.jar
sudo: unable to resolve host OrangePI
Unable to determine hardware version. I see: Hardware   : sun8i,
- expecting BCM2708 or BCM2709. Please report this to projects@drogon.net

Мне было интересно, есть ли у кого-нибудь порты для Orange Pi, и если нет, то мне придется писать свою программу на C. Я использую Debian 8 jacer 2 в качестве операционной системы.

5 ответов

Решение

Экспериментальная поддержка OrangePi теперь включен в последнюю Pi4J v1.2-SNAPSHOT строит. Пожалуйста, имейте в виду, что в настоящее время это в основном не проверено. Не стесняйтесь попробовать и сообщить о проблемах проекту.

Боюсь что WiringPi порт для OrangePi (WiringOP) может быть немного устаревшим и может не поддерживать более новый / последний OrangePi модели аппаратного обеспечения, но требуется дополнительное тестирование, чтобы подтвердить, какие модели работают.

Для Raspberry Pi существует хорошо известная библиотека wiringPi, написанная на C, для доступа и контроля GPIO. Эта библиотека была портирована для Orange Pi. Порт называется wiringPO. Я написал простой Java-класс с нативным методом. Нативный метод дает мне доступ к библиотеке wiringPO, и я использую JNI, чтобы позволить моему java-приложению взаимодействовать с нативным методом. Работает как шарм.

Я видел этот пост, который может вам помочь: https://groups.google.com/forum/

Поскольку я не являюсь владельцем этого устройства, я не могу проверить его самостоятельно.

проблема с каждым оранжевым пи, проблема с resolv.conf в /etc/resolv.conf. выполните sudo nano /../etc/resolv.conf, а затем добавьте к нему сервер имен 8.8.8.8 и нажмите Control-o, чтобы сохранить его.

Добавьте строку:

GpioFactory.setDefaultProvider(new OrangePiGpioProvider());

прежде чем получить экземпляр: gpio = GpioFactory.getInstance();

Другие вопросы по тегам