On this site you can already find multiple examples of Java applications written for the Raspberry Pi Projects:
- Drumbooth controller with Raspberry Pi and JavaFX
- Raspberry Pi and SPI 8×8 LED matrix example with Java and Pi4j
- OpenWeatherMap forecast on LCD with Raspberry Pi, Java and Pi4J
- Controlling a LED number display with JavaFX and Python on Raspberry Pi
- Controlling Arduino with Mosquitto and JavaFX on Raspberry Pi
These are all example applications written for my book “Getting Started with Java on Raspberry Pi” which was published as an ebook on Leanpub and as a paper book by Elektor. The book contains a lot more examples and all those are available on this GitHub project. This is the perfect book to help with your Raspberry Pi Projects
Even if you don’t have any prior knowledge of Java and/or Linux, you can get started as the book contains the basic steps to configure an SD card with Raspbian OS and crash courses for Java and Linux commands.
Chapters
Chapter 1: Introduction
Chapter 2: Tools and hardware used in this book
Setup a Raspberry Pi with Raspbian and an overview of the software used on both Pi and PC. Also generic info about some of the most-used hardware components in the book.
Chapter 3: Choosing an IDE
Info about IntelliJ IDEA and Visual Studio Code.
Chapter 4: About Java
History of Java, different versions, and tools within the eco-system and how to install it on your Pi and PC. And of-course a crash course so you get a grasp of the language if it’s completely new to you.
Chapter 5: Raspberry Pi pinning
Different types of Raspberry Pi-boards and the different headers, pins, and pin types and how you can use them to connect different types of hardware.
Chapter 6: What is Maven?
More info on Maven, the tool we will use to test, build, and run our Java projects on PC and Pi.
Chapter 7: About JavaFX
The visual Java framework we will use to build beautiful user interfaces to interact with our Pi and hardware.
Chapter 8: Bits and bytes
The magic of ones and zeros and how they are combined into longer values.
Chapter 9: PI4J
A framework that makes it easier to work with the GPIOs from Java with multiple hardware examples.
Chapter 10: Spring
Building a Java application which exposes our Pi as a web service to store data or control the GPIOs.
Chapter 11: Message Queues
Use your Pi as a message handler to receive and send messages to different devices like other Pi’s, PCs, or Arduino’s.
In-between these chapters I share some thoughts about the things which are important to me as a developer and interviews with:
- Karen Mouws (STEM and diversity)
- Trisha Gee (IntelliJ IDEA)
- Xiaokai He (Visual Studio Code)
- Alexander Belokrylov (BellSoft Liberica JDK)
- Jakob Jenkov (Java and tutorials.jenkov.com)
- Johan Vos (OpenJFX, JavaFX and GluonHQ)
- Gerrit Grunwald (Java, JavaFX, TilesFX)
- Mark Heckler (Spring, Pivotal)
- Vlad Mihalcea (JPA, Hibernate)
Programming for and on the Raspberry Pi is actually a lot of fun and allows you to combine the power of Java with the beauty of JavaFX user interfaces and the hardware link to the outside world through the Raspberry Pi GPIO’s. This will prove to be a valuable resource for any Raspberry Pi Project.