《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于ARM的嵌入式SMTP遠程控制設計
基于ARM的嵌入式SMTP遠程控制設計
微計算機信息
廖斌 葉瑋瓊 楊連樂
摘要: 項目中選擇了基于ARM體系結構的32位微處理器,介紹了模塊的各組成部分,包括基于ARM的硬件結構模型、軟件結構、SMTP的基本結構及其運行機制。并詳細分析了ARM系統(tǒng)中嵌入式SMTP軟件模塊的具體實現(xiàn)和調試過程。
關鍵詞: ARM SMTP 遠程控制
Abstract:
Key words :

    隨著WWW 的不斷發(fā)展,人們對以IP 網(wǎng)絡為基礎的Internet 應用提出了更高的需求,將來的Internet 必將實現(xiàn)“利用IP 技術傳輸控制行為(Action over IP)”。在工業(yè)控制領域怎樣實現(xiàn)儀器儀表的遠程數(shù)據(jù)采集,實現(xiàn)異構網(wǎng)絡互連及遠程監(jiān)控成為技術的關鍵。因此需要一種合理的通訊模式來實現(xiàn)數(shù)據(jù)的遠程傳輸[1]。
在本課題中,通過SMTP協(xié)議的方式提供了一種新的嵌入式遠程通訊模式。即在ARM處理器中實現(xiàn)SMTP協(xié)議,并通過雙絞線連接到Internet上。在該平臺上開發(fā)的遠程控制設備或儀器儀表實現(xiàn)了通過Internet進行數(shù)據(jù)的遠程傳輸,在任意一臺上網(wǎng)的計算機上都可以通過Internet對其進行遠程監(jiān)視和控制。該方式對于無人值守的工、民用控制及分布式水、電、氣、環(huán)境等遠程監(jiān)控有普遍的意義和實際的應用價值。
項目中選擇了基于ARM體系結構的32位微處理器,介紹了模塊的各組成部分,包括基于ARM的硬件結構模型、軟件結構、SMTP的基本結構及其運行機制。并詳細分析了ARM系統(tǒng)中嵌入式SMTP軟件模塊的具體實現(xiàn)和調試過程。
1. 系統(tǒng)整體結構
   在系統(tǒng)中,將SMTP服務器引入到ARM的平臺上實現(xiàn)嵌入式SMTP服務器(Embedded SMTP Server)。在此軟硬件系統(tǒng)基礎上開發(fā)控制設備及儀表,使傳統(tǒng)的測試和控制設備轉變?yōu)榫邆淞艘訲CP/IP為底層通信協(xié)議,SMTP技術為核心的基于互聯(lián)網(wǎng)的網(wǎng)絡測試和控制設備。嵌入式SMTP系統(tǒng)與傳統(tǒng)SMTP Server相比,簡化了協(xié)議結構,將信息采集和信息發(fā)布都集成到現(xiàn)場的測控設備中。由于SMTP是Internet中跨平臺的標準通信協(xié)議,內嵌于設備的SMTP 服務器可以接收任何標準郵件發(fā)送工具發(fā)出的E-mail指令和數(shù)據(jù)。同時由于SMTP技術的開放性和獨立平臺特性,大大降低了軟件系統(tǒng)和通信系統(tǒng)的設計、維護工作量,節(jié)省了人員培訓費用等,提高了現(xiàn)場測試和控制設備的管理水平。
 1.1系統(tǒng)的硬件結構
    系統(tǒng)硬件的核心部件,由運行嵌入式操作系統(tǒng)的嵌入式微處理器系統(tǒng)構成,在嵌入式操作系統(tǒng)之上運行著系統(tǒng)的核心軟件。由于ARM處理器技術成熟,市場占有率高,且成本急劇下降。從工控角度出發(fā),我們選用MOTOROLA基于ARM 內核的MX9328MX1。該芯片是一款基于ARM9T芯片。它一方面具有ARM 處理器的低功耗、高性能等優(yōu)點;同時又具有豐富的片上資源,非常適合嵌入式產(chǎn)品的開發(fā)。
在硬件系統(tǒng)中包含實現(xiàn)SMTP通信功能的微處理器,它可以和前端的應用系統(tǒng)直接集成在一起,也可以通過現(xiàn)場總線與應用系統(tǒng)相連。包括:8M 的FLASH 存儲器用來存儲實時操作系統(tǒng)的系統(tǒng)內核、TCP/IP 協(xié)議棧、各種控制程序及其他并行模塊;32M的SDRAM存儲器供系統(tǒng)運行時使用;以太網(wǎng)接口實現(xiàn)與Internet/Intranet 連接;現(xiàn)場總線擴展控制模塊提供現(xiàn)場一定范圍內設備的分布控制;通用IO口控制模塊等。其硬件結構圖如圖1 所示[2]。

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


    考慮到性價比,系統(tǒng)的硬件結構根據(jù)應用環(huán)境的不同進行調整,硬件資源也很有限。實時操作系統(tǒng)的系統(tǒng)內核、TCP/IP 協(xié)議棧、各種應用程序都必須寫入到FLASH中并在運行時調入到SDRAM 中運行,這樣對軟件系統(tǒng)提出了較高的要求。
 1.2系統(tǒng)軟件結構
    整個系統(tǒng)的軟件系統(tǒng)包括五個部分:①嵌入式操作系統(tǒng);②虛擬文件系統(tǒng);③SMTP引擎;④配置模塊;⑤安全模塊;⑥控制程序接口模塊。
