For us Linux “late-adopters” it can be a daunting task? f carrying out a routine file transfer to our Raspberry Pi from our Windows PC.?However, the learning curve is not so great? There are plenty of easy tools for? achieving this feat. If you have not been introduced to Notepad++ then we will give you a quick introduction. We will also educate you on a small plugin inside of Notepad++ that allows you to run a lightweight FTP client. This client is really only suitable for your scripting files or editing configuration files but you will learn the basics of how FTP works and then have the skills to upgrade to a more robust FTP client for moving other files onto the Raspberry Pi.
- Install Notepad++ on your windows PC.?https://notepad-plus-plus.org/
- Download Putty. Link Below
- Ensure your Raspberry Pi is plugged into your network via Ethernet (cat5)
- Power up your Pi
- Ensure your LAN has DHCP enabled…most routers will have this set as default.
If you already have your raspberry pi on the network and you know its IP address then that is half the battle. Alternatively, if you have just finished installing Raspbian and you are not sure what to do from here then do not panic!! Check this article to find your IP address. https://dirtyoptics.com/find-raspberry-pi-ip-address/Method 1: Notepad++ (My Favourite!) Navigate your way to https://notepad-plus-plus.org/?and download the latest release for Notepad++. Install as per any other windows application and run it up. You will notice it looks very similar to the generic windows text editor however it does allow for some syntax highlighting. A handy little editor also if you are just starting to dive into Python and other coding languages.
Once Notepad++ is open, navigate to: Plugins / NppFTP / Show NppFTP Window. (If you do not see NppFTP you may need to go to the plugin manager and install it)]Once you have the NppFTP window open you will need to create an SFTP profile for your RPI. Please note that when SSH is enabled on your Pi it also opens up port 22 for you to utilize SFTP over the SSH connection. (Well that’s my understanding anyhow!).
- Insert Pi IP
- Port 22
- Select SFTP
- Username: pi (If left as default)
- Password: raspberry (If left as default)
After you have set it up, click close/save. Find and click the connect button in the NppFTP window and connect to the profile you just set up. After a few seconds, you should?be able to view a “windows like” file tree of your Pi. You can also double-click on any text file and edit directly in the Notepad ++ editor. When you click “save” it will automatically upload that file back to the Pi. Particularly useful when editing Python code and you want to run directly on the Pi. This can be dangerous at times if updating important configuration docs. Ensure you back them up first.
Method 2: Using SSH/Terminal and ‘Nano’ Editor If you are feeling adventurous, and want to use SSH to edit configuration files then strap yourself in. For the ‘un-initiated’, Linux commands differ heavily from the standard Win DOS commands. You will notice some similarities but for the most part, it’s a bit of a learning curve. We are not going to cover absolutely everything here but the basics for editing files whilst you are in a terminal session. (Accessing you Pi directly)
The first thing you will want to ensure is that your RPI is powered up, Plugged into your network and you know the IP address. Assuming you have installed Raspbian onto your Micro SD and inserted the SD card prior to powering up we can then begin to access the Pi via SSH. (SSH = Secure SHell). This is pretty much a standard way of accessing your Raspberry Pi if you do not have a monitor available. SSH is enabled by default as part of the Raspbian build.
You will now be required to download and open a small terminal program called ‘Putty’ (There are other, but this is the most popular) http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html run the putty.exe from your PC and input the following information.
- Hostname/IP Address – Insert your RPI IP
- Port 22
- Select SSH
Now that you have logged into your Raspberry Pi via SSH its time to start Nano. Nano is a Linux command line text editor. It is pretty simple to get running and use. It can be run in two different ways.
sudo nano
This will create a blank text entry. The correct syntax to follow is:
sudo nano /path/to/filename
If you use a path that is not valid or it cannot find the file you want to edit, then a blank entry will be created.
If you wanted to edit the Raspberry Pi config file, then the command would look like:
Now that you have accessed the config file with nano, you can go through and make your changes. Use the arrow keys to navigate through the text file, and the usual backspace/enter to move things around.
It would be wise to make a backup file of this configuration first.
Once complete, hit CTRL-X to exit, then Y to save. It will overwrite the old file with your new one.
- Download and try WinSCP to transfer images and larger files.
- Setup an FTP server on the?Raspberry Pi.
- Utilize a standalone FTP client to connect to the Raspberry Pi. (Filezilla/CuteFTP etc etc)
Being new to the Pi (and Linux) your first method saved me a lot of time compared to some other people’s ways of editing a Pi file on my PC. I love Notepad++ anyway so this was a dream. Huge thanks Dwayne!
nppFTP not available on the x64 version of Notepad++, you should edit the document to reflect this.
No worries Mike, I’ll put a note in. Out of curiosity however, if you did really need to use nppFTP, why not just run the 32 bit version? What advantages does running the x64 version have? Genuine question mate. I’m curious? cheers
This ticket would suggest x64 is gtg. But yea maybe they need a new dev.
https://github.com/ashkulz/NppFTP/issues/108
I’m honestly not sure there’s any real benefits to the x64 version in this application. However, if you’re running a 64-bit OS (like most of us probably are by now), then x64 software is the default, and we get warnings when we try to install the x86 versions of anything. In this case, I had to install both x64 and x86 versions of NPP, then manually import/install the nppFTP plugin for only the x86 version. It gave an access violation the first time and refused to show the nppFTP window, but after restarting NPP, it seemed to work ok. I’m just thinking you might want to update your excellent guide to make note of those conditions, since most Windows users will be on x64 platforms now, and many may not be familiar with how to step around those minor barriers. Your guide helped me greatly and saved me the hassle of edited directly on my Pi with sudo nano, with which I was never comfortable. Your method allows me to edit graphically, and to make backups if I choose.
However, one snag I ran into: accessing via ssh this way only gives access to the ‘mounted’ file system on the Pi, so you can’t get to files on the boot partition, so I ended up having to pull the card anyway. If you know of a way to make nppFTP show the entire folder structure, I’d love to hear about it!
Love the Notepad++ method!
Been editing through SSH + Nano for way too long!
However, Notepad++ has removed the Plugin Manager for now.
The plugin can be found here: https://sourceforge.net/projects/nppftp/
And the dll needs to be copied in the plugins/NppFTP folder in the install directory of Notepad++
It sucks that it’s been dropped off! Might have to update this article soon.
Huge whole in the document? “Once you have the NppFTP window open you will need to create an SFTP profile for your RPI.” How do I do that?
Hi Christopher, its been a while since I have written this, however, I believe that as long as SSH is enabled, SFTP is also enabled as well. Thus, just use the default credentials to logon via SFTP. (raspberry & pi) From memory, you don’t actually need to create anything. https://www.raspberrypi.org/documentation/remote-access/ssh/sftp.md Maybe I should re-visit some of these posts and update. Thanks, and let me know if you have any dramas!