基于A(yíng)RM的嵌入式SMTP遠程控制設計

發(fā)布時(shí)間:2010-8-9 11:03    發(fā)布者:lavida
關(guān)鍵詞: arm , SMTP , 嵌入式 , 遠程控制
隨著(zhù)WWW的不斷發(fā)展,人們對以IP 網(wǎng)絡(luò )為基礎的Internet 應用提出了更高的需求,將來(lái)的Internet 必將實(shí)現“利用IP 技術(shù)傳輸控制行為(Action over IP)”。在工業(yè)控制領(lǐng)域怎樣實(shí)現儀器儀表的遠程數據采集,實(shí)現異構網(wǎng)絡(luò )互連及遠程監控成為技術(shù)的關(guān)鍵。因此需要一種合理的通訊模式來(lái)實(shí)現數據的遠程傳輸。  

在本課題中,通過(guò)SMTP協(xié)議的方式提供了一種新的嵌入式遠程通訊模式。即在ARM處理器中實(shí)現SMTP協(xié)議,并通過(guò)雙絞線(xiàn)連接到Internet上。在該平臺上開(kāi)發(fā)的遠程控制設備或儀器儀表實(shí)現了通過(guò)Internet進(jìn)行數據的遠程傳輸,在任意一臺上網(wǎng)的計算機上都可以通過(guò)Internet對其進(jìn)行遠程監視和控制。該方式對于無(wú)人值守的工、民用控制及分布式水、電、氣、環(huán)境等遠程監控有普遍的意義和實(shí)際的應用價(jià)值。  

項目中選擇了基于A(yíng)RM體系結構的32位微處理器,介紹了模塊的各組成部分,包括基于A(yíng)RM的硬件結構模型、軟件結構、SMTP的基本結構及其運行機制。并詳細分析了ARM系統中嵌入式SMTP軟件模塊的具體實(shí)現和調試過(guò)程。  

1. 系統整體結構  

在系統中,將SMTP服務(wù)器引入到ARM的平臺上實(shí)現嵌入式SMTP服務(wù)器(Embedded SMTP Server)。在此軟硬件系統基礎上開(kāi)發(fā)控制設備及儀表,使傳統的測試和控制設備轉變?yōu)榫邆淞艘訲CP/IP為底層通信協(xié)議,SMTP技術(shù)為核心的基于互聯(lián)網(wǎng)的網(wǎng)絡(luò )測試和控制設備。嵌入式SMTP系統與傳統SMTP Server相比,簡(jiǎn)化了協(xié)議結構,將信息采集和信息發(fā)布都集成到現場(chǎng)的測控設備中。由于SMTP是Internet中跨平臺的標準通信協(xié)議,內嵌于設備的SMTP 服務(wù)器可以接收任何標準郵件發(fā)送工具發(fā)出的E-mail指令和數據。同時(shí)由于SMTP技術(shù)的開(kāi)放性和獨立平臺特性,大大降低了軟件系統和通信系統的設計、維護工作量,節省了人員培訓費用等,提高了現場(chǎng)測試和控制設備的管理水平。  

1.1系統的硬件結構  

系統硬件的核心部件,由運行嵌入式操作系統的嵌入式微處理器系統構成,在嵌入式操作系統之上運行著(zhù)系統的核心軟件。由于A(yíng)RM處理器技術(shù)成熟,市場(chǎng)占有率高,且成本急劇下降。從工控角度出發(fā),我們選用MOTOROLA基于A(yíng)RM 內核的MX9328MX1。該芯片是一款基于A(yíng)RM9T芯片。它一方面具有ARM 處理器的低功耗、高性能等優(yōu)點(diǎn);同時(shí)又具有豐富的片上資源,非常適合嵌入式產(chǎn)品的開(kāi)發(fā)。  

在硬件系統中包含實(shí)現SMTP通信功能的微處理器,它可以和前端的應用系統直接集成在一起,也可以通過(guò)現場(chǎng)總線(xiàn)與應用系統相連。包括:8M 的FLASH 存儲器用來(lái)存儲實(shí)時(shí)操作系統的系統內核、TCP/IP 協(xié)議棧、各種控制程序及其他并行模塊;32M的SDRAM存儲器供系統運行時(shí)使用;以太網(wǎng)接口實(shí)現與Internet/Intranet 連接;現場(chǎng)總線(xiàn)擴展控制模塊提供現場(chǎng)一定范圍內設備的分布控制;通用IO口控制模塊等。其硬件結構圖如圖1 所示。  


  
圖1: 嵌入式SMTP遠程控制平臺硬件結構  