嵌入式操作系統(tǒng)選用Linux,作為系統(tǒng)的軟件基礎,其優(yōu)異的跨平臺移植能力、開放的源代碼、配置的靈活性為開發(fā)提供了便利。內置的TCP/IP協(xié)議棧可使用戶快速的開發(fā)出應用層協(xié)議的程序。
Linux上的虛擬文件系統(tǒng)在FLASH及SDRAM的基礎上建立類似于磁盤的使用環(huán)境。虛擬文件系統(tǒng)使用數(shù)據(jù)結構存儲文件大小、修改時間等信息。通過虛擬文件系統(tǒng)將系統(tǒng)中所需的控制程序以及配置文本等以文件形式存儲于系統(tǒng)芯片上。
SMTP引擎負責響應用戶的請求,通過應用程序接口使用戶遠程控制設備的動作,臨界值狀態(tài)報告及定期向用戶報告工作狀態(tài)。
配置模塊使系統(tǒng)管理員可以遠程使用郵件的方式設置設備的參數(shù),在系統(tǒng)啟動中定義的配置環(huán)境變量包括設備的臨界值,狀態(tài)報告周期,Socket端口等網(wǎng)絡參數(shù),設備的啟動停止時間,工作周期等。
網(wǎng)絡遠程設備的配置和控制信息的訪問是安全保護的重點。安全模塊通過在服務器上定義安全域和對每個安全域定義的用戶名/密碼實現(xiàn)對敏感信息的保護。還可以對請求控制動作及數(shù)據(jù)采取加密措施實現(xiàn)安全保護功能。系統(tǒng)主要通過ESMTP來實現(xiàn)保護措施。ESMTP為擴展的SMTP協(xié)議,是郵件服務器系統(tǒng)為了限制非本系統(tǒng)的正式用戶利用本系統(tǒng)散發(fā)垃圾郵件或其他不當行為而開設的一項安全認證服務。
應用程序接口模塊實現(xiàn)和嵌入式控制系統(tǒng)的控制及數(shù)據(jù)交換。在本系統(tǒng)中,應用程序接口與嵌入式操作系統(tǒng)通信,通過設備的驅動程序實現(xiàn)對嵌入系統(tǒng)的配置、監(jiān)視和控制,是系統(tǒng)控制的核心。監(jiān)控程序模塊使用CGI(Common Gateway Interface)的方式實現(xiàn)。
2. SMTP通訊模塊設計
通過電子郵件來與網(wǎng)絡嵌入式系統(tǒng)通信有如下優(yōu)點:(1) 用戶接口是日常使用的標準電子郵件客戶程序,對技術要求較低;(2) 有現(xiàn)成的協(xié)議用于從各種設備(桌面電腦、手持設備及網(wǎng)絡電話)發(fā)送電子郵件并在因特網(wǎng)上傳輸;(3) 只需稍加處理,便可對嵌入式設備上回復的電子郵件以HTML格式進行編碼,使數(shù)據(jù)的表現(xiàn)形式更為豐富和易讀;(4) 電子郵件客戶程序有自己的存檔日志,便于進行數(shù)據(jù)歸檔備份[3]。
系統(tǒng)中實現(xiàn)的是一個簡化的SMTP Server。僅僅是根據(jù)基本的SMTP交互協(xié)議實現(xiàn)郵件接收和郵件轉儲。不提供郵件轉發(fā),也不需要考慮多用戶的郵件并發(fā)連接。該SMTP Server僅僅為單用戶提供專用連接,并按自己的特定格式接收。
因此,該SMTP Server實現(xiàn)的核心是實現(xiàn)最簡單的SMTP鎖步協(xié)議對話機,并從郵件中析取出命令及附件數(shù)據(jù)。在分析標準SMTP協(xié)議后,程序中僅實現(xiàn)符合應用需求的最簡潔的SMTP對話機制。Server只是對客戶命令有效的發(fā)出每一個對話的響應碼及固定信息,然后接收客戶機的應答。在應答消息中也僅僅分析應答的字符命令是否正確,而不理睬其他信息。在郵件處理過程中,只查找主題并判斷,然后從郵件中判斷出附件的標志并從附件開始處接收數(shù)據(jù)然后解碼。
 2.1 SMTP通訊基本流程
