stvid/README.md

4.5 KiB

stvid

Fork/clone of cbassa's stvid.

Installation

Debian. Install package dependencies:

sudo apt install python3-virtualenv python3-pip python3-dev \
    source-extractor astrometry.net \
    libeigen3-dev giza-dev libx11-dev

Perhaps need some of the astrometry.net data files:

sudo apt install \
    astrometry-data-tycho2 astrometry-data-tycho2-07 \
    astrometry-data-tycho2-08 astrometry-data-tycho2-09 \
    astrometry-data-tycho2-10-19
git clone https://spacecruft.org/spacecruft/stvid
# Or use upstream:
git clone https://github.com/cbassa/stvid

Optionally, set up python virtual environment:

cd stvid
virtualenv -p python3 env
source env/bin/activate
pip install --upgrade pip

Install dependencies. Numpy needs to be installed first, or the install fails.

pip install --upgrade numpy
pip install --upgrade -r requirements.txt

Debian in bug #941466 changed the name of the sextractor dependency to source-extractor, so a symlink is needed for now:

sudo ln -s /usr/bin/source-extractor /usr/local/bin/sextractor

Install hough3d-code dependency:

cd ../
git clone https://gitlab.com/pierros/hough3d-code
cd hough3d-code
make all
sudo cp -p hough3dlines /usr/local/bin/hough3dlines

Configure

Thusly...

cd stvid/
cp -p configuration.ini-dist configuration.ini
# Edit
# Note for fields st-username and st-password, *don't* use quotes.
# Set:
vi configuration.ini

Edit various configuration.ini fields:

# For example:
observer_cospar = 9999        # COSPAR number of observer's site
observer_name = Jeff Moe      # Name of observer
observer_lat = 40.568912      # Latitude of location in decimal degrees
observer_lon = -105.225852    # Longitude of location in decimal degrees
observer_height = 1860         # Elevation of location in meters

observations_path = ./data/obs # Path for raw acquisitions
tle_path = ./data/tle          # Path where TLEs are stored (and updated)
results_path = ./data/results   # Path for results of processed obs

st-username = foo
st-password = bar

# Path to source-extractor
sex_config = /usr/bin/source-extractor

Store downloads here:

mkdir -p ./data/obs ./data/tle ./data/results

Set astrometry.net to run in parallel, assuming you have enough RAM: (This doesn't appear to work? Breaks?).

sudo vim /etc/astrometry.cfg
# Uncomment:
inparallel

Hardware

Setup with various hardware.

Make sure you're in groups that may be needed:

sudo adduser debian plugdev
sudo adduser debian video

ASI ZWO ASI183MC Pro.

Download SDK from ASI. It is under a permissive license, for the binaries, but where is the source? It appears it is proprietary software. There are libre implementations, such as for INDI.

tar xf ASI_linux_mac_SDK_V1.26.tar.bz2
cd ASI_linux_mac_SDK_V1.26/

# Set up permissions with udev:
cat lib/asi.rules | sudo tee /etc/udev/rules.d/50-asi.rules

Web Cam

Perhaps like this using a web cam and OpenCV

Set up udev:

echo 'SUBSYSTEM=="video1", GROUP="video", MODE="0660"' |
  sudo tee /etc/udev/rules.d/10-webcam.rules

Testing with Logitech BRIO usb web cam. No udev configuration needed.

Usage

Enter virtualenv, if used:

cd stvid/
source env/bin/activate

Get the latest TLEs:

./update_tle.py

Configure a position (example). XXX Best way to generate ?

echo \
 '2022-08-07T23:44:14 R: 00:00:00.00 D:  00:00:00.0 H: -152.691 A: 180.000 E: 90.000 q: -28.18' |
 > data/obs/control/position.txt

Acquire image, first download archives:

./acquire.py

Fixed

When running acquire.py on amd64 architecture it gives this error:

OSError: libbcm_host.so: cannot open shared object file: No such file or directory

The libbcm_host.so is a (non-libre?) firmware file that is part of Raspberry Pi.

https://github.com/raspberrypi/firmware/blob/master/opt/vc/lib/libbcm_host.so

That error comes from installing picamerax on amd64, which was added to requirements.txt, but should really just be when on Raspberry Pi.

env/lib/python3.10/site-packages/picamerax/bcm_host.py:_lib = ct.CDLL('libbcm_host.so')

For now, just import the library that calls for that binary if the Pi camera is used. No need to call it (and crash) if CV2 is used on non-Pi.

Upstream

See README-upstream.md.

stvid:

© 2018-2022 Cees Bassa

License

Same as upstream license, GPLv3.

© 2022, Jeff Moe