考慮到性?xún)r(jià)比,系統的硬件結構根據應用環(huán)境的不同進(jìn)行調整,硬件資源也很有限。實(shí)時(shí)操作系統的系統內核、TCP/IP 協(xié)議棧、各種應用程序都必須寫(xiě)入到FLASH中并在運行時(shí)調入到SDRAM 中運行,這樣對軟件系統提出了較高的要求。

1.2系統軟件結構  

整個(gè)系統的軟件系統包括五個(gè)部分:①嵌入式操作系統;②虛擬文件系統;③SMTP引擎;④配置模塊;⑤安全模塊;⑥控制程序接口模塊。  
嵌入式操作系統選用Linux,作為系統的軟件基礎,其優(yōu)異的跨平臺移植能力、開(kāi)放的源代碼、配置的靈活性為開(kāi)發(fā)提供了便利。內置的TCP/IP協(xié)議?墒褂脩(hù)快速的開(kāi)發(fā)出應用層協(xié)議的程序。  

Linux上的虛擬文件系統在FLASH及SDRAM的基礎上建立類(lèi)似于磁盤(pán)的使用環(huán)境。虛擬文件系統使用數據結構存儲文件大小、修改時(shí)間等信息。通過(guò)虛擬文件系統將系統中所需的控制程序以及配置文本等以文件形式存儲于系統芯片上。  

SMTP引擎負責響應用戶(hù)的請求,通過(guò)應用程序接口使用戶(hù)遠程控制設備的動(dòng)作,臨界值狀態(tài)報告及定期向用戶(hù)報告工作狀態(tài)。  

配置模塊使系統管理員可以遠程使用郵件的方式設置設備的參數,在系統啟動(dòng)中定義的配置環(huán)境變量包括設備的臨界值,狀態(tài)報告周期,Socket端口等網(wǎng)絡(luò )參數,設備的啟動(dòng)停止時(shí)間,工作周期等。  

網(wǎng)絡(luò )遠程設備的配置和控制信息的訪(fǎng)問(wèn)是安全保護的重點(diǎn)。安全模塊通過(guò)在服務(wù)器上定義安全域和對每個(gè)安全域定義的用戶(hù)名/密碼實(shí)現對敏感信息的保護。還可以對請求控制動(dòng)作及數據采取加密措施實(shí)現安全保護功能。系統主要通過(guò)ESMTP來(lái)實(shí)現保護措施。ESMTP為擴展的SMTP協(xié)議,是郵件服務(wù)器系統為了限制非本系統的正式用戶(hù)利用本系統散發(fā)垃圾郵件或其他不當行為而開(kāi)設的一項安全認證服務(wù)。  

應用程序接口模塊實(shí)現和嵌入式控制系統的控制及數據交換。在本系統中,應用程序接口與嵌入式操作系統通信,通過(guò)設備的驅動(dòng)程序實(shí)現對嵌入系統的配置、監視和控制,是系統控制的核心。監控程序模塊使用CGI(Common Gateway Interface)的方式實(shí)現。  

2. SMTP通訊模塊設計  

通過(guò)電子郵件來(lái)與網(wǎng)絡(luò )嵌入式系統通信有如下優(yōu)點(diǎn):(1) 用戶(hù)接口是日常使用的標準電子郵件客戶(hù)程序,對技術(shù)要求較低;(2) 有現成的協(xié)議用于從各種設備(桌面電腦、手持設備及*)發(fā)送電子郵件并在因特網(wǎng)上傳輸;(3) 只需稍加處理,便可對嵌入式設備上回復的電子郵件以HTML格式進(jìn)行編碼,使數據的表現形式更為豐富和易讀;(4) 電子郵件客戶(hù)程序有自己的存檔日志,便于進(jìn)行數據歸檔備份。  

系統中實(shí)現的是一個(gè)簡(jiǎn)化的SMTP Server。僅僅是根據基本的SMTP交互協(xié)議實(shí)現郵件接收和郵件轉儲。不提供郵件轉發(fā),也不需要考慮多用戶(hù)的郵件并發(fā)連接。該SMTP Server僅僅為單用戶(hù)提供專(zhuān)用連接,并按自己的特定格式接收。  

因此,該SMTP Server實(shí)現的核心是實(shí)現最簡(jiǎn)單的SMTP鎖步協(xié)議對話(huà)機,并從郵件中析取出命令及附件數據。在分析標準SMTP協(xié)議后,程序中僅實(shí)現符合應用需求的最簡(jiǎn)潔的SMTP對話(huà)機制。Server只是對客戶(hù)命令有效的發(fā)出每一個(gè)對話(huà)的響應碼及固定信息,然后接收客戶(hù)機的應答。在應答消息中也僅僅分析應答的字符命令是否正確,而不理睬其他信息。在郵件處理過(guò)程中,只查找主題并判斷,然后從郵件中判斷出附件的標志并從附件開(kāi)始處接收數據然后解碼。  

