Оглавление:

Эффективная разработка на Java для Raspberry Pi: 11 шагов (с изображениями)
Эффективная разработка на Java для Raspberry Pi: 11 шагов (с изображениями)

Видео: Эффективная разработка на Java для Raspberry Pi: 11 шагов (с изображениями)

Видео: Эффективная разработка на Java для Raspberry Pi: 11 шагов (с изображениями)
Видео: Основы цифровой электроники с Raspberry Pi и Python 2024, Декабрь
Anonim

В этом руководстве описывается очень эффективный подход к разработке программ Java для Raspberry Pi. Я использовал этот подход для разработки возможностей Java, начиная от поддержки устройств низкого уровня и заканчивая многопоточными и сетевыми программами. Подход не только эффективен, но и бесплатен!

По сути, это удаленная разработка с использованием NetBeans. NetBeans работает на рабочей станции (настольном или портативном компьютере, но не на Raspberry Pi), подключенной через Wi-Fi к Raspberry Pi. После того, как все настроено правильно, вы можете написать программу Java в NetBeans, а затем одним щелчком мыши компилировать и строить программу на рабочей станции, загружать программу в Pi, запускать программу на Pi и доставлять вывод на консоль NetBeans.. Магия! Вы даже можете отлаживать запущенную программу, устанавливая точки останова и проверяя значения переменных. Больше волшебства!

Остальная часть этого введения описывает мотивацию использования Java и удаленной разработки с использованием NetBeans. Если вас волнует мотивация, читайте дальше. Если вам все равно, переходите к шагу 1.

Зачем использовать Java на Raspberry Pi?

Для Raspberry Pi доступно множество языков программирования, но я ограничусь обсуждением языков программирования «профессионального уровня», которые нацелены на автономные программы, поддерживают многозадачность, разрешают доступ к оборудованию и сети и т. Д. Это означает Java, Python или C / C ++. Самые последние выпуски Raspbian включают поддержку разработки и выполнения для всех этих языков.

Python фактически «продвигается» для использования на Pi, по крайней мере, отчасти из-за простоты обучения новым программистам. Я опытный программист и не люблю Python из-за заведомо субъективной неприязни к ряду его характеристик, например к динамической типизации. Есть одна характеристика Python, которая мне объективно не нравится - производительность. Этот источник показывает, что Java всегда быстрее, чем Python 3, и на самом деле может работать в сотни раз быстрее, в зависимости от задачи.

На мой взгляд, C - это «машинный язык высокого уровня», то есть нечто очень близкое к системному оборудованию или, по крайней мере, к операционной системе. Вы можете делать практически все, и делать это как можно быстрее; Фактически, этот источник предполагает, что C может работать в 7 раз быстрее, чем Java. Я также не люблю C, поскольку мне (субъективно) не нравятся некоторые из его характеристик, которые я считаю тайными, архаичными или и тем, и другим; например, явные указатели. Объективно тот факт, что вы можете делать что угодно, означает, что вы всего лишь неясная ошибка (например, неправильная арифметика указателя или ошибочный memcpy) вдали от перезаписи памяти и потенциального сбоя программы или даже всей системы. Java предотвращает такие опасности, поэтому Java безопаснее. Я считаю, что безопасность также повышает продуктивность программиста. Я считаю C ++ объектно-ориентированной «оболочкой» вокруг C, которая ничего не делает для устранения опасностей C.

Итог: Java быстрее Python. Java безопаснее, чем C.

Есть ли ограничения при использовании Java?

До сих пор я мог делать на Java все, что могу на Python. Есть вещи, которые можно сделать на C, чего нельзя сделать на Java, но, опять же, до сих пор все, что я хотел сделать, было адресовано фанатам Java в сообществе Pi. Я предложу пример позже. Тем не менее, я приобрел датчики у поставщиков, которые поставляли «драйверы» для датчиков только на Python (или C / C ++ для Arduino), поэтому мне пришлось написать эквивалент для Java; дополнительные усилия не обязательно будут продуктивными, но могут привести к более глубокому пониманию работы датчика.

Почему удаленная разработка на основе NetBeans?

