Передача фото с Raspberry Pi по УКВ
Схема передачи файлов по УКВ через Houston Telnet Client
Houston Telnet Client подключается к Houston Server (адрес 0x1) по протоколу TCP/IP, откуда команды через наземный УКВ по радиоканалу передаются на бортовое УКВ по протоколу AX.25. С бортового УКВ по шине CAN команды поступают на Raspberry Pi, где бортовой Houston Server преобразует их из CAN в TCP/IP. Дальше команды проходят через утилиту socat, которая передает поток cимволов из TCP/IP в терминал bash. В результате выполнения команд файлы с Raspberry Pi передаются по УКВ и сохраняются в соответствующей папке Houston Telnet Client (рисунок 1):

Рисунок 1. Схема передачи файлов по УКВ
Houston Telnet Client
Установите программу Houston Telnet Client со страницы Необходимое ПО
Запустите программу Houston Server, которая используется Houston Telnet Client для связи с наземным УКВ приемопередатчиком.
Подключите наземный УКВ приемопередатчик к компьютеру по USB, откройте Диспетчер устройств Windows и убедитесь, что новое устройство появилось в разделе Порты СОМ и LPT (рисунок 2):

Рисунок 2. Выбор устройства в Диспетчере устройств
Запустите программу Houston Telnet Client, статус TCP/IP-соединения будет отображаться в строке состояния (рисунок 3):

Рисунок 3. Статус TCP/IP-соединения
Описание кнопок:
ls - вывод информации о файлах и каталогах.
Флажок CR LF устанавливает символ конца строки (0x0A, если не отмечено, и 0x0D 0x0A, если отмечено).
Receive File - запускает передачу файла из бортовой папки в наземную. В текстовом поле справа указывается имя файла из текущего каталога.
Флажок Ymodem переключает на протокол Ymodem (по умолчанию используется протокол Zmodem)
осторожноВнимание! Для загрузки или скачки файлов с бортового УКВ используется только Ymodem. Для загрузки фото c Raspberry Pi лучше использовать Zmodem, так как он позволяет возобновить прерванную передачу данных (для этого нужно установить флажок Resume и нажать на кнопку скачивания файла).
Флажок Overwrite указывает получателю перезаписать локальный файл с таким же именем.
Флажок Resume позволяет перейти в режим возобновления, если предыдущая передача файла была прервана.
Send File - запускает передачу файла из наземной папки в бортовую папку.
Cancel - отправляет символ завершения отправителю и отменяет локальную процедуру приема.
Break - отправляет символ завершения отправителю (используется, когда отправитель не доступен после передачи файла).
End line - сбрасывает входной буфер оболочки и получает приглашение оболочки.
List Photos (команда ls -l) - показывает список файлов фотографий в каталоге фотографий.
Receive Photo - запускает передачу фотографии с номером, указанным в текстовом поле слева, из бортовой папки в наземную.
Receive Thumb - запускает передачу превью фотографии с номером, указанным в текстовом поле слева, из бортовой папки в наземную.
Remove - удаляет фотографию и ее миниатюру, с указанным номером, из бортового каталога фотографий / миниатюр.
Clear - очищает текстовую область журнала.
Shot! - сделать фото (создает файл фото и файл превью).
Settings - открывает окно настроек.
Окно настройки позволяет настроить следующие параметры (рисунок 4):
- Telnet port – порт подключения Houston Server, IP:порт (60015 – для работы с Raspberry Pi, 60002 – для работы с бортовым УКВ).
- Zmodem – размер окна, тайм-аут при приеме, размер блока передачи.
- Remote paths – удаленные (бортовые) каталоги фотографий, расширения файлов фотографий, скрипт для создания фотоснимка.
Сценарий по умолчанию shot.sh требуется 2 параметра: номер камеры и формат выходного файла. Например, для фотографии с бортовой камеры Raspberry Pi используется следующее значение параметра Shot script:
/home/pi/scripts/shot.sh 0 jpg
Локальные пути – локальные (наземные) каталоги фотографий и каталоги для других загрузок файлов.

Рисунок 4. Окно настроек Houston Telnet Client
Загрузка фото по УКВ
Перед началом загрузки необходимо убедиться, что имена скачиваемых файлов не совпадают с именами ранее скачанных файлов, которые лежат в папке Houston Telnet Client, т.к. при совпадении имен будет выдана ошибка и скачивание завершиться. Нужно либо удалить файл из папки Houston Telnet Client или нажать флажок Overwrite для записи нового файла поверх существующего Последовательность действий по загрузке фотографий с бортового Raspberry Pi на компьютер через УКВ.
- Убедиться, что в строке состояния главного окна отображается состояние Server: connected. Если нет, то проверить параметр Telnet port в настройках Settings и подключение к Houston Server (рисунок 5):

Рисунок 5. Состояние подключения
- Нажать кнопку «End line». Приглашение оболочки должно появиться в текстовом поле терминала (рисунок 6):

Рисунок 6. Текстовое поле терминала с приглашением
- Нажать кнопку List Photos. Список файлов фотографий должен появиться в текстовом поле терминала. Предположим, что имена файлов соответствуют следующему шаблону: #.jpg (рисунок 7):

Рисунок 7. Список фотографий
- Ввести номер фотографии в текстовое поле справа от кнопки List Photos. Затем нажать кнопку Receive Thumbs для загрузки миниатюр или Receive Photo для загрузки фотографий. В начале загрузки окно Houston Telnet Client выглядит следующим образом (рисунок 8):
![]()
Рисунок 8. Начало загрузки миниатюр фотографий
- Дождаться завершения передачи файла. Приблизительная скорость загрузки и индикатор выполнения отображаются в строке состояния. По окончании передачи окно Houston Telnet Client выглядит следующим образом (в журнале появляется сообщение («File receive ends»)) (рисунок 9):
![]()
Рисунок 9. Окончание передачи миниатюр
- Нажать кнопку «End line». Приглашение оболочки должно появиться в текстовом поле терминала (рисунок 10):

Рисунок 10. Приглашение оболочки в текстовом поле терминала
Скачанные файлы будут лежать в соответствующих папках приложения Houston Telnet Client, фотографии в папке photos, а миниатюры в папке thumbs.