PiSun Raspberry PI

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 продукта.             

                                Снимок экрана 2024-11-22 174026.png  Снимок экрана 2024-11-22 174047.png     

PiSunRPI может работать не только с одноплатными компьютерами, но и с полноценными ПК.                                      

Функционал программы:
  1. Подключение к PiHatel и его настройка.
  2. Получение данных с PiHatel  и их отправка на бесплатный кастер сети pidt.net, либо создание собственного локального кастера.
  3. Запись статических данных в удобном формате RTCM3.
  4. Запись статики в формате CNB.

  5. Разделение файлов статики по часам для удобства архивации и анализа.
  6. Вывод различных статусов работы для контроля активности программы.
  7. Визуализация положения спутников на небосводе с помощью диаграммы в полярных координатах.
  8. Настройка K803 для получения сигнала синхронизации времени и меток.

  9. Выбор формата для передачи дифференциальных поправок.

  10. Управление точками.
  11. Облачная конвертация CNB файлов в формат RINEX.
  12. Интеграция системы координат в поток поправок.

  13. Подключение Raspberry к WIFI сети.
Порядок работы:

Установить программу можно вручную, либо с помощью образа. Подробнее об этом вы можете прочитать в статье "Установка PiSunRPI ".

1. Начальные настройки.

Перед началом работы необходимо выбрать тот com порт, который подключен к PiHatel (В названии порта обычно должно быть упоминание AMA0. Если вы подключаете PiGO Lite, то название порта будет  USB0).

Connect - кнопка, при нажатии которой программа соединяется с выбранным com портом и пытается настроить устройство на выбранный вами режим работы.

Auto connection - функция автоподключения. Для использования этой функции необходимо установить ползунок Auto connection в активное положение, выбрать устройство к которому будет происходить подключение, а также установить остальные настройки по вашим требованиям. После этого необходимо нажать кнопку Save. Для проверки закройте программу и откройте заново. PiSun должен автоматически вернуться в активное состояние.

RTCM to port - функция для отправки RTCM пакетов в com порт. Список с com портами находится справа от кнопки. 

Buzzer - запускает звуковые оповещения во время работы программы.

RTCM interval - устанавливает дискретность вещания поправок RTCM.

RESET - активирует управление пином reset (Обязательно установить в активное состояние при использовании платы PiHatel с Raspberry Pi).

Max files - в поле указывается максимальное количество файлов, которое будет храниться на устройстве. По достижению этого количества, ранее записанные файлы будут автоматически удаляться.

Снимок экрана 2024-11-22 174231.png

Если вы используете плату PiHatel с Raspberry Pi, обязательно активируйте опцию RESET для обеспечения корректной работы программы!

2. Статусы.

NTRIP - показывает статус работы кастера.

STATIC - показывает статус записи файла.

Lat, lon, Height - поля показывают текущие координаты, которые вещает устройство.

Снимок экрана 2024-02-06 122457.png

3. Выбор вещания.

NTRIP Remote - подключается к кастеру сети pidt.net:2101 или другому кастеру по вашему выбору. Если режим будет активирован, но данные для подключения не указаны, система по умолчанию установит соединение с кастером по адресу pidt.net:2101.

Local NTRIP - создаёт локальный кастер. Для соединения с кастером необходимо подключиться к точки доступа PH и ввести пароль/логин (1234). Если рядом с TCP установить галочку, то при выборе Local NTRIP также создается TCP сервер с указанным портом. Поле ввода TCP порта находится справа от кнопки TCP.

TCP Remote - подключение к TCP серверу для передачи поправок.

Hardware Comport - настройка внешних UART портов К803. Более подробно о настройке читайте в статье "Дополнительные настройки".

FTP Server - включает/отключает отправку файлов статики на ваш FTP-сервер. Отправка файлов будет происходить в процессе работы программы.

Local NTRIP|pidt.net:2101 одновременное вещание на бесплатный кастер сети pidt.net и на локальный кастер.

Снимок экрана 2024-11-22 174351.png

4. Настройка PPS и Event.

PPS - настройка используется для синхронизации времени между геодезическим приемником и внешним устройством, например, лидаром. В данном случае это позволяет получить точное местоположение съёмки.

