Hi there!
Let me introduce you my small Bird OSD project!
Introduction
Bird OSD allows you to run OSD straight on Raspberry main display.
Since raspberry has Video Composite Output, you can then cast raspberrian screen just like a regular FPV signal over FPV transmitter module!
It is a service, it uses raspivid app to grab camera image, and it uses own “bird-osd” GLES application to apply overlay with sensor data on it.
So finally you should see something like this:
(GPS was broken, sorry, still can’t demonstrate in real fly)
Another pic from FPV goggles:
Prerequirements
- RPI device with sensors board (navio2 is ok)
- Raspberry Camera connected to it.
- Something sending MAVLink data to
127.0.0.1:14550
(running ardupilot, arducopter, whatever)
How to install
Download .deb package onto your raspberry device:
$ wget http://ppa.dyatkovskiy.com/raspbian/pool/main/b/bird-osd/bird-osd_1.0.0_armhf.deb
And then install it:
$ sudo dpkg -i bird-osd_1.0.0_armhf.deb
Then you should target MAVLink channel to 127.0.0.1:14550
E.g. for arducopter:
$ sudo nano /etc/default/arducopter
Ensure you have string like this:
TELEM1="-A udp:127.0.0.1:14550"
Or like this:
TELEM2="-C udp:127.0.0.1:14550"
In case you modified /etc/default/arducopter config, then you should restart service:
$ sudo systemctl restart arducopter
Finally you should start bird-osd service with this command:
sudo systemctl start bird-osd
Then on monitor connected to your raspberry you should see whatever your camera sees + overlay with sensors data!
It is still very first version:
-
I only tested it on RPI 3, I added dependency to raspivid and to bash:
libraspberrypi-bin (>= 1.20180417-1), bash (>= 4.4-5)
Perhaps dependency versions are higher then it really needs, just had no opportunity to test it on another envs.
-
Do not to blame me guys for not opening sources. There are such a mess, need to sort them first.
-
It still consumes too much of CPU time. After holidays I’ll work a bit on optimizations. It uses text atlas, but still builds text layout dynamically. It should render every static text to texture; per profiling survey results, it should improve performance on 30-40% (since most of text labels are static).
-
Any proposals are welcome.
What else
If you want to enable bird-osd on boot, you should run:
$ sudo systemctl enable bird-osd
This command disables service:
$ sudo systemctl disable bird-osd
And this command removes bird-osd from you raspberry device:
$ dpkg -P bird-osd
Cheers!