Приветствую коллеги,
представляю вашему вниманию библиотку(да, название получилось пафосное), для работы с linux-одноплатниками на java —
https://github.com/java-embedded-framework/jef
Что умеет:
1. Работать с SPI
2. Работать с I2C
3. Работать с GPIO
4. Работать c Serial
Вся работа осуществляется через libc.so/POSIX и драйвера Linux но из Java без каких то отдельных native костылей(через
JNA с перспективой миграции на
Project Panama для JVM mode, а так же
GraalVM в случае компиляции в native).
Фича компиляции в native code пока закрытая, но код откомпилированный под JVM работает в Native без всяких изменений.
Протестировано пока только на Raspberry Pi 4, но т.к. работает через драйвера linux, то теоритически должно работать на любых одноплатниках.
Зачем?
В первую очередь просто хотелось для себя разобраться как работать с железом.
На текущий момент на рынке присуствуют(из того, что я знаю):
Java ME — мертвый проект от Oracle заточенный исключительно под RPi и какие то поделки от STM.
Pi4J — враппер на нативный WiringPi, который уже не поддерживается автором и который заточен исключительно под RPi (там GPIO работет не через драйвера, а через /dev/mem регистры BCM*)
Что имеем?
Альфа версию, по этому удобство API, качество кода, проблемы в multithreading пока оставим за кадром.
Смотрите на это как на возможность на одноплатниках подтащить всю экосистему java.
Если кто-то хочет поставить Star на github или расшарить информацию про библиотеку в любых источниках — заранее благодарен.
Если кто-то хочет поддержать, дать дельные советы, протестировать на других одноплатниках, помочь поконтрибутить и т.д — велком
Если кто-то хочет покритиковать, поныть — оставте мнение при себе