Skip to content

Commit

Permalink
rebrand tRackIT OS to tsOS-vhf
Browse files Browse the repository at this point in the history
  • Loading branch information
jonashoechst committed Jan 23, 2025
1 parent e5d0d3e commit 56346fa
Show file tree
Hide file tree
Showing 19 changed files with 88 additions and 160 deletions.
18 changes: 9 additions & 9 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Build tRackIT-OS Images
name: Build tsOS-vhf Images

on: push

Expand All @@ -10,7 +10,7 @@ jobs:
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')

build-tRackIT-OS:
build-tsOS-vhf:
runs-on: ubuntu-24.04
needs: release
steps:
Expand All @@ -20,19 +20,19 @@ jobs:
submodules: recursive
token: ${{ secrets.PAT_JONASHOECHST }}

- name: Run tRackIT-OS.Pifile
- name: Run tsOS-vhf.Pifile
uses: Nature40/[email protected]
with:
pifile: tRackIT-OS.Pifile
pifile: tsOS-vhf.Pifile

- name: Package tRackIT-OS-arm64-${{github.ref_name}}.zip
- name: Package tsOS-vhf-arm64-${{github.ref_name}}.zip
if: startsWith(github.ref, 'refs/tags/')
run: |
mv tRackIT-OS-arm64.img tRackIT-OS-arm64-${{github.ref_name}}.img
zip tRackIT-OS-arm64-${{github.ref_name}}.zip tRackIT-OS-arm64-${{github.ref_name}}.img
mv tsOS-vhf-arm64.img tsOS-vhf-arm64-${{github.ref_name}}.img
zip tsOS-vhf-arm64-${{github.ref_name}}.zip tsOS-vhf-arm64-${{github.ref_name}}.img
- name: Upload Release tRackIT-OS-arm64-${{github.ref_name}}.zip
- name: Upload Release tsOS-vhf-arm64-${{github.ref_name}}.zip
if: startsWith(github.ref, 'refs/tags/')
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: gh release upload ${{github.ref_name}} tRackIT-OS-arm64-${{github.ref_name}}.zip
run: gh release upload ${{github.ref_name}} tsOS-vhf-arm64-${{github.ref_name}}.zip
6 changes: 3 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
[submodule "home/pi/pyradiotracking"]
path = home/pi/pyradiotracking
url = https://github.com/tRackIT-Systems/pyradiotracking.git
url = https://github.com/trackIT-Systems/pyradiotracking.git
[submodule "home/pi/pybatrack"]
path = home/pi/pybatrack
url = https://github.com/tRackIT-Systems/pybatrack
url = https://github.com/trackIT-Systems/pybatrack
[submodule "home/pi/RPi_Cam_Web_Interface"]
path = home/pi/RPi_Cam_Web_Interface
url = https://github.com/silvanmelchior/RPi_Cam_Web_Interface.git
[submodule "home/pi/snd-i2s_rpi"]
path = home/pi/snd-i2s_rpi
url = https://github.com/tRackIT-Systems/snd-i2s_rpi.git
url = https://github.com/trackIT-Systems/snd-i2s_rpi.git
[submodule "home/pi/librtlsdr"]
path = home/pi/librtlsdr
url = https://github.com/librtlsdr/librtlsdr.git
Expand Down
72 changes: 0 additions & 72 deletions BatRack-OS.Pifile

This file was deleted.

