新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于ARM的嵌入式SMTP远程控制设计

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

作者:时间:2009-06-18来源:网络收藏

配置模块使系统管理员可以远程使用邮件的方式设置设备的参数,在系统启动中定义的配置环境变量包括设备的临界值,状态报告周期,Socket端口等网络参数,设备的启动停止时间,工作周期等。
网络远程设备的配置和控制信息的访问是安全保护的重点。安全模块通过在服务器上定义安全域和对每个安全域定义的用户名/密码实现对敏感信息的保护。还可以对请求控制动作及数据采取加密措施实现安全保护功能。系统主要通过E来实现保护措施。E为扩展的协议,是邮件服务器系统为了限制非本系统的正式用户利用本系统散发垃圾邮件或其他不当行为而开设的一项安全认证服务。
应用程序接口模块实现和控制系统的控制及数据交换。在本系统中,应用程序接口与操作系统通信,通过设备的驱动程序实现对嵌入系统的配置、监视和控制,是系统控制的核心。监控程序模块使用CGI(Common Gateway Interface)的方式实现。
2. SMTP通讯模块
通过电子邮件来与网络系统通信有如下优点:(1) 用户接口是日常使用的标准电子邮件客户程序,对技术要求较低;(2) 有现成的协议用于从各种设备(桌面电脑、手持设备及网络电话)发送电子邮件并在因特网上传输;(3) 只需稍加处理,便可对嵌入式设备上回复的电子邮件以HTML格式进行编码,使数据的表现形式更为丰富和易读;(4) 电子邮件客户程序有自己的存档日志,便于进行数据归档备份[3]。
系统中实现的是一个简化的SMTP Server。仅仅是根据基本的SMTP交互协议实现邮件接收和邮件转储。不提供邮件转发,也不需要考虑多用户的邮件并发连接。该SMTP Server仅仅为单用户提供专用连接,并按自己的特定格式接收。
因此,该SMTP Server实现的核心是实现最简单的SMTP锁步协议对话机,并从邮件中析取出命令及附件数据。在分析标准后,程序中仅实现符合应用需求的最简洁的SMTP对话机制。Server只是对客户命令有效的发出每一个对话的响应码及固定信息,然后接收客户机的应答。在应答消息中也仅仅分析应答的字符命令是否正确,而不理睬其他信息。在邮件处理过程中,只查找主题并判断,然后从邮件中判断出附件的标志并从附件开始处接收数据然后解码。
2.1 SMTP通讯基本流程
为实现设备的及状态响应,将SMTP软件的结构模块化。分为套接字通讯模块、编码模块、解析模块、SMTP/E模块、附件解析模块。其基本结构如图2。

本文引用地址:http://www.amcfsurvey.com/article/152450.htm

图2: 嵌入式SMTP流程
2.2 套接字通讯模块
网络套接字模块负责与远端客户机、服务器建立TCP连接,发送和接收从客户端发送的命令和数据以及向其他SMTP服务器端返回邮件数据。这些都是TCP/IP栈通过Linux操作系统的标准Socket机制来实现的。在网络模块中,为便于升级,考虑到了IPv4到IPv6过渡。在用户设置服务器地址的时候,可以支持IP地址输入和域名输入两种方式,这样给用户带来很大方便。
在该模块中,提供一个TCP流套接字服务器。在端口25上绑定套接字,最多可以提供一个连接,支持5个等待。一旦服务器接受一个连接,该套接字被传给SMTP/E模块,来处理SMTP协议实现交互。处理完后关闭套接字,然后可以等待另一个请求。
2.3 编码模块
在系统中,远程设备需要周期性的将设备运行状态及各参数发送给管理者,以及在管理者发送查询指令时将查询的关键值发送给管理者。这需要设备能够根据运行的参数构造标准结构的E-mail并发送。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

tcp/ip相关文章:tcp/ip是什么




评论


相关推荐

技术专区

关闭