Я обнаружил, что удаленная разработка на основе NetBeans значительно увеличивает производительность при использовании Java для Raspberry Pi. Я уверен, что вы можете использовать этот подход для создания быстрых и безопасных программ из-за присущих Java характеристик, при этом написание, построение и отладка их намного быстрее, чем другие подходы, которые я нашел, благодаря удаленной разработке с использованием «профессиональных» оценка «Интегрированная среда разработки NetBeans (IDE)».

Было бы полезно кратко обсудить эти «другие подходы». Все они соответствуют основным критериям: к Raspberry Pi не подключены клавиатура, мышь или дисплей. Есть много причин для этого критерия, но моя основная причина в том, что я разрабатываю мобильных роботов, и я не хочу, чтобы Pi был подключен к каким-либо периферийным устройствам, кроме роботизированных подсистем, даже во время разработки.

Сервер VNC, включенный в Raspbian, предоставляет удаленный графический интерфейс пользователя (GUI), который позволяет удаленную разработку, при которой на рабочей станции работает только удаленный графический интерфейс, а все остальное, написание, компиляция и сборка, происходит на Pi. С VNC легко использовать инструменты разработки с поддержкой Java, которые поставляются с Raspbian, такие как BlueJ, Geany и Greenfoot. Некоторые из них можно рассматривать как IDE; однако я считаю, что они далеки от профессионального уровня.

Технически возможно установить Java IDE профессионального уровня, такую как Eclipse или NetBeans, на Raspberry Pi и использовать ее удаленно через VNC. Отчеты и здравый смысл предполагают, что результаты будут неутешительными из-за большого объема памяти и мощности процессора, которые требуются для таких IDE, а также из-за задержки в сети, вызванной удаленным графическим интерфейсом.

И Eclipse, и NetBeans очень хорошо работают на рабочей станции. В Eclipse написание кода доставляет удовольствие, а вот создание программы - нет; загрузка программы должна происходить вне Eclipse; выполнение программы на Pi полностью не зависит от Eclipse. В итоге получается многоэтапный, почти болезненный процесс, который не поддерживает удаленную отладку. NetBeans имеет встроенные функции компиляции, сборки, загрузки, удаленного выполнения и удаленной отладки, что делает его превосходным подходом.

Шаг 1. Настройте Raspberry Pi

Чтобы использовать подход удаленной разработки, вы должны начать с настройки целевого Raspberry Pi. Существует множество ресурсов, в том числе Instructables, которые могут помочь в настройке Raspberry Pi. См. Здесь основы настройки Pi (и многое другое).

Это руководство предполагает, что вы

  • установить последнюю версию Raspbian; убедитесь, что вы записали идентификатор пользователя и пароль Pi
  • настроить Wifi и подключиться к роутеру (см. это); убедитесь, что вы записали IP-адрес Pi
  • включите SSH (см. это), чтобы разрешить удаленный доступ к Pi с рабочей станции

После завершения настройки вы можете выключить питание и отсоединить дисплей, клавиатуру и мышь от Pi. Это одно из ключевых преимуществ удаленной разработки. Вы должны оставить любой Wi-Fi-ключ подключенным (конечно, не требуется для модели Pi 3 или Pi Zero W), а затем вы можете включить Pi.

Для проверки откройте на своей рабочей станции клиент ssh, например, Terminal в MacOS или putty в Windows. Затем введите команду ssh (безопасная оболочка) в следующей форме:

ssh the_pi_ip_address -l the_pi_user_id

Вы должны получить приглашение ввести пароль вашего идентификатора пользователя Pi. Если запрос не появляется, убедитесь, что вы ввели правильный IP-адрес в команде ssh. Введите свой пароль (он будет скрыт), после чего вы должны увидеть приглашение оболочки Pi, которое выглядит примерно так:

pi @ raspberrypi: ~ $

Если вы не видите приглашение, проверьте ID пользователя и пароль, которые вы использовали.

Теперь вы должны найти путь к среде выполнения Java и подтвердить, что версия по умолчанию - Java 8 (должно быть верно для последней версии Raspbian). Чтобы найти путь к среде выполнения Java, в ssh-клиенте введите команду

sudo update-alternatives --display java

Вы должны увидеть ответ с первыми двумя строками, которые выглядят следующим образом:

java - автоматический режим

Лучшая версия ссылки - / usr / lib / jvm / jdk-8-oracle-arm32-vfp-hflt / jre / bin / java