36 changes: 18 additions & 18 deletions Readme.md
Original file line number Diff line number Diff line change
@@ -1,45 +1,45 @@
# trackIT OS
[![Build trackIT-OS Images](https://github.com/tRackIT-Systems/tRackIT-OS/actions/workflows/build.yml/badge.svg)](https://github.com/tRackIT-Systems/tRackIT-OS/actions/workflows/build.yml)
# tsOS-vhf
[![Build tsOS-vhf Images](https://github.com/trackIT-Systems/tsOS-vhf/actions/workflows/build.yml/badge.svg)](https://github.com/trackIT-Systems/tsOS-vhf/actions/workflows/build.yml)

trackIT OS is an open-source software for reliable VHF radio tracking of (small) animals in their wildlife habitat. trackIT OS is an operating system distribution for trackIT stations that receive signals emitted by VHF tags mounted on animals and are built from low-cost commodity-off-the-shelf hardware. trackIT OS provides software components for VHF signal processing, system monitoring, configuration management, and user access. In particular, it records, stores, analyzes, and transmits detected VHF signals and their descriptive features, e.g., to calculate bearings of signals emitted by VHF radio tags mounted on animals or to perform animal activity classification.
tsOS-vhf is an open-source software for reliable VHF radio tracking of (small) animals in their wildlife habitat.tsOS-vhf is an operating system distribution for trackIT stations that receive signals emitted by VHF tags mounted on animals and are built from low-cost commodity-off-the-shelf hardware.tsOS-vhf provides software components for VHF signal processing, system monitoring, configuration management, and user access. In particular, it records, stores, analyzes, and transmits detected VHF signals and their descriptive features, e.g., to calculate bearings of signals emitted by VHF radio tags mounted on animals or to perform animal activity classification.


## Download

The image of trackIT OS can be downloaded in the [GitHub Releases](https://github.com/trackIT-Systems/trackIT-OS/releases) section of this repository.
The image of tsOS-vhf can be downloaded in the [GitHub Releases](https://github.com/trackIT-Systems/tsOS-vhf/releases) section of this repository.

## Build trackIT OS
## Build tsOS-vhf

The base trackIT OS build consists of two stages. First, a base image is built, which installs all required software and might take some time to be build, see [https://github.com/tRackIT-Systems/tsOS-Base](tsOS-Base). Secondly the custom software components and configuration files are copied and installed and `trackIT-OS.img` is built.
The base tsOS-vhf build consists of two stages. First, a base image is built, which installs all required software and might take some time to be build, see [https://github.com/trackIT-Systems/tsOS-Base](tsOS-Base). Secondly the custom software components and configuration files are copied and installed and `tsOS-vhf.img` is built.

```sh
$ docker-compose run --rm pimod pimod.sh tRackIT-OS.Pifile
### FROM https://github.com/tRackIT-Systems/tsOS-Base/releases/download/2024.07.2/tsOS-Base-arm64-2024.07.2.zip
Fetching remote: https://github.com/tRackIT-Systems/tsOS-Base/releases/download/2024.07.2/tsOS-Base-arm64-2024.07.2.zip
$ docker-compose run --rm pimod pimod.sh tsOS-vhf.Pifile
### FROM https://github.com/trackIT-Systems/tsOS-Base/releases/download/2024.07.2/tsOS-Base-arm64-2024.07.2.zip
Fetching remote: https://github.com/trackIT-Systems/tsOS-Base/releases/download/2024.07.2/tsOS-Base-arm64-2024.07.2.zip
...
```

### Targets

As of September 2024, two versions of tRackIT OS exist, build for `armhf` and `arm64`. The reasoning behind that is, that some camera software requires 32-bit libraries, which in turn are required by BatRack.
As of September 2024, two versions of tsOS-vhf exist, build for `armhf` and `arm64`. The reasoning behind that is, that some camera software requires 32-bit libraries, which in turn are required by BatRack.

`tRackIT-OS.Pifile` is using arm64 as their primary target. However there exist `-armhf` versions which create their 32-bit counterparts.
`tsOS-vhf.Pifile` is using arm64 as their primary target. However there exist `-armhf` versions which create their 32-bit counterparts.

## Configuration

The system can be configured through different files in the `/boot` partition.

### `/boot/firmware/cmdline.txt`

`cmdline.txt` holds the kernel boot commandline, which allows to configure the hostname in newer systemd versions. This behavioud is emulated and a hostname can be configured by setting `systemd.hostname=tRackIT-00001`
`cmdline.txt` holds the kernel boot commandline, which allows to configure the hostname in newer systemd versions. This behavioud is emulated and a hostname can be configured by setting `systemd.hostname=trackIT-00001`

### [`/boot/firmware/radiotracking.ini`](boot/firmware/radiotracking.ini)

Hold the configuration of `pyradiotracking`, [see example config](https://github.com/tRackIT-Systems/pyradiotracking/blob/master/etc/radiotracking.ini).
Hold the configuration of `pyradiotracking`, [see example config](https://github.com/trackIT-Systems/pyradiotracking/blob/main/etc/radiotracking.ini).

### [`/boot/firmware/mqttutil.conf`](boot/firmware/mqttutil.conf)

Mqttutil reports system statistics via MQTT, [see example config](https://github.com/tRackIT-Systems/pymqttutil/blob/main/etc/mqttutil.conf).
Mqttutil reports system statistics via MQTT, [see example config](https://github.com/trackIT-Systems/pymqttutil/blob/main/etc/mqttutil.conf).


### `/boot/firmware/wireguard.conf`
Expand All @@ -52,13 +52,13 @@ Files in this directory are loaded by mosquitto. E.g. mqtt brokers for reporting

## Scientific Usage & Citation

If you are using trackIT OS in academia, we'd appreciate if you cited our [scientific research paper](https://jonashoechst.de/assets/papers/hoechst2021tRackIT.pdf). Please cite as "Höchst & Gottwald et al."
If you are using tsOS-vhf in academia, we'd appreciate if you cited our [scientific research paper](https://jonashoechst.de/assets/papers/hoechst2021tRackIT.pdf). Please cite as "Höchst & Gottwald et al."

> J. Höchst, J. Gottwald, P. Lampe, J. Zobel, T. Nauss, R. Steinmetz, and B. Freisleben, “tRackIT OS: Open-source Software for Reliable VHF Wildlife Tracking,” in 51. Jahrestagung der Gesellschaft für Informatik, Digitale Kulturen, INFORMATIK 2021, Berlin, Germany, 2021.
> J. Höchst, J. Gottwald, P. Lampe, J. Zobel, T. Nauss, R. Steinmetz, and B. Freisleben, “trackIT OS: Open-source Software for Reliable VHF Wildlife Tracking,” in 51. Jahrestagung der Gesellschaft für Informatik, Digitale Kulturen, INFORMATIK 2021, Berlin, Germany, 2021.
```bibtex
@inproceedings{hoechst2021tRackIT,
title = {{tRackIT OS: Open-source Software for Reliable VHF Wildlife Tracking}},
@inproceedings{hoechst2021trackIT,
title = {{trackIT OS: Open-source Software for Reliable VHF Wildlife Tracking}},
author = {Höchst, Jonas and Gottwald, Jannis and Lampe, Patrick and Zobel, Julian and Nauss, Thomas and Steinmetz, Ralf and Freisleben, Bernd},
booktitle = {51. Jahrestagung der Gesellschaft f{\"{u}}r Informatik, Digitale Kulturen, {INFORMATIK} 2021, Berlin, Germany},
series = {{LNI}},
Expand Down
2 changes: 1 addition & 1 deletion boot/firmware/radiotracking.ini
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
verbose = 0
calibrate = False
config = '/boot/firmware/radiotracking.ini'
; station = 'tRackIT'
; station = 'trackIT'
schedule = []

[rtl-sdr]
Expand Down
2 changes: 1 addition & 1 deletion boot/firmware/wlan1.conf
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@ update_config=1
country=DE

network={
ssid="tRackIT Systems Gast"
ssid="trackIT Systems Gast"
psk="BirdsAndBats"
}
4 changes: 2 additions & 2 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ services:
privileged: true
tty: true
volumes:
- .:/tRackIT-OS
working_dir: /tRackIT-OS
- .:/tsOS-vhf
working_dir: /tsOS-vhf
environment:
- IMG
8 changes: 4 additions & 4 deletions docs/_config.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
title: tRackIT-OS Manual
title: tsOS-vhf Manual
description: Open-source Software for Reliable VHF Wildlife Tracking
show_downloads: false
theme: jekyll-theme-cayman

github:
is_project_page: true
repository_url: https://github.com/tRackIT-Systems/trackit-os
repository_name: "tRackIT-OS"
repository_url: https://github.com/trackIT-Systems/tsOS-vhf
repository_name: "tsOS-vhf"
owner_url: https://trackit.systems
owner_name: tRackIT Systems
owner_name: trackIT Systems

# Build settings
defaults:
Expand Down
File renamed without changes
18 changes: 9 additions & 9 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@ menu: Quickstart
---

# Quickstart
In this quick start guide, we assume that a tRackIT station is already available and that it is now to be equipped and operated with the tRackIT OS.
In this quick start guide, we assume that a trackIT station is already available and that it is now to be equipped and operated with the tsOS-vhf.

## 1. Download OS image
As usual in the field of single boards like the Raspberry Pi, the Operating System (OS) is delivered as an image, i.e. a file that can be transferred directly to an SD card.
*tRackIT OS* can be downloaded at the [releases section of the respective Github repository](https://github.com/Nature40/tRackIT-OS/releases).
Download the file *tRackIT-x.y.z.zip* of the most recent release.
*tsOS-vhf* can be downloaded at the [releases section of the respective Github repository](https://github.com/trackIT-Systems/tsOS-vhf/releases).
Download the file *trackIT-x.y.z.zip* of the most recent release.
Pre-release versions can also be tried out, but they may not have been tested yet and may not work to their full potential.


Expand All @@ -31,7 +31,7 @@ There are multiple files containing the configuration of the station:
1. Hostname: The last entry of `cmdline.txt` contains the hostname which can be set according to [Linux hostname rules](https://man7.org/linux/man-pages/man7/hostname.7.html). Valid characters for hostnames are ascii letters from a to z, the digits from 0 to 9, and the hyphen (-).
> Note: Please follow the schema `<planner>-<project>-<number>`, as your matching of individuals in the backend will depend on the planner and project values. Every station name can only be used once.
2. Wireguard VPN: *tRackIT OS* supports remote access through wireguard. A configuration file named `wireguard.conf` can be added to the boot partition to enable this feature.
2. Wireguard VPN: *tsOS-vhf* supports remote access through wireguard. A configuration file named `wireguard.conf` can be added to the boot partition to enable this feature.
> Note: Every station needs an individual certificate, as wireguard uses identity-based crypto.
3. MQTT Server: The MQTT server is configured the configuration files in the `mosquitto.d` directory.
Expand All @@ -42,14 +42,14 @@ There are multiple files containing the configuration of the station:

## 4. Deploy Station
Remove the SD card from your computer (using save eject / unmount), insert it into the *tRackIT station's* Raspberry Pi and boot the station by connecting the power cable.
Remove the SD card from your computer (using save eject / unmount), insert it into the *trackIT station's* Raspberry Pi and boot the station by connecting the power cable.

> Note: The first boot takes up to a few minutes, depending on the speed and size of the SD card, because the file system is adjusted to the size of the SD card.
The station can be accessed through Wi-Fi, where the network name (SSID) is the previously configured hostname.
The default password is `BirdsAndBats`.

The *tRackIT station* uses the IPv4 address 169.254.0.1 and a WebUI can be accessed via [http://169.254.0.1](http://169.254.0.1).
The *trackIT station* uses the IPv4 address 169.254.0.1 and a WebUI can be accessed via [http://169.254.0.1](http://169.254.0.1).
There are multiple entries serving different purposes:

* `boot`: contents of the `boot` partition, i.e. the configuration,
Expand All @@ -59,7 +59,7 @@ There are multiple entries serving different purposes:

### Check Sysdweb
To check that everything's working, first access `sysdweb` ([http://169.254.0.1/sysdweb](http://169.254.0.1/sysdweb)).
Sysdweb requires authentication, `tRackIT OS` uses the `pi` user's default passwort is `natur`.
Sysdweb requires authentication, `tsOS-vhf` uses the `pi` user's default passwort is `natur`.

![Screenshot of the sysdweb user interface.](assets/sysdweb.png)

Expand All @@ -75,7 +75,7 @@ Next, access `radiotracking` to check if a nearby VHF transmitter is received co
The dots in blue indicate that a VHF transmitter is received on SDR 0 (north) which indicates signal detection is running correctly.

## 5. Configuration & Calibration
*tRackIT stations* require to be calibrated when set up for the first time, since the used SDR devices differ in signal attenuation. To calibrate a station follow this routine:
*trackIT stations* require to be calibrated when set up for the first time, since the used SDR devices differ in signal attenuation. To calibrate a station follow this routine:

1. Place a VHF transmitter roughly 150 meters away from the station.
2. Access the *Configuration* pane, enable calibration mode and click *Save* and *Restart*.
Expand All @@ -87,4 +87,4 @@ The dots in blue indicate that a VHF transmitter is received on SDR 0 (north) wh

## 6. Management

The tRackIT Station is now up and running and will do so, as long as no errors do occur. Common errors, their reasons and what can be done can be read in the [Troubleshooting](./Troubleshooting.html) section.
The trackIT Station is now up and running and will do so, as long as no errors do occur. Common errors, their reasons and what can be done can be read in the [Troubleshooting](./Troubleshooting.html) section.
6 changes: 3 additions & 3 deletions docs/operation.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ menu: Operation

# Operation

The *tRackIT OS* consists of multiple components responsible for signal detection ([`pyradiotracking`](https://github.com/tRackIT-Systems/pyradiotracking)), configuration and maintenance ([`pymqttutil`](https://github.com/tRackIT-Systems/pymqttutil), [`systemd`](https://www.freedesktop.org/wiki/Software/systemd/), [`sysdweb`](https://github.com/ogarcia/sysdweb), `pyradiotracking-lora`) and communication ([`wireguard`](https://www.wireguard.com), [`mosquitto`](https://mosquitto.org), [`caddy`](https://caddyserver.com), `ssh`).
The *tsOS-vhf* consists of multiple components responsible for signal detection ([`pyradiotracking`](https://github.com/trackIT-Systems/pyradiotracking)), configuration and maintenance ([`pymqttutil`](https://github.com/trackIT-Systems/pymqttutil), [`systemd`](https://www.freedesktop.org/wiki/Software/systemd/), [`sysdweb`](https://github.com/ogarcia/sysdweb), `pyradiotracking-lora`) and communication ([`wireguard`](https://www.wireguard.com), [`mosquitto`](https://mosquitto.org), [`caddy`](https://caddyserver.com), `ssh`).
The services are interleaved and do rely on each other at multiple points.
The goal of this page is to present the operating system configuration and make automatic error detection and correction more transparent.

![Components of *tRackIT OS* visualized in a block diagram.](assets/tRackIT-OS-components.png)
![Components of *tsOS-vhf* visualized in a block diagram.](assets/tsOS-vhf-components.png)

## Error Detection and Recovery

Expand Down Expand Up @@ -52,7 +52,7 @@ Rebooting the system also restarts the USB stack which can sometime help to miti
> Note: When debugging errors or copying data from failed stations, the automatic rebooting can sometimes be annoying. You can always disable the `radiotracking` service using `sudo systemctl stop radiotracking`.
## Monitoring
There are different measuring instruments showing different aspects of a *tRackIT station's* health state.
There are different measuring instruments showing different aspects of a *trackIT station's* health state.
While all of the values are helpful in certain ways, some values can lead to wrong conclusions.

### `sysdweb` Color Indicator
Expand Down
Loading

0 comments on commit 56346fa

Please sign in to comment.