СПб, Программист, проект Arduino+Raspberry_Pi(Debian)+WebRTC
Приветствую! Есть задача для решения.
Укрупненно это должно выглядеть следующим образом.
Бюджет проекта 30 т. деревянных... Если кто-то может собрать быстро, но дороже - можно обсудить.
Машинка с управлением: вперед, назад, налево-направо (управление реализуется замыканием соответствующих реле). Также потребуется вращение двумя сервоприводами, замыкание контактов одного слаботочного ключа/реле. Данная часть построена на Arduino + shields.
Arduino соединена с Raspberry (Raspberry pi 3 b+) через USB / SPI / I2C /…(протокол не так важен, как минимальная задержка передачи управляющих команд от клиента к Arduino). Raspberry подключена к сети интернет через встроенный wifi-адаптер. К Raspberry подключена камера (Raspberry Pi Camera CSI).
Видеопоток от камеры в режиме «реального времени» передается внешнему клиенту с минимальной задержкой (UV4L/GStreamer/netcat/WebRTC/RTMP/…), а со стороны клиента передаются управляющие сигналы для Arduino.
Клиент находится не в локальной сети, поэтому доступ осуществляется через проброс портов в роутере (к которому подключена raspberry) и использование статического IP.
Со стороны клиента: видео-трансляция и управление осуществляется или через браузер, или через отдельное приложение (на данный момент можно ограничиться ОС Windows). Управляющие сигналы считываются с клавиатуры и от «мышки». К дизайну клиентской оболочки особых требований нет – это может быть просто окно с видео-трансляцией (и возможностью полноэкранного режима).
Самостоятельно протестирована работоспособность видео-трансляции во внешнюю сеть: https://www.linux-projects.org/uv4l/ На данный момент на Raspberry я поднял сервак uv4l и транслирую эмуляцию с HDMI-выхода малины + транслируются нажатия клавиш от удаленного компа в строну малины. А так же доступна трансляция с камеры, которая смотрит на светодиод, подключенный к Raspberry: GPIO-LED-GND.
Буду рад откликам/рекомендациям/советам.