2.1 SMTP通訊基本流程  

為實(shí)現設備的遠程控制及狀態(tài)響應,將SMTP軟件的結構模塊化。分為套接字通訊模塊、E-mail編碼模塊、E-mail解析模塊、SMTP/ESMTP協(xié)議模塊、附件解析模塊。其基本結構如圖2。
  
圖2: 嵌入式SMTP遠程控制流程  

2.2 套接字通訊模塊  

網(wǎng)絡(luò )套接字模塊負責與遠端客戶(hù)機、服務(wù)器建立TCP連接,發(fā)送和接收從客戶(hù)端發(fā)送的命令和數據以及向其他SMTP服務(wù)器端返回郵件數據。這些都是基于TCP/IP棧通過(guò)Linux操作系統的標準Socket機制來(lái)實(shí)現的。在網(wǎng)絡(luò )模塊中,為便于升級,考慮到了IPv4到IPv6過(guò)渡。在用戶(hù)設置服務(wù)器地址的時(shí)候,可以支持IP地址輸入和域名輸入兩種方式,這樣給用戶(hù)帶來(lái)很大方便。  

在該模塊中,提供一個(gè)TCP流套接字服務(wù)器。在端口25上綁定套接字,最多可以提供一個(gè)連接,支持5個(gè)等待。一旦服務(wù)器接受一個(gè)連接,該套接字被傳給SMTP/ESMTP協(xié)議模塊,來(lái)處理SMTP協(xié)議實(shí)現交互。處理完后關(guān)閉套接字,然后可以等待另一個(gè)請求。

2.3 E-mail編碼模塊  

在系統中,遠程設備需要周期性的將設備運行狀態(tài)及各參數發(fā)送給管理者,以及在管理者發(fā)送查詢(xún)指令時(shí)將查詢(xún)的關(guān)鍵值發(fā)送給管理者。這需要設備能夠根據運行的參數構造標準結構的E-mail并發(fā)送。  

E-mail編碼模塊的功能是:設備發(fā)送郵件時(shí),將設備參數及狀態(tài)轉變成標準的適合在Internet上傳輸的郵件格式。  

一個(gè)完整的E-mail報文包括包封、報頭和報體。包封是用SMTP命令MAIL FROM和RCPT TO來(lái)定義。報頭信息包括:收件人(To:),發(fā)件人(Sender:),抄送者(CC:),發(fā)送日期(Date:),主題(Subject:),MIME版本(Mime-version:)等。在報體中信息包括:內容類(lèi)型(Content-Type:),內容傳輸編碼類(lèi)型(Content-Transfer-Encoding:),邊界定義(Boundary:)及信息內容等。郵件信息每行之間都以CR/LF(回車(chē)換行符)作為結尾?梢酝ㄟ^(guò)這些郵件頭信息的關(guān)鍵詞,解析出收件人、發(fā)件人、抄送人、發(fā)送日期,MIME版本號等[4]。  
報體信息包括郵件的正文和附件。正文開(kāi)始的標記是郵件頭信息結束后的兩個(gè)回車(chē)換行符,即兩個(gè)CR/LF。郵件結束的標志是.。模塊中提供了對MIME(Multipurpose Internet Mail Extensions)1.0格式郵件的處理。實(shí)現了MIME內容傳輸編碼,包括:7-bit,8-bit, quoted-printable,Base64編解碼。  

2.4 SMTP/ESMTP協(xié)議模塊  

SMTP/ESMTP是一種基于命令/應答模式的鎖步協(xié)議?蛻(hù)機給出字符串命令,服務(wù)器給出數字代碼應答,實(shí)現郵件的鎖步傳輸。  

在TCP連接基礎上(端口號25),本模塊實(shí)現SMTP/ESMTP協(xié)議的最小命令集。作為客戶(hù)發(fā)送郵件時(shí),實(shí)現的客戶(hù)連接命令包括: ELHO(或者HELO)、AUTH LOGIN、USER、PASS、MAIL FROM、RCPT TO、DATA、RSET、NOOP、QUIT。作為服務(wù)器接收郵件時(shí),響應的數字代碼包括:220(服務(wù)就緒)、221(服務(wù)關(guān)閉)、250(要求的郵件操作完成)、354(開(kāi)始郵件輸入,以.結束)、500(命令不識別)。  

