Entry tags:
Роботелескоп
В пятницу разработчики прислали мне обновленную версию протокола работы с контроллером телескопа. Сегодня проверил — все работает, кроме сетевого соединения (но оно нам и не нужно).
Выложу краткую инструкцию по базовой установке RTS2, да буду помаленьку писать модуль управления совокупностью "телескоп+монтировка". В самой RTS2 нет поддержки 10micron, да и даже LX200 только на самом базовом уровне — надо будет переделывать и расширять.
Для установки понадобятся пакеты: postgresql, libnova, libwcs и на всякий случай libwebsockets (хотя поддержка http не заработала, это буду изучать позже, сейчас лишь бы с rts2-mon все работало).
Еще необходимо убедиться в том, что posgresql настроен (eselect postgresql set ...), у меня были какие-то кривые симлинки, пришлось немножко скрипт настройки postgresql для eselect доработать (просто флаг -f в ln добавил, почему-то изначально его там не было).
Дальше делал по документации:
на стадии make check ничего не произошло: как будто бы просто make завис.
Из-под рута надо будет еще создать базы данных и завести пользователя:
Симлинки на рабочую версию postgres надо делать лишь если eselect их почему-то пропустил.
Ну и опять из-под рута:
Сразу можно от пользователя запустить rts2-mon и проверить с устройствами-заглушками. Дальше — настройка RTS2 под конкретно свои устройства.
Работа с ethernet как с портом:
Ни в RTS2, ни в INDI нет поддержки сетевой части 10micron (в INDI она еще в глубоком процессе, в RTS2 вообще 10micron не поддерживается), поэтому чтобы не заморачиваться как с RS-232, так и ethernet, можно сразу же писать только RS-232, а при необходимости сетевого интерфейса запускать на старте socat.
В принципе, полностью по даташиту есть смысл заморачиваться, лишь если точно все сразу заработает. Фактически, для начала можно вообще с postgres не связываться: она понадобится лишь при проведении наблюдений для хранения БД объектов, работы планировщика и еще чего-то там.
Выложу краткую инструкцию по базовой установке 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 не связываться: она понадобится лишь при проведении наблюдений для хранения БД объектов, работы планировщика и еще чего-то там.