«-8-» во второй строке подтверждает, что среда выполнения по умолчанию - Java 8. Запишите путь во второй строке, так как он понадобится вам для настройки NetBeans для удаленной разработки на более позднем этапе.

Если среда выполнения по умолчанию не Java 8, в ssh-клиенте введите следующую команду, чтобы переключиться на Java 8 (при условии, что она установлена)

sudo update-alternatives --config java

Шаг 2. Установите NetBeans на рабочую станцию

Теперь вам нужно установить NetBeans на вашу рабочую станцию. Укажите в браузере рабочей станции страницу загрузки NetBeans. Вы увидите несколько возможных пакетов, которые поддерживают две версии Java, а также другие языки. Все, что вам нужно для разработки Java для Raspberry Pi, - это Java SE, но вы можете получить пакет Java EE или пакет All. После того, как вы решите, какой пакет вам нужен, нажмите соответствующую кнопку «Загрузить». Вы можете найти дополнительные инструкции по установке для ОС вашей рабочей станции здесь.

После установки NetBeans запустите его (это может произойти автоматически после установки). Вы должны увидеть главное окно NetBeans, как показано на рисунке. Снимок был сделан на Mac, и главное окно может выглядеть немного иначе в Windows.

После успешной установки и запуска NetBeans переходите к следующему шагу.

Шаг 3. Настройте Raspberry Pi в качестве удаленной платформы в NetBeans

Настройте Raspberry Pi в качестве удаленной платформы в NetBeans
Настройте Raspberry Pi в качестве удаленной платформы в NetBeans

Следующие действия настраивают Raspberry Pi как удаленную платформу Java SE для NetBeans. Это позволяет NetBeans загружать и выполнять программы Java на Pi. Здесь вы можете найти несколько общее описание.

ПРИМЕЧАНИЕ. На этом и следующих шагах я показываю значения, специфичные для моей среды, для различных аспектов конфигурации и кодирования; ваш, очевидно, будет другим.

Чтобы настроить Pi как удаленную платформу:

  1. В строке главного меню NetBeans выберите Инструменты -> Платформы Java. Вы увидите всплывающее окно Java Platform Manager (рисунок один).
  2. Щелкните Добавить платформу в левом нижнем углу. Вы увидите всплывающее окно «Добавить платформу Java [тип платформы]» (рисунок 2).
  3. Выберите Remote Java Standard Edition. Нажмите "Далее. Вы увидите всплывающее окно «Добавить платформу Java [настроить удаленную платформу]» (на рисунке 3 показано всплывающее окно после того, как я ввел правильные значения для своей среды в поля).
  4. В поле Platform Name введите имя для Pi. Вы можете использовать что угодно, но оно должно быть уникальным.
  5. В поле Host введите IP-адрес Pi, найденного на шаге 1.
  6. В поле Имя пользователя введите имя пользователя, которое вы использовали на шаге 1.
  7. Оставьте флажок Использовать аутентификацию по паролю и в поле Пароль введите пароль, созданный на шаге 1.
  8. В поле Remote JRE Path вы должны ввести большую часть пути к среде выполнения Java на Pi. На шаге 1 это был / usr / lib / jvm / jdk-8-oracle-arm32-vfp-hflt / jre / bin / java. Однако вы должны убрать / bin / java в значение поля.
  9. NetBeans загружает исполняемую программу в рабочий каталог на Pi, указанный в поле «Рабочий каталог». По умолчанию это / the_Pi_user_ID / NetBeansProjects /, и это вполне приемлемо. При желании вы можете использовать что-то другое, хотя оно должно быть доступно для _Pi_user_ID (рисунок 3).
  10. Нажмите Готово в правом нижнем углу всплывающего окна. После обработки вы должны снова увидеть всплывающее окно Java Platform Manager. Теперь вы должны увидеть свой удаленный Pi (под именем, которое вы использовали в действии 4 выше) в категории Remote Java SE (рисунок 4).
  11. Щелкните Test Platform в левом нижнем углу, чтобы проверить соединение между NetBeans и вашим Pi. Сначала вы увидите всплывающее окно с надписью Проверка удаленной платформы. В случае успеха вы получите второе всплывающее окно, указывающее, что соединение… успешно установлено. Если нет, вам необходимо проверить и исправить информацию, которую вы ввели во всплывающее окно «Добавить платформу Java [настроить удаленную платформу]» в действиях 5–9 выше. Вы можете сделать это во всплывающем окне Java Platform Manager; просто выберите свою платформу Pi, а затем отредактируйте поля в правой части всплывающего окна.
  12. После успешного подключения нажмите «Закрыть» во всплывающем окне Java Platform Manager. Теперь вы увидите главное окно NetBeans.