發(fā)送者的用戶(hù)名和密碼必須經(jīng)過(guò)Base64編碼后,發(fā)送到SMTP/ESMTP服務(wù)器端,認證才能成功。實(shí)現過(guò)程見(jiàn)圖3。
  
圖3:SMTP/ESMTP協(xié)議模塊基本流程  

2.5 E-mail解析模塊  

遠端設備在收到郵件指令時(shí),應能從郵件中正確析取出指令并做出響應。  

系統中的E-mail解析模塊通過(guò)查找E-mail中的主題來(lái)知道命令類(lèi)型。其在E-mail報體中查找字符串Subject來(lái)發(fā)現E-mail的主題,并從中找到規定類(lèi)型的命令字頭。如無(wú)相應主題,返回-1,將郵件丟棄。根據主題命令字的不同,完成設備的相關(guān)動(dòng)作控制或相應狀態(tài)的郵件報告。對于數據塊的更新,使用附件解析模塊來(lái)得到附件中的數據。  

3. 安全性問(wèn)題  

由于SMTP技術(shù)的開(kāi)放性和標準性,其開(kāi)發(fā)的簡(jiǎn)單便利也帶來(lái)很多缺點(diǎn)。設備的遠程控制必須對訪(fǎng)問(wèn)者有所區分,否則系統的安全將不可預料。  

特別是,SMTP協(xié)議在發(fā)送郵件信息,甚至是用戶(hù)名和密碼的時(shí)候采用的是明文發(fā)送。通過(guò)常見(jiàn)的抓包工具,就可以輕易獲得正在接收或發(fā)送郵件的用戶(hù)的所有信息,包括用戶(hù)名和密碼以及郵件信息,這給設備的正常操控帶來(lái)了極大的威脅。即使ESMTP協(xié)議在發(fā)送用戶(hù)名和密碼的時(shí)候采用的是base64編碼,但其解碼也是輕而易舉,因此其安全性也有限。  

對于安全問(wèn)題,可根據不同的控制環(huán)境使用不用的策略。  

(1) 閉環(huán)網(wǎng)絡(luò )訪(fǎng)問(wèn)策略:把網(wǎng)絡(luò )訪(fǎng)問(wèn)范圍局限在 Intranet 范圍內,通過(guò)網(wǎng)內任意PC機發(fā)送的郵件命令可以進(jìn)行遠程監視、診斷、遠程控制和參數設置。所有可能的攻擊點(diǎn)全部局限在本網(wǎng)絡(luò )范圍內。  
(2) 只讀訪(fǎng)問(wèn)策略:對關(guān)鍵信息和敏感信息,一個(gè)重要的安全措施就是將其標記為只讀特性,尤其是從Intranet 范圍外的IP 地址來(lái)的訪(fǎng)問(wèn)請求。這樣用戶(hù)可以在任意地方查看遠程設備的狀況,出現問(wèn)題可以及時(shí)采取措施。  
(3) 引入加密機制,如:MD5加密就可以增加安全性。  

4. 結束語(yǔ)  

本文介紹了在A(yíng)RM的硬件平臺上,如何構建以嵌入式Linux為基礎利用SMTP協(xié)議來(lái)進(jìn)行設備的遠程監控的實(shí)現方法。通過(guò)該方法,我們實(shí)現了對傳統工控項目的遠程控制改造升級。在該方案的基礎上,完全可以實(shí)現設備的網(wǎng)絡(luò )化和智能化管理,為現場(chǎng)可編程設備的在線(xiàn)遠程監控、管理及維護等功能提供了實(shí)現的可能性和技術(shù)上的支持。通過(guò)對SMTP協(xié)議的合理利用,使“Action over IP”的思想得以實(shí)現,從而在遠處可以對設備的“行為”進(jìn)行有效的管理和控制。  

該文的創(chuàng )新點(diǎn)為:  

1、 使用低成本、高可靠的ARM硬件平臺替代價(jià)格昂貴的工控機降低了生產(chǎn)運營(yíng)成本,提高硬質(zhì)合金生產(chǎn)線(xiàn)的安全可靠性。  
2、 由于采用SMPT這樣簡(jiǎn)單的通訊協(xié)議,降低了工控網(wǎng)絡(luò )管理復雜性,使硬件與軟件維修都變得方便,易于掌握。  
3、 采用加密傳輸通訊確保數據安全,ARM平臺采用TCP/IP標準方便與外網(wǎng)通訊,實(shí)現企業(yè)數據庫共享。
本文地址:http://selenalain.com/thread-20216-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页