Baseline Minibot Raspbian Image Build Instructions
- Plan A: This process creates a 5GB image suitable for installation on any 8GB or larger USD card
- Plan B: note that some of the below install steps may already be in the stock image, so don't worry about it if they're already installed)
- Download stock Raspian Light image
- Follow these directions for installing it to a uSD card
- Make sure the card is not write protected
- Delete any existing partitions on the uSD card (you can use windows disk manager (Win-R diskmgmt.msc))
- Setup IP over USB for the Pi Zero
- Install PuTTY and use it to connect to the Pi:
Hostname: pibot.local
Username: pi
Password: raspberry
- Update to latest software (this will take a while):
sudo apt-get update sudo apt-get upgrade
- Install some useful packages:
sudo apt-get install i2c-tools i2cdetect -y 1
- Install Oracle Java JDK. Do not use stock OpenJDK, it's slower. (TODO: try Azul Java)
sudo apt-get install oracle-java8-jdk sudo update-alternatives --config java sudo update-alternatives --config javac
- Then test, by running
java -version
. It should say java 8, not openjdk.
- Then test, by running
To access the I/O capabilities of the Pi (and the PiBot hat), you must install additional libraries; either Oracle's Device I/O (DIO) or Pi4J (which uses WiringPi?) or both. You can read about them here. Tutorials are here and here
- Install Pi4J
mkdir -p ~/dev;cd ~/dev curl -s get.pi4j.com | sudo bash
- Test installation by checking version:
pi4j -v
- Install Oracle Device I/O (DIO) library.
See usage here and [http://www.oracle.com/technetwork/articles/java/cruz-gpio-2295970.html
sudo apt-get install mercurial hg clone http://hg.openjdk.java.net/dio/dev jdkdio cd jdkdio export JAVA_HOME=/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt export PI_TOOLS=/usr make sudo cp -r build/deviceio/lib/* $JAVA_HOME/jre/lib
- Test Device I/O following these directions or these. Projects must be linked with build/jar/dio.jar and reference the appropriate policy files. For example, to run a program:
sudo java -Djava.security.policy=./java.policy -classpath .:./dio.jar -Djdk.dio.registry=./dio.properties DioLed
. An example java.policy is:
// grant all permissions for the DIO framework grant { permission jdk.dio.DeviceMgmtPermission "*:*", "open"; permission jdk.dio.gpio.GPIOPinPermission "*:*", "open,setdirection"; permission jdk.dio.gpio.GPIOPortPermission "*:*"; permission jdk.dio.i2cbus.I2CPermission "*:*"; permission jdk.dio.spibus.SPIPermission "*:*"; permission jdk.dio.uart.UARTPermission "*:*"; };
A properties file is also required; see here
- Install Nano text editor
sudo apt-get install nano
- Install Avahi (mDNS/zeroconf)
sudo apt-get install avahi-daemon
- Update Raspian Configuration
sudo raspi-config
- Activate the Pi Zero's built-in I2C Interface:
- Use the down arrow to select 'Advanced Options'
- Arrow down and select 'I2C'
- Select 'Yes' to enable the I2C Interface
- Acknowledge the notification confirming the I2C Interface has been enabled
- Activate the Pi Zero's built-in I2C Interface:
- Setup WiFi for a Pi Zero
- Reboot one last time, and log back in. Capture OS image for reuse by
- ???
Per Minibot config instructions (with baseline image above installed)
- Update Raspian Configuration
sudo raspi-config
- Customize host name. Reference hostname list for assigned names. Be sure not to duplicate!
- Change the keyboard setup (under internationalization) to US English (see here)
- Select 'expand to use entire sd card'. This will reboot the pi.
Other Miscellaneous Things
- http://www.savagehomeautomation.com/projects/pi4j-now-supports-non-privileged-access-no-more-rootsudo.html
- restore size of a uSD card
- How to run a program at startup on the Pi Zero
- http://www.savagehomeautomation.com/projects/pi4j-connecting-java-to-the-raspberry-pi.html
- video tutorial
- Doesn't wiringpi get installed as part of Pi4j install??? If not:
- Install git:
sudo apt-get install git
- Install wiringPi:
mkdir ~/dev;cd ~/dev git clone git://git.drogon.net/wiringPi cd wiringPi ./build
- Install wiringPi
- Then, test by running "gpio -v" and "gpio readall"
- Install git:
Last modified 5 years ago
Last modified on Aug 30, 2020, 11:37:56 PM