Теперь может начаться настоящее веселье!

Шаг 4: Создайте проект Java на рабочей станции

Это не предназначено для полного объяснения того, как использовать NetBeans или Java, но я опишу минимальные действия по написанию программы в NetBeans на рабочей станции и, в конечном итоге, удаленному запуску программы на Raspberry Pi.

В NetBeans сначала необходимо создать проект, содержащий классы Java для программы. Кроме того, в Java классы размещаются в пакетах для поддержки организации и безопасности. Чтобы создать проект и, при необходимости, создать пакет и файл класса:

  1. В главном окне NetBeans щелкните значок нового проекта (второй слева). Вы увидите всплывающее окно New Project [выберите проект] (изображение первое).
  2. Значения по умолчанию (Категория: Java, Проект: Приложение Java) верны для этого примера, поэтому просто нажмите Далее. Вы увидите всплывающее окно «Новое приложение Java [имя и расположение]» (на втором рисунке показаны значения для моего примера). ПРИМЕЧАНИЕ. Я отредактировал информацию о пользователе, используя цветные прямоугольники.
  3. В поле Project Name введите допустимое имя проекта Java по вашему выбору. Имя должно начинаться с заглавной буквы, и соглашение предполагает, что при объединении слов используется верблюжий регистр.
  4. Поле Project Location определяет, где находится проект в вашей файловой системе. Значение по умолчанию зависит от операционной системы, но его можно принять.
  5. Поле Project Folder позволяет вам контролировать имя папки для проекта. Я считаю, что лучше использовать значение по умолчанию, которое представляет собой объединение полей «Местоположение» и «Имя».
  6. Если установлен флажок «Создать основной класс», NetBeans автоматически создает пакет и файл основного класса (программу, которую можно запустить из командной строки) с тем же именем, что и проект. Я думаю, что обычно его следует не отмечать, но в этом случае я оставлю его отмеченным, что исключает явные действия, которые в противном случае необходимы для этого (рисунок 2).
  7. Нажмите «Готово», чтобы создать проект, пакет и файл основного класса. Теперь в верхней левой панели главного окна NetBeans отображается ваш проект, который содержит один пакет, который, в свою очередь, содержит один файл класса с методом main (). Верхняя правая панель содержит исходный код по умолчанию для основного класса (программы), автоматически сгенерированный NetBeans (рисунок 3).

На этом этапе вы можете написать код в основном методе и запустить его на рабочей станции. Иногда это может быть желательно, но не требуется для данной инструкции, поэтому переходите к следующему шагу.

Шаг 5. Настройте проект NetBeans для удаленного запуска на Raspberry Pi

Чтобы настроить проект NetBeans и содержащуюся в нем программу для удаленного запуска на Raspberry Pi, выполните следующие действия:

  1. Щелкните правой кнопкой мыши или двумя пальцами (в зависимости от ОС рабочей станции) по проекту на панели «Проекты» главного окна NetBeans, чтобы открыть меню проекта, и щелкните «Свойства». Вы увидите всплывающее окно «Свойства проекта» (на рисунке показано всплывающее окно с соответствующими значениями для моего примера).
  2. В разделе "Категории" слева выберите "Выполнить".
  3. Щелкните «Создать» справа от поля «Конфигурация». В появившемся всплывающем окне «Создать новую конфигурацию» введите имя конфигурации и нажмите «ОК». Имя может быть любым; Я просто повторно использовал название платформы («My Pi»). Вы снова увидите всплывающее окно «Свойства проекта».
  4. Щелкните значок раскрывающегося списка справа от поля Runtime Platform. Из списка во всплывающем окне выберите удаленную платформу, которую вы создали ранее (в моей среде «My Pi»).
  5. Нажмите ОК, чтобы настроить удаленную платформу для проекта. Вы снова увидите главное окно.

Теперь вы готовы написать код и запустить программу удаленно.

Шаг 6: напишите программу Java на рабочей станции и запустите ее на Raspberry Pi

