Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
a207e29
Bump forklift pallet
ethanjli Jan 24, 2025
4aaae38
Bump forklift pallet version
ethanjli Jan 24, 2025
b158a83
Install networkmanager & uninstall dhcpcd on bullseye
ethanjli Jan 24, 2025
342d3d8
Fix crucial typo in the name of a CI step
ethanjli Jan 24, 2025
5997220
Enable NetworkManager service in OS setup
ethanjli Jan 26, 2025
87f53ab
Bump pallet-standard
ethanjli Jan 27, 2025
65b7d61
Add CI builds for OS images based on bookworm-lite
ethanjli Jan 27, 2025
aaac97e
Bump forklift & pallet-standard
ethanjli Jan 27, 2025
12e9738
Bump pallet-standard
ethanjli Jan 29, 2025
8ec1e07
Make forklift export files with root user ownership
ethanjli Jan 31, 2025
83f639e
Update local cache into root's home dir in CI workflow
ethanjli Jan 31, 2025
d420c93
Fix syntax error
ethanjli Jan 31, 2025
59177eb
Try to resolve permissions problem for root homedir
ethanjli Jan 31, 2025
2c7f6c5
Try to fix invocation of crane with sudo
ethanjli Jan 31, 2025
569bbc1
Try again to fix invocation of crane
ethanjli Jan 31, 2025
f8c6596
Fix autoformatter problem with invocation of crane
ethanjli Jan 31, 2025
4481dad
Fix permissions for precached image removal
ethanjli Jan 31, 2025
2d532b2
Fix autoformatter problem with invocation of Forklift
ethanjli Jan 31, 2025
f322681
Try replacing dnsmasq with dnsmasq-base
ethanjli Feb 1, 2025
0583822
Add some cli tools for network troubleshooting, bump pallet-standard
ethanjli Feb 1, 2025
0fd0149
Fix incorrect package names
ethanjli Feb 1, 2025
90bb93c
Fix another incorrect package name
ethanjli Feb 1, 2025
71f6929
Enable firewalld, bump pallet-standard
ethanjli Feb 1, 2025
e3d4d86
Adjust Forklift stage store bind mount service definition
ethanjli Feb 1, 2025
bce87d8
Don't unmask hostapd anymore
ethanjli Feb 1, 2025
5a9f4a5
Actually bump pallet-standard
ethanjli Feb 1, 2025
7a2fc81
Bump pallet-standard
ethanjli Feb 2, 2025
80ccb08
Bump pallet-standard
ethanjli Feb 4, 2025
e317bc7
See what happens if we don't install hostapd anymore
ethanjli Feb 4, 2025
bc29e0b
Merge branch 'master' into feature/networkmanager-support
ethanjli Feb 4, 2025
3fd27aa
Bump pallet-standard
ethanjli Feb 7, 2025
0eed9bb
Revert from `sudo forklift` back to `forklift`
ethanjli Feb 7, 2025
8c6d6be
Bump pallet-standard
ethanjli Feb 7, 2025
aa49d76
Try to fix lingering issues from reverting from `sudo forklift` back …
ethanjli Feb 7, 2025
c3486e9
Try to fix issues with Docker installation caused by previous commit
ethanjli Feb 7, 2025
08584ed
Fix another lingering issue with reverting from `sudo forklift` to `f…
ethanjli Feb 7, 2025
e3613e9
Bump pallet-standard
ethanjli Feb 7, 2025
7f9a65f
Bump pallet-standard
ethanjli Feb 8, 2025
7a28bd4
Bump pallet-standard
ethanjli Feb 8, 2025
a30c6b0
Bump pallet-standard
ethanjli Feb 8, 2025
be07d57
Install `cockpit-storaged` to allow for manual mounting/unmounting of…
ethanjli Feb 8, 2025
964945e
Bump pallet-standard
ethanjli Feb 8, 2025
31b55bd
Bump pallet-standard (for device-portal updates) & update docs about …
ethanjli Feb 8, 2025
f50f6a1
Fix incorrect pallet version query
ethanjli Feb 8, 2025
551563d
Update network security-related ops documentation
ethanjli Feb 9, 2025
36ab3f8
Bump pallet-standard
ethanjli Feb 9, 2025
01b5b02
Update network ops guide to connecting to Wi-Fi networks
ethanjli Feb 9, 2025
dd29fa9
Update existing OS architecture ref docs
ethanjli Feb 11, 2025
8e760bd
Update tech ref docs on the OS installation subsystem
ethanjli Feb 15, 2025
ed71ba0
Move `avahi-utils` installation from `networking` step to `tools` step
ethanjli Feb 15, 2025
f626118
Reorganize & partially update networking-related OS architecture docs
ethanjli Feb 15, 2025
dfb7da6
Finish updating technical reference docs
ethanjli Feb 20, 2025
3fb524c
Remove systemd sequencing rule related to the now-removed `autohotspo…
ethanjli Feb 20, 2025
68bb7b3
Bump pallet-standard
ethanjli Feb 20, 2025
7a880d6
Update `CHANGELOG.md`
ethanjli Feb 20, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 0 additions & 2 deletions .github/workflows/build-os-bookworm-dx.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,6 @@ jobs:
- none
- segmenter-only
base_variant_name:
# We haven't set up networking on bookworm, so the lite image is useless and hard to make
# usable; so we just build the desktop image:
- desktop
permissions:
contents: read
Expand Down
53 changes: 53 additions & 0 deletions .github/workflows/build-os-bookworm.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
---
name: build-os-bookworm
on:
push:
branches:
- 'master'
- 'software/beta'
- 'software/stable'
tags:
- 'software/v*'
paths:
- 'software/**'
- '!software/CHANGELOG.md'
- '.github/workflows/build-os*.yml'
pull_request:
paths:
- 'software/**'
- '.github/workflows/build-os*.yml'
#merge_group:
workflow_dispatch:
inputs:
git-ref:
description: 'Git ref (optional)'
required: false

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
build:
name: build
strategy:
fail-fast: false
matrix:
variant:
- none
- segmenter-only
base_variant_name:
- lite
permissions:
contents: read
packages: write
id-token: write
uses: ./.github/workflows/build-os.yml
secrets: inherit
with:
name: rpi-forklift-demo
base_release_name: bookworm
base_image_variant: ${{ matrix.base_variant_name }}
base_release_date: 2024-11-19
arch: arm64
variant: ${{ matrix.variant }}
2 changes: 1 addition & 1 deletion .github/workflows/build-os.yml
Original file line number Diff line number Diff line change
Expand Up @@ -252,7 +252,7 @@ jobs:

# RUN OS SETUP SCRIPTS

- name: Run OS setup scripts in a booted container
- name: Run OS setup scripts in an unbooted container
uses: ethanjli/pinspawn-action@v0.1.4
with:
image: ${{ steps.expand-image.outputs.destination }}
Expand Down
26 changes: 14 additions & 12 deletions documentation/docs/operation/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,31 +22,33 @@ As you can see, the name of your PlanktoScope's Wi-Fi hotspot will be of the for

!!! tip

You should write down the PlanktoScope's machine name in a note (or on your PlanktoScope) for future reference; this will be especially important if you might have multiple PlanktoScopes in the future or if you might need to access the PlanktoScope via an indirect connection (e.g. from a device connected to the same network router as the PlanktoScope).
You may want to write down the PlanktoScope's machine name in a note (or on your PlanktoScope) for future reference; this will be especially important if you might have multiple PlanktoScopes in the future.

Unless you have [changed the password](./networking.md#change-the-wi-fi-hotspots-password) of your PlanktoScope's Wi-Fi hotspot, the password should be `copepode`.

### Access your PlanktoScope's software

Once you connect your computer (or phone/tablet/etc.) to your PlanktoScope, you will need to access your PlanktoScope's software from a web browser on your computer.

If you know the machine name of your PlanktoScope (which you can determine from the name of your PlanktoScope's Wi-Fi hotspot, as described above), you can try using your web browser to open a URL of format `http://pkscope-{machine-name}.local`, where `{machine-name}` should be substituted with your PlanktoScope's machine name. This URL should work unless you're on a device or web browser without mDNS support; notably, older versions of Android did not support mDNS, and web browsers installed on Linux computers via Flatpak [do not yet support mDNS](https://github.com/flatpak/xdg-desktop-portal/discussions/1365).
If you know the machine name of your PlanktoScope (which you can determine from the name of your PlanktoScope's Wi-Fi hotspot, as described above), you can try using your web browser to open a URL of format `http://pkscope-{machine-name}.local`, where `{machine-name}` should be substituted with your PlanktoScope's machine name. If you don't know your PlanktoScope's machine name, you can try using your web browser to open <http://planktoscope.local> or <http://pkscope.local>. All three of these URLs should work unless you're on a computer or web browser without mDNS support; notably, older versions of Android did not support mDNS, and web browsers installed on Linux computers via Flatpak [do not yet support mDNS](https://github.com/flatpak/xdg-desktop-portal/discussions/1365).
!!! warning

<http://planktoscope.local> and <http://pkscope.local> may behave in weird ways if your computer is directly connected to multiple PlanktoScopes or if it's connected to a Wi-Fi router or Ethernet router (or to a VPN or other LAN) which has multiple PlanktoScopes connected to it. In such a situation, those URLs may cause you to access the software for a different PlanktoScope connected to your computer than the one you had intended to access. You should instead use the machine-specific URL of format `http://pkscope-{machine-name}.local`.

If you are connecting your computer directly to your PlanktoScope (i.e. via your PlanktoScope's Wi-Fi hotspot, or via an Ethernet cable from your computer to your PlanktoScope's Ethernet port) but you don't know (or you don't want to type out) your PlanktoScope's machine name, then you can try opening the following URLs in your web browser instead (try opening them in the following order, and just use the first one which works):
If those URLs don't work for you and you're connecting your computer directly to your PlanktoScope (i.e. via your PlanktoScope's Wi-Fi hotspot, or via an Ethernet cable from your computer to your PlanktoScope's Ethernet port), then you can try opening the following URLs in your web browser instead (try opening them in the following order, and just use the first one which works):

- [http://planktoscope.local](http://planktoscope.local) (this should work unless you're on a device or web browser without mDNS support)
- [http://pkscope.local](http://pkscope.local) (this should work unless you're on a device or web browser without mDNS support)
- [http://home.pkscope](http://home.pkscope) (this should work unless your web browser is configured to use a Private DNS provider)
- [http://192.168.4.1](http://192.168.4.1) (this should always work on devices connected directly to the PlanktoScope, especially for devices connected directly to the PlanktoScope's Wi-Fi hotspot)
- [http://192.168.5.1](http://192.168.5.1) (this should always work on devices connected directly to the PlanktoScope, especially for devices connected directly to the PlanktoScope's Ethernet port)
- a URL of format `http://{machine-name}.pkscope`, where `{machine-name}` should be substituted with your PlanktoScope's machine name (this should work unless your web browser is configured to use a Private DNS provider)
- <http://home.pkscope> (this should work unless your web browser is configured to use a Private DNS provider)
- <http://192.168.4.1> (this should always work on computers connected to the PlanktoScope's Wi-Fi hotspot, unless your computer is also connected to some other device meant to be accessed with that URL)
- <http://192.168.5.1> (this should always work on computers connected directly to the PlanktoScope's Ethernet port, unless your computer is also connected to some other device meant to be accessed with that URL)

!!! warning

The five URLs listed directly above **will not work** if you're trying to connect to your PlanktoScope indirectly, e.g. via a [Wi-Fi router providing internet access to the PlanktoScope](./networking.md#connect-your-planktoscope-to-an-existing-wi-fi-network). In that case, you will instead need to use a URL with your PlanktoScope's machine name which has format `http://pkscope-{machine-name}.local`. If you might want to do that in the future, then you should write down the machine name of your PlanktoScope as declared on your PlanktoScope's landing page!
The four URLs listed directly above **will not work** if you're trying to connect to your PlanktoScope indirectly, e.g. via a [Wi-Fi router providing internet access to the PlanktoScope](./networking.md#connect-your-planktoscope-to-an-existing-wi-fi-network). In that case, you will instead need to try one of the previously-described URLs ending in `.local`.

!!! warning

The five URLs listed directly above may behave in weird ways if your computer is directly connected to multiple PlanktoScopes. In such a situation, those URLs may cause you to access the software for a different PlanktoScope connected to your computer than the one you had intended to access. You should instead use a machine-specific URL, either of format `http://pkscope-{machine-name}.local` (which will only work if your device and web browser support mDNS), or otherwise of format `http://{machine-name}.pkscope` (which will only work if your computer is connected directly to the PlanktoScope).
The four URLs listed directly above may behave in weird ways if your computer is directly connected to multiple PlanktoScopes. In such a situation, those URLs may cause you to access the software for a different PlanktoScope connected to your computer than the one you had intended to access. You should instead use a machine-specific URL, either of format `http://pkscope-{machine-name}.local` (which will only work if your device and web browser support mDNS), or otherwise of format `http://{machine-name}.pkscope` (which will only work if your computer is connected directly to the PlanktoScope). If you still encounter weird behavior, then you will need to disconnect one or more of your other PlanktoScopes from your computer.

!!! warning

Expand All @@ -58,9 +60,9 @@ One of the above URLs should work, and your web browser should show a landing pa

!!! tip

If you access the landing page using any URL not of the format `http://pkscope-{machine-name}.local`, then the landing page will suggest its own machine-specific URL for you to try opening; you can see that in the above screenshot, which shows a yellow information box with the URL for the PlanktoScope used to make that screenshot. You should try opening your PlanktoScope's machine-specific URL to see if it works in your web browser, and you may want to bookmark it for future reference for the reasons discussed in the warnings listed earlier in this section of the documentation.
If you access the landing page using any URL not of the format `http://pkscope-{machine-name}.local`, then the landing page will suggest its own machine-specific URL for you to try opening; you can see that in the above screenshot, which shows a yellow information box with the URL for the PlanktoScope used to make that screenshot. You should try opening the corresponding URL on the landing page for your PlanktoScope to see if it works in your web browser.

You should click on the "Node-RED dashboard" link; this will open a new tab with the primary interface for operating your PlanktoScope. Once you have opened the Node-RED dashboard, you should proceed to our [User interface guide](user-interface.md) to understand how to use it.
Next, you should click on the "Node-RED dashboard" link; this will open a new tab with the primary interface for operating your PlanktoScope. Once you have opened the Node-RED dashboard, you should proceed to our [User interface guide](user-interface.md) to understand how to use it.

## Acquire data on plankton samples

Expand Down
Loading