Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 2 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.5%) to scientific vocabulary
Repository
Docker file for rpi
Basic Info
- Host: GitHub
- Owner: keittlab
- License: mit
- Language: Shell
- Default Branch: main
- Size: 298 KB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
- Releases: 1
Metadata Files
README.md
Overview
This repository contains software for automating the setup of raspberry pi computers powering sensors in the field. It is currently somewhat particular to our applications, so it may not suit your needs. The use of docker here is to run the sdm utility to modify raspberry pi os images. The server side and sensors do not use docker. I am making this reposotry public in case it is useful. I am currently reworking the entire setup, so keep an eye on this space for a new version.
If you use this software, please reach out and let us know! Also, please cite this repository. There is a "cite this repository" link along the right side of the main page.
All software is copyright Timothy H. Keitt, 2025.
biosense-docker
These scripts require docker. You can install it here. You also need to install yq if you want to save your configuration (--save-config <file>).
Here is an example:
bash
./download-image
./customize-image --wg-ip <network>.1.42
The downloads the most recent RPi OS image in to source_images, copies the image into customized_images and modifies it. The file in customized_images can be burned to an sd or ssd drive using the RPi OS Imager application. The --wg-ip switch is required and sets the ip-number of the client in the vpn. It is also used to create the hostname of the device. Each device should have a unique ip-number, even if it is not on the internet. The network spaces is <network>.0.0/16 meaning that the second two numbers can vary from 1-254. Servers and other non-sensor devices use <nework>.0.1-254, so sensors should be within <network>.1.1 -- <network>.254.254. That permits many ip addresses.
Currently, you need to:
- Place the biosense users public key into
files/home/biosense/.ssh/authorized_keys - Add a wireguard configuration template in
files/etc/wireguard/template.conf - Fill in the server wireguard public key in
files/etc/wireguard/template.conf
These are not part of the github repo because I don't want the keys uploaded when it goes public. In the future, this will all be transparent and not needed.
The wireguard template file looks like:
```
[Interface]
PrivateKey =
[Peer]
PublicKey =
The PrivateKey and Address fields will be filled out as part of the customization process. The script will print out a command to make the new device able to connect to the server over wireguard. You must capture that output and update your wireguard configuration on your server. Each time customize-image is run, it will generate a new wireguard key-pair regardless of the wg-ip setting, so you have to update the server. You do not want to reuse the same wg-ip for multiple devices. The list of used ip's can be retrieved from the server's wireguard configuration. PersistentKeepalive can be 25-seconds for networks with unlimited data. If data quotas are highly restrictive, the value shown will only send a keepalive ever 15 minutes. Connectivity maybe intermittent with such a long keepalive interval.
Owner
- Name: Keitt Lab
- Login: keittlab
- Kind: organization
- Email: tkeitt@utexas.edu
- Location: Austin, Texas
- Website: http://www.keittlab.org/
- Repositories: 12
- Profile: https://github.com/keittlab
Dynamic Spatial Ecology and Biogeography Lab at UT Austin
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Keitt"
given-names: "Timothy H."
title: "Biosense"
version: "v1.0.0"
doi: "10.5281/zenodo.14867453"
url: "https://github.com/keittlab/biosense-docker"
GitHub Events
Total
- Release event: 3
- Public event: 1
- Push event: 9
- Fork event: 1
- Create event: 1
Last Year
- Release event: 3
- Public event: 1
- Push event: 9
- Fork event: 1
- Create event: 1
Dependencies
- debian stable-slim build
- RPi.GPIO *
- adafruit-circuitpython-ads1x15 *
- adafruit-circuitpython-bme280 *
- adafruit-circuitpython-seesaw *
- birdnetlib *
- geopy *
- gpiod *
- librosa *
- psycopg2 *
- psycopg2-binary *
- pynmea2 *
- resampy *
- smbus2 *
- sparkfun-qwiic *
- sqlalchemy *
- tflite-runtime *
- toml *