找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 10893|回復(fù): 0
收起左側(cè)

uip的ftp在單片機(jī)stm32上的實(shí)現(xiàn)客戶端

[復(fù)制鏈接]
ID:98924 發(fā)表于 2015-12-9 01:26 | 顯示全部樓層 |閱讀模式
原因
        在集中器終端和專變終端的實(shí)際應(yīng)用中,經(jīng)常會使用遠(yuǎn)程升級。在某些地方,用戶要求采用FTP進(jìn)行遠(yuǎn)程升級。將終端廠家的升級文件放在一個FTP服務(wù)器上,命令終端登錄FTP服務(wù)器,通過get命令獲取升級文件進(jìn)行升級。這樣,終端需要實(shí)現(xiàn)FTP客戶端。并且可以實(shí)現(xiàn)遠(yuǎn)程操作和傳輸。
        原理
        

        我們知道,F(xiàn)TP是一種文件傳輸協(xié)議,在網(wǎng)絡(luò)中屬于應(yīng)用層,基于TCP協(xié)議實(shí)現(xiàn)。而uip協(xié)議可以基于TCP鏈接進(jìn)行傳輸,方法可行。

        登陸FTP服務(wù)器  
        與Telnet類似,會用FTP服務(wù)器之前,要先登陸。客戶端發(fā)起一個TCP連接,目標(biāo)端口號是FTP服務(wù)器的命令偵聽端口,一般是21,也有例外。當(dāng)連接成功后,服務(wù)器首先會發(fā)送歡迎信息,例如:“220-Microsoft FTP Service<CRLF>”和“220 FTP OF LEOGON_BOOK<

CRLF >”。FTP服務(wù)器的響應(yīng)都是以3個表示數(shù)字的字母開頭,表示響應(yīng)信息的代碼,接著是一個空格或‘-’字符,最后是響應(yīng)的信息內(nèi)容。響應(yīng)信息代碼是標(biāo)準(zhǔn)定義的,代表了特定的含義,響應(yīng)信息的內(nèi)容是提供給人工閱讀的,不同的FTP服務(wù)器可能會有不同的信息內(nèi)容表達(dá)方法,但是信息代碼是含義是明確的。響應(yīng)信息代碼后面如果是空格,表示響應(yīng)信息就只有一行或是最后一行,如果是‘-’,則表示有多行。因此,如果歡迎信息只有第2行的話,我們也應(yīng)該認(rèn)為可以繼續(xù)了。
收到FTP的歡迎信息后,就可以登陸了。首先是發(fā)送用戶名命令,使用“USER <username><CRLF>”命令。服務(wù)器返回“331 <username> access allowed, send identity (e-mail name) as password”,表示希望用戶繼續(xù)輸入密碼。接著發(fā)送密碼命令,使用“PASS <password><CRLF>”命令,服務(wù)器返回類似“230-Welcome to FTP site of LEOGON-BOOK!<CRLF>”和“230 Anonymous user logged in<CRLF>”這兩行(這是我Windows XP上的FTP服務(wù)器的響應(yīng)信息,我認(rèn)為某些服務(wù)器可能是返回一行,我們的程序只要能識別最后一行就可以了),這樣,登陸完成。如果密碼錯誤,服務(wù)器將返回“530”代碼,如果想重試,必須從用戶名命令開始。
        這種方案可以在stm32上實(shí)現(xiàn),再花幾十塊錢就可以實(shí)現(xiàn)遠(yuǎn)程操作了,此種方案可以應(yīng)用于個人的智能家居監(jiān)測控制系統(tǒng),上傳圖片,控制家里的家居,只要有自己的服務(wù)器就可以搞定,當(dāng)然加一個域名去訪問更完美了
        參考資料下載 :http://www.torrancerestoration.com/bbs/dpj-40386-1.html

回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表