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();