【工業樹莓派】2種用FTP服務器傳輸文件的方法一次看!

▍關於FTP

FTP服務器(File Transfer Protocol Server)是在互聯網上提供文件存儲和訪問服務的計算機,它們依照FTP協議提供服務。FTP是File Transfer Protocol,顧名思義,就是專門用來傳輸文件的協議。簡單地說,支持FTP協議的服務器就是FTP服務器。

FTP用於在兩台計算機之間傳輸文件,是Internet中應用非常廣泛的服務之一。它可根據實際需要設置各用戶的使用權限,同時還具有跨平台的特性,即在UNIX、Linux和Windows等操作系統中都可實現FTP客戶端和服務器,相互之間可跨平台進行文件傳輸。因此,FTP服務是網路中經常採用的資源共享方式之一。特點如下:

(1)FTP使用兩個平行連接:控制連接數據連接。控制連接在兩主機間傳送控制命令,如用戶身份、口令、改變目錄命令等。數據連接只用於傳送數據。

(2)在一個會話期間,FTP服務器必須維持用戶狀態,也就是說,和某一個用戶的控制連接不能斷開。另外,當用戶在目錄樹中活動時,服務器必須追蹤用戶的當前目錄,這樣,FTP就限制了並髮用戶數量。

(3)FTP支持文件沿任意方向傳輸。當用戶與一遠程計算機建立連接後,用戶可以獲得一個遠程文件也可以將一本地文件傳輸至遠程設備。

▍實現方法

在工業樹莓派上,有時可能會因為網路問題,無法從網路上拉取資源使用,但透過FTP服務器的方式,就可以實現從PC端下載資源,再傳輸到工業樹莓派上。

這裡我們介紹兩種方式基於FTP的實現方式,具體如下所示:

方法一:安裝FTP服務器

1. 直接嘗試使用sudo apt-get install vsftpd命令安裝,若成功,則切換到root權限然後跳到第7步;否則,繼續往下看第2步。

2.若失敗提示找不到包,如下圖,則需要換源

3.sudo su 切換到root權限(後面操作默認有root權限)。

4.用nano編輯(後面編輯預設用nano) /etc/apt/sources.list 文件,刪除原文件所有內容,用以下內容取代:

deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main non-free contrib rpi

deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main non-free contrib rpi

(修改完成後使用的nano指令:【退出】Ctrl+X;【確認保存】Y;【繼續】回車鍵)

5.編輯/etc/apt/sources.list.d/raspi.list 文件,刪除原文件所有內容,用以下內容取代:

deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui

6.編輯完之後執行apt-get update,速度較慢,具體速度取決於網路環境,若順利執行則跳到第6步

7. 若update超時失敗或者時間過長,則考慮Ctrl+C終止update,然後進入到/etc/apt/sources.list.d/ 目錄,修改以下兩個文件,在每行前面加個#號,臨時註釋掉,結束後再按需刪掉#號:

revpi.list  

teamviewer-revpi.list

然後再次執行apt-get update

8. 重新執行apt-get install vsftpd,並耐心等待。

9. 編輯/etc/vsftpd.conf ,找到下面一行,把前面的#號去掉

#write_enable=YES

10. 運行vsftpd,透過以下命令

service vsftpd start

11. 此時打開任意FTP客戶端,例如FileZilla,

(以下場景為FileZilla測試環境)

(1)FileZilla下載版本分為客戶端版本和服務器版本,此處下載客戶端版本,鏈接:https://filezilla-project.org/download.php?type=client#close

(2)輸入IP地址、用戶名(pi)、密碼,點擊『快速連接』,即可連上樹莓派的FTP服務器。

(3)連接時可能出現以下彈窗,確認即可,FTP傳達的文件需要注意按需更改文件權限。

(4)透過FTP上傳文件,盡量上傳至/home/pi目錄,其他目錄有權限限制,會導致上傳失敗。

12.完成後關閉FTP服務器方法:service vsftpd stop

方法二:安裝SFTP

(需要FTP軟體支持SFTP,比如使用FileZilla)

1. 打開軟體FileZilLa,點擊“文件”->”站點管理器”->”新站點”,自定義名稱,此處自定義為“MyRevPi”,效果如下:

2.“常規”->“協議”選擇SFTP-SSH File Transfer Protocol->“登錄”選擇正常->輸入IP地址、用戶名(pi)和密碼->點擊“連接”即可

3.連接成功

▍總結

方法優點缺點
安裝FTP服務器FTP客戶端相容性強,不局限於特定軟體需要聯網安裝FTP服務器,需要編輯配置傳輸文本
使用SFTP樹莓派上不需要安裝額外軟體需要FTP軟體支持SFTP,比如使用FileZilla

以上是兩種FTP實現方式的優缺點總結,大家可以根據實際情況選用適合自己的方式!