Правая панель в главном окне NetBeans показывает файл основного класса, созданный NetBeans. Введите простой оператор печати в основной метод файла класса (рисунок 1). Теперь это законченная программа на Java, которая что-то делает, хотя и что-то очень простое.

Чтобы запустить программу на Pi, щелкните значок «Выполнить» (зеленая стрелка, указывающая влево) в главном окне. NetBeans компилирует код, создает файл jar, загружает файл jar в Raspberry Pi, идентифицированный удаленной платформой, выполняет программу на Pi, фиксирует вывод (System.out) программы и отображает вывод на NetBeans. Панель вывода в правом нижнем углу главного окна (рисунок 2).

Теперь вы значительно расширили свой набор навыков для разработки проектов на Raspberry Pi! Но ждать…. Это еще не все!

Шаг 7. Отладка программы Java с помощью NetBeans

Одна из самых мощных функций промышленной интегрированной среды разработки, такой как NetBeans, - это возможность отлаживать программу во время работы. NetBeans позволяет использовать полный набор инструментов отладки при удаленной работе. Сюда входит установка точек останова в «важных» или «проблемных» местах программы и проверка значений переменных в текущем состоянии выполнения.

Простая программа на последнем шаге слишком проста, чтобы продемонстрировать отладку, поэтому я добавил в программу дополнительный код. Дополнительный код добавляет две переменные.

Чтобы использовать инструменты отладки, вы должны сначала установить одну или несколько точек останова. Чтобы установить точку останова, щелкните номер строки, в которой вы хотите приостановить выполнение; появляется значок красного прямоугольника, и вся линия приобретает красный фон (рисунок 1).

Чтобы отладить программу, запущенную на Pi, щелкните значок «Отладка» (сразу справа от значка «Выполнить») в главном окне NetBeans. Как и при обычном выполнении, NetBeans компилирует, создает, загружает, выполняет, фиксирует выходные данные и отображает их. Но при отладке NetBeans останавливает выполнение в точках останова и позволяет вам проверить состояние выполнения (рисунок 2, показывающий панель переменных в правом нижнем углу).

Выполнение останавливается в точке останова до выполнения инструкции в строке с точкой останова. Зеленый фон указывает на то, что следующий оператор должен быть выполнен. Таким образом, в моем примере с точкой останова в строке 9 переменная a еще не существует, а тем более имеет значение.

Теперь наведите курсор на значок меню отладки в главном окне (первый значок с двойной стрелкой вниз справа от значка отладки) и щелкните значок Step Over (у него синий документ на заднем плане и зеленая стрелка против часовой стрелки. на переднем плане). [ПРИМЕЧАНИЕ: если вы сделаете главное окно NetBeans достаточно широким, меню отладки развернется, и значки действий отладки появятся справа от значка отладки.] NetBeans выполняет оператор в точке останова и останавливает выполнение до следующего оператора. Теперь вы увидите, что переменная a существует и имеет ожидаемое значение (рисунок 3).

Дважды щелкните значок «Перешагнуть». Вы увидите, что все три переменные имеют значения; обратите внимание, что c по-прежнему равно нулю (рисунок 4).

Щелкните значок «Перешагнуть» один раз. Вы увидите, что переменная c теперь имеет правильное значение, то есть сумму переменных a и b (рисунок 5).

Наконец, в меню отладки щелкните значок «Выполнить» (зеленый кружок с белой стрелкой). Это приводит к тому, что выполнение продолжается до следующей точки останова или до конца программы, в зависимости от того, что наступит раньше. Теперь появляется панель вывода, которая показывает тот же вывод, что и при обычном выполнении, в данном случае текст в операторе печати.

Шаг 8: выполнение программы независимо от NetBeans

Может наступить время, когда вы захотите выполнить свою программу на Raspberry Pi без «помощи» или «вмешательства» со стороны NetBeans. Все очень просто. Сначала откройте ssh-клиент для своего Pi.

Помните из шага 3, что NetBeans помещает ваш проект jar в рабочий каталог на Pi. Базой по умолчанию является / home / pi / NetBeansProjects для пользователя pi. Конкретный каталог имеет то же имя, что и ваш проект. NetBeans помещает jar-файл в подкаталог с именем dist. В моем примере полный путь - / home / pi / NetBeansProjects / MyRemoteProg / dist. В ssh-клиенте на Pi для выполнения программы вы можете использовать команду java с опцией jar:

