新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 嵌入式Email发送模块

嵌入式Email发送模块

作者:时间:2016-09-12来源:网络收藏

一.简介:

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

嵌入式Email发送模块是以高性能控制器和Modem芯片为硬件平台,配以专门为8位单片机平台编写的TCP/IP协议栈为固件而构成的功能强大的网络通信模块。该模块提供了从物理层直到应用层所有的软、硬件,有非常简洁的用户接口,具有成本低廉,体积小,二次开发方便、功能强大等优点,可以广泛应用于工业、家电以及各种手持设备上。

特点:

内置适用于8bit处理器上的TCP/IP协议栈固件;

优异的性能/价格比;

提供非常简单的用户接口,方便二次开发;

很大的灵活性,可以根据用户的需求开发;

自动拨号、登录;

自动建立PPP协议网络连接;

自动获取IP地址;

自动发送Email

性能参数:

Modem连接速度:1200bps;

用户接口:9600bps串行接口;

(速率可根据用户需求进行调整)

功耗:110mA(工作),20mA(待机);

能发送的email最大长度:5k字节;

体积:62mm(长)×47mm(宽)×18mm(高);

应用范围:

工业设备;

智能仪器、仪表;

智能网络家电;

家庭健康监护;

手持设备;

远程控制;

二:引脚说明

Email发送模块对用户提供了非常简单的外部接口,一共只有5根外部引脚,分别是:

VCC电源;

RESET复位;

RXD串行数据输入;

TXD串行数据输出;

GND电源地;

与用户MCU的典型连接如下图所示:

电源

Email发送模块所需要的电源为+5V±5%的单电源供电,Modem激活时电流小于110mA。

复位

保持Reset引脚10uS以上高电平会导致模块内部处理器以及Modem复位。复位后模块处于等待命令的状态,而Modem处于挂机状态。通常可以用控制器的GPIO来复位器件,或者采用以下的上电复位电路:


串口

串口是Email发送模块与外部控制器交换数据和命令的唯一界面。用户控制器的数据和命令通过串口RXD引脚输入;而模块的各种状态则通过TXD反馈给用户。

模块串口和8051MCU串口模式1相同,波特率为9600bps,全双工异步模式。数据格式为一位起始位,8位数据位和一位停止位,低位在先,无奇偶校验位。输入电平兼容TTL和CMOS电平。

三:Email模块的控制

外部的控制器通过Email模块上的串行口对模块进行进行控制。在复位之后,器件处于等待状态,直到接收到有效的串口的数据为止。

模块内部定义'/'符号号作为分隔符。各项数据的输入都以'/'号为起始。按照拨入ISP并且发送一封Email所需要的信息,用户输入的数据格式是:

/ISP电话号码/用户名/密码/发送者Email地址/接受者Email地址/SMTP服务器IP地址/Email内容/++++

在最后面的4个'+'号告诉模块,所有信息已经输入完毕,可以拨号并且发送email了。

ISP电话号码

为用户提供拨号接入的ISP运营商的电话号码,如2631,96890等。

用户名

拨号接入的用户名,如拨2631时用户名就是263,拨96890时用户名就是96890。

密码

拨号接入的用户密码,如拨2631时密码就是263,拨96890时密码就是96890。

发送者的Email地址

发送者的Email地址,如 liu_ding@sina.com。

接收者的Email地址

接收者的Email地址,如 hugehard@kimo.com。

SMTP服务器IP地址

一台能够提供SMTP邮件转发服务的服务器的IP地址。该服务器必须有固定的IP,并且在转发邮件时不要求身份验证。有的服务器只对发送方Email或者接受方Email为该服务器的注册用户提供转发服务,比如IP地址为210.59.144.203的 smtp.kimo.com 只为发送者或接受者为 XXX@kimo.com 的用户提供转发服务。在采用这一类服务器时只要使发送者或接受者的Email符合服务器要求就可以了。

如果是为大量用户提供特定服务,建议设立专用的SMTP服务器,这样做将大大提高邮件发送的成功率。

Email内容

发送方想发送的内容。内容可以为字符或数据。由于受片内存储器限制,目前能发送的最大Email为5k字节。

++++

4个加号告诉模块,所有信息已经传输完毕,可以开始发送了。在收到4个连续的加号之后,如果Email Module上接有电话线,那Module将开始拨号并建立连接和发送Email。

实例:

假设用户选择96890为ISP,那么电话号码、用户名和密码都为96890。

发送者Email为 liu_ding@sina.com,

接受者Email为 hugehard@kimo.com

采用的SMTP服务器为 smtp.kimo.com,其IP为210.59.144.203 (D2.3B.90.CB)

Email内容为

Hello! This is a email send by an Embedded email module!

根据以上信息和前面定义的数据格式,控制器只要把下面的字符串通过串口送入Module:

/96890/96890/96890/liu_ding@sina.com/hugehard@kimo.com/xD2x3B90xCB/Hello! This is a email send by an Embedded email module!/++++

Email Module就能够自动拨号并将Email发送到用户指定的目的hugehard@kimo.com。

注意:控制字符串中对应于SMTP IP地址的/xD2x3B90xCB,是c语言中的格式,代表ASCII码的0xd2,0x3B,0x90,0xCB等4个字节,而不是字符串/xD2x3B90xCB。

四.消息和错误代码

Email模块在工作过程中会不断地通过串口的TXD引脚向外发出各种消息和错误信息。这些消息和错误信息都只有一个字节。下面就是这些消息和错误信息(括号内为代表消息的值)

消息代码

MSG_LOGIN(0x10): ISP登录成功;

MSG_PPPCNCTD( 0x11):PPP连接建立;

MSG_TCPCNCTD(0x12): TCP连接建立;

MSG_EMTXOVR(0x13): Email发送完成;

MSG_TCPDISCNT(0x14) TCP连接断开完成;

MSG_GETTCP(0x15) 接收到一个TCP包;

MSG_SENTTCP(0x16) 发送完成一个TCP包;

MSG_READY(0X66): 准备就绪。收到该消息后控制器就可以对模块开始操作了。

错误代码

ERR_PHNL(0x01): 电话线路故障,无法拨通ISP;

ERR_PPPLGN(0x02): 登录ISP错误,可能是密码或帐号名称错误;

ERR_PPPCNT(0x03): PPP连接未建立;

ERR_TCPTMOVR(0x04): TCP连接超时;

ERR_EML (0x05): Email未能正确发送,可能是SMTP服务器拒绝转发邮件;

ERR_TCPRST(0x06): TCP连接被复位,服务器拒绝连接请求



关键词:

评论


相关推荐

技术专区

关闭