Skip to content
A Raspberry Pi Java App that talks to authenticated Google App Engine Cloud Endpoint
Java Shell
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.


Type Name Latest commit message Commit time
Failed to load latest commit information.

Raspberry Pi App

A Java based, Raspberry Pi App that sends data to authenticated Google App Engine Cloud Endpoint application. The data is then displayed on a real time dashboard.

Alt text

Live Demo

Overall Architecture

Alt text


Hardware Prerequisites

  • A Raspberry Pi Zero or Model B.
  • Assemble the hardware components on a breadboard by following the blog post.
  • Alternatively my friend Lez has created populated and bare boards for the hardware which you can purchase on his Website.

Alt text

Software Prerequisites

  • (Optional) Install Apache Maven on the Raspberry Pi if you want to build the project on the Pi itself.
  • Make sure git and Java are installed on the Pi.
  • Install Pi4J library on the Pi.
  • Ensure the SPI interface is enabled.

Setup Instructions

  1. Start a shell on the Pi.
  2. Checkout the project git clone
  3. Update the client_secret.json file with your client_id and client_secret.
  4. Compile the project cd raspberrypi-app && mvn clean package, once built the RaspberryPiApp.jar will be available inside the dist folder
  5. Run the application cd dist then sudo java -jar RaspberryPiApp.jar. On first start the app will prompt you to copy and paste a link in your browser. Navigate to the URL and accept the Google Accounts permission request. It will give you a code that you can copy and paste into the command line prompt.
  6. On subsequent starts of the application you can use the script.
  7. To kill the app do ps -ef | grep java and note the pid id then do a 'sudo kill pid-id'
  8. Optionally you can get the RaspberryPiApp.jar to run by default whenever the Pi starts:
sudo cp /etc/init.d/piapp
sudo update-rc.d piapp defaults
You can’t perform that action at this time.