So far I’m able to run FULL version of Ubuntu linux on the Parrot Bebop. Using roughly these steps:
Download Ubuntu for armhf cloud image from here: https://cloud-images.ubuntu.com/trusty/current/
Filename is: ubuntu-14.04-server-cloudimg-armhf-root.tar
Copy it to the parrot filesystem by ftp.
If you are connected by wifi:
ftp://192.168.42.1/
If you are connected by USB cable:
ftp://192.168.43.1/
Create a new directory and place it there.
Press the OnOff button on parrot 4 times.
Login to parrot Bebop by telnet:
telnet 192.168.42.1 or 192.168.43.1
inside parrot do:
kk
/usr/bin/shpoison_cli --start_debug --auto_retry
Unpack the previously placed file using this command:
cd /data/ftp/internal_000/ubuntu/
tar xJvf ./ubuntu-14.04-server-cloudimg-armhf-root.tar.xz
Start the ubuntu chroot system using these commands:
cd /data/ftp/internal_000/ubuntu/
mount -t proc proc proc/
mount --rbind /sys sys/
mount --rbind /dev dev/
chroot /data/ftp/internal_000/ubuntu/
Enjoy using ubuntu Linux on your Parrot drone!
Additional commands running the gstreamer etc from inside the Bebop:
cat /etc/apt/sources.list
#default is :
> deb http://192.168.42.66:3142/ports.ubuntu.com/ubuntu-ports trusty main restricted universe multiverse
> deb http://192.168.42.66:3142/ports.ubuntu.com/ubuntu-ports trusty-updates main restricted universe multiverse
> deb http://192.168.42.66:3142/ports.ubuntu.com/ubuntu-ports trusty-backports main restricted universe multiverse
> deb http://192.168.42.66:3142/ports.ubuntu.com/ubuntu-ports trusty-security main restricted universe multiverse
apt update
apt install [...packages..]
apt-get install qv4l2 # for testing the camera capabillities
qv4l2 /dev/video0 &
qv4l2 /dev/video1 &
v4l2-ctl --all -d /dev/video1
mplayer tv:// -nosound -v -tv driver=v4l2:width=672:height=600:input=0:device=/dev/video1:fps=20:outfmt=rgb24
mencoder tv:// -nosound -v -tv driver=v4l2:width=320:height=240:input=0:device=/dev/video0:outfmt=RGB32 -ovc lavc vcodec=mpeg4:turbo -o /home/test.mp4
gst-launch -v v4l2src device=/dev/video0 ! video/x-raw-yuv,format=\(fourcc\)UYVY,width=320,height=240 ! ffmpegcolorspace ! autovideosink
gst-launch -v v4l2src device=/dev/video0 ! video/x-raw-yuv,framerate=30/1,width=320,height=240 ! ffmpegcolorspace ! autovideosink
gst-launch -v v4l2src device=/dev/video1 ! video/x-raw-yuv,framerate=30/1,width=1344,height=2112 ! ffmpegcolorspace ! autovideosink
#streaming:
#on bebop = sender:
gst-launch v4l2src device=/dev/video0 ! 'video/x-raw-yuv,width=320,height=240' ! ffmpegcolorspace ! smokeenc qmin=1 qmax=50 ! udpsink port=5000 host=192.168.42.66 sync=false
#on linux = receiver:
gst-launch-0.10 udpsrc port=5000 ! smokedec ! xvimagesink
#streaming to QGroundControl on the tablet, which address is 192.168.42.66, using the bottom camera:
gst-launch -v v4l2src device=/dev/video0 ! video/x-raw-yuv,framerate=30/1,width=320,height=240 ! x264enc pass=qual quantizer=20 tune=zerolatency ! rtph264pay ! udpsink host=192.168.42.66 port=5600
#streaming from front camera is clearly missing bayer2rgb filter:
gst-launch -v v4l2src device=/dev/video1 ! video/x-raw-yuv,framerate=30/1,width=672,height=600 ! x264enc pass=qual quantizer=20 tune=zerolatency ! rtph264pay ! udpsink host=192.168.42.66 port=5600
#connecting by wifi to external addresses:
iwlist scanning| grep ESSID
wpa_passphrase 'MyWifi' 'PASSWORD' > /etc/wpa_supplicant.conf
cat /etc/wpa_supplicant.conf
wpa_supplicant -B -D wext -i eth0 -c /etc/wpa_supplicant.conf
iwconfig
dhclient eth0 -r -v
Is there a way to do debayer using the gstreamer pipeline?