Skip to content

Commit 35fae9d

Browse files
authored
doc: Add PlanktoScope OS v2025.0.0 product specs (#557)
* doc: Add more information to OS specs for v2024.0.0 and below * doc: Add OS specs for v2025.0.0 * doc: Improve organization of software reset guide for general audience * doc: Update release process reference to be clearer about goals vs. reality * doc: Update release process ref doc to link to software upgrades guide
1 parent dccbe73 commit 35fae9d

File tree

3 files changed

+131
-22
lines changed

3 files changed

+131
-22
lines changed

documentation/docs/operation/software-upgrades.md

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Your PlanktoScope's embedded Raspberry Pi computer has a PlanktoScope-specific operating system (the *[PlanktoScope OS](../reference/software/architecture/os.md)*) with software for operating your PlanktoScope. If you purchased a PlanktoScope, then the SD card you received with your PlanktoScope already includes a particular release of the PlanktoScope OS; if you assembled your own PlanktoScope, then you installed some release of the PlanktoScope OS following the [standard software installation guide](../setup/software/standard-install.md) (or maybe the [non-standard software installation guide](../setup/software/nonstandard-install.md)). This guide provides information to help you either reset the software installed on your PlanktoScope or change to a different (newer or older) release of the PlanktoScope OS.
44

5-
The PlanktoScope project aims to keep improving the PlanktoScope software by fixing problems and making the software simpler and easier to use, releasing a new version of the software at least once each year. At the same time, we aim to keep the software compatible with all previous officially-released versions of the PlanktoScope hardware. For this reason, we strongly recommend everyone to keep their PlanktoScopes updated to run the latest stable release of the PlanktoScope software; and the PlanktoScope documentation will only support the latest stable release. You can always find the latest stable release at <https://github.com/PlanktoScope/PlanktoScope/releases/latest>, which will redirect you to a web page for a specific release.
5+
The PlanktoScope project aims to keep improving the PlanktoScope software by fixing problems and making the software simpler and easier to use, [releasing](../reference/software/release-process.md) a new version of the software at least once (or hopefully twice) each year. At the same time, we aim to keep the software compatible with all previous officially-released versions of the PlanktoScope hardware. For this reason, we strongly recommend everyone to keep their PlanktoScopes updated to run the latest stable release of the PlanktoScope software; and the PlanktoScope documentation will only support the latest stable release. You can always find the latest stable release at <https://github.com/PlanktoScope/PlanktoScope/releases/latest>, which will redirect you to a web page for a specific release.
66

77
All URLs in this guide are written assuming you access your PlanktoScope using [planktoscope.local](http://planktoscope.local) as the domain name; if you need to use a [different domain name](./index.md#access-your-planktoscopes-software) such as [home.pkscope](http://home.pkscope), you should substitute that domain name into the links on this page.
88

@@ -22,19 +22,27 @@ Advanced users may also want to take the following actions, depending on what ch
2222

2323
## Reset the PlanktoScope OS
2424

25-
Multiple levels of reset are possible; from least-disruptive (and shallowest) to most-disruptive (and most thorough), they are:
25+
Multiple levels of reset are possible: a full reset, and various levels of partial resets.
2626

27-
1. (Only recommended for advanced users) If you just need to reset some or all of your operating system configuration file changes (such as those described in the [networking operations guide](./networking.md)) back to the default settings for the PlanktoScope OS, then you can just delete the relevant files (or you can even delete all files) within `/var/lib/overlays/overrides/etc/` (for example in the file browser at <http://planktoscope.local/admin/fs/files/var/lib/overlays/overrides/etc/> ) and then reboot your PlanktoScope immediately afterwards.
27+
### Full reset
2828

29-
2. (Only recommended for advanced users) If you want to reset the running software back to the original release of the PlanktoScope OS provided with your SD card image, while keeping any customizations you have made to override default PlanktoScope OS configurations (such as those described in the [networking operations guide](./networking.md)), then you can run the following command on your PlanktoScope (for example in the Cockpit Terminal at <http://planktoscope.local/admin/cockpit/system/terminal> ) and then reboot your PlanktoScope:
29+
For most users we recommend performing a full reset rather than a partial reset, because the "full reset" process is easier to understand. This involves completely wiping your SD card and resetting everything by re-flashing your PlanktoScope's SD card. You can do this by writing an SD card image to the SD card, following the instructions in our [standard software installation guide](../setup/software/standard-install.md). If you want to reset to the same release of the PlanktoScope as what you were originally using, you can check the release's version number in the "Software Version" field of the "Information" panel in [the Node-RED dashboard's System Monitoring page](./user-interface.md#system-monitoring); then you should download an SD card image for the corresponding release (as described in the software installation guide). When you re-flash the SD card, it will lose all data and non-default settings mentioned in [the section of this guide on backing up your data & settings](#back-up-your-data-settings).
30+
31+
### Partial reset
32+
33+
For now, partial reset approaches are only recommended for advanced users who can understand the implications of those partial reset approaches. Two kinds of partial reset are possible:
34+
35+
1. If you just need to reset some or all of your operating system configuration file changes (such as those described in the [networking operations guide](./networking.md)) back to the default settings for the PlanktoScope OS, then you can just delete the relevant files (or you can even delete all files) within `/var/lib/overlays/overrides/etc/` (for example in the file browser at <http://planktoscope.local/admin/fs/files/var/lib/overlays/overrides/etc/> ) and then reboot your PlanktoScope immediately afterwards.
36+
37+
2. If you want to reset the running software back to the original release of the PlanktoScope OS provided with your SD card image, while keeping any customizations you have made to override default PlanktoScope OS configurations (such as those described in the [networking operations guide](./networking.md)), then you can run the following command on your PlanktoScope (for example in the Cockpit Terminal at <http://planktoscope.local/admin/cockpit/system/terminal> ) and then reboot your PlanktoScope:
3038

3139
```sh
3240
forklift stage set-next --cache-img=false factory-reset
3341
```
3442

35-
This reset will only have an effect if you had previously run a `forklift` command for configuring the OS; otherwise, it will not cause any visible change to your PlanktoScope. If your PlanktoScope is [connected to the internet](./networking.md#connect-your-planktoscope-to-the-internet), you can also omit the `--cache-img=false` flag, in order to ensure that the PlanktoScope will have all necessary programs at the originally-required versions before you reboot (if you never previously took manual action to delete any Docker container images from your PlanktoScope, you don't need to worry about this and you can keep the `--cache-img=false` flag in the command).
43+
This reset will only have an effect if you had previously run a `forklift` command for configuring the OS; otherwise, it will not cause any visible change to your PlanktoScope. If your PlanktoScope is [connected to the internet](./networking.md#connect-your-planktoscope-to-the-internet), you can also omit the `--cache-img=false` flag, in order to ensure that the PlanktoScope will have all necessary programs at the originally-required versions before you reboot; but if you never previously took manual action to delete any Docker container images from your PlanktoScope, you don't need to worry about this and you can keep the `--cache-img=false` flag in the command.
3644
37-
3. (Recommended for everyone) If you want to completely wipe your SD card and reset everything, then you should re-flash your PlanktoScope's SD card. You can do this by writing an SD card image to the SD card, following the instructions in our [standard software installation guide](../setup/software/standard-install.md). If you want to reset to the same release of the PlanktoScope as what you were originally using, you can check the release's version number in the "Software Version" field of the "Information" panel in [the Node-RED dashboard's System Monitoring page](./user-interface.md#system-monitoring); then you should download an SD card image for the corresponding release (as described in the software installation guide). When you re-flash the SD card, it will lose all data and non-default settings mentioned in [the section of this guide on backing up your data & settings](#back-up-your-data-settings).
45+
If you perform both kinds of partial reset consecutively, then you will reset the running software back to the original release of the PlanktoScope OS provided with your SD card image and you will also discard any customizations you have made to override default PlanktoScope OS configurations. Note that this does not reset certain kinds of application settings (such as for the Node-RED dashboard), and it does not delete any datasets you have collected with the PlanktoScope.
3846
3947
## Upgrade/downgrade the PlanktoScope OS
4048
@@ -79,7 +87,7 @@ Eventually (i.e. if/when it becomes feasible and safe), we may make it possible
7987

8088
If you don't know what `apt` or `apt-get` refer to, then please skip this section and just remember to avoid running `apt` or `apt-get` commands on your PlanktoScope!
8189
82-
Most of the "interesting" software in the PlanktoScope OS (with Cockpit being a notable exception) is not managed using Raspberry Pi OS's APT package-management system, [for various reasons](../reference/software/architecture/os.md#system-upgrades). It's safe to run APT commands to install new packages in the PlanktoScope OS, at least for software which doesn't run during [early boot](../reference/software/architecture/os.md#boot-sequence), because of when the PlanktoScope OS's [filesystem overlay](../reference/software/architecture/os.md#filesystem) for `/usr` is initialized). It's *probably* safe to run APT commands to upgrade most packages installed in the PlanktoScope OS (at least for software which doesn't run during early boot), but we cannot make any guarantees or provide any support if you choose to do that. This is an issue of practicality: APT does not make it easy for us to exactly reproduce the changes to installed versions of packages caused by running `apt`/`apt-get`'s install/upgrade commands, when those commands are run at very different times; so it is not necessarily feasible for us to troubleshoot any resulting problems. If you want to undo the changes caused by running any APT commands, you should try to delete everything in `/var/lib/overlays/overrides/usr` (and maybe also `/var/lib/overlays/overrides/etc`) and reboot immediately afterwards.
90+
Most of the "interesting" software in the PlanktoScope OS (with Cockpit being a notable exception) is not managed using Raspberry Pi OS's APT package-management system, [for various reasons](../reference/software/architecture/os.md#system-upgrades). It's safe to run APT commands to install new packages in the PlanktoScope OS, at least for software which isn't needed during [early boot](../reference/software/architecture/os.md#boot-sequence), because of when the PlanktoScope OS's [filesystem overlay](../reference/software/architecture/os.md#filesystem) for `/usr` is initialized). It's *probably* safe to run APT commands to upgrade most packages installed in the PlanktoScope OS (at least for software which isn't needed during early boot), but we cannot make any guarantees or provide any support if you choose to do that. This is an issue of practicality: APT does not make it easy for us to exactly reproduce the changes to installed versions of packages caused by running `apt`/`apt-get`'s install/upgrade commands, when those commands are run at very different times; so it is not necessarily feasible for us to troubleshoot any resulting problems. If you want to undo the changes caused by running any APT commands, you should try to delete everything in `/var/lib/overlays/overrides/usr` (and maybe also `/var/lib/overlays/overrides/etc`) and reboot immediately afterwards.
8391
8492
## Restore your data & settings
8593

documentation/docs/reference/software/product-specs.md

Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,84 @@
22

33
The PlanktoScope OS includes all software which needs to run on the PlanktoScope's hardware to provide the [overall functionality of a PlanktoScope](../index.md). Product specifications for the PlanktoScope OS are listed below for ranges of software version numbers. To see software versions listed individually in chronological order, refer to the [project release notes](https://github.com/PlanktoScope/PlanktoScope/releases) or the [software changelog](./changelog.md). To understand how to interpret software version numbers, refer to our description of the PlanktoScope OS's [version numbering system](./release-process.md#version-numbering).
44

5+
## v2025.0.0
6+
7+
Specs for v2025.0.0 are the same as in v2024.0.0, except for the following sections:
8+
9+
- Base operating system: the distro has changed from Raspberry Pi OS 11 (bullseye) to Raspberry Pi OS 12 (bookworm).
10+
- Supported optional addons: additional support for up to one USB Wi-Fi adapter (with a compatible Wi-Fi chipset).
11+
12+
### Functionalities
13+
14+
Regular operation:
15+
16+
- Image acquisition: stop-flow imaging (JPEG image output)
17+
- On-board image processing: detection and segmentation of objects (batch-processing only)
18+
- User interfacing: graphical interface accessible through web browser of a connected phone, tablet, or computer
19+
- Export of data for uploading to EcoTaxa
20+
21+
Advanced operations:
22+
23+
- User interfacing: web browser interfaces for system administration, system monitoring, and troubleshooting
24+
- Automation: MQTT-based API
25+
- Application deployment: ability to add software as OCI containers using Docker, optionally via [Forklift](https://docs-edge.planktoscope.community/reference/software/architecture/os/#package-management-with-forklift)
26+
- System configuration: ability to reversibly add, remove, replace, or override OS configuration files via Forklift
27+
28+
### Base operating system
29+
30+
- Distro: Raspberry Pi OS 12 (bookworm)
31+
- Binary target architecture: 64-bit (aarch64, also known as arm64)
32+
33+
### Supported hardware
34+
35+
Minimum for image acquisition (but not sufficient for on-board image processing):
36+
37+
- PlanktoScope: hardware v2.1 with Raspberry Pi 4 Model B computer
38+
- Memory: 1 GB RAM
39+
- Storage: 8 GB capacity
40+
41+
Minimum for full functionality, including on-board image processing:
42+
43+
- Memory: 4 GB RAM
44+
45+
Recommended:
46+
47+
- PlanktoScope: hardware v2.5 or v2.6 with Raspberry Pi 4 Model B computer
48+
- Storage: 32 GB capacity
49+
50+
Forwards-incompatibilities:
51+
52+
- Unable to run on the Raspberry Pi 5 computer.
53+
- Incompatible with the upcoming PlanktoScope hardware v3.
54+
55+
Backwards-incompatibilities:
56+
57+
- Might still work on a Raspberry Pi 3 Model B+ computer or a Raspberry Pi 4 Model B computer with 1 GB of RAM, but compatibility is not tested.
58+
59+
### Supported optional addons
60+
61+
Networking peripherals:
62+
63+
- Up to one phone (Android only) connected by USB cable in USB tethering mode: for internet access.
64+
- Up to one USB-to-Ethernet adapter: either for internet access or for direct access from a connected device.
65+
- Up to one USB Wi-Fi adapter (with [a compatible Wi-Fi chipset](https://github.com/morrownr/USB-WiFi/blob/main/home/USB_WiFi_Adapters_that_are_supported_with_Linux_in-kernel_drivers.md) such as RT5370): either for internet access or for creating an additional Wi-Fi hotspot to enable direct access.
66+
67+
Miscellaneous data sources:
68+
69+
- Up to one Adafruit Ultimate GPS HAT: for system clock synchronization, and for automatic detection of GPS location coordinates.
70+
71+
### System performance
72+
73+
With minimum supported hardware for full functionality:
74+
75+
- On-board image processing: a dataset of 400 raw images is processed in approximately 1 hour
76+
577
## v2024.0.0
678

779
Specs for v2024.0.0 are the same as in v2023.9.0, except for the following sections:
880

981
- Base operating system: the binary target architecture has changed from 32-bit to 64-bit.
82+
- Supported optional addons: support for up to one USB-to-Ethernet adapter as an optional addon.
1083
- System performance: on-board image processing speeds have improved (processing speeds have nearly doubled).
1184

1285
### Functionalities
@@ -50,11 +123,23 @@ Recommended:
50123
Forwards-incompatibilities:
51124

52125
- Unable to run on the Raspberry Pi 5 computer.
126+
- Incompatible with the upcoming PlanktoScope hardware v3.
53127

54128
Backwards-incompatibilities:
55129

56130
- Might still work on a Raspberry Pi 3 Model B+ computer or a Raspberry Pi 4 Model B computer with 1 GB of RAM, but compatibility is not tested.
57131

132+
### Supported optional addons
133+
134+
Networking peripherals:
135+
136+
- Up to one phone (Android only) connected by USB cable in USB tethering mode: for internet access.
137+
- Up to one USB-to-Ethernet adapter: either for internet access or for direct access from a connected device.
138+
139+
Miscellaneous data sources:
140+
141+
- Up to one Adafruit Ultimate GPS HAT: for system clock synchronization, and for automatic detection of GPS location coordinates.
142+
58143
### System performance
59144

60145
With minimum supported hardware for full functionality:
@@ -103,11 +188,22 @@ Recommended:
103188
Forwards-incompatibilities:
104189

105190
- Unable to run on the Raspberry Pi 5 computer.
191+
- Incompatible with the upcoming PlanktoScope hardware v3.
106192

107193
Backwards-incompatibilities:
108194

109195
- Might still work on a Raspberry Pi 3 Model B+ computer or a Raspberry Pi 4 Model B computer with 1 GB of RAM, but compatibility is not tested.
110196

197+
### Supported optional addons
198+
199+
Networking peripherals:
200+
201+
- Up to one phone (Android only) connected by USB cable in USB tethering mode: for internet access.
202+
203+
Miscellaneous data sources:
204+
205+
- Up to one Adafruit Ultimate GPS HAT: for system clock synchronization, and for automatic detection of GPS location coordinates.
206+
111207
### System performance
112208

113209
With minimum supported hardware for full functionality:
@@ -155,8 +251,19 @@ Recommended for full functionality:
155251
Forwards-incompatibilities:
156252

157253
- Unable to run on the Raspberry Pi 5 computer.
254+
- Incompatible with the upcoming PlanktoScope hardware v3.
158255
- Incompatible with Adafruit Stepper Motor HATs (used in PlanktoScope hardware v2.1) manufactured after mid-2022.
159256

257+
### Supported optional addons
258+
259+
Networking peripherals:
260+
261+
- Up to one phone (Android only) connected by USB cable in USB tethering mode: for internet access.
262+
263+
Miscellaneous data sources:
264+
265+
- Up to one Adafruit Ultimate GPS HAT: for system clock synchronization, and for automatic detection of GPS location coordinates.
266+
160267
### System performance
161268

162269
With minimum supported hardware for full functionality:

0 commit comments

Comments
 (0)