一.简介:
嵌入式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服务器,这样做将大大提高邮件发送的成功率。
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/xD2x3B 90xCB/Hello! This is a email send by an Embedded email
module!/++++"
Email Module就能够自动拨号并将Email发送到用户指定的目的hugehard@kimo.com。
注意:控制字符串中对应于SMTP IP地址的"/xD2x3B 90xCB",是c语言中的格式,代表ASCII码的0xd2,0x3B,0x90,0xCB等4个字节,而不是字符串"/xD2x3B 90xCB"。
四.消息和错误代码
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
上一篇:基于EPLD的PCI总线仲裁器的设计与实现
下一篇:利用WinDriver开发PCI设备驱动程序
- 热门资源推荐
- 热门放大器推荐
- Allegro MicroSystems 在 2024 年德国慕尼黑电子展上推出先进的磁性和电感式位置感测解决方案
- 左手车钥匙,右手活体检测雷达,UWB上车势在必行!
- 狂飙十年,国产CIS挤上牌桌
- 神盾短刀电池+雷神EM-i超级电混,吉利新能源甩出了两张“王炸”
- 浅谈功能安全之故障(fault),错误(error),失效(failure)
- 智能汽车2.0周期,这几大核心产业链迎来重大机会!
- 美日研发新型电池,宁德时代面临挑战?中国新能源电池产业如何应对?
- Rambus推出业界首款HBM 4控制器IP:背后有哪些技术细节?
- 村田推出高精度汽车用6轴惯性传感器
- 福特获得预充电报警专利 有助于节约成本和应对紧急情况