Задача
Разработать программное обеспечение для платы Raspberry Pi, работающей автономно, которое обеспечивает циклический захват изображения с камеры и его передачу по радиоканалу LoRa. Используемая платформа: Raspberry Pi (черная версия на процессоре 64/4 ядра - не указана конкретная модель, исполнитель может уточнить по каналу). Так к плате подключается LoRa HAT с контроллером SX1262, работающий на частоте 868 МГц.
Технологии и стек
- Язык программирования: Python
- Библиотеки для работы с GPIO/inter-integrated circuit
- Библиотека для управления LoRA модулем (работа с SX1262)
- Библиотека для захвата изображения с камеры (picamera / OpenCV)
- (опционально) RPi.GPIO / pigpio для управления питанием модуля
Основные требования к функциональности:
- По команде или периодически: делать фото с подключенной камеры
- Подготовка файла к фрагментированной передаче: разделение массива JPEG на пакеты, добавлять метки очередности и количество
- Передать подготовленный массив пакетов через LoRa на принимающую сторону (пакетный режим)
- Логирование успешности отправки и ошибок в локальный файл
- Приём подтверждения с приёмной станции (простая схема контроль суммы / ACK) с повторной пересылкой потерянных частей.
Дополнительные детали (по согласованию)
- Возможность управления скоростью передачи (спрединг фактор / нужен ли усредненный режим)
- Опции сжатия/осташейса фрейма перед передачей.
- Работа на химических источниках с экономным питанием: модуль выключать в паузе.
Инструментарий заказчика
Исполнителю будет предоставлена аналоговая/прототипная плата (Raspberry Pi с LoRaHat) и полное описание контактов Wiring на HAT, включая включение и SPI координаты. В проекте есть точная карта выбора CS и IRQ.
Проект к лабораторному деплою и не требует разработки UI - всё исполняется в связке «сырая unut for action». После завершения - требуется документация выполнения команд с содержимым из тестов пустого образа.
Ожидаемый результат: скрипт(ы) Python единого типа (main.py + библиотечный модуль-канал USB/lora) с инструкцией и схемой подключения.