一.简介:
嵌入式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/\xD2\x3B\090\xCB/Hello! This is a email send by an Embedded email module!/++++
Email Module就可以主动拨号并将Email发送到用户指定的意图hugehard@kimo.com。
留意:操控字符串中对应于SMTP IP地址的/\xD2\x3B\090\xCB,是c语言中的格局,代表ASCII码的0xd2,0x3B,0x90,0xCB等4个字节,而不是字符串/\xD2\x3B\090\xCB。
四.音讯和过错代码
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衔接被复位,服务器回绝衔接恳求