Манбаи кушодаи T5L дар асоси SMTP Mailer

Ин масъала барои шумо барои тела додани як парвандаи кушодаи манбаи барандаи ҷоизаи Diwen Developer Forum - фиристандаи почтаи smtp дар асоси T5L, муҳандисон экрани интеллектуалии T5L-ро тавассути модули WiFi барои дастрасӣ ба сервери smtp, барои ноил шудан ба функсияи ирсоли паёмҳо истифода мебаранд. ба администратор , амалиёти экран барои ворид кардани суроғаи почтаи электронии гиранда, унвони почтаи электронӣ, мундариҷаи почтаи электронӣ ва дигар маълумот метавонад дар экран ворид карда шавад.Қобили зикр аст, ки мундариҷаи почтаи электронӣ инчунин матни оддӣ, назорати конфигуратсия, танзими ранги матн ва дигар усулҳои таҳрирро дастгирӣ мекунад.

1. Барномаи меъморӣ

Экрани интеллектуалии T5L модули WiFi-ро назорат мекунад, то бо сервери smtp тавассути бандари силсилавии 5 ҳамкорӣ кунад, то вазифаи ирсоли почтаи электронӣ ба даст ояд.

ава (1)

2. Таҳияи интерфейс

Нармафзори DGUS таҳияи функсияҳои намоиш ва ламсро тавассути суперпозитсияи қабатҳо анҷом медиҳад.Истифодабарандагон танҳо бояд маводи тасвирии омодашударо ба нармафзори DGUS бор кунанд ва функсияҳои намоиш ва ламсро танзим кунанд.

ава (2)

1. C51Sзуд-зудDэsign

Порти силсилавии экрани интеллектуалии T5L 5 бо модули WiFi барои анҷом додани ҳамкорӣ бо сервери smtp муошират мекунад.Қисми рамзи асосӣ чунин аст:

void uart5_init (u32 boud)

{

SCON3T = 0x80;

SCON3R = 0x80;

boud = (u32) ((дучанд) (FOSC / 8.0) / boud);

BODE3_DIV_H = (бод>>8)&0xff;

BODE3_DIV_L = boud&0xff;

ES3R = 0;

ES3T = 0;

}

ботил u5_send_byte (u8 байт)

{

SBUF3_TX = байт;

while(!(SCON3T&0x01));

SCON3T &= 0xfe;

}

ботил u5_send_bytes (u8 *bytes,u16 len)

{

u16 i;

барои(i=0;i

{

SBUF3_TX = байт;

while(!(SCON3T&0x01));

SCON3T &= 0xfe;

}

}

void get_input(u8 * val, u8 len)

{

u8 i;

барои(i=0;i

{

агар (val==0xff)

{

val = 0x00;

val[i+1] = 0x00;

бозгашт;

}

}

}

u8 esp8266_send_cmd(u8 *cmd,u8 *ack,u16 интизорӣ, u8 clearBuffer)

{

u8 res=0;

rx_sta=0;

агар (ack&&timetime&&cmd)

{

дар ҳоле (--вақти интизорӣ)

{

sys_delay_ms(10);

агар(rx_sta&0X8000)

{

агар(esp8266_check_respond(ack))

шикастан;

}

}

агар(вақти интизорӣ==0) res=1;

агар(clearBuffer==1)rx_sta=0;

}

бозгаштан;

}

сохтори typedef{

u8 cmd;

u8 почтаи электронӣ[20];

номи u8[20];

u8 унвон[20];

u8 msg[60];

}EMAIL_INFO;

EMAIL_INFO email_info;

u8 ҷавоб[80];

u8 wifi_name[30];

u8 wifi_passwd[30];

сервер u8[30];

порти u8[30];

номи корбар u8[30];

u8 auth_code[30];

u8 rx_sta;

sys_read_vp(0x1000,(u8*)&btn_val,1);

агар(btn_val)

{

агар(btn_val==1)

{

sys_read_vp(0x3000,email_info.name,10);

sys_read_vp(0x3020,email_info.email,10);

sys_read_vp(0x3040,email_info.title,10);

sys_read_vp(0x3060,email_info.msg,30);

гирифтани_даромад(email_info.name,20);

гирифтани_даромад(email_info.email,20);

гирифтани_ворид(email_info.title,20);

гирифтани_ворид(email_info.msg,60);

send_packet((u8*)&email_info,андозаи(EMAIL_INFO));

агар(rx_sta)

фиристодан_почта(email_info.email,email_info.title,email_info.msg);

}alse if(btn_val==2)

{

sys_read_vp (0x3100, wifi_name, 15);

sys_read_vp (0x3120, wifi_passwd, 15);

гирифтани_ворид(номи_wifi,30);

гирифтани_даромад(wifi_passwd,30);

}дигар агар(btn_val==3)

{

sys_read_vp (0x3200, сервер, 15);

sys_read_vp (0x3220, порт, 15);

sys_read_vp (0x3240, номи корбар, 15);

sys_read_vp(0x3260,auth_code,15);

get_input(сервер,30);

get_input(порт,30);

get_input(номи корбар,30);

гирифтани_ворид(коди аутентификация,30);

}

 

btn_val = 0;

sys_write_vp(0x1000,(u8*)&btn_val,1);

}

sys_read_vp(0x2050,(u8*)&btn_val2,1);

агар(btn_val2!=old_val)

{

агар(btn_val2==1)

sys_write_vp(0x3060,"Ин почтаи электронӣ аз T5L аст!\0\0",30);

дигаре агар (btn_val2==2)

sys_write_vp(0x3060," \0\0",30);

дигаре агар (btn_val2==3)

sys_write_vp(0x3060,"ДалерСурх\0\0",30);

old_val = btn_val2;

}


Вақти фиристодан: октябр-31-2023