Event - эта настройка активирует режим получения событий в модуле K803. При подаче сигнала на пин event в файл cnb попадает метка со временем, в которое этот сигнал пришел.

ивент и ррс.png

5. Выбор формата для RTCM.

RTCM 3.0 - упрощённый формат сообщений для передачи поправок, который позволяет уменьшить объём передаваемых данных (используется при ограниченном канале связи или для поддержки старых приемников).

RTCM 3.2 - расширенный формат сообщений, который поддерживает передачу более точных спутниковых измерений, а также все имеющиеся спутниковые группировки.

ртсм.png

6. Интеграция системы координат в поток поправок.

Сохранённые системы координат могут быть встроены в поток трансляции поправок. Для этого нажмите на кнопку "Coord System" на главном экране, затем выберите нужную систему координат из списка. После этого рядом с кнопкой "Coord System" появится название выбранной системы. Далее нажмите кнопку "Apply" и выберите желаемую частоту трансляции.

Снимок экрана 2024-08-23 175755.png

Как добавить системы координат читайте в статье "Система координат".

7. Настройка координат.

Сoords auto - устанавливает ориентировочные координаты, которые могут быть использованы, если точность фиксированных координат не является решающим фактором.

Lat, Lon, Height - поля для ввода координат в wgs84 формате.

Points - установка сохранённых координат.

Координаты прописываются в формате wgs84. Настройка координат должна производиться до нажатия кнопки Connect.

Снимок экрана 2024-08-23 164236.png

В PiSun RPI доступна функция внесения собственных координат. Подробную инструкцию по данному процессу можно найти в статье "Добавление точек".

9. Сохранение и установка настроек.

Load - загружает последние настройки.

Save - сохраняет текущие настройки.

кнопки.png

9. Вывод данных.

Serial - поле, предназначенное для отображения серийного номера устройства.

Sats - отображает количество спутников, которые принимает приемник.

Fix - указывает на текущий статус фиксированного решения.

Console - поле предназначено для вывода уведомлений о текущем состоянии работы программы, а также для отображения некоторых возможных ошибок.

Снимок экрана 2024-08-23 164820.png

Скачать файлы

После установки соединения, программа автоматически начинает получать данные от приемника и сохраняет их в файл, который находится в разделе Files и имеет название "годмесяцденьминутасекунда.cnb". Файлы статики можно скачать и удалить напрямую с WEB интерфейса PiSunRPI. Полученные данные отправляются в бесплатный NTRIP-кластер pidt.net на порт 2101, либо в локальный кластер, в зависимости от выбора пользователя. На скриншоте красном цветом выделена кнопка для перехода в раздел Files .  

кнопка_файлы.png

Программа обеспечивает легкое и удобное взаимодействие с PiHatel и PiGo Lite, а также предоставляет возможность выбора способа передачи данных и настройки координат. Вы можете получить дополнительную информацию, задать вопросы, а также быть в курсе последних новостей и разработок в официальном Telegram чате PiSUN открытый код для PiGO.

Подключение к WI-FI сети

В разделе WiFi выполняются операции, связанные с управлением Wi-Fi сетями. Этот процесс позволяет вам подключаться к сохранённым сетям, создавать точку доступа, а также подключаться к новым доступным сетям. Прочитайте подробную инструкцию, чтобы понять, как правильно управлять сетями и настроить подключение.

photo_2025-01-09_17-23-56.jpg

Шаги для подключения по Wi-Fi:

Подготовка к настройке

Перед тем как приступить к работе обновите ПО до версии 1.9 и убедитесь, что на вашей системе работает Network Manager. Это программное обеспечение отвечает за управление Wi-Fi сетями. Если Network Manager неактивен, вы получите уведомление в консоли о том, что подключение к сетям недоступно. 

Доступ к веб-интерфейсу

Находясь в одной сети с Raspberry, откройте браузер и впишите следующее HOSTNAME.local (где HOSTNAME это имя устройства, указанное в момент настройки параметров записи образа) или впишите туда IP адрес устройства (можно посмотреть в настройках роутера). Обновите веб-интерфейс до версии 1.9.

Подключение к сети

Сетевое подключение становится доступным только после активации Wi-Fi с помощью кнопки (выделена на скриншоте). После активации PiHatel будет автоматически восстанавливать соединение с приоритетной сетью.

