Интеграция Raspberry Pi с NetBeans 8.0

В марте этого года вышла новая версия NetBeans 8.0. Одной из её особенностей стала возможность работы через интерфейс NetBeans с встроенными версиями Java SE и ME. Разработчиками IDE от Oracle в качестве тестовой платформы предлагается использовать Raspberry Pi с устанавливаемой удалённо Java SE Embedded. Прежде я уже публиковал два перевода из журнала MagPi о Java программировании на Raspberry Pi, но в основном они были восприняты негативно, так как читатели не увидели в них чего-то особенного, характерного именно для такой связки, как Java и Raspberry Pi. Надеюсь, что после знакомства с этим уже оригинальным руководством, мне удастся немного смягчить позицию читателей в вопросе особенности подхода к Java программированию на встроенных системах типа Raspberry Pi.Подготавливаем Raspberry PiНастроек Raspberry Pi немного. Ваш Raspberry Pi должен быть доступен в сети через SSH, а для вас на нём для чтения и записи должна быть доступна рабочая директория.Подготавливаем NetBeans Перед тем, как устанавливать новую платформу Java в NetBeans, я рекомендую прослушать небольшой доклад Льва Прийма по теме Java SE Embedded 8.[embedded content]Как видите, с точки зрения установки, основным отличием Java SE Embedded от обычной Java SE, является необходимость формирование отдельных профилей JRE для установки на устройства. В NetBeans 8.0 этот функционал доступен через Java Platform Manager.

Для этого в Tools выбираем Java Platforms и нажав Add Platform… в открывшемся списке указываем на Remote Standard Edition. Переходим на следующую панель настроек уже самого подключения к Raspberry Pi.

42306e62a9c840edabb0da4255ae4059.png

После заполнения полей с ip-адресом, именем пользователя и паролем для доступа к Raspberry Pi из вашей сети станет возможным создать JRE для данной встроенной платформы Java. Главное что нужно сделать:

Первое, указать путь на вашей машине там, где лежит пакет Oracle Java SE Embedded (его предварительно нужно скачать, выбрав пакет с маркировкой HardFP ABI, что означается аппаратная реализация модуля математического сопроцессора);

42306e62a9c840edabb0da4255ae4059.png

Второе, указать путь на Raspberry Pi куда собранный JRE устанавливать.

Дальше выставляем опции для нашей платформы и сохраняем её настройки для удаленной установки на Raspberry Pi. По-умолчанию это будет Compact1, но именно здесь можно выбрать профили о которых говорилось в ролики и согласно им будет производится установка встроенной виртуальной машины Java на Raspberry Pi. Если всё было сделано правильно, то будет произведена установка Java SE Embedded на удалённое устройство.

Проверяем работу Ну, а для проверки работы, мы воспользуемся 3-ей частью статьи о Java из 25-ого номера журнала The MagPi, создав проект в NetBeans и запустив его удалённо на нашем Raspberry Pi.65138037035e41dc83f5525fee1e7621.png

Как видите программа написанная в оболочке на компьютере разработчика была выполнена удалённо на целевом устройстве, а вывод консоли по ssh возвращён обратно в оболочку. Достаточно удобно, по крайней мере для меня, нет необходимости использовать прослойку в виде программного эмулятора, как делают например вендоры банковского железа для Visual Studio.

За удобство надо платить Есть один нюанс о котором следует помнить, Java SE Embedded включает в себя коммерческую лицензию, и если вы после разработки решите продавать свои приложения (или устройства с предустановленной версией данной виртуальной машины), то вам потребуется оплачивать лицензионные отчисления Oracle согласно прейскуранта.Стоимость лицензии указана на одно ядро и расчёт осуществляется по следующей формуле:

Стоимость лицензии × Кол-во чипов × Кол-во ядер на чипе × Коэффициент типа процессора × 1,19 = Цена лицензии Java SE Embedded

Значение 1,19 — это дополнительная оплата 19% от стандартной цены за обновление и поддержку. Для примера, в нашем случае с Raspberry Pi итоговая стоимость лицензии Java SE Embedded на одно устройство будет:

300 × 1 × 1 × 0,002 × 1,19 = 0,714$

А на пример для ODROID-U3 цена уже будет другой:

300 × 1 × 4 × 0,0075 × 1,19 = 10,71$

То есть ровно в 10 раз больше, и соответственно доля лицензионных отчислений по отношению к стоимости самого устройства получается около 2% для Raspberry Pi Model B (при цене 35$) и около 16,5% уже для ODROID-U3 (при цене 65$). По этому решив использовать в качестве платформы виртуальную машину от Oracle, нужно учитывать не только мощность устройства, но и стоимость программного обеспечения, запущенного на нём.

© Habrahabr.ru