Goal of this comparison In my previous post “A Spring REST and H2 database application on the Raspberry Pi” an example was described to store sensors and measurements in a H2-database through REST API’s with a Spring application on the Raspberry Pi.
Java on Raspberry Pi The “Pi” in the name of the Raspberry Pi refers to Python, but as a Java developer I love to know and experiment with the various Java frameworks I also use at work.
In my book “Getting Started with Java on Raspberry Pi” I dedicated a chapter on Pi4J, the leading framework to combine the power of Java with the hardware capabilities of the Raspberry Pi.
In “The MagPi Magazine” #93 and #94, published by the Raspberry Pi Foundation, you can find two articles which describe how you can get started with Java, Maven, Visual Studio Code and Pi4J on the Raspberry Pi.
FXGL is a Java, JavaFX and Kotlin Game Library (Engine) made by Almas Baimagambetov.
One of the most read articles on this blog is about the installation of a recent Java on Raspberry Pi (March 13, 2019), so it’s time for an update!
Based on multiple examples from my book “Getting started with Java on Raspberry Pi”, I created a touchscreen controller for the drum booth of my son.
While looking for a cheap and nice component to demonstrate the use of SPI (Serial Peripheral Interface) I found out this 8x8 matrix LED display on a board with a MAX7219 chip is the perfect piece of hardware!
Pi4J contains helper methods to minimize the work needed to use certain hardware modules on the Pi with Java.
Trisha Gee (Coder, blogger, speaker, Developer Advocate at JetBrains, @trisha_gee), which I interviewed for “Chapter 4: Choosing an IDE”, and Josh Long (Spring Developer Advocate at Pivotal, @starbuxman) worked together on a blog series in which they showed the power of reactive data produced by a Spring application.
In my book I explain the use of bits and bytes by using a shift register SN74HC595 IC and 5101AS LED number display.
To create some timeline images for my book, I created this little JavaFX application to be able to easily update the content and recreate the image.
Using the Java library I created (see previous post), it was a piece of cake to create a JavaFX UI on top of it!
Next step in my book progress, is getting more into the details of hardware components.
The best way to understand and learn something new, is to document it yourself.
One of the example applications in my book “Getting started with Java on the Raspberry Pi” combines a JavaFX application with Mosquitto on the Raspberry Pi to control a LED strip with an Arduino.
A story of bits, bytes, signed and unsigned Some time ago there was a question on the Pi4J-forum caused by some confusion about a numeric value handled as a byte which was logged as a negative number -86 instead of the expected value 170.
My very first open source JavaFX library is now available in the Maven repository!
Great move of Microsoft! They provide an all-in-one installer for Java dependencies and Visual Studio Code.
What is Pi4J See https://www.pi4j.com/1.2/index.html This project is intended to provide a friendly object-oriented I/O API and implementation libraries for Java Programmers to access the full I/O capabilities of the Raspberry Pi platform.
As I was learning Spring Boot myself, I thought the easiest way to learn was trying to build an example and write about it.
While trying out what Pi4J can do, I found it could easily be extended with a JavaFX application to provide info about the headers on a Pi board.
As my daily work mainly is Java and back-end stuff on “real servers”, I set myself for 2019 as a personal goal to experiment with Java 11 on a Raspberry PI.
What we will do Based on the previous blog posts
In part 2 of this blog series Java 11 was successfully installed on a PI.
I prefer a Java app above a web app, because starting a new “modern” web development requires you to pull a bunch of dependencies and a lot of files before you can start.
What is JavaFX? From the Oracle site: “JavaFX is a set of graphics and media packages that enables developers to design, create, test, debug, and deploy rich client applications that operate consistently across diverse platforms.
After my first (and failed) attempt to get Java 11 running on an old Raspberry PI, I bought a brand new 3 Model B+ version.
One of my goals for 2019 is experimenting with the latest Java and JavaFX versions on a Raspberry PI.