Code repository for the Pytheas submersible observation platform

Related tags

MiscellaneousPytheas
Overview

Pytheas

Main repository for the Pytheas submersible probe system.

List of Acronyms/Terms

  • USP - Underwater Sensor Platform - The primary platform in the Pytheas system; a water-proofed and pressure-rated sensor pod designed to be deployed in deep water.
  • SCU - Surface Control Unit - Surface-based platform for communicating and controlling the USP.
  • PCS - Pytheas Control System - Primary operating software for the USP, provides live manual interface as well as autonomous operation.
  • ACAP - Autonomous Capture - Shorthand for csv capture files generated in autonomous mode.
  • Passive - As in, passive captures. Shorthand for the standard csv capture file generated for each session recording any instance the sensors are manually polled.

Installation Instructions

Work in Progress - I plan to write a script(s?) to automate the installation process soon. In the meantime, consider these bare-bones instructions for the USP:

  1. Start with a Raspberry Pi imaged with PiOS and wired according to the block diagram in this repository.
  2. In raspi-config make sure that the I2C and camera module interfaces are enabled. I also STRONGLY recommend resetting GPU memory allocation to 256MB.
  3. Configure eth0 for a static IP address (recommend 192.168.2.2/24)
  4. Ensure all of the dependencies (listed below) are installed.
  5. Clone this repository to a convenient location (recommended: ~/pytheas)
  6. Review the "quick values" in pcs.py and make sure they are configured to your liking. It's strongly recommended that auxPath be set to wherever you're mounting the SCU's NFS share, because otherwise it kinda defeats the purpose.
  7. Add the SCU to your /etc/hosts file under a convenient name (recommended: pytheas-scu or just scu)

Likewise, consider this the bare-bones instructions for the SCU:

  1. Start with a machine imaged with a desktop Linux distribution (tested on Linux Mint 20.1 but will probably work on most major distributions)
  2. Configure an ethernet network interface with a static IP address (recommend 192.168.2.1/24)
  3. Ensure all of the dependencies (listed below) are installed.
  4. Configure /etc/exports to host a directory the USP can use to copy backups to (recommended: /usp-backups)
  5. Clone this repository to a convenient location (recommended: ~/pytheas)
  6. Review the contents of .scu-commands and correct any/all path references to suit your personal set up.
  7. Either copy/paste the contents of .scu-commands in to your .bashrc file or just have your .bashrc directly reference .scu-commands
  8. Add the USP to your /etc/hosts file under a convenient name (recommended: pytheas-usp or just usp)

Dependencies for USP

  • Python 3
  • PrettyTable python library
  • python-smbus library (needed for ms5837-python)
  • Screen
  • OpenSSH Server

Dependencies for SCU

  • VLC
  • nfs-kernel-server

SCU COMMANDS

These commands can be issued from the SCU terminal window

  • start-pcs - Initializes the PCS software on the USP
  • start-stream - Brings up the live video stream in a VLC window
  • dl-usp - Bulk-downloads ALL USP data (including session data and pcs.log) in to the SCU
  • purge-usp - Bulk-deletes ALL USP data (including session data and pcs.log) from the SCU

CSV Fields

  • T - Time Index - Number of ticks since the capture session began. Can be used as a key value if importing in to DBs. Note that the T field is only present on autonomous data captures.
  • LTime - Local Time - The time of day that the record was captured. Based off of whatever time zone is configured in the USP.
  • Pressure - The water pressure at the time of capture. Measured in millibars.
  • Depth - The depth of the USP at time of capture, computed from the pressure reading. Measured in meters.
  • ETemp - External Temperature - The water temperature at time of capture, measured in Celcius.
  • ITemp - Internal Temperature - Internal USP temperature as reported by the CPU. Measured in Calcius.
  • Notes - Free-form notes written by the operator. The notes field is only present on passive data captures.
Owner
UltraChip
UltraChip
Project repository of Apache Airflow, deployed on Docker in Amazon EC2 via GitLab.

Airflow on Docker in EC2 + GitLab's CI/CD Personal project for simple data pipeline using Airflow. Airflow will be installed inside Docker container,

Ammar Chalifah 13 Nov 29, 2022
Python calculator made with tkinter package

Python-Calculator Python calculator made with tkinter package. works both on Visual Studio Code Or Any Other Ide Or You Just Copy paste The Same Thing

Pro_Gamer_711 1 Nov 11, 2021
HairCLIP: Design Your Hair by Text and Reference Image

Overview This repository hosts the official PyTorch implementation of the paper: "HairCLIP: Design Your Hair by Text and Reference Image". Our single

322 Dec 30, 2022
Purge all transformation orientations addon for Blender 2.8 and newer versions

CTO Purge This add-on adds a new button to Blender's Transformation Orientation panel which empowers the user to purge all of his/her custom transform

MMMrqs 10 Dec 29, 2022
A simple wrapper to analyse and visualise reinforcement learning agents' behaviour in the environment.

Visrl Visrl (pronounced "visceral") is a simple wrapper to analyse and visualise reinforcement learning agents' behaviour in the environment. Reinforc

Jet New 14 Jun 27, 2022
calculadora financiera hecha en python

Calculadora financiera Calculadora de factores financieros basicos, puede calcular tanto factores como expresiones algebraicas en funcion de dichos fa

crudo 5 Nov 10, 2021
World's best free and open source ERP.

World's best free and open source ERP.

Frappe 12.5k Jan 07, 2023
A beacon generator using Cobalt Strike and a variety of tools.

Beaconator is an aggressor script for Cobalt Strike used to generate either staged or stageless shellcode and packing the generated shellcode using your tool of choice.

Capt. Meelo 441 Dec 17, 2022
PyCASCLib: CASC interface for Warcraft III

PyCASCLib CASC interface for Warcraft III. This repo provides bindings for JCASC: https://github.com/DrSuperGood/JCASC Installation Jdk is required fo

2 Jun 04, 2022
Python Common things by Problem Fighter Library, (Exception, Debug Log, etc.)

In the name of God, the Most Gracious, the Most Merciful. PF-PY-Common Documentation Install and update using pip: pip install -U xxxx Please find the

Problem Fighter 3 Jan 15, 2022
MODSKIN-LOLPRO-updater: The mod is fkn 10y old and has'nt a self-updater

The mod is fkn 10y old and has'nt a self-updater. To use it just run the exec, wait some seconds, and it will run the new modsk

Shiro Amurha 3 Apr 23, 2022
take home quiz

guess the correlation data inspection a pretty normal distribution train/val/test split splitting amount .dataset: 150000 instances โ”œโ”€8

HR Wu 1 Nov 04, 2021
Inverted-pendulum-with-fuzzy-control - Inverted pendulum with fuzzy control

Fuzzy Inverted Pendulum Basically, this project consists of an inverted pendulum

Mahan Ahmadvand 1 Aug 25, 2022
Providing a working, flexible, easier and faster installer than the one officially provided by Arch Linux

Purpose The purpose is to bring more people to Arch Linux by providing a working, flexible, easier and faster installer than the one officially provid

Andrรฉ Luรญs 0 Nov 09, 2022
A compilation of useful scripts to automate common tasks

Scripts-To-Automate-This A compilation of useful scripts for common tasks Name What it does Type Add file extensions Adds ".png" to a list of file nam

0 Nov 05, 2021
Zeus is an open source flight intellingence tool which supports more than 13,000+ airlines and 250+ countries.

Zeus Zeus is an open source flight intellingence tool which supports more than 13,000+ airlines and 250+ countries. Any flight worldwide, at your fing

DeVickey 1 Oct 22, 2021
Semantic Data Management - Property Graphs ๐Ÿ“ˆ

SDM - Lab 1 @ UPC ๐Ÿ‘จ๐Ÿปโ€๐Ÿ’ป Table of contents Introduction Property Graph Dataset 1. Introduction This repo is all about what we have done in SDM lab 1

Mohammad Zain Abbas 1 Mar 20, 2022
Automatically load and dump your dataclasses ๐Ÿ“‚๐Ÿ™‹

file dataclasses Installation By default, filedataclasses comes with support for JSON files only. To support other formats like YAML and TOML, filedat

Alon 1 Dec 30, 2021
Bazel rules to install Python dependencies with Poetry

rules_python_poetry Bazel rules to install Python dependencies from a Poetry project. Works with native Python rules for Bazel. Getting started Add th

Martin Liu 7 Dec 15, 2021
Data wrangling & common calculations for results from qMem measurement software

qMem Datawrangler This script processes output of qMem measurement software into an Origin ยฎ compatible *.csv files and matplotlib graphs to quickly v

Julian 1 Nov 30, 2021