java -jar /home/pi/NetBeansProjects/MyRemoteProg/dist/MyRemoteProg.jar

Вы увидите результаты выполнения в ssh-клиенте; в моем примере вывод будет

Привет от Raspberry Pi!

Это работает, потому что информация в файле jar определяет, какой основной класс в jar нужно выполнить.

Вы также можете изменить рабочий каталог (через компакт-диск) на расположение файла jar, а затем выполнить более короткую команду для получения тех же результатов.

java -jar MyRemoteProg.jar

Шаг 9: Скомпилируйте и загрузите, но не выполняйте программу через NetBeans

Бывают ситуации, когда вы хотите, чтобы NetBeans построил и загрузил вашу программу, но не выполнял ее. Одна из таких ситуаций возникает, когда вашей программе требуется ввод с клавиатуры. В этом случае, используя технику из предыдущего шага, после сборки и загрузки программа запускается на Raspberry Pi и поэтому ожидает ввода с клавиатуры от Pi, но, конечно, клавиатура не подключена к Pi, так программа зависает - нехорошо.

Вы должны использовать несколько иную технику для выполнения программы. По сути, вы создаете «фиктивный» файл основного класса, который по сути ничего не делает, и идентифицируете его как программу, которая будет выполняться после загрузки. В этом случае запускается «пустышка», и вы можете запускать свою «настоящую» программу прямо на Pi.

Чтобы использовать эту технику, сначала создайте новый основной класс:

  1. Вызовите меню проекта, как на шаге 5, и нажмите New-> Java Main Class. Вы увидите всплывающее окно New Java Main Class.
  2. В поле «Имя класса» введите имя. Имя может быть любым; Я использовал "Манекен". Поле Package позволяет идентифицировать пакет класса; вы выбираете пакет, используя раскрывающийся список справа от поля. Класс может находиться в том же пакете, что и ваша «настоящая» программа, или в другом пакете; Я поместил новый класс в тот же пакет. Щелкните Готово. Теперь вы увидите главное окно NetBeans с новым файлом на верхней правой панели (рисунок 1). Я добавил простую инструкцию для печати о работе на Pi, но на самом деле ничего не нужно.

Чтобы запустить «Dummy» после загрузки, вы должны сделать его «основным классом, выполняемым по умолчанию» для проекта:

  1. Откройте «Свойства проекта», как на шаге 5. Выберите категорию «Выполнить». Нажмите «Обзор» справа от поля «Основной класс». Вы увидите всплывающее окно «Обзор основных классов» (рисунок 2).
  2. Выберите класс «Манекен». Щелкните Выбрать основной класс. Вы снова увидите Свойства проекта.
  3. Щелкните ОК. Вы вернетесь в главное окно.

Теперь, когда вы щелкаете значок «Выполнить», NetBeans компилирует / строит весь проект, загружает jar-файл, содержащий все файлы классов, в Pi и выполняет класс «Dummy» (рисунок 3).

Чтобы выполнить свою настоящую программу на Pi, теперь вы должны использовать команду java с опцией classpath, которая требует, чтобы вы явно указали основной класс для выполнения. Из клиента ssh перейдите в каталог dist для вашего проекта. Правильная команда имеет вид:

java -cp имя_проекта.jar имя_пакета.имя_класса

Очевидно, что имя_проекта относится к проекту; это меняется только при работе с новым проектом. Package_name, конечно, относится к пакету, а class_name относится к основному классу, который нужно выполнить. Как было сказано ранее, проект может содержать много пакетов. Точно так же пакет может содержать множество классов, и все они могут быть основными классами или программами, которые могут быть выполнены из командной строки. Таким образом, метод «пути к классам» весьма полезен для разработки сложных программ со многими классами, некоторые из которых являются основными классами только для помощи в модульном тестировании.

Следующая команда выполняет мой пример программы:

java -cp MyRemoteProg.jar myremoteprog. MyRemoteProg

Шаг 10: используйте управление библиотекой NetBeans

Один из самых сложных, но наиболее важных аспектов сложных программ - это работа с библиотеками, то есть кодом, уже написанным кем-то другим. NetBeans отлично справляется с устранением большей части проблем, связанных с управлением библиотекой.