為實現(xiàn)設備的遠程控制及狀態(tài)響應,將SMTP軟件的結構模塊化。分為套接字通訊模塊、E-mail編碼模塊、E-mail解析模塊、SMTP/ESMTP協(xié)議模塊、附件解析模塊。其基本結構如圖2。

圖2: 嵌入式SMTP遠程控制流程
 2.2 套接字通訊模塊
網(wǎng)絡套接字模塊負責與遠端客戶機、服務器建立TCP連接,發(fā)送和接收從客戶端發(fā)送的命令和數(shù)據(jù)以及向其他SMTP服務器端返回郵件數(shù)據(jù)。這些都是基于TCP/IP棧通過Linux操作系統(tǒng)的標準Socket機制來實現(xiàn)的。在網(wǎng)絡模塊中,為便于升級,考慮到了IPv4到IPv6過渡。在用戶設置服務器地址的時候,可以支持IP地址輸入和域名輸入兩種方式,這樣給用戶帶來很大方便。
在該模塊中,提供一個TCP流套接字服務器。在端口25上綁定套接字,最多可以提供一個連接,支持5個等待。一旦服務器接受一個連接,該套接字被傳給SMTP/ESMTP協(xié)議模塊,來處理SMTP協(xié)議實現(xiàn)交互。處理完后關閉套接字,然后可以等待另一個請求。
 2.3 E-mail編碼模塊
在系統(tǒng)中,遠程設備需要周期性的將設備運行狀態(tài)及各參數(shù)發(fā)送給管理者,以及在管理者發(fā)送查詢指令時將查詢的關鍵值發(fā)送給管理者。這需要設備能夠根據(jù)運行的參數(shù)構造標準結構的E-mail并發(fā)送。
E-mail編碼模塊的功能是:設備發(fā)送郵件時,將設備參數(shù)及狀態(tài)轉變成標準的適合在Internet上傳輸?shù)泥]件格式。
一個完整的E-mail報文包括包封、報頭和報體。包封是用SMTP命令MAIL FROM和RCPT TO來定義。報頭信息包括:收件人(To:),發(fā)件人(Sender:),抄送者(CC:),發(fā)送日期(Date:),主題(Subject:),MIME版本(Mime-version:)等。在報體中信息包括:內容類型(Content-Type:),內容傳輸編碼類型(Content-Transfer-Encoding:),邊界定義(Boundary:)及信息內容等。郵件信息每行之間都以CR/LF(回車換行符)作為結尾??梢酝ㄟ^這些郵件頭信息的關鍵詞,解析出收件人、發(fā)件人、抄送人、發(fā)送日期,MIME版本號等[4]。
報體信息包括郵件的正文和附件。正文開始的標記是郵件頭信息結束后的兩個回車換行符,即兩個CR/LF。郵件結束的標志是.。模塊中提供了對MIME(Multipurpose Internet Mail Extensions)1.0格式郵件的處理。實現(xiàn)了MIME內容傳輸編碼,包括:7-bit,8-bit, quoted-printable,Base64編解碼。
 2.4 SMTP/ESMTP協(xié)議模塊
SMTP/ESMTP是一種基于命令/應答模式的鎖步協(xié)議。客戶機給出字符串命令,服務器給出數(shù)字代碼應答,實現(xiàn)郵件的鎖步傳輸。
在TCP連接基礎上(端口號25),本模塊實現(xiàn)SMTP/ESMTP協(xié)議的最小命令集。作為客戶發(fā)送郵件時,實現(xiàn)的客戶連接命令包括: ELHO(或者HELO)、AUTH LOGIN、USER、PASS、MAIL FROM、RCPT TO、DATA、RSET、NOOP、QUIT。作為服務器接收郵件時,響應的數(shù)字代碼包括:220(服務就緒)、221(服務關閉)、250(要求的郵件操作完成)、354(開始郵件輸入,以.結束)、500(命令不識別)[4][5]。
發(fā)送者的用戶名和密碼必須經(jīng)過Base64編碼后,發(fā)送到SMTP/ESMTP服務器端,認證才能成功。實現(xiàn)過程見圖3。

圖3:SMTP/ESMTP協(xié)議模塊基本流程
 2.5 E-mail解析模塊
