嵌入式Email发送模块

发布者:平章大人最新更新时间:2006-05-07 手机看文章 扫描二维码
随时随地手机看文章

一.简介:

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

结构框图:

      特点:

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

  • 优异的性能/价格比;

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

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

  • 自动拨号、登录;

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

  • 自动获取IP地址;

  • 自动发送Email

性能参数:

  • Modem连接速度:1200bps;

  • 用户接口:9600bps串行接口;
       (速率可根据用户需求进行调整)

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

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

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

应用范围:

  • 工业设备;

  • 智能仪器、仪表;

  • 智能网络家电;

  • 家庭健康监护;

  • 手持设备;

  • 远程控制;

二:引脚说明

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

  1. VCC电源;

  2. RESET复位;

  3. RXD串行数据输入;

  4. TXD串行数据输出;

  5. 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连接被复位,服务器拒绝连接请求

作者联系方式:  
       电话:86-10-62753159
       传真:86-10-62753260
       email:liu_ding@21cn.com hugehard@263.net 

引用地址:嵌入式Email发送模块

上一篇:基于EPLD的PCI总线仲裁器的设计与实现
下一篇:利用WinDriver开发PCI设备驱动程序

小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved