eddy_em: (Default)
eddy_em ([personal profile] eddy_em) wrote2017-10-23 11:52 am

Роботелескоп

В пятницу разработчики прислали мне обновленную версию протокола работы с контроллером телескопа. Сегодня проверил — все работает, кроме сетевого соединения (но оно нам и не нужно).

Выложу краткую инструкцию по базовой установке RTS2, да буду помаленьку писать модуль управления совокупностью "телескоп+монтировка". В самой RTS2 нет поддержки 10micron, да и даже LX200 только на самом базовом уровне — надо будет переделывать и расширять.


Для установки понадобятся пакеты: postgresql, libnova, libwcs и на всякий случай libwebsockets (хотя поддержка http не заработала, это буду изучать позже, сейчас лишь бы с rts2-mon все работало).
Еще необходимо убедиться в том, что posgresql настроен (eselect postgresql set ...), у меня были какие-то кривые симлинки, пришлось немножко скрипт настройки postgresql для eselect доработать (просто флаг -f в ln добавил, почему-то изначально его там не было).

Дальше делал по документации:
./autogen.sh
./configure --prefix=/usr --with-fli=/usr/lib
make (с первой попытки не удастся, нужно вычищать проблемы в коде)
make check

на стадии make check ничего не произошло: как будто бы просто make завис.
su -
    make install
    . rts2-init
    редактировать  /etc/rts2/rts2.ini

Из-под рута надо будет еще создать базы данных и завести пользователя:
ln -s /etc/init.d/postgresql-9.6 /etc/init.d/postgresql
ln -s /etc/conf.d/postgresql-9.6 /etc/conf.d/postgresql
rc-config add postgresql default
изменяем в /etc/conf.d/postgresql DATA_DIR="/var/lib/postgresql/data"
mkdir /var/lib/postgresql/data
chown -R postgres:postgres /var/lib/postgresql/
sudo -u postgres initdb -D  /var/lib/postgresql/data/
ln -s /var/lib/postgresql/data/*.conf /etc/postgresql-9.6/
service postgresql start
su postgres
    createuser -drs robotel
    createdb stars
    cd /home/eddy/Telescope/rts2/src/sql/
    ./rts2-builddb stars

Симлинки на рабочую версию postgres надо делать лишь если eselect их почему-то пропустил.
Ну и опять из-под рута:
cp rts2.initd /etc/init.d/rts2
cd /home/eddy/Telescope/rts2/conf/
cp services devices centrald sd /etc/rts2
service rts2 start

Сразу можно от пользователя запустить rts2-mon и проверить с устройствами-заглушками. Дальше — настройка RTS2 под конкретно свои устройства.

Работа с ethernet как с портом:
socat  pty,link=/dev/telescopemount,raw  tcp:192.168.99.3:3490 &
chmod 666 /dev/telescopemount

Ни в RTS2, ни в INDI нет поддержки сетевой части 10micron (в INDI она еще в глубоком процессе, в RTS2 вообще 10micron не поддерживается), поэтому чтобы не заморачиваться как с RS-232, так и ethernet, можно сразу же писать только RS-232, а при необходимости сетевого интерфейса запускать на старте socat.

В принципе, полностью по даташиту есть смысл заморачиваться, лишь если точно все сразу заработает. Фактически, для начала можно вообще с postgres не связываться: она понадобится лишь при проведении наблюдений для хранения БД объектов, работы планировщика и еще чего-то там.

Post a comment in response:

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org