PiSun Raspberry PI
Открытое программное обеспечение PiSun Raspberry PI позволяет записывать спутниковые измерения в режиме статики, а также поддерживает использование PiGO Lite или шилда PiHatel на одноплатных компьютерах Raspberry Pi 3 или 4, с установленной операционной системой linux.
Программа писалась и тестировалась на операционной системе linux с установленным пакетом для разработки Python 3. Для создания локального кастера в ПО используется библиотека rtklib с использованием утилиты str2str. Программа управляется при помощи веб интерфейса который доступен на 80-ом порту устройства. Исходные файлы программы можно скачать по ссылке PiSun CORS.
В основном PiSunRPI предназначен для работы в совокупности с PiHatel, который имеет аналогичный функционал, что и приемник PiGo Lite. В статье рассмотрим основной функционал этого open source продукта.
PiSun Raspberry PI
PiSunRPI может работать не только с одноплатными компьютерами, но и с полноценными ПК.
Функционал программы:
- Подключение к PiHatel и его настройка.
- Получение данных с PiHatel и их отправка на бесплатный кастер сети pidt.net, либо создание собственного локального кастера.
- Запись статических данных в удобном формате RTCM3.
-
Запись статики в формате CNB.
- Разделение файлов статики по часам для удобства архивации и анализа.
- Вывод различных статусов работы для контроля активности программы.
- Визуализация положения спутников на небосводе с помощью диаграммы в полярных координатах.
-
Применение синхронизации времени.
-
Выбор формата для передачи дифференциальных поправок.
Порядок работы:
1. Установка программы.
Для установки всех необходимых компонентов при помощи командной строки следует выполнить следующие команды:
sudo apt install git python3 python3-pip python3-venv
git clone https://gitlab.com/piall1/pisunrpi.pisun.git
cd pisun
python3 -m venv venv
venv/bin/pip3 install -r requirements.txt
sudo ./pisunrpi/./scripts/install.sh
Следующие команды не обязательны к выполнению! После установки программа автоматически добавится в автозапуск системы и начнет работу.
Полезные команды:
sudo systemctl status pisun_rpi.pisun.service - посмотреть статус работы программы
sudo systemctl restart pisun_rpi.pisun.service - перезапустить программу
sudo systemctl stop pisun_rpi.pisun.service - остановить выполнение программы
sudo systemctl disable pisun_rpi.pisun.service - выключить автозагрузку программы
sudo systemctl enable pisun_rpi.pisun.service - включить автозагрузку программы
2. Запись образа на флешку.
Для записи образа следует выполнить следующие шаги:
-
Установить программу Raspberry Pi Imager.
-
Выбрать устройство (необязательно).
-
Выбрать операционную систему.
Выбрать ОС -> Использовать настраиваемый образ (Use custom) -> Путь к образу (pihatel.img.xz) -
Выбрать запоминающее устройство.
-
Настроить параметры.
После выбора ОС и флешки, перейдите по кнопке "далее". В окне появится возможность перейти в настройки.Перед записью образа, следует сохранить следующие параметры:
В разделе общие:
Имя хоста: pihatel.
Пароль и логин: указать имя пользователя и пароль для входа по SSH.
WI-FI: указать логин и пароль для подключения к сети. Устройство должно быть подключено по WI-FI или по кабелю Ethernet. Страну WI-FI указывать необязательно.
В разделе службы:
SSH: Аутентификация по паролю.
3. Использование программы.
При установке в ручную:
После перезапуска вашего устройства, программа сама должна запуститься. Для того чтобы запустить старт в ручную, убедитесь, что программа находится не в активном состоянии с помощью команды "статус работы", если программа уже запущена, то необходимо применить команду остановки программы (sudo systemctl stop pisun_rpi.service ), далее используйте команду запуска.
sudo systemctl status pisun_rpi.service - посмотреть статус работы программы
sudo ./start.shvenv/bin/python3 StartPiSunRPI.py
Далее для входа в интерфейс управления необходимо подключиться ПК или мобильным устройством к той же сети, где находится PiSunRPI. Для этого необходимо в браузере указать IP вашей Raspberry Pi.
При установке образа:
Чтобы настроить Raspberry для доступа к PiSun RPI, вставьте флэшку с записанным образом в устройство. Raspberry автоматически подключится к Wi-Fi сети. Чтобы открыть веб-интерфейс, подключитесь к той же сети Wi-Fi, что и Raspberry. Введите в адресной строке браузера имя хоста, которое вы указали во время настройки образа (pihatel.local).
4. Выбор com порт.
Перед началом работы необходимо выбрать тот com порт, который подключен к PiHatel (В названии порта обычно должно быть упоминание AMA0. Если вы подключаете PiGO Lite, то название порта будет USB0).
5. Соединение с портом.
Connect - кнопка, при нажатии которой программа соединяется с выбранным com портом и пытается настроить устройство на выбранный вами режим работы.
Auto connection - функция автоподключения. При запуске, программа автоматически подключается к устройству с заранее сохраненными параметрами. Для использовании этой функции необходимо сохранить параметр Auto connection.
6. Настройка координат.
Load - загружает последние сохраненные координаты.
Save - сохраняет текущие координаты (координаты записываются в файл рядом с программой).
Сoords auto - устанавливает ориентировочные координаты, которые могут быть использованы, если точность фиксированных координат не является решающим фактором.
Lat, Lon, Height - поля для ввода координат в wgs84 формате.
7. Выбор вещания.
Local NTRIP - создаёт локальный кастер. Для соединения с кастером необходимо подключиться к точки доступа PH и ввести пароль/логин (1234). Если рядом с TCP установить галочку, то при выборе Local NTRIP также создается TCP сервер с указанным портом. Поле ввода TCP порта находится справа от кнопки TCP.
pidt.net:2101 - подключается к кастеру сети pidt.net:2101.
Local NTRIP|pidt.net:2101 - одновременное вещание на бесплатный кастер сети pidt.net и на локальный кастер.
RTCM to port - функция для отправки RTCM пакетов в com порт. Список с com портами находится справа от кнопки RTCM to port.
8. Диаграмма.
Satellites - при нажатии на кнопку, программа создает новое окно, в котором отображаются спутники в виде полярной диаграммы.
9. Настройка PPS и Event.
PPS - настройка используется для синхронизации времени между геодезическим приемником и внешним устройством, например, камерой. В данном случае это позволяет получить точное местоположение снимка.
Event - эта настройка активирует режим получения событий в модуле K803. При подаче сигнала на пин event в файл cnb попадает метка со временем, в которое этот сигнал пришел.
10. Выбор RTCM формата.
RTCM 3.0 - упрощённый формат сообщений, который может быть менее эффективным при передаче больших объемов данных.
RTCM 3.2 - новый формат сообщений, который поддерживает дополнительные функции, такие как передача поправок к данным о высоте и точности.
11. Статусы.
NTRIP - показывает статус работы кастера.
STATIC - показывает статус записи файла.
Lat, lon, Height - показывает текущие координаты, которое вещает устройство.
12. Вывод данных.
Serial - поле, предназначенное для отображения серийного номера устройства.
Sats - отображает количество спутников, которые принимает приемник.
Fix - указывает на текущий статус фиксированного решения.
Console - поле предназначено для вывода уведомлений о текущем состоянии работы программы, а также для отображения некоторых возможных ошибок.
Координаты прописываются в формате wgs84. Настройка координат должна производиться до нажатия кнопки Connect.
После установления соединения, программа автоматически начинает получать данные от приемника и сохраняет их в файл, который находится в разделе files и имеет название "годмесяцденьминутасекунда.cnb". Файлы статики можно скачать напрямую с WEB интерфейса PiSunRPI. Полученные данные отправляются в бесплатный NTRIP-кластер pidt.net на порт 2101, либо в локальный кластер, в зависимости от выбора пользователя.
Программа обеспечивает легкое и удобное взаимодействие с PiHatel и PiGo Lite, а также предоставляет возможность выбора способа передачи данных и настройки координат. Вы можете получить дополнительную информацию, задать вопросы, а также быть в курсе последних новостей и разработок в официальном Telegram чате PiSUN открытый код для PiGO.