Комментарии 62
> cat ~/id_rsa.pub >> ~/. ssh /authorized_keys
Сдается мне, тут есть пара лишних пробелов. Ну и к тому же, можно же просто cp/mv сделать (у вас же в authorized_keys на RPi ключей других нет? т.е. файл либо пустой, либо его вообще нет там.).
Сдается мне, тут есть пара лишних пробелов. Ну и к тому же, можно же просто cp/mv сделать (у вас же в authorized_keys на RPi ключей других нет? т.е. файл либо пустой, либо его вообще нет там.).
Можно, конечно, и скопировать. Привычка, просто. На реальных серверах добавлять приходится.
А еще есть замечательная команда ssh-copy-id, которая копирует указанный (или дефолтный) публичный ключ на указанную машину в правильное место.
Увы, она есть не везде.
Да и на целевой машине подразумевает только openssh, и её «правильное место» — это захардкоденное ~/.ssh/
Но в очень многих случаях — да, срабатывает.
Да и на целевой машине подразумевает только openssh, и её «правильное место» — это захардкоденное ~/.ssh/
Но в очень многих случаях — да, срабатывает.
ssh-copy-id должен присутствовать на клиенте. Для целевой машины он не нужен.
По сути он выполняет следующее:
Т. е. дописывает публичный ключ в ~/.ssh/authorized_keys и устанавливает корректный контекст selinux и права на директорию и файл, если их не существовало до этого.
По сути он выполняет следующее:
umask 077
test -d ~/.ssh || mkdir ~/.ssh
cat >> ~/.ssh/authorized_keys && (test -x /sbin/restorecon && /sbin/restorecon ~/.ssh ~/.ssh/authorized_keys >/dev/null 2>&1 || true)" || exit 1
Т. е. дописывает публичный ключ в ~/.ssh/authorized_keys и устанавливает корректный контекст selinux и права на директорию и файл, если их не существовало до этого.
Да, речь именно про клиента.
Не на всех системах, поддерживающих openssh, есть ssh-copy-id (а тут не только linux, но и та же макось, к примеру)
И не на всех целевых системах ключи должны лежать в ~/.ssh/authorized_keys (например, могут лежать в /etc/dropbear/authorized_keys).
Поэтому эту команду можно выполнять с мыслью «если повезёт — получится сразу», будучи готовым вручную копировать нужные ключи.
Не на всех системах, поддерживающих openssh, есть ssh-copy-id (а тут не только linux, но и та же макось, к примеру)
И не на всех целевых системах ключи должны лежать в ~/.ssh/authorized_keys (например, могут лежать в /etc/dropbear/authorized_keys).
Поэтому эту команду можно выполнять с мыслью «если повезёт — получится сразу», будучи готовым вручную копировать нужные ключи.
Хм… Нетбук — настольная система?
Ну, у меня не было другой системы с частотой близкой к 1 Гц.
Ну тут дело не только в частоте, но и в архитектуре тоже, и нетбук сам по себе на настольную систему мягко говоря не катит.
Очень интересует работа с usb bluetooth адаптером из под java на Pi. Может кто нибудь сталкивался?
В Raspbian оракловую jdk можно поставить из репо: apt-get install oracle-java7-jdk
Пруф www.raspberrypi.org/archives/4920
Пруф www.raspberrypi.org/archives/4920
Простите мой хранцузский, но по-моему крутить Java на Raspberry Pi — это шиза. Даже нет, шЫза. Вы же всю производительность на нет сводите. Зачем?
Обычный средний VDS на 512 Mb ничем не мощнее. С такой логикой там тоже Java не надо ставить.
Вообще-то, не надо. А Вы сомневались?
У меня на VDS c 512М вполне себе неплохо работает Tomcat и пара приложений (ок, это оффтопик, но оно работает). А насчет Raspberry — как ее владелец говорю — НЕОЖИДАННО! Т.е. ожидал от статьи с таким заголовком в финале увидеть что-то вроде: «Вердикт: деццкая игрушка годная лишь для моргания светодиодами». И хотел было уже начать опровергать, спорить, доказывать… Но нет. Точнее, да. Это действительно работает, и работает, черт побери, отлично (разумеется, с учетом того, на каком железе оно работает).
Я знаю что работает и отлично работает. У меня несколько проектов на Java тоже крутятся на VDS 512M и никаких тормозов я не замечаю.
Моим первым компьютером был 486-ой, 66 Мгц с 8Мб памяти. И проработал я на нем несколько лет, учился программировать тоже на нем.
И этот компьютер отлично справлялся со многими задачами.
Плюс однажды пришлось программировать микроконтроллер на ассемблере. Там знаешь цену каждому такту. А так-как программа была не сложная, то оказалось, что 20 МГц — это тоже очень много. Но этот контроллер управлял вполне реальным оборудованием.
Поэтому оценить 700 МГц у RPi — это я могу))), то что это очень мощное оборудование, вполне с вами согласен.
И этот компьютер отлично справлялся со многими задачами.
Плюс однажды пришлось программировать микроконтроллер на ассемблере. Там знаешь цену каждому такту. А так-как программа была не сложная, то оказалось, что 20 МГц — это тоже очень много. Но этот контроллер управлял вполне реальным оборудованием.
Поэтому оценить 700 МГц у RPi — это я могу))), то что это очень мощное оборудование, вполне с вами согласен.
Тоже сравнил Tomcat на XS виртуалке Azure и Raspberry, разницы в работе нет, но в цене явный выигрыш, либо 15$ в месяц за облако, либо 35$, но один раз и Raspberry навсегда твоя собственность. Хотя Tomcat всё-таки до памяти прожорлив, сейчас пробую заменить его Jetty.
Скажите честно, а каков «overhead» по сравнению со скомпилированным C++ кодом? 100%, 1000%?
На десктопах, соглашусь, неважно за 0.01 секунду «деньги переведутся со счёта на счёт» или за 10 -клиент обождёт, главное — безопасность.
Но на встраиваемом решении, где главное выжать из железяки всё возможное в условиях экономии питания — не проще ли будет заплатить (программисту или вложив в себя покупкой курсов)?
Нет, академическую ценность статья имеет несомненно, вон люди и ubuntu запускали на ATMEGA-процессоре…
Просто разработчики процессоров всячески оптимизируют каждый милливатт, каждый микрон, а тут бац — python с java-ой (не в обиду поклонникам этих языков) — ой, малинка много «кушает»…
На десктопах, соглашусь, неважно за 0.01 секунду «деньги переведутся со счёта на счёт» или за 10 -клиент обождёт, главное — безопасность.
Но на встраиваемом решении, где главное выжать из железяки всё возможное в условиях экономии питания — не проще ли будет заплатить (программисту или вложив в себя покупкой курсов)?
Нет, академическую ценность статья имеет несомненно, вон люди и ubuntu запускали на ATMEGA-процессоре…
Просто разработчики процессоров всячески оптимизируют каждый милливатт, каждый микрон, а тут бац — python с java-ой (не в обиду поклонникам этих языков) — ой, малинка много «кушает»…
И кстати, еще. Raspberry Pi позиционировали как одноплатный дешевый компьютер для обучения? Так вот, насчет Java и т.п… В середине 90-х я работал на первой своей работе (сорри за тавтологию) в качестве программиста. Только-только после школы. И основной парк машин в нашем отделе составляли 486-е. Был даже один P-I (ежу понятно, у насяльника). Мне же этот самый насяльника выдал… AT286 (весь софт наш узкоспециализированный писался под DOS, так что это неважно). Я же, естественно, попытался противиться такой дискриминации. НО! Сэнсей, как и положено сэнсею, огрел меня бамбуковой палкой по тыкве и сказал: там, на 486 и пнях работают просветленные. Да, там все то же самое — но отладка быстрее. А там, где быстрее отладка — меньше думаешь над кодом.
К чему это? Java-кодеров — таки да, нужно учить на RPi. Быстрее придет понимание «как там внутри байтики шевелятся».
К чему это? Java-кодеров — таки да, нужно учить на RPi. Быстрее придет понимание «как там внутри байтики шевелятся».
Главное, чтобы когда научили, не забыли воды в бассейн налить
Если у человека есть интерес к тому, «как шевелятся байтики», он разберется в этом хоть на суперкомпьютере. А если интереса к этому нет, то совершенно точно это вызовет только снижение его собственной эффективности как разработчика — я очень хорошо помню, какое это было «удовольствие» — делить Android Framework на куски для того, чтобы на машине с 1Гб оперативки Эклипс вообще загрузил хоть что-то. И ловить ошибки компиляции из-за опечатки в имени недогруженного класса… Я в тот момент этот Андроид почти ненавидел. Интересно мне стало, когда памяти в машине стало 4 Гб :)
Метафора в тему: я сегодня учил трехлетнюю дочь ножницами пользоваться. У нее есть «безопасные» пласмассовые ножницы, которые больше рвут, чем режут, и есть более опасные — металлические. Так вот, нравиться ей стало только когда я ей позволил резать металлическими. Потому что инструмент должен быть удобным. Иначе даже самая интересная работа — чистая пытка.
Метафора в тему: я сегодня учил трехлетнюю дочь ножницами пользоваться. У нее есть «безопасные» пласмассовые ножницы, которые больше рвут, чем режут, и есть более опасные — металлические. Так вот, нравиться ей стало только когда я ей позволил резать металлическими. Потому что инструмент должен быть удобным. Иначе даже самая интересная работа — чистая пытка.
Производительность Java при грамотно написанной программе отличается от нативно компилированного кода процентов на 10.
У меня на 6 распберрях вполне шевелится Hadoop с HDFS, проблема с долгим стартом решается реюзом JVM. Так что вполне можно там жабу гонять. Более того — я на этом всем запускал PhantomJS, и гонял сборку видеороликов для нашего проекта — и тоже работало более чем ок.
НЛО прилетело и опубликовало эту надпись здесь
1. Oracle Java SE Embedded (в отличие от OpenJDK), действительно, представляет собой оптимизированный под ARM порт JDK, включая С1 (aka Client) JIT компилятор. Тот же самый, что на «большой» Java, только с ARM бэкендом. Поэтому и производительность соответствующая.
Не знаю, как сейчас, но раньше он обгонял Dalvik VM в 2-3 раза на идентичном железе.
2. На слово «java» в cpu features даже не смотрите, оно ничего не значит. Вернее, оно означает, что процессор поддерживает технологию Jazelle DBX, которая безнадежно устарела еще лет 8 назад. Никакая JVM с JIT компилятором ее не использует.
Не знаю, как сейчас, но раньше он обгонял Dalvik VM в 2-3 раза на идентичном железе.
2. На слово «java» в cpu features даже не смотрите, оно ничего не значит. Вернее, оно означает, что процессор поддерживает технологию Jazelle DBX, которая безнадежно устарела еще лет 8 назад. Никакая JVM с JIT компилятором ее не использует.
1. Не игнорируйте InterruptedException. Восстановите статус прерывания с помощью Thread.currentThread().interrupt();
Почитать об этом можно в статье «Теория и практика Java: Работа с InterruptedException».
2. Пробовали запускать tomcat на raspberry pi.
Запуск с установленным приложением (war-файл примерно 40 MB: wicket, spring etc) — 1 час.
К примеру,
на cubieboard2 запуск того же war-файла — 2 минуты.
wandboard или odroud u2 — 1 минуту
Intel процессор — 30 секунд.
Почитать об этом можно в статье «Теория и практика Java: Работа с InterruptedException».
2. Пробовали запускать tomcat на raspberry pi.
Запуск с установленным приложением (war-файл примерно 40 MB: wicket, spring etc) — 1 час.
К примеру,
на cubieboard2 запуск того же war-файла — 2 минуты.
wandboard или odroud u2 — 1 минуту
Intel процессор — 30 секунд.
что-то вы не то говорите
я свой проект на спринге стартую на своей малинке примерно за 120 секунд на оракловой жабе 8, на опенждк время увеличивается в 4 раза до 450 секунд
попробуйте поставить на свою малинку оракловую jdk
я свой проект на спринге стартую на своей малинке примерно за 120 секунд на оракловой жабе 8, на опенждк время увеличивается в 4 раза до 450 секунд
попробуйте поставить на свою малинку оракловую jdk
Проверил конфиги, видимо, по запарке не ту jdk указал.
На rapsberry pi jdk:
java version «1.7.0_07»
OpenJDK Runtime Environment (IcedTea7 2.3.2) (7u7-2.3.2a-1+rpi1)
OpenJDK Zero VM (build 22.0-b10, mixed mode)
На других платах:
java version «1.7.0_40»
Java(TM) SE Embedded Runtime Environment (build 1.7.0_40-b43, headless)
Java HotSpot(TM) Embedded Server VM (build 24.0-b56, mixed mode)
Спасибо, попробую прогнать тесты еще раз.
С другой стороны, для наших задач Odroid на Exynos 4412 лучше подходит.
На rapsberry pi jdk:
java version «1.7.0_07»
OpenJDK Runtime Environment (IcedTea7 2.3.2) (7u7-2.3.2a-1+rpi1)
OpenJDK Zero VM (build 22.0-b10, mixed mode)
На других платах:
java version «1.7.0_40»
Java(TM) SE Embedded Runtime Environment (build 1.7.0_40-b43, headless)
Java HotSpot(TM) Embedded Server VM (build 24.0-b56, mixed mode)
Спасибо, попробую прогнать тесты еще раз.
С другой стороны, для наших задач Odroid на Exynos 4412 лучше подходит.
3. Управление внешним оборудованием при помощи java и raspberry pi — реальная и вполне легко решаемая задача (чем я и собираюсь заняться в дальнейшем).
А что за оборудование? Мне просто кажется, что если чем-то в реальном времени управлять, то GC будет преподносить неприятные сюрпризы.
В общем будет интересно узнать чем дело кончится.
Датчики, контроллеры, электродвигатели, камера.
В общем хочется сделать свой «умный дом». Очередной велосипед, конечно, но интересно.
К времени отклика подобная система не критична.
Да и вообще управление портами ввода/вывода обычно это операция, которая не требует динамического выделения памяти. Разве что, в данном случае, для обработки Action'ов от портов ввода, но это надо проверить.
В общем хочется сделать свой «умный дом». Очередной велосипед, конечно, но интересно.
К времени отклика подобная система не критична.
Да и вообще управление портами ввода/вывода обычно это операция, которая не требует динамического выделения памяти. Разве что, в данном случае, для обработки Action'ов от портов ввода, но это надо проверить.
Для работы с внешними устройствами с I2C, SPI, UART интерфейсами, а также с GPIO пинами гораздо удобнее использовать Java ME Embedded, у которой есть DAPI (Device Access API) У Oracle есть отличный Getting Started Guide для версии Java ME Embedded 3.3 docs.oracle.com/javame/config/cldc/rel/3.3/rasp/gs/pdf/getstart_raspi.pdf. Во первых, в Java ME уже давно есть Hard Float, во вторых размер рантайма в 10 раз меньше чем у Java SE и VM оптимизирована для гораздо более слабого железа. Java SE Embedded имеет смысл использовать, если вы хотите сделать клиентское приложение на Java FX например.
В принципе с GPIO из Java можно работать как с обычными файлами. А Pi4J без поддержки 1-wire довольно бесполезен, даже простой термодатчик не повесить.
Ещё вопрос по GPIO, может кто поможет? У Raspbian'а не хватает одного модуля для работы 1-wire почему-то, который есть в других сборках. Исходники я нашёл, а вот как собрать и добавить в ядро я не знаю, OS я знаю только как пользователь. Может быть кто-то может помочь? Я тогда напишу подробнее.
Ещё вопрос по GPIO, может кто поможет? У Raspbian'а не хватает одного модуля для работы 1-wire почему-то, который есть в других сборках. Исходники я нашёл, а вот как собрать и добавить в ядро я не знаю, OS я знаю только как пользователь. Может быть кто-то может помочь? Я тогда напишу подробнее.
A Pi4J и не нужен на само деле чтобы работать с термодатчиками.
Смотри мой ответ на их форуме:
groups.google.com/d/msg/pi4j/FqLf15sW6EM/b5qOEk5yERsJ
Смотри мой ответ на их форуме:
groups.google.com/d/msg/pi4j/FqLf15sW6EM/b5qOEk5yERsJ
Я об этом и говорил в общем, но там есть одна проблема, в этой сборке поддерживается только один пин для 1-wire — GPIO-4, т.к. он там жутко захардкожен, хотя причин для этого нет. Есть более изящное решение, с настраиваемым пином или несколькими пинами. Но его нужно собрать, а я не умею и даже не знаю где почитать.
Ну а для разумного числа термодатчиков только один он и нужен. Они же все в параллель включаются. Например, у меня сейчас 6 датчиков и буду ещё добавлять. Там, конечно, важно как именно проводку для них делать, но это уже другая история. Резюме: для термодатчиков в доме одного пина вполне достаточно. А для плат с реле я повесил платку расширения на I2C и в итоге у меня управляемых 32 реле, хотя можно и больше сделать. Кстати, такое решение ещё и не требует запуска джавы под рутом (ну не люблю я, когда приложения под рутом бегут).
Здравствуйте!
У меня нет пока такой штуки… Но чтобы не покупать её зря, не могли бы люди, у которых она есть мне кое-что подсказать?
На ней есть порт ввода-вывода. Торренты, датчики температуры и мигания светодиодами это конечно хорошо…
Но на какой максимальной скорости с ним можно работать? Например, из под той же Java… То есть, можно ли туда подцепить быстродействующий АЦП и обрабатывать в Pi данные в режиме реального (или почти..) времени? Или всё быстродействие уходит на Линукс..?
Простите за вопрос, если что)
У меня нет пока такой штуки… Но чтобы не покупать её зря, не могли бы люди, у которых она есть мне кое-что подсказать?
На ней есть порт ввода-вывода. Торренты, датчики температуры и мигания светодиодами это конечно хорошо…
Но на какой максимальной скорости с ним можно работать? Например, из под той же Java… То есть, можно ли туда подцепить быстродействующий АЦП и обрабатывать в Pi данные в режиме реального (или почти..) времени? Или всё быстродействие уходит на Линукс..?
Простите за вопрос, если что)
Первая ссылка в google для «raspberrypi gpio performance».
Получается на C — 5 — 20 Mhz, на Python, bash, perl — 30-40 khz
На java:
Java + OpenJDK 7 + ZeroVM = 5 kHz
Java + OpenJDK 7 + JamVM = 10.75 kHz
Java + OpenJDK 7 + Avian = Error; untested
Java + OracleJDK 8 (ea) + HotspotVM = 153 kHz
Java + OracleJDK 7u10 + HotspotVM = 161 kHz (on soft-float Debian «Wheezy»)
Native C + WiringPi = 7 MHz
Можно еще по UART или SPI данные передать/принимать — будет быстрее и меньше нагрузки.
Получается на C — 5 — 20 Mhz, на Python, bash, perl — 30-40 khz
На java:
Java + OpenJDK 7 + ZeroVM = 5 kHz
Java + OpenJDK 7 + JamVM = 10.75 kHz
Java + OpenJDK 7 + Avian = Error; untested
Java + OracleJDK 8 (ea) + HotspotVM = 153 kHz
Java + OracleJDK 7u10 + HotspotVM = 161 kHz (on soft-float Debian «Wheezy»)
Native C + WiringPi = 7 MHz
Можно еще по UART или SPI данные передать/принимать — будет быстрее и меньше нагрузки.
Спасибо! Гугл — хорошо, но хотелось услышать лично от владельцев…
Маловато будет… Разочарован, если честно.
Неужели из ГигаГерцовой мощи нельзя выделить хотя бы 50-100 МГц на порты…
А если снести все надстройки, Линуксы и т.д., и писать код непосредственно контроллера, тоже такая засада?
Маловато будет… Разочарован, если честно.
Неужели из ГигаГерцовой мощи нельзя выделить хотя бы 50-100 МГц на порты…
А если снести все надстройки, Линуксы и т.д., и писать код непосредственно контроллера, тоже такая засада?
На hackaday была статья как из rapsberry сделать FM-трансмитер. hackaday.com/2012/12/10/transmit-fm-using-raspberry-pi-and-no-additional-hardware/
Там как раз частота 100Mhz.
Кстати, а для чего вам такая? Может проще воспользоваться SPI или специализированную микросхему подключить.
Там как раз частота 100Mhz.
Кстати, а для чего вам такая? Может проще воспользоваться SPI или специализированную микросхему подключить.
Вот это уже другое дело!)
Подумываю потихоньку собирать свой SDR приёмник, заодно поучиться.
Там надо быстродействующиее АЦП и быстро перемножать.
Не знаю, заменит ли эта штука по быстродействию хоть как-то ПЛИС, от этого и интересно стало)
Для меня это было бы оптимальным вариантом. Когда надо — слушаешь эфир. Вставил флэшку и вот тебе качалка торрентов, например…
А если бы таких скоростей можно было бы добиться в Java программе, да на Линуксе, да с остальными плюшками типа передачи на большой комп по сети — вообще сказка!)
Я, кстати, из статьи не понял немного — там можно только одним пином дёргать или менять произвольные данные на всём порту? И как там дела с приёмом данных от порта?
Вообще, я всё больше хочу эту штуку..;)
Подумываю потихоньку собирать свой SDR приёмник, заодно поучиться.
Там надо быстродействующиее АЦП и быстро перемножать.
Не знаю, заменит ли эта штука по быстродействию хоть как-то ПЛИС, от этого и интересно стало)
Для меня это было бы оптимальным вариантом. Когда надо — слушаешь эфир. Вставил флэшку и вот тебе качалка торрентов, например…
А если бы таких скоростей можно было бы добиться в Java программе, да на Линуксе, да с остальными плюшками типа передачи на большой комп по сети — вообще сказка!)
Я, кстати, из статьи не понял немного — там можно только одним пином дёргать или менять произвольные данные на всём порту? И как там дела с приёмом данных от порта?
Вообще, я всё больше хочу эту штуку..;)
Можно попробовать для таких целей Beagleboard-xM beagleboard.org/Products/BeagleBoard-xM, у нее на борту как раз DSP процессор есть.
И цена…
Сейчас вот наткнулся на такой вариант — www starterkit ru/html/index.php?name=shop&op=view&id=99
По совсем демократичной цене…
Изучаю)
Сейчас вот наткнулся на такой вариант — www starterkit ru/html/index.php?name=shop&op=view&id=99
По совсем демократичной цене…
Изучаю)
Не поверите, я эту плату сегодня утром заказал. :)
На Freescale iMX6Solo помимо кучи интерфейсов, есть еще и e-ink интерфейс.
На Freescale iMX6Solo помимо кучи интерфейсов, есть еще и e-ink интерфейс.
Значит это судьба) надо брать!
А где заказывали? У этих же ребят? Когда обещается доставка? Ещё какие-нибудь дополнительные модули не заказывали?
А где заказывали? У этих же ребят? Когда обещается доставка? Ещё какие-нибудь дополнительные модули не заказывали?
Первый раз заказываю на www.starterkit.ru
Пока пришло только подтверждение, т.к. заказывал в субботу.
Интересно, когда HolaDuo-PC, SK-iMX6-SODIMM и модули появятся в продаже.
— Freescale iMX6Solo (2 ядра ARM Cortex-A9 1000МГц) DDR3-1066 1024Мбайт SATA разъем
— SK-iMX6-SODIMM (формат sodimm)
— Hola-IEB – интерфейсный модуль расширения
— Hola-FEB – FPGA модуль расширения
— Hola-VCEB – модуль расширения видео захвата
— Hola-AEEB – модуль расширения дополнительных Ethernet подключений
Пока пришло только подтверждение, т.к. заказывал в субботу.
Интересно, когда HolaDuo-PC, SK-iMX6-SODIMM и модули появятся в продаже.
— Freescale iMX6Solo (2 ядра ARM Cortex-A9 1000МГц) DDR3-1066 1024Мбайт SATA разъем
— SK-iMX6-SODIMM (формат sodimm)
— Hola-IEB – интерфейсный модуль расширения
— Hola-FEB – FPGA модуль расширения
— Hola-VCEB – модуль расширения видео захвата
— Hola-AEEB – модуль расширения дополнительных Ethernet подключений
Да. Тоже читал про вторую плату. Но, думаю, ещё не скоро они её выпустят… Пока изготовление, пока отладка…
Да и цена конечно будет выше.
Как раз пока потренируемся на этой платке, а там и видно будет, стоит ли покупать другую…
Я бы Вам с удовольствием плюсов наставил за такое терпение к новичку, но у меня кармы нет (:
Да и цена конечно будет выше.
Как раз пока потренируемся на этой платке, а там и видно будет, стоит ли покупать другую…
Я бы Вам с удовольствием плюсов наставил за такое терпение к новичку, но у меня кармы нет (:
Java + JNI + Native C = ??
Думаю, что каждый язык должен решать свою задачу. Дрыгать ногой по GPIO — это не Java должна делать. Натив отлично справится. А вот управлять этм процессом на высоком уровне успеет и Java.
Думаю, что каждый язык должен решать свою задачу. Дрыгать ногой по GPIO — это не Java должна делать. Натив отлично справится. А вот управлять этм процессом на высоком уровне успеет и Java.
Рискну предложить вариант получения картинки с веб-камеры с помощью java и jni.
Ох, как много воды утекло. Теперь появилась 9-ка и даже 10-ка уже:
Liberica JDK for Raspberry Pi:
www.bell-sw.com/java-for-raspberry-pi.html
www.bell-sw.com/liberica-release-notes.html
Liberica JDK for Raspberry Pi:
www.bell-sw.com/java-for-raspberry-pi.html
www.bell-sw.com/liberica-release-notes.html
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Raspberry PI и JAVA: пристальный взгляд