Я буду использовать в качестве примера Pi4J, который предоставляет программам Java доступ к Raspberry Pi GPIO, шине I2C и другому аппаратному вводу-выводу. Pi4J - лишь один из примеров поддержки множества интересных вещей на Pi с Java.

Сначала вы должны загрузить библиотеку на свою рабочую станцию. См. Страницу загрузки Pi4J. Поскольку вы не устанавливаете Pi4J на Pi, загрузите zip-архив на свою рабочую станцию. Вам может потребоваться или не потребоваться явное разархивирование после загрузки zip-архива.

Теперь вы должны создать «глобальную библиотеку» в NetBeans:

  1. В главном меню NetBeans выберите Инструменты -> Библиотеки. Вы увидите всплывающее окно Ant Library Manager (изображение первое).
  2. Нажмите «Новая библиотека» в левом нижнем углу. Вы увидите всплывающее окно New Library (рисунок 2).
  3. Введите значащее имя, которое вы хотите использовать, и нажмите OK. Вы снова увидите всплывающее окно Ant Library Manager. Теперь он показывает новую библиотеку, которую вы создали (рисунок 3).
  4. Щелкните справа Добавить JAR / папку. Вы увидите всплывающее окно «Обзор JAR / папки» (рисунок 4).
  5. Перейдите к файлу pi4j-core.jar и выберите его. Затем нажмите «Добавить JAR / папку». Вы вернетесь во всплывающее окно Ant Library Manager.
  6. Во всплывающем окне Ant Library Manager нажмите OK. Вы вернетесь в главное окно NetBeans.

Вы добавили библиотеку, чтобы ее можно было использовать в любом проекте. Теперь вы должны добавить библиотеку в свой проект:

  1. Откройте всплывающее окно «Свойства проекта» (см. Шаг 5) и выберите категорию «Библиотеки» (рисунок 5).
  2. Щелкните Добавить библиотеку в правой части всплывающего окна. Вы увидите всплывающее окно «Добавить библиотеку» (рисунок 6).
  3. Перейдите в библиотеку и выберите ее. Затем нажмите «Добавить библиотеку». Вы снова увидите всплывающее окно «Свойства проекта». Библиотека теперь отображается в списке библиотек времени компиляции во всплывающем окне.
  4. Во всплывающем окне "Свойства проекта" нажмите "ОК". Вы вернетесь в главное окно.

Вы добавили библиотеку в свой проект, чтобы ваша программа могла ее использовать. Вы можете проделать ту же последовательность действий с любыми библиотеками, которые вам нужны для программы.

Библиотека вам понадобится три раза: компиляция, сборка и выполнение. К счастью, с NetBeans добавление библиотеки, как показано выше, решает все. Чтобы подтвердить это, я создал еще один основной класс, который выполняет абсолютный минимум, необходимый для использования возможностей I2C в Pi4J (рисунок седьмой). Отсутствие ошибок означает, что класс TestPi4J компилируется. При нажатии кнопки «Выполнить успешно» выполняется сборка и загрузка; NetBeans загружает библиотеку в дополнение к файлу jar, поэтому программа будет выполняться. Чтобы проверить последнее, вы можете использовать технику шага 9 и в ssh-клиенте ввести следующую команду (из каталога dist):

java -cp MyRemoteProg.jar myremoteprog. TestPi4J

Поучительно понять, как NetBeans обрабатывает библиотеки. Находясь в каталоге dist для вашего проекта, перечислите содержимое каталога (используйте команду ls), и вы увидите подкаталог lib. Перечислите содержимое этого каталога, и вы увидите файл jar, указанный в глобальной библиотеке, которым в моем примере является pi4j-core.jar. Все библиотеки, которые вы добавляете в проект, появятся в каталоге lib и, следовательно, будут доступны для всех программ в файле jar проекта.

Шаг 11: развлекайтесь

Я описал подход для достижения очень эффективной разработки на Java для Raspberry Pi. Raspberry Pi - чрезвычайно популярная технология для широкого спектра проектов. Java - это язык программирования профессионального уровня, который предлагает преимущества в производительности по сравнению с Python и предлагает преимущества в области безопасности по сравнению с C / C ++. NetBeans - это интегрированная среда разработки профессионального уровня, которая значительно увеличивает производительность программистов.

Я думаю, что комбинация весьма убедительна. Теперь повеселитесь, используя комбинацию для ваших проектов.

Рекомендуемые: