Chapter 1: Motivation
● Why the Raspberry Pi?
● Why Java?
● Why NetBeans?
Chapter 2: Setting up the Raspberry Pi
● Raspberry Pi OS
● Enabling device support
● Java
● Remote control via ssh
Chapter 3: Setting up NetBeans
● Installing NetBeans● Configuring NetBeans for remote development on the Raspberry Pi
● The first program● Debugging
● Additional techniques
Chapter 4: Connecting an Inertial Management Unit (IMU)
● Testing using an Arduino
● Pi4J
● Porting an Arduino library
● Gyroscope● Accelerometer
● Magnetometer
Chapter 5: Using the Gyroscope
● The Gyroscope class
● Testing Gyroscope
Chapter 6: Connecting a Servo Controller
● Testing and configuring Maestro via Control Center
● Porting an Arduino library
● The Maestro class
● The Servo class
Chapter 7: Using the Maestro
● Extending the Maestro class
● The Servo class
Chapter 8: Connecting a DC Motor Controller
● Testing and configuring RoboClaw via Motion Studio
● Testing with Python
● Porting a Python library
● The RoboClaw class
Chapter 9: Connecting a Temperature/Humidity Sensor
● Porting an Arduino library● The DHT22 class
● The TeHu class
Chapter 10: Connecting an Arudino
● The command structure
● The Arduino class
Chapter 11: Connecting LIDAR sensor to the Arduino
● Getting the Arduino library
● Testing
Chapter 12: Connecting the servo controller to the Arduino
● Configuring Maestro via Control Center
● Getting the Arduino library
● Testing
Chapter 13: Creating a LIDAR Subsystem on the Arduino
● Creating the subsystem
● Testing on the Arduino● The Lidar class
Chapter 14: Communicating with other programs.
● Establishing the communication protocols
● Establishing the data exchange
● The Python program
● The Java program
About the Author: Greg Flurry has worked as a programmer and electronics engineer for IBM. In the span of a 40-year career, his roles have included product development, product architecture, research, and client services. He achieved the title of IBM Distinguished Engineer. Greg has authored over 50 articles in IBM and non-IBM publications on topics ranging from simple programming examples to large scale system architectures. He is an inventor, with over 30 patents. He started programming in Java from the time it became public in 1996, and over time, wrote thousands of lines of Java code. After retirement in 2013, he started working with the Raspberry Pi, with the goal of using it as the brain in autonomous robots. As the robots became more complex, he longed for Java and professional development tools. In 2017, he began using Java on the Raspberry Pi and has done so since, educating himself on the techniques of connecting sundry devices to the Raspberry Pi via Java, as well as identifying techniques useful in building moderately complex robotics systems.