Приоритетной сетью считается сеть, к которой PiHatel подключился через веб-интерфейс. Если такой сети нету, то PiHatel  будет пробовать подключаться к сохранённым сетям, соответственно если нету сохранённых, активирует точку доступа.

photo_2025-03-19_18-30-05.jpg

Чтобы подключиться к сети, выполните следующие шаги:

1. Перейдите на веб-интерфейс версии 1.9 (используйте сканер для получения IP-адреса).
2. В меню интерфейса найдите и нажмите кнопку "WiFi".
3. Активируйте WiFi с помощью кнопки.
4. Из списка выберите необходимую Wi-Fi сеть и подключитесь к ней.
5. Перейдите на веб-интерфейс устройства, используя новый IP

                                photo_2025-03-19_18-47-02.jpg   photo_2025-01-09_17-30-49.jpg 

    Если у вас есть сохранённые сети, PiHatel автоматически подключится к последней использованной сети. В случае, если подключение не удастся, будет автоматически создана точка доступа “PiHatel”. Как работать в режиме точки доступа, читайте в следующем разделе.

    Точка доступа

    Если у вас нет сохранённых сетей, PiHatel создаст точку доступа. Следующие шаги помогут вам подключиться и настроить подключение:

    Система координат

    В разделе Coords System выполняются операции связанные с созданием и управлением системами координат и их параметрами. Раздел состоит из следующих блоков:

    На скриншоте красным цветом выделена кнопка для перехода в раздел Coords System.

    Снимок экрана 2024-08-23 173141.png

    Порядок работы:
    Импорт системы координат:

    Для установки системы координат, переходим в Telegram канал PRJ to QR, в строке сообщения пишем: @findprjbot МСК и выбираем нужную зону. В ответ, бот отправит QR код, содержащий информация о вашей СК и калибровке для расчета высоты. Для импорта системы координат в PiSun, нажмите на иконку, выделенную на скриншоте ниже, и загрузите фото QR кода.

    Снимок экрана 2024-11-22 174612.png

    Установка системы координат вручную:

    1. Укажите имя системы координат и введите исходный и целевой эллипсоид.

    датм1.png

    2. Настройте параметры проекции и пользовательский datum.

    датм2.png

    3. Установите расширенные параметры.

    image.png

    4. Нажмите кнопку "Create New", чтобы сохранить вашу систему координат. После сохранения, СК появится на экране. Удалить её можно по нажатию на крестик около неё.

       Снимок экрана 2024-08-23 173755.png   Снимок экрана 2024-08-23 175216.png

    5. Чтобы изменить систему координат, нажмите на иконку выбора и введите новые данные, затем сохраните изменения, нажав на кнопку "Save Changes".

    Снимок экрана 2024-08-23 175601.png

    Сохранённые системы координат могут быть встроены в поток трансляции поправок. Для этого нажмите на кнопку "Coord System" на главном экране, затем выберите нужную систему координат из списка. После этого рядом с кнопкой "Coord System" появится название выбранной системы. Далее нажмите кнопку "Apply" и выберите желаемую частоту трансляции.

    image.png

    Добавление точек

    Перейдите в меню и нажмите кнопку "GPoints".

    кнопка_точки.png

    Введите свои координаты и название точки в соответствующие поля. Нажмите кнопку "Create New", чтобы сохранить вашу точку.

    Снимок экрана 2024-08-23 171620.png

    После сохранения, точка появится на экране. Удалить точку можно по нажатию на крестик около неё.

    Снимок экрана 2024-08-23 171632.png

    Чтобы изменить точку, нажмите на иконку выбора и введите новые данные, затем сохраните изменения, нажав на кнопку "Save Changes".

    Снимок экрана 2024-08-23 171655.png

    Для синхронизации точек с другими проектами воспользуйтесь кнопкой "sync point", выделена на скриншоте ниже.

    Снимок экрана 2024-08-23 172142.png

    Сохраненные точки могут быть использованы в дальнейшем при вещании поправок: нажмите кнопку "Point" на главном экране и выберите нужную точку из списка. Не забудьте перед установкой собственных координат, отключить авто координаты. Ползунок для отключения автоматических координат выделен красным цветом на скриншоте.

    Снимок экрана 2024-08-23 164236.png

    Ваши координаты будут автоматически установлены в поля Latitude, Longitude, Height.

    Конвертер CNB файлов

    Для того чтобы начать работу с конвертором, требуется произвести процедуру авторизации. Инструкцию по этому процессу можно найти в статье  "Авторизация".

    Откройте вкладку с файлами по кнопке "Files". На скриншоте красным цветом выделена эта кнопка.

    кнопка_файлы.png

    Выберите файл для конвертации, нажав на кнопку, выделенную красным цветом. Файлы можно загружать выборочно, либо сразу несколько штук.

    Снимок экрана 2024-08-23 170140.png

    Перейдите во вкладку с конвертором по кнопке "Converter CNB" и скачайте сконвертированные файлы RINEX.

    кнопка_конвертор.png

    Во время процесса конвертации, вы сможете отслеживать статус о текущем состоянии операции. По завершению конвертации, статус изменится на "ready". Далее, для скачивания нажмите на кнопку "download" рядом с файлом. 

    конвертация2.png

    Обратите внимание! Все ранее сконвертированные файлы будут отображаться на экране, но ссылка на их скачивание активна в течении суток.

    Диаграммы

    Satellites - при нажатии на кнопку, программа создает новое окно, в котором отображаются спутники в виде полярной диаграммы. На скриншоте кнопка выделена красным цветом.

    кнопка_спутники.png

    диагрммы.png

    Авторизация в сервисах PIDT.NET

    Откройте вкладку "Login" и введите в соответствующие поля логин и пароль, предоставленные ботом PiDATA User Bot.

    кнопка_автризация.png

    Нажмите на кнопку "Login!", чтобы пройти авторизацию. 

    image.png

    После этого вы получите код от бота PiDATA User Bot, который нужно будет ввести в соответствующее поле. После успешного завершения процесса авторизации, вы увидите в консоли сообщение "Авторизация прошла успешно!" и ваше имя профиля. 

    image.png

    На скриншоте ниже отмечена иконку, предназначенная для выхода из аккаунта.

    Снимок экрана 2024-08-23 165620.png

    После прохождения авторизации будет доступна функция конвертации CNB файлов. Как преобразовать CNB файл в формат RINEX с помощью PiSun читайте в статье Конвертор CNB файлов.

    Дополнительные настройки

    Настройки UART портов К803

    На главном экране в разделе "Settings" вы можете найти настройку "Hardware Comport".

    порты.png

    COM1, СОМ2, СОМ3 - настройка внешних UART портов К803. Включите настройку, установив переключатель напротив COM1, COM2 или COM3. Выберите параметры настройки:

    Скорость порта: выберите из списка.

    Формат для RTCM: выберите из списка.

    GPS, GAL, GLO, BDS : выберите спутниковую группировку (необходимо выбрать хотя бы одну группировку).

    RTCM interval: выберите дискретность вещания поправок.

    Настройки можно устанавливать выборочно для каждого порта, либо установить одновременно для всех портов.

    Снимок экрана 2024-08-23 163848.png

    Обратите внимание! Выбор COM порта зависит от используемого приемника. Если вы используете PiGo Lite, то вы можете настроить только порт COM3 (который подключен к Bluetooth модулю), так как PiSun подключается через порт COM1 (который подключен к USB Type C). Если вы используете PiHatel и подключили его к Raspberry через разъем 40 pin, то вы можете настроить порты COM2 и COM3. Смотрите распиновку PiHatel в статье "Подключение к PiHatel".

    Обновление PiSun RPI

    Update - кнопка “Update” позволяет обновить приложение до последней версии. На скриншоте красным цветом обозначена вкладка, где располагается настройка. 

    Обновление происходит в течении 2-х минут, по окончанию, web интерфейс сам перезапуститься. В случае, если интерфейс не перезапуститься, перезагрузите страницу веб интерфейса. Во время обновления, PiSun будет недоступен. 

    При успешном обновлении над логотипом изменится номер версии. 

    Снимок экрана 2024-08-23 170417.png  Снимок экрана 2024-08-23 170338.png

    Установка PiSunRPI

    Установка PiSunRPI вручную

    Перед установкой PiSun переведите UART в режим последовательного порта. Выполните следующие шаги:

    1. Подключитесь к Raspberry и перейдите в терминал.

    2. Перейдите в утилиту для конфигурации Raspberry. Для этого введите команду:

            $ sudo raspi-config

    1. Выберите пункт меню: Interface Options.

    2. Выберите пункт меню: Serial Port.

    Затем будет выведен запрос на доступ к shell через последовательный порт. Выберите «Нет» , как показано ниже.

    Снимок экрана 2024-11-12 170142.png

    В завершение процесса вам будет предложено включить аппаратный последовательный порт. Выберите «Да».

    Снимок экрана 2024-11-12 170206.png

    После применения настроек появится уведомление о том, что изменения успешно применены. Нажмите «ОК», а затем перезагрузите Raspberry. После этой операции плата PiHatel будет без проблем работать через UART Raspberry.

    Для установки всех необходимых компонентов при помощи командной строки следует выполнить следующие команды:

    sudo apt install git python3 python3-pip python3-venv
    git clone https://gitlab.com/piall1/pisun.git
    cd pisun
    python3 -m venv venv
    venv/bin/pip3 install -r requirements.txt
    sudo bash ./scripts/install.sh

    В момент установки настраивается автозапуск при загрузке. Полезные команды для управления автозапуском программы:

    sudo systemctl status pisun.service    - посмотреть статус работы программы
    sudo systemctl restart pisun.service   - перезапустить программу
    sudo systemctl stop pisun.service       - остановить выполнение программы
    sudo systemctl disable pisun.service   - выключить автозагрузку программы
    sudo systemctl enable pisun.service    - включить автозагрузку программы

    Для запуска программы вручную из терминала, находясь в корне репозитория, выполнить следующую команду:

    sudo ./venv/bin/python3 StartPiSunRPI.py

    Далее для входа в интерфейс управления необходимо подключиться ПК или мобильным устройством к той же сети, где находится PiSunRPI. Для этого необходимо в браузере указать IP вашей Raspberry Pi или hostname.local.

    Образ PiSun RPi

    Образ с предустановленным PiSun можно скачать по ссылке Образ PiSun RPi. Протестирован на Raspberry Pi 3-4. Всё что нужно это записать образ и запустить Raspberry.

    Для записи образа следует выполнить следующие шаги:

    1. Установить программу Raspberry Pi Imager.
    2. Выбрать устройство (необязательно).

    3. Выбрать операционную систему.
      Выбрать ОС -> Использовать настраиваемый образ (Use custom) -> Путь к образу (pisun.img.xz)


      Снимок экрана 2023-12-27 140111.png


    4. Выбрать запоминающее устройство.

    5. Настроить параметры.

    Снимок экрана 2023-12-27 135923.png


    В разделе службы:
    SSH: Аутентификация по паролю.

    Снимок экрана 2023-12-27 135947.png

    Далее нажмите кнопку "Записать" и дождитесь окончания процесса, программа уведомит вас, когда флешку можно вытаскивать. Вставьте флеш-накопитель в Raspberry Pi и подключите питание.

    Не пугайтесь, первый запуск займет какое-то время (2-5 минут), устройство перезагрузится ещё раз и после этого можно подключаться к интерфейсу управления.

    Находясь в одной сети с Raspberry, откройте браузер и впишите следующее HOSTNAME.local (где HOSTNAME это имя устройства, указанное в момент настройки параметров записи образа) или впишите туда IP адрес устройства (можно посмотреть в настройках роутера)

    Ознакомиться с возможностями программы можно в статье "PiSun Raspberry PI".

    Установка частоты процессора для Raspberry

    1. Зайти по ssh на raspberry.

    2. Открыть файл /boot/config.txt в удобном для вас текстовом редакторе. Пример:
      sudo nano /boot/config.txt
      ВАЖНО! Редактировать файл нужно с правами root.

    3. В конец файла добавить строку arm_freq=800.

    4. Сохранить файл.

    5. Чтобы проверить, были ли сохранены внесенные изменения, следует выполнить следующую команду:
      cat /boot/config.txt
      В выводе должна быть ваша добавленная строка.

    6. Перезагрузить raspberry.

    7. После перезагрузки, снова зайдите по ssh на raspberry и выполните следующую команду:
      sudo cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq
      Вы должны увидеть 800000, это означает что вы сделали всё правильно!