遠端設備在收到郵件指令時,應能從郵件中正確析取出指令并做出響應。
系統(tǒng)中的E-mail解析模塊通過查找E-mail中的主題來知道命令類型。其在E-mail報體中查找字符串Subject來發(fā)現(xiàn)E-mail的主題,并從中找到規(guī)定類型的命令字頭。如無相應主題,返回-1,將郵件丟棄。根據(jù)主題命令字的不同,完成設備的相關動作控制或相應狀態(tài)的郵件報告。對于數(shù)據(jù)塊的更新,使用附件解析模塊來得到附件中的數(shù)據(jù)。
3. 安全性問題
由于SMTP技術的開放性和標準性,其開發(fā)的簡單便利也帶來很多缺點。設備的遠程控制必須對訪問者有所區(qū)分,否則系統(tǒng)的安全將不可預料。
特別是,SMTP協(xié)議在發(fā)送郵件信息,甚至是用戶名和密碼的時候采用的是明文發(fā)送。通過常見的抓包工具,就可以輕易獲得正在接收或發(fā)送郵件的用戶的所有信息,包括用戶名和密碼以及郵件信息,這給設備的正常操控帶來了極大的威脅。即使ESMTP協(xié)議在發(fā)送用戶名和密碼的時候采用的是base64編碼,但其解碼也是輕而易舉,因此其安全性也有限。
對于安全問題,可根據(jù)不同的控制環(huán)境使用不用的策略[6]。
(1) 閉環(huán)網(wǎng)絡訪問策略:把網(wǎng)絡訪問范圍局限在 Intranet 范圍內,通過網(wǎng)內任意PC機發(fā)送的郵件命令可以進行遠程監(jiān)視、診斷、遠程控制和參數(shù)設置。所有可能的攻擊點全部局限在本網(wǎng)絡范圍內。
(2) 只讀訪問策略:對關鍵信息和敏感信息,一個重要的安全措施就是將其標記為只讀特性,尤其是從Intranet 范圍外的IP 地址來的訪問請求。這樣用戶可以在任意地方查看遠程設備的狀況,出現(xiàn)問題可以及時采取措施。
(3) 引入加密機制,如:MD5加密就可以增加安全性。
4. 結束語
本文介紹了在ARM的硬件平臺上,如何構建以嵌入式Linux為基礎利用SMTP協(xié)議來進行設備的遠程監(jiān)控的實現(xiàn)方法。通過該方法,我們實現(xiàn)了對傳統(tǒng)工控項目的遠程控制改造升級。在該方案的基礎上,完全可以實現(xiàn)設備的網(wǎng)絡化和智能化管理,為現(xiàn)場可編程設備的在線遠程監(jiān)控、管理及維護等功能提供了實現(xiàn)的可能性和技術上的支持。通過對SMTP協(xié)議的合理利用,使“Action over IP”的思想得以實現(xiàn),從而在遠處可以對設備的“行為”進行有效的管理和控制。
該文的創(chuàng)新點為:
1、 使用低成本、高可靠的ARM硬件平臺替代價格昂貴的工控機降低了生產(chǎn)運營成本,提高硬質合金生產(chǎn)線的安全可靠性。
2、 由于采用SMPT這樣簡單的通訊協(xié)議,降低了工控網(wǎng)絡管理復雜性,使硬件與軟件維修都變得方便,易于掌握。
3、 采用加密傳輸通訊確保數(shù)據(jù)安全,ARM平臺采用TCP/IP標準方便與外網(wǎng)通訊,實現(xiàn)企業(yè)數(shù)據(jù)庫共享。

此內容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉載。
主站蜘蛛池模板: 超级香蕉97视频在线观看一区 | 男人扒开腿躁女人j | 国产成人一区二区三区在线视频 | 亚洲国产欧美在线人成aaa | 日本成a人伦片 | 国产深夜福利视频在线播放 | 亚洲情a成黄在线观看 | 国产成人精品综合网站 | 毛片在线播放网站 | 亚洲国产午夜看片 | 久久精品二区 | 国产性生活 | 最新国产午夜精品视频成人 | 国产精品欧美亚洲韩国日本不卡 | 久久伊人免费视频 | 一级毛片aaa片免费观看 | 国产一区精品在线观看 | 7799国产精品久久久久99 | 久久国产精品免费一区二区三区 | 国产成版人视频网站免费下 | 欧美另类视频在线观看 | 免费人成黄页网站在线观看 | 俄罗斯极品美女毛片免费播放 | 亚洲巨乳自拍在线视频 | 国产三区视频在线观看 | 国产成人精品精品欧美 | 欧美精品一区二区三区四区 | 国亚洲欧美日韩精品 | 成年人网站免费在线观看 | 欧美一级毛片久久精品 | 亚洲国产成人久久三区 | 日韩在线 中文字幕 | 日韩女人做爰大片 | 一级毛片区| 欧美日韩精品一区二区在线线 | 国产精品极品美女自在线看免费一区二区 | 国产三级在线视频观看 | 免费一级a毛片在线播放视 免费一级α片在线观看 | 极品精品国产超清自在线观看 | 波多野结衣在线免费视频 | 国产大陆亚洲精品国产 |