Skip to content

WPILibPi 2023.2.1 Release

Latest
Compare
Choose a tag to compare
@PeterJohnson PeterJohnson released this 20 Feb 04:04
v2023.2.1
42f5fcd

About WPILibPi

This Raspberry Pi OS-based Raspberry Pi image includes C++, Java, and Python libraries required for vision coprocessor development for FRC (e.g. opencv, cscore, ntcore, robotpy-cscore, pyntcore, Java 17, etc). WPILibPi comes in two variants, the "base" image for vision coprocessors, and an image designed for use with Pololu Romi 32U4 based robots.

The image has been tested with the Raspberry Pi 4 and 3B, but should also work on other models. Note: due to the mechanical mounting configuration of the Romi, there is minimal space for a heatsink on the Pi, so the 3 is recommended for Romi use.

Features

  • Web dashboard for configuring the rPi (e.g. changing network settings), monitoring the vision program (console, restart), changing CameraServer and NetworkTables settings, and uploading vision processing applications, all without the need for SSH
  • Default application that performs simple streaming of multiple cameras as well as camera switching; the image is "plug and play" for FRC dashboard streaming (just set your team number in the rPi web dashboard)
  • Includes example C++, Java, and Python programs to use as a basis for vision processing code
  • Designed for robustness to hard power offs by defaulting the filesystem to read only mode; safe to power directly from the VRM without an external battery
  • Boots (power applied to vision program running) in less than 20 seconds
  • All wireless functionality disabled (both WiFi and Bluetooth), so legal for competition use out of the box.

Romi Features

  • Built-in WebSockets-based interface to robot code running on a desktop computer
  • Web-based configuration of WiFi networking; supports both bridge and AP mode (including DHCP server in AP mode)
  • The Romi image is preconfigured as a WiFi Access Point network with SSID "WPILibPi-########", WPA2 passphrase "WPILib2021!", and default IP of 10.0.0.2
  • 32U4 firmware imaging through web dashboard

Getting Started

See https://docs.wpilib.org/en/stable/docs/software/vision-processing/wpilibpi/index.html (for the base image) or https://docs.wpilib.org/en/stable/docs/romi-robot/index.html (for the Romi) for visual step-by-step installation instructions and additional documentation.

  1. Download WPILibPi_image-2023.2.1.zip (or WPILibPi_image-2023.2.1-Romi.zip for the Romi image) and use Etcher (https://www.balena.io/etcher/) to image a micro SD card. The micro SD card needs to be at least 8 GB. Note: a micro SD to USB dongle such as https://www.amazon.com/gp/product/B0779V61XB works well for writing to micro SD cards.

  2. Put the micro SD card in a rPi and apply power. The initial boot may take as long as a couple of minutes (depending on SD card size), but later boots will be much faster (20 seconds or less).

Base image: Connect the rPi ethernet to a LAN or PC. Open a web browser and connect to http://wpilibpi.local/ to open the web dashboard. Note the image boots up read-only by default, so it's necessary to click the "writable" button to make changes.

Romi image: Connect to the WiFi SSID "WPILibPi-########" (the number is unique based on the Pi's internal serial number), WPA2 passphrase "WPILib2021!". Open a web browser and connect to either http://10.0.0.2/ or http://wpilibpi.local/ to open the web dashboard. Note the image boots up read-only by default, so it's necessary to click the "writable" button to make changes.

What's Changed Since 2023.1.1

  • Romi: Fixed firmware update
  • Fixed first camera stream not working
  • Update to WPILib 2023.4.1 and RobotPy 2023.4.1
  • Both 32-bit and 64-bit images are now provided (64-bit is recommended)

Full Changelog: v2023.1.1...v2023.2.1

Hashes

MD5 Hashes

948840d5f161884876a05b82ca1a06df  WPILibPi_32_image-v2023.2.1-Romi.zip
5003ec07cfde9229da1b837658f6f5cf  WPILibPi_32_image-v2023.2.1.zip
30258f6b4e17c26ccc2a027803d0ee4e  WPILibPi_64_image-v2023.2.1-Romi.zip
5aaddcd6f3c3df81fa32319ade3a780f  WPILibPi_64_image-v2023.2.1.zip
3c371c37431ca5bfeb404d7fccd931de  cpp-multiCameraServer_32.zip
5b28718e1f5382c2f80aa41e99a971d4  cpp-multiCameraServer_64.zip
66de379bb85f420aae3c77f9d90181a3  java-multiCameraServer.zip
a64adb554b323a8f3f3839010d88048f  python-multiCameraServer.zip

SHA256 Hashes

a67e84607e43775f8c91ef1809b3f7e4b243a51e716d71bed50ee3767540905d  WPILibPi_32_image-v2023.2.1-Romi.zip
4a3ffbb9658871f8be551988c9181e30a893a55ecf9efdc0d2a6ff1dd3b5ad3f  WPILibPi_32_image-v2023.2.1.zip
f47b6e9c5e57eb726dc60d979efe62047033f9207b41a4ac1385aeba38eacf58  WPILibPi_64_image-v2023.2.1-Romi.zip
e304c0dd63728ede8882e38f474a0b6cb8c979b88733a03866c95bf9f696b565  WPILibPi_64_image-v2023.2.1.zip
f9f3d73af5ef8e8ca3e7205779b408cdad40ea776fcca83a63a4e79a2a43fa98  cpp-multiCameraServer_32.zip
68049fc2e563de078f12ea7353fb1db1935e3507f959b924a6bfef40d8487446  cpp-multiCameraServer_64.zip
9b5521bc568aba2a502a0bf6e63ded04f6153831525ed275de3cc3aa1dc701bf  java-multiCameraServer.zip
8fcd25b207cab5ff53d8143621b98684a478be30ec7818c50615511c4cb1dbce  python-multiCameraServer.zip