Vhura sosi T5L-yakavakirwa SMTP Mailer

Iyi nyaya yekuti iwe usundire inoshanda kwazvo Diwen Developer Forum mubairo-kuhwina yakavhurika sosi kesi - T5L-based smtp mail sender, mainjiniya anoshandisa T5L smart screen, kuburikidza neWiFi module kuwana iyo smtp server, kuti uwane basa rekutumira maemail. kune maneja, kushanda kwechidzitiro kuisa email kero yeanogamuchira, email zita, email zvemukati uye rumwe ruzivo runogona kuiswa pachiratidziri.Izvo zvakakosha kucherechedza kuti iyo email yemukati inotsigirawo mavara akajeka, magadzirirwo ekugadzirisa, kuseta mavara mavara uye dzimwe nzira dzekugadzirisa.

1.Programme Architecture

T5L smart screen inodzora iyo WiFi module yekudyidzana ne smtp server kuburikidza ne serial port 5 kuti uwane basa rekutumira email.

ava (1)

2.Interface Development

DGUS software inopedzisa kusimudzira kwekuratidzira uye kubata mabasa kuburikidza nepamusoro pematanho.Vashandisi vanongoda kurodha zvinhu zvakagadzirirwa zvemifananidzo muDGUS software uye kumisikidza kuratidza uye kubata mabasa.

ava (2)

1. C51SoftwareDsign

T5L smart screen serial port 5 inotaurirana neWiFi module kupedzisa kupindirana nesmtp server.Chikamu cheiyo main code ndeichi:

void uart5_init(u32 baud)

{

SCON3T = 0x80;

SCON3R = 0x80;

baud = (u32) ((kaviri)(FOSC/8.0)/baud);

BODE3_DIV_H = (baud>>8)&0xff;

BODE3_DIV_L = baud&0xff;

ES3R = 0;

ES3T = 0;

}

pasina u5_send_byte(u8 byte)

{

SBUF3_TX = byte;

apo(!(SCON3T&0x01));

SCON3T &= 0xfe;

}

pasina u5_send_bytes(u8 *bytes,u16 len)

{

u16 i;

zve(i=0;i

{

SBUF3_TX = bytes;

apo(!(SCON3T&0x01));

SCON3T &= 0xfe;

}

}

void get_input(u8 * val,u8 len)

{

u8 i;

zve(i=0;i

{

kana(vhara ==0xff)

{

val = 0x00;

val[i+1] = 0x00;

return;

}

}

}

u8 esp8266_send_cmd(u8 *cmd,u8 *ack,u16 nguva yekumirira,u8 clearBuffer)

{

u8 res=0;

rx_sta=0;

kana (ack&&kumirira&&cmd)

{

nguva (--kumirira)

{

sys_delay_ms(10);

kana(rx_sta&0X8000)

{

kana(esp8266_check_respond(ack))

break;

}

}

kana(waittime==0)res=1;

kana(clearBuffer==1)rx_sta=0;

}

return res;

}

typedef chimiro{

u8 cmd;

u8 email[20];

u8 zita[20];

u8 musoro[20];

u8 msg[60];

}EMAIL_INFO;

EMAIL_INFO email_info;

u8 pindura[80];

u8 wifi_name[30];

u8 wifi_passwd[30];

u8 server[30];

u8 chiteshi[30];

u8 username[30];

u8 auth_code[30];

u8 rx_sta;

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

kana(btn_val)

{

kana(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);

get_input(email_info.name,20);

get_input(email_info.email,20);

get_input(email_info.title,20);

get_input(email_info.msg,60);

send_packet((u8*)&email_info,sizeof(EMAIL_INFO));

kana(rx_sta)

send_mail(email_info.email,email_info.title,email_info.msg);

}zvimwe kana(btn_val==2)

{

sys_read_vp(0x3100,wifi_name,15);

sys_read_vp(0x3120,wifi_passwd,15);

get_input(wifi_name,30);

get_input(wifi_passwd,30);

}zvimwe kana(btn_val==3)

{

sys_read_vp(0x3200,server,15);

sys_read_vp(0x3220,port,15);

sys_read_vp(0x3240,username,15);

sys_read_vp(0x3260,auth_code,15);

get_input(server,30);

get_input(port,30);

get_input(zita rekushandisa,30);

get_input(auth_code,30);

}

 

btn_val = 0;

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

}

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

kana(btn_val2!=yekare_val)

{

kana(btn_val2==1)

sys_write_vp(0x3060,"Iyi email kubva kuT5L!\0\0",30);

zvimwe kana(btn_val2==2)

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

zvimwe kana(btn_val2==3)

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

old_val = btn_val2;

}


Nguva yekutumira: Oct-31-2023