User Tools

Site Tools


projects:crazyflie:binaries:raspberrypi

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
projects:crazyflie:binaries:raspberrypi [2013-07-06 14:51]
macke
projects:crazyflie:binaries:raspberrypi [2020-05-12 14:26] (current)
kimberly
Line 1: Line 1:
 +<WRAP center round important 60%>
 +This page has deprecated and moved to the new documentation framework of the main Bitcraze website. Please go to [[https://www.bitcraze.io/documentation/system/]]
 +</WRAP>
 +
 ====== Bitcraze Raspberry Pi SD-card image ====== ====== Bitcraze Raspberry Pi SD-card image ======
-In order to make it easy for users that have a Raspberry Pi to test out our headless client we prepared an SD-card image that is ready to use out of the box. The image is based on the [[http://www.raspbian.org/| Raspbian]] distribution, more specifically the Wheezey version that can be downloaded [[http://downloads.raspberrypi.org/images/raspbian/2013-05-25-wheezy-raspbian/2013-05-25-wheezy-raspbian.zip.torrent|from this torrent]].+In order to make it easy for users that have a Raspberry Pi to test out our headless client we prepared an SD-card image that is ready to use out of the box. The image is based on the [[http://www.raspbian.org/| Raspbian]] distribution. The image version 2015.3 is based on Raspbian version 2015-02-16 available on the [[http://www.raspberrypi.org/downloads/|RaspberryPi website]].
  
-We haven't removed anything from the image, just added our own stuff. So you can still log in and used the Raspberry Pi as you would with the Raspbian Wheezy image, but as an added feature you can also use our stuff.+We haven't removed anything from the image, just added our own stuff. So you can still log in and used the Raspberry Pi as you would with the Raspbian image, but as an added feature you can also use our stuff. If you would like to re-create the SD-image with your own Wheezy image then [[projects:crazyflie:pc_utils:raspberrypi|have a look at what we did]].
  
-====== What did we change ====== +The changes made to the SD-card is mostly based of the contributed instructions from the [[misc:hacks:rasberrypi|hacks section]].
-Here's a step by step guide to what we added. So if you don't want to use our image, you can get another one and set it up yourself. Most of this stuff is based of the contributed instructions from the [[projects:crazyflie:hacks:rasberrypi|hacks section]].+
  
-Before you get started with this you need a few things+====== Download ====== 
-  * An SD-card that's at least 2GB +The SD-card image can be downloaded here (version 2015.3 and onward is compatible with Raspberrypi 2)
-  * An ethernet cable to connect the Pi to your network +  * Bitcraze Raspbian image 2015.3 ([[http://files.bitcraze.se/dl/cfpi-2015.3.7z.torrent|torrent]]) ([[http://files.bitcraze.se/dl/cfpi-2015.3.7z|direct download]]) ([[https://mega.co.nz/#!uQYSFIDJ!6PwIwxM315B99ejveo_6zlTVWk_oYkMOW0fKQLQ74A0|mega]]) 
-  * A power cord to power it +  * Bitcraze Raspbian image 0.3 ([[http://files.bitcraze.se/dl/cfpi-0_3.7z.torrent|torrent]]) ([[http://files.bitcraze.se/dl/cfpi-0_3.7z|direct download]]) 
-  * An SD-card reader for a computer+  * Bitcraze Raspbian image 0.2 ([[http://tracker.bitcraze.se/torrents/cfpi-0_2.zip.torrent|torrent]]) ([[https://mega.co.nz/#!fVoTBIAQ!Akk80haC--oZjklJxCzCaS_nnlg8xVQhUcczPviaawA|mega]]) 
 +  * Bitcraze Raspbian image 0.1 ([[http://tracker.bitcraze.se/torrents/cfpi-0_1.zip.torrent|torrent]]) ([[https://mega.co.nz/#!HJpH2KDJ!bY-EdGtyxIRzOUu6xNVWnid_cco5wS-IQ6ELfc5Y1Q8|mega]])
  
-First of all you have to write the image to the SD-card. There are good instructions on how to do this [[http://elinux.org/RPi_Easy_SD_Card_Setup#Create_your_own|here]]. 
  
-Now plug the SD-card into the Piattach all the cables and SSH to it. Log in user the username pi and the password raspberry and accept the fingerprint.+<WRAP center round info > 
 +//**Note**// 
 +Using Torrent is advisedwe have added webseed so it is faster than direct download and guarantee the file integrity. 
 +</WRAP>
  
-Most of these commands require root user, so switch to root: +====== Installing in an existing Raspbian sdcard ======
-<code> +
-sudo su +
-</code>+
  
-Let's create user named bitcraze with the password crazyflie and add it to all the user groups. +If you already have running raspbian system no need to download the image, connect your raspberrypi and run the following command to install all packages and dependencies. We are generating the official that way. You must be logged with the 'pi' user to launch the command:
-<code> +
-useradd bitcraze -m -p crazyflie -G adm,dialout,cdrom,sudo,audio,video,plugdev,games,users,netdev,input +
-</code>+
  
-Now install everything that we might need fro running the Crazyradio, controllers and the headless client. 
 <code> <code>
-apt-get -y install mercurial python2.7 python-usb python-pygame xboxdrv+curl https://raw.githubusercontent.com/bitcraze/bitcraze-raspberry-pi/2015.3/bitcraze_raspberrypi.sh | sh
 </code> </code>
  
-The shebang in the cfheadless client uses /usr/bin/pyton2 which isn't available in the original image so create a symbolic link for it. 
-<code> 
-cd /usr/bin 
-ln -s python2.7 python2 
-</code> 
  
-In order to be able to use the Raspberry Pi without having any keyboard/screen let's add a udev rule that starts up the client when the Crazyflie is inserted and kills it when it's removed. We should also have a rule that allows us to use the Crazyradio bootloader with out being root. Create the file and edit it:+====== SD-image info ======
 <code> <code>
-touch /etc/udev/rules.d/99-crazyflie.rules +Size: 4 GB 
-nano /etc/udev/rules.d/99-crazyflie.rules+User: pi 
 +Pass: raspberry
 </code> </code>
  
-Put the following text in the file: +(version before 2015.3 had bitcraze/crazyflie as username/password)
-<code> +
-SUBSYSTEM=="usb", ATTRS{idVendor}=="1915", ATTRS{idProduct}=="7777", MODE=="0664", GROUP="plugdev", RUN+="/root/bin/cfheadless" +
-SUBSYSTEM=="usb", ATTRS{idVendor}=="1915", ATTRS{idProduct}=="0101", MODE=="0664", GROUP="plugdev" +
-</code>+
  
-<code> +====== What's added to the image ====== 
-touch /etc/udev/rules.d/99-xboxdrv.rules +There's a list of what's added: 
-nano /etc/udev/rules.d/99-xboxdrv.rules +  * UDEV rules for access to the Crazyradio and NRF bootloader 
-</code>+  * crazyflie-pc-client pre-cloned at latest stable version 
 +  * pyusb 
 +  * UDEV rules to automatically launch the cfheadless client when Crazyradio is plugged in 
 +  * Driver for the Xbox 360 wireless controller and automatic start of the utilities
  
-Add xbox: +====== Creating the SD-card ====== 
-<code> +First of all you have to write the image to the SD-card. There are good instructions on how to do this [[http://elinux.org/RPi_Easy_SD_Card_Setup#Create_your_own|here]].
-SUBSYSTEM=="usb", ATTRS{idVendor}=="045e", ATTRS{idProduct}=="0719", GROUP="plugdev", RUN+="/root/bin/xbox360" +
-</code>+
  
-Now we should create the file used to launch/kill the cfheadless clientCreate the file and edit it: +====== How to use the SD-card image ====== 
-<code> +First of all you need to set up what controller and link settings you are usingThis is done by editing the two files in the folder /home/pi named controller.conf and link.conf. They should only contain one row each.
-mkdir /root/bin/ +
-touch /root/bin/cfheadless +
-chmod +x /root/bin/cfheadless +
-nano /root/bin/cfheadless +
-</code>+
  
-And add the following text: +To fly first insert the USB controller, then power on the Crazyflie and lastly insert the CrazyradioThis will start the cfheadless client and connect to the CrazyflieIn a few seconds you should be ready to fly.
-<code> +
-#!/bin/sh +
-if test "$ACTION" = "add" +
-then +
-        /usr/bin/sudo -u bitcraze /home/bitcraze/start_cfheadless & +
-        echo $! > /tmp/cfheadless.pid +
-else +
-        killall -9 cfheadless +
-        if test -f /tmp/cfheadless.pid +
-        then +
-                PID=`cat /tmp/cfheadless.pid` +
-                kill -9 $PID +
-        fi +
-fi +
-</code>+
  
-<code> +To quit either power off the Crazyflie or pull-out the Crazyradio. 
-touch /root/bin/xbox360 + 
-chmod +x /root/bin/xbox360 +In order to restart flying you have to pull-out the Crazyradio dongle and insert it again. 
-nano /root/bin/xbox360 + 
-</code>+====== Troubleshooting ====== 
 +Try to pull-out and insert the Crazyradio. Then wait up to 10 seconds before you try to control the Crazyflie. 
 + 
 +If you see the LED on the Crazyradio blinking green, then it's connected. If it's blinking red it means that it cannot connect to the Crazyflie.
  
-Also create the script to start/stop the xboxdrv for the wireless xbox360 controller.+Check logfile /tmp/cfheadless.log for messages 
 + 
 +====== FAQ ====== 
 +===== How do I get the RedOctane Xbox360 controller to work ===== 
 +You will have to edit the ''/root/bin/xbox'' file to contain the following to get the RedOctaine xbox360 (1430:f801) controller to work:
 <code> <code>
 #!/bin/sh #!/bin/sh
 if test "$ACTION" = "add" if test "$ACTION" = "add"
 then then
-        /usr/bin/xboxdrv &+/usr/bin/xboxdrv --device-by-id 1430:f801 --type xbox360 --axismap X2=X1,Y2=Y1,X1=X2,Y1=Y2 &
 else else
-        killall -9 xboxdrv+killall -9 xboxdrv
 fi fi
 </code> </code>
- +{{tag>update_on_pi_release}}
-..... +
- +
-Now switch to the newly created bitcraze user by first exiting switching back to the pi user and then bitcraze: +
-<code> +
-exit +
-sudo su bitcraze +
-</code> +
- +
-<code> +
-cd +
-mkdir projects +
-cd projects +
-hg clone https://bitbucket.org/bitcraze/crazyflie-pc-client +
-hg clone https://bitbucket.org/bitcraze/crazyradio-firmware +
-</code> +
- +
-<code> +
-echo PS3_Mode_1 > /home/bitcraze/controller.conf +
-echo radio://0/10/250K > /home/bitcraze/link.conf +
-</code> +
- +
-<code> +
-touch start_cfheadless +
-chmod +x start_cfheadless +
-nano start_cfheadless +
-</code> +
- +
-<code> +
-/home/bitcraze/projects/crazyflie-pc-client/bin/cfheadless -u `cat /home/bitcraze/link.conf` -i `cat /home/bitcraze/controller.conf` > /tmp/cfheadless.log 2>&+
-</code> +
- +
-====== How to ======+
projects/crazyflie/binaries/raspberrypi.1373115108.txt.gz · Last modified: 2015-07-15 16:30 (external edit)