Releases: wpilibsuite/WPILibPi
FRCVision 2020.2.1 Update
About FRCVision
This Raspbian-based Raspberry Pi image includes C++, Java, and Python libraries required for vision coprocessor development for FRC (e.g. opencv, cscore, ntcore, robotpy-cscore, pynetworktables, Java 11, etc).
The image has been tested with the Raspberry Pi 4, but should also work on older models such as the Raspberry Pi 3 Model B and B+.
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
Getting Started
See https://docs.wpilib.org/en/latest/docs/software/vision-processing/raspberry-pi/what-you-need-to-get-the-pi-image-running.html for visual step-by-step installation instructions and additional documentation.
-
Download FRCVision_image-2020.2.1.zip and use Etcher (https://www.balena.io/etcher/) to image a micro SD card. The micro SD card needs to be at least 4 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.
-
Put the micro SD card in a rPi and apply power. The initial boot may take as long as a minute, but later boots will be much faster (20 seconds or less).
-
Connect the rPi ethernet to a LAN or PC. Open a web browser and connect to http://frcvision.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 In This Release (since 2020.1.1)
Image
- WPILib upgraded to 2020.2.2; this adds some quirks to make the Pi Camera work better (exposure settings work, standard set of video modes provided)
- Added python3-picamera to installed packages
2020.1.1 Kickoff Release
About FRCVision
This Raspbian-based Raspberry Pi image includes C++, Java, and Python libraries required for vision coprocessor development for FRC (e.g. opencv, cscore, ntcore, robotpy-cscore, pynetworktables, Java 11, etc).
The image has been tested with the Raspberry Pi 4, but should also work on older models such as the Raspberry Pi 3 Model B and B+.
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
Getting Started
See http://wpilib.screenstepslive.com/s/currentCS/m/85074/l/1027253-what-you-need-to-get-the-pi-image-running for visual step-by-step installation instructions and additional documentation.
-
Download FRCVision_image-2020.1.1.zip and use Etcher (https://www.balena.io/etcher/) to image a micro SD card. The micro SD card needs to be at least 4 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.
-
Put the micro SD card in a rPi and apply power. The initial boot may take as long as a minute, but later boots will be much faster (20 seconds or less).
-
Connect the rPi ethernet to a LAN or PC. Open a web browser and connect to http://frcvision.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 In This Release (since 2019.3.1)
Web dashboard
- CPU temperature added to system status
- Added ability to upload/extract arbitrary files (#139)
Image
- Support for Raspberry Pi 4
- Upgrade to Raspbian Buster base image
- OpenCV upgraded to 3.4.7
- WPILib upgraded to 2020.1.1
- Added Google Coral packages (#138)
2020.1.1 Beta 2 Release
About FRCVision
This Raspbian-based Raspberry Pi image includes C++, Java, and Python libraries required for vision coprocessor development for FRC (e.g. opencv, cscore, ntcore, robotpy-cscore, pynetworktables, Java 11, etc).
The image has been tested with the Raspberry Pi 4, but should also work on older models such as the Raspberry Pi 3 Model B and B+.
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
Getting Started
See http://wpilib.screenstepslive.com/s/currentCS/m/85074/l/1027253-what-you-need-to-get-the-pi-image-running for visual step-by-step installation instructions and additional documentation.
-
Download FRCVision_image-2020.1.1-beta-2.zip and use Etcher (https://www.balena.io/etcher/) to image a micro SD card. The micro SD card needs to be at least 4 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.
-
Put the micro SD card in a rPi and apply power. The initial boot may take as long as a minute, but later boots will be much faster (20 seconds or less).
-
Connect the rPi ethernet to a LAN or PC. Open a web browser and connect to http://frcvision.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 in This Release (since 2020.1.1-beta-1)
Web dashboard
- Added ability to upload/extract arbitrary files (#139)
Image
- Python OpenCV installation fixed (#132)
- WPILib upgrade to beta 2+ (1c1e0c9a6a896355931eb1385257a2c23e63efd4)
- Added Google Coral packages (#138)
What's Changed In This Release (since 2019.3.1)
Web dashboard
- CPU temperature added to system status
Image
- Support for Raspberry Pi 4
- Upgrade to Raspbian Buster base image
- OpenCV upgraded to 3.4.7
- WPILib upgraded to mid-summer version (ca3e71e214888176fe71cce65955784ac417483f)
2020.1.1 Initial Beta Release
About FRCVision
This Raspbian-based Raspberry Pi image includes C++, Java, and Python libraries required for vision coprocessor development for FRC (e.g. opencv, cscore, ntcore, robotpy-cscore, pynetworktables, Java 11, etc).
The image has been tested with the Raspberry Pi 4, but should also work on older models such as the Raspberry Pi 3 Model B and B+.
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
Getting Started
See http://wpilib.screenstepslive.com/s/currentCS/m/85074/l/1027253-what-you-need-to-get-the-pi-image-running for visual step-by-step installation instructions and additional documentation.
-
Download FRCVision_image-2020.1.1-beta-1.zip and use Etcher (https://www.balena.io/etcher/) to image a micro SD card. The micro SD card needs to be at least 4 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.
-
Put the micro SD card in a rPi and apply power. The initial boot may take as long as a minute, but later boots will be much faster (20 seconds or less).
-
Connect the rPi ethernet to a LAN or PC. Open a web browser and connect to http://frcvision.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 In This Release (since 2019.3.1)
Web dashboard
- CPU temperature added to system status
Image
- Support for Raspberry Pi 4
- Upgrade to Raspbian Buster base image
- OpenCV upgraded to 3.4.7
- WPILib upgraded to mid-summer version (ca3e71e214888176fe71cce65955784ac417483f)
2019.3.1 Update Release
About FRCVision
This Raspbian-based Raspberry Pi image includes C++, Java, and Python libraries required for vision coprocessor development for FRC (e.g. opencv, cscore, ntcore, robotpy-cscore, pynetworktables, Java 11, etc).
The image has been tested with both the Raspberry Pi 3 Model B and B+.
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
Getting Started
See http://wpilib.screenstepslive.com/s/currentCS/m/85074/l/1027253-what-you-need-to-get-the-pi-image-running for visual step-by-step installation instructions and additional documentation.
-
Download FRCVision_image-2019.3.1.zip and use Etcher (https://www.balena.io/etcher/) to image a micro SD card. The micro SD card needs to be at least 4 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.
-
Put the micro SD card in a rPi and apply power. The initial boot may take as long as a minute, but later boots will be much faster (20 seconds or less).
-
Connect the rPi ethernet to a LAN or PC. Open a web browser and connect to http://frcvision.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 In This Release (since 2019.2.1)
Web dashboard
- NetworkTable-selectable switched cameras can now be added. The NetworkTable key can be customized per switchable camera, and the read value can be either a numeric index or the string name of the camera. (#117)
- Improved feedback for file uploads (#112)
- The FRCVision release version is now shown (#110)
- The script for Python applications now explicitly runs python3, avoiding the need for a shebang line (#102)
Image
- OpenCV performance is significantly improved, operations like RGB to HSV conversion are ~10x faster (#103)
- OpenCV is now compiled with many more options enabled, including OpenBLAS and libgtk (#79)
- gstreamer is bundled, along with OpenCV support for gstreamer (#105)
- WPILib has been updated to 2019.3.2 and robotpy-cscore to 2019.1.0 (#111)
- libpixy2 (both C++ and Python) is now bundled (#85)
- Sources for everything are included in /usr/src (#83)
- pkg-config files for wpilibc et al are now installed (#83)
- Both dynamic and static libraries are included in the image (#83)
Built-in streaming application
- Implements the NetworkTable-selectable switched camera support (#117)
Examples
Note: Benefiting from these changes requires downloading the updated example .zip and merging your code changes into it.
- All examples now implement the NetworkTable-selectable switched camera support (#117)
- [C++] A working Windows make.exe is now bundled (#84)
- [Python] example now uses UTF-8 encoding when opening frc.json (#101)
- [Python] example docstrings have been corrected (#78)
- [C++] Makefile is now more easily extensible (#71)
- All examples now include the FIRST BSD license in .zip (#109)
2019.2.1 Update Release
About FRCVision
This Raspbian-based Raspberry Pi image includes C++, Java, and Python libraries required for vision coprocessor development for FRC (e.g. opencv, cscore, ntcore, robotpy-cscore, Java 11, etc).
The image has been tested with both the Raspberry Pi 3 Model B and B+.
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; 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
Getting Started
See http://wpilib.screenstepslive.com/s/currentCS/m/85074/l/1027253-what-you-need-to-get-the-pi-image-running for visual step-by-step installation instructions and additional documentation.
-
Download the .zip and use Etcher (https://www.balena.io/etcher/) to image a micro SD card. The micro SD card needs to be at least 4 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.
-
Put the micro SD card in a rPi and apply power. The initial boot may take as long as a minute, but later boots will be much faster (20 seconds or less).
-
Connect the rPi ethernet to a LAN or PC. Open a web browser and connect to http://frcvision.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 In This Release (since 2019.1.1)
Web dashboard
- Available USB cameras are now listed on the web dashboard, and cameras can be easily switched between different path options (e.g. by-id or by-path). Camera connection status has also been added. (#63)
- Windows EOLs are now properly converted to Unix style when uploading a Python application (#48)
- C++ applications or other applications greater than 128KB (that would be a big Python program!) can now successfully be uploaded (#62)
- Default stream settings can now be set (if custom application is used, requires updates to work; see examples section) (#61)
- Application directory fixed for on-Pi example applications (#47)
Image
- The full WPILib libraries are now installed (#54)
- Extraneous warnings from libjpeg seen with some cameras have been removed (#53)
- The first time the image is used, the Pi is now automatically rebooted after resizing the root filesystem. This ensures it's properly read only at first use (#42)
- Python console output is now unbuffered by default, making Python prints visible in the console window (#52)
- OpenCV headers are now included in the image (#38)
- BLAS has been replaced by OpenBLAS, which should improve numpy performance (#66)
Built-in streaming application
- Cameras are now kept open by default (#43)
- Implements the default stream settings set by dashboard (#61)
Examples
Note: Benefiting from these changes requires downloading the updated example .zip from the dashboard and merging your code changes into it.
- Several fixes to the C++ example. Required dependency libs and includes are now bundled in the .zip file (#41, #58, #59, #67)
- Java example required dependency .jar files are now put into the correct location in the .zip file (#59)
- Cameras are now kept open by default (#43)
- All examples implement the default stream settings set by dashboard (#61)
- Example README.txt files have been updated with instructions for building/deploying from desktop using the web dashboard (#57)
- The full WPILib libraries are now included in the dependencies provided with the example .zips (#54)
2019.1.1 Kickoff Release
2019 kickoff release. This image includes C++, Java, and Python libraries required for vision coprocessor development for FRC (e.g. opencv, cscore, ntcore, robotpy-cscore, Java 11, etc), and bundles both a default application that performs simple streaming of multiple cameras and example C++, Java, and Python programs to use as a basis for vision processing code. A web dashboard is also included to configure the rPi (e.g. changing network settings), monitor the vision program (console, restart), change CameraServer and NetworkTables settings, and upload vision processing applications, all without the need for SSH. The image has been designed for robustness to hard power offs by defaulting the filesystem to read only mode.
Getting Started:
-
Download the .zip and use Etcher (https://www.balena.io/etcher/) to image a micro SD card. The micro SD card needs to be at least 4 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.
-
Put the micro SD card in a rPi 3 and apply power.
-
Connect the rPi 3 ethernet to a LAN or PC. Open a web browser and connect to http://frcvision.local/ to open the web dashboard. On the first bootup the filesystem will be writable, but later bootups will default to read only, so it's necessary to click the "writable" button to make changes.
See http://wpilib.screenstepslive.com/s/currentCS/m/85074/l/1027253-what-you-need-to-get-the-pi-image-running for visual step-by-step installation instructions and additional documentation.
What's changed in this release (since beta 2):
2019 Beta-2 release
Second (probably final) 2019 beta release. This image includes C++, Java, and Python libraries required for vision coprocessor development for FRC (e.g. opencv, cscore, ntcore, robotpy-cscore, Java 11, etc), and bundles both a default application that performs simple streaming of multiple cameras and example C++, Java, and Python programs to use as a basis for vision processing code. A web dashboard is also included to configure the rPi (e.g. changing network settings), monitor the vision program (console, restart), change CameraServer and NetworkTables settings, and upload vision processing applications, all without the need for SSH. The image has been designed for robustness to hard power offs by defaulting the filesystem to read only mode.
Getting Started:
-
Download the .zip and use Etcher (https://www.balena.io/etcher/) to image a micro SD card. The micro SD card needs to be at least 4 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.
-
Put the micro SD card in a rPi 3 and apply power.
-
Connect the rPi 3 ethernet to a LAN or PC. Open a web browser and connect to http://raspberrypi.local/ to open the web dashboard. On the first bootup the filesystem will be writable, but later bootups will default to read only, so it's necessary to click the "writable" button to make changes.
See http://wpilib.screenstepslive.com/s/currentCS/m/85074/l/1027253-what-you-need-to-get-the-pi-image-running for visual step-by-step installation instructions and additional documentation.
Issues fixed in this release (since beta 1):
- Enable rPi camera by default (#3)
- Make uploaded programs executable and owned by pi user (#4, #5)
- Persist console output button through rPi reboot (#2)
- Include OpenCV JNI library so Java programs work (#14)
- Java example program is now downloadable (#1)
Other changes:
Beta-1 release
Initial 2019 beta release. This image includes C++, Java, and Python libraries required for vision coprocessor development for FRC (e.g. opencv, cscore, ntcore, robotpy-cscore, Java 11, etc), and bundles both a default application that performs simple streaming of multiple cameras and example C++, Java, and Python programs to use as a basis for vision processing code. A web dashboard is also included to configure the rPi (e.g. changing network settings), monitor the vision program (console, restart), change CameraServer and NetworkTables settings, and upload vision processing applications, all without the need for SSH. The image has been designed for robustness to hard power offs by defaulting the filesystem to read only mode.
Getting Started:
-
Download the .zip and use Etcher (https://www.balena.io/etcher/) to image a micro SD card. The micro SD card needs to be at least 4 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.
-
Put the micro SD card in a rPi 3 and apply power.
-
Connect the rPi 3 ethernet to a LAN or PC. Open a web browser and connect to http://raspberrypi.local/ to open the web dashboard. On the first bootup the filesystem will be writable, but later bootups will default to read only, so it's necessary to click the "writable" button to make changes.
Known issues with this release (errata). These will be fixed in the next release.
-
Downloading the Java example program on the web dashboard does not work. Grab it manually from /home/pi/zips instead (using ssh).
-
Console output enable button on the web dashboard doesn't persist correctly through a rPi reboot (it needs to be disabled and re-enabled to again get console output).
2019.1.1 Alpha 2
Second preview release. This includes a preliminary version of the web dashboard (network settings and vision settings do not work yet), as well as C++ and Java libraries. Python 3 with OpenCV is preinstalled but not yet python-cscore.
Use Etcher (https://www.balena.io/etcher/) to image a micro SD card.
A micro SD to USB dongle such as https://www.amazon.com/gp/product/B0779V61XB works well for writing to micro SD cards.