In my introduction to Mac world, I have also been experimenting with a Raspberry Pi and the Raspbian OS. The Raspberry Pi is a neat device for anyone to learn on, and it tricks you into forcing yourself into learning how to use the command line rather than relying on a GUI interface. It also has the advantage of the entire OS being on an SD card, meaning if I screw up something too badly I can simply format the card and start over in under 15 minutes.
Anyway, today I got a Gertboard for my Pi. A Gertboard is an add-on GPIO expansion board for the Raspberry Pi that comes with lots of fun components such as LEDs, a motor controller, and an Atmel AVR microcontroller. Of course I was excited an wanted to hook it up right away and make it start doing stuff (like lighting up the LED’s – yeah, I am still on a GPIO beginner level). I got it set up and was to start testing by downloading some sample code to the Pi. I had downloaded the sample code onto my PC, but I then realized that I did not know how to get the files from my PC to the Pi.
It turns out, getting files from a PC or Mac to a Pi (or other Linux-based OS) is not so bad if you use a GUI sftp client or scp command line. Simply us a file transfer client to get the files from one computer to the other. Below are instructions on how to transfer files from one computer onto a Raspberry Pi.
One note, you will need to know the IP address of your Pi (or Linux computer) before starting. To get its IP address, in the command window type in /sbin/ifconfig.
Transfer a File from Linux/Mac to a Raspberry Pi
Open up a Terminal window. Type in the following command:
scp /destination/filename [email protected]:destination/path
Alternatively, you can use your Pi’s IP address to navigate to the Pi/Linux box, so for instance would type in:
scp /destination/filename[email protected]:destination/path (substituting raspberrypi.local for your device’s IP address)
For example, say I want to transfer a document that is in the Documents folder on my Mac, called “filetransfertest”, into a folder on my Raspberry Pi’s desktop that is called “alifolder”. Here is what I would type:
scp ~/Documents/filetransfertest.rtf [email protected]:~Destkop/alifolder
Hit Enter when done with the command line. You will be prompted to enter in your Pi’s password. Your file will then be transferred.
One note – Linux does not like file names to have spaces between them. So, what if you have a file that has a space in the name? You can either rename the file on your Mac to have no spaces between words, or you can comment out the space. Here is how you would comment out the space on a file named “Test File.rtf”:
scp ~/Documents/Test\ File.rtf [email protected]:~/Desktop/alifolder
You essentially add a \ character before the space. (If you are doing this via SSH, you will want to add \\\ before the space, or in other words, you will need to comment out the comment first).
Transfer a File from a Windows PC to a Raspberry Pi
Start by downloading FileZilla onto your Windows PC (other file transfer clients work too, but I am using FileZilla as it is a free download and easy to use).
Open up FileZilla. Fill in the following fields:
Host: sftp://XXX.XXX.XXX.XXX (your IP address here)
Username: (the username of your Pi )
Password: (the password of your Pi)
You will then see a list of files located in the below boxes. The files in the leftmost pane are the files/directories on your local PC. The files on the rightmost pane are the files/directories on your Pi. Locate the file you want transferred on the left/PC side, then drag and drop it into the desired directory on the right/Pi side.
That is it – the file should now be on your Pi.
Transfer a File from a Mac to a Raspberry Pi
Start by downloading Cyberduck onto your Mac (also available through the App Store). Other transfer clients work too, but I am using Cyberduck as it is a free download and easy to use.
Open up Cyberduck and click on File – Open Connection.
Choose SFTP from the dropdown box, then fill out the fields as follows:
Server: (your IP address)
Username: (the username of your Pi)
Password: (the password of your Pi)
Uncheck the box for Anonymous Login.
A box will come up that shows the files/directories currently on your Pi. Locate the file you want to transfer on your Mac, then drag and drop it into the desired directory in the SFTP Cyberduck window. Done!