У березні цього року вийшла нова версія 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.
Як бачите, з точки зору встановлення, основною відмінністю Java SE Embedded від звичайної Java SE, є необхідність формування окремих профілів JRE для встановлення на пристрої. У NetBeans 8.0 цей функціонал доступний через Java Platform Manager.
Для цього в Tools вибираємо Java Platforms і натиснувши Add Platform... у списку вказуємо на Remote Standard Edition. Переходимо на наступну панель налаштувань вже самого підключення до Raspberry Pi.
Після заповнення полів з ip-адресою, ім'ям користувача і паролем для доступу до Raspberry Pi з вашої мережі стане можливим створити JRE для цієї вбудованої платформи Java. Головне що потрібно зробити:
Перше, вказати шлях на вашій машині там, де лежить пакет Oracle Java SE Embedded (його попередньо потрібно завантажити, вибравши пакет з маркуванням H^ FP ABI, що означається апаратна реалізація модуля математичного співпроцесора);
Друге, вказати шлях на Raspberry Pi куди зібраний JRE встановлювати.
Далі виставляємо параметри для нашої платформи і зберігаємо її налаштування для віддаленої установки на Raspberry Pi. Типово це буде Compact1, але саме тут можна вибрати профілі про які говорилося в ролики і згідно з ними буде проводиться установка вбудованої віртуальної машини Java на Raspberry Pi. Якщо все було зроблено правильно, буде встановлено Java SE Embedded на віддалений пристрій.
Перевіряємо роботу
Ну, а для перевірки роботи, ми скористаємося 3-ю частиною статті про Java з 25-го номера журналу The MagPi, створивши проект в NetBeans і запустивши його віддалено на нашому Raspberry Pi.
Як ви бачите, розробник, який було написано в оболонці на комп "ютері, було виконано на цільовому пристрої, а вивід консолі по 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, потрібно враховувати не тільки потужність пристрою, але і вартість програмного забезпечення, запущеного на ньому.





