科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基于ARM的嵌入式SMTP远程控制设计

基于ARM的嵌入式SMTP远程控制设计

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

 随着WWW 的不断发展,人们对以IP 网络为基础的Internet 应用提出了更高的需求,将来的Internet 必将实现“利用IP 技术传输控制行为(Action over IP)”。在工业控制领域怎样实现仪器仪表的远程数据采集,实现异构网络互连及远程监控成为技术的关键。因此需要一种合理的通讯模式来实现数据的远程传输。

作者:亿八佰 来源:亿八佰 2010年8月16日

关键字: ARM SMTP 远程控制

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共3页)

  2.SMTP通讯模块设计

  通过电子邮件来与网络嵌入式系统通信有如下优点:(1) 用户接口是日常使用的标准电子邮件客户程序,对技术要求较低;(2) 有现成的协议用于从各种设备(桌面电脑、手持设备及网络电话)发送电子邮件并在因特网上传输;(3) 只需稍加处理,便可对嵌入式设备上回复的电子邮件以HTML格式进行编码,使数据的表现形式更为丰富和易读;(4) 电子邮件客户程序有自己的存档日志,便于进行数据归档备份[3]。

  系统中实现的是一个简化的SMTP Server。仅仅是根据基本的SMTP交互协议实现邮件接收和邮件转储。不提供邮件转发,也不需要考虑多用户的邮件并发连接。该SMTP Server仅仅为单用户提供专用连接,并按自己的特定格式接收。

  因此,该SMTP Server实现的核心是实现最简单的SMTP锁步协议对话机,并从邮件中析取出命令及附件数据。在分析标准SMTP协议后,程序中仅实现符合应用需求的最简洁的SMTP对话机制。Server只是对客户命令有效的发出每一个对话的响应码及固定信息,然后接收客户机的应答。在应答消息中也仅仅分析应答的字符命令是否正确,而不理睬其他信息。在邮件处理过程中,只查找主题并判断,然后从邮件中判断出附件的标志并从附件开始处接收数据然后解码。

  2.1 SMTP通讯基本流程

  为实现设备的远程控制及状态响应,将SMTP软件的结构模块化。分为套接字通讯模块、E-mail编码模块、E-mail解析模块、SMTP/ESMTP协议模块、附件解析模块。其基本结构如图2。

基于ARM的嵌入式SMTP远程控制设计 

  图2: 嵌入式SMTP远程控制流程

  2.2 套接字通讯模块

  网络套接字模块负责与远端客户机、服务器建立TCP连接,发送和接收从客户端发送的命令和数据以及向其他SMTP服务器端返回邮件数据。这些都是基于TCP/IP栈通过Linux操作系统的标准Socket机制来实现的。在网络模块中,为便于升级,考虑到了IPv4到IPv6过渡。在用户设置服务器地址的时候,可以支持IP地址输入和域名输入两种方式,这样给用户带来很大方便。

  在该模块中,提供一个TCP流套接字服务器。在端口25上绑定套接字,最多可以提供一个连接,支持5个等待。一旦服务器接受一个连接,该套接字被传给SMTP/ESMTP协议模块,来处理SMTP协议实现交互。处理完后关闭套接字,然后可以等待另一个请求。

  2.3 E-mail编码模块

  在系统中,远程设备需要周期性的将设备运行状态及各参数发送给管理者,以及在管理者发送查询指令时将查询的关键值发送给管理者。这需要设备能够根据运行的参数构造标准结构的E-mail并发送。

  E-mail编码模块的功能是:设备发送邮件时,将设备参数及状态转变成标准的适合在Internet上传输的邮件格式。

  一个完整的E-mail报文包括包封、报头和报体。包封是用SMTP命令MAIL FROM和RCPT TO来定义。报头信息包括:收件人(To:),发件人(Sender:),抄送者(CC:),发送日期(Date:),主题(Subject:),MIME版本(Mime-version:)等。在报体中信息包括:内容类型(Content-Type:),内容传输编码类型(Content-Transfer-Encoding:),边界定义(Boundary:)及信息内容等。邮件信息每行之间都以CR/LF(回车换行符)作为结尾。可以通过这些邮件头信息的关键词,解析出收件人、发件人、抄送人、发送日期,MIME版本号等[4]。

  报体信息包括邮件的正文和附件。正文开始的标记是邮件头信息结束后的两个回车换行符,即两个CR/LF。邮件结束的标志是.。模块中提供了对MIME(Multipurpose Internet Mail Extensions)1.0格式邮件的处理。实现了MIME内容传输编码,包括:7-bit,8-bit, quoted-printable,Base64编解码。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章