找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 10770|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

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

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:98924 發(fā)表于 2015-12-9 01:26 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
原因
        在集中器終端和專(zhuān)變終端的實(shí)際應(yīng)用中,經(jīng)常會(huì)使用遠(yuǎn)程升級(jí)。在某些地方,用戶(hù)要求采用FTP進(jìn)行遠(yuǎn)程升級(jí)。將終端廠(chǎng)家的升級(jí)文件放在一個(gè)FTP服務(wù)器上,命令終端登錄FTP服務(wù)器,通過(guò)get命令獲取升級(jí)文件進(jìn)行升級(jí)。這樣,終端需要實(shí)現(xiàn)FTP客戶(hù)端。并且可以實(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類(lèi)似,會(huì)用FTP服務(wù)器之前,要先登陸。客戶(hù)端發(fā)起一個(gè)TCP連接,目標(biāo)端口號(hào)是FTP服務(wù)器的命令偵聽(tīng)端口,一般是21,也有例外。當(dāng)連接成功后,服務(wù)器首先會(huì)發(fā)送歡迎信息,例如:“220-Microsoft FTP Service<CRLF>”和“220 FTP OF LEOGON_BOOK<

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

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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