Umthombo ovulekile we-T5L-based SMTP Mailer

Le nkinga ukuze uphushe i-Diwen Developer Forum ewina umklomelo icala lomthombo ovulekile eliwine umklomelo - umthumeli we-imeyili we-smtp we-T5L , onjiniyela basebenzisa isikrini esihlakaniphile se-T5L , ngemojula ye-WiFi ukufinyelela iseva ye-smtp , ukuze bafeze umsebenzi wokuthumela ama-imeyili kumlawuli , ukusebenza kwesikrini ukufaka ikheli le-imeyili lomamukeli , isihloko se-imeyili, okuqukethwe kwe-imeyili nolunye ulwazi lungafakwa esikrinini.Kuyaphawuleka ukuthi okuqukethwe kwe-imeyili futhi kusekela umbhalo ongenalutho, izilawuli zokumisa, ukusetha umbala wombhalo nezinye izindlela zokuhlela.

1.Programme Architecture

Isikrini esihlakaniphile se-T5L silawula imojula ye-WiFi ukuze ihlanganyele neseva ye-smtp nge-serial port 5 ukuze kuzuzwe umsebenzi wokuthumela i-imeyili.

i-ava (1)

2.Ukuthuthukiswa Kwe-Interface

Isofthiwe ye-DGUS iqeda ukuthuthukiswa kokubonisa kanye nemisebenzi yokuthinta ngokusebenzisa i-superposition yezendlalelo.Abasebenzisi badinga kuphela ukulayisha izinto zesithombe ezilungisiwe ku-software ye-DGUS futhi basethe isibonisi kanye nemisebenzi yokuthinta.

i-ava (2)

1. C51SngaphandleDesign

I-T5L smart screen serial port 5 ixhumana nemojuli ye-WiFi ukuze iqedele ukusebenzisana neseva ye-smtp.Ingxenye yekhodi eyinhloko imi kanje:

i-void uart5_init(u32 baud)

{

I-SCON3T = 0x80;

I-SCON3R = 0x80;

i-baud = (u32) ((kabili) (FOSC/8.0)/i-baud);

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

BODE3_DIV_L = i-baud&0xff;

ES3R = 0;

ES3T = 0;

}

i-void u5_send_byte(u8 byte)

{

SBUF3_TX = ibhayithi;

ngenkathi(!(SCON3T&0x01));

I-SCON3T &= 0xfe;

}

i-void u5_send_bytes(u8 *bytes,u16 len)

{

u16 ngi;

okwe(i=0;i

{

SBUF3_TX = amabhayithi;

ngenkathi(!(SCON3T&0x01));

I-SCON3T &= 0xfe;

}

}

i-void_input(u8 * val,u8 len)

{

u8 ngi;

okwe(i=0;i

{

uma(val==0xff)

{

ival = 0x00;

ival[i+1] = 0x00;

buyela;

}

}

}

u8 esp8266_send_cmd(u8 *cmd,u8 *ack,u16 waittime,u8 clearBuffer)

{

u8 res=0;

rx_sta=0;

uma(i-ack&&isikhathi sokulinda&&cmd)

{

ngenkathi(--waittime)

{

sys_delay_ms(10);

uma(rx_sta&0X8000)

{

uma(esp8266_check_respond(ack))

ikhefu;

}

}

uma(isikhathi sokulinda==0)res=1;

uma(clearBuffer==1)rx_sta=0;

}

res res;

}

uhlobo lwe-typedef{

u8cmd;

i-imeyili ye-u8[20];

u8 igama[20];

u8 isihloko[20];

u8 msg[60];

}EMAIL_INFO;

EMAIL_INFO email_info;

u8 phendula[80];

u8 wifi_name[30];

u8 wifi_passwd[30];

u8 iseva[30];

u8 port[30];

u8 igama lomsebenzisi[30];

u8 auth_code[30];

u8 rx_sta;

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

uma(btn_val)

{

uma(btn_val==1)

{

sys_read_vp(0x3000,i-imeyili_info.name,10);

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

sys_read_vp(0x3040,i-imeyili_info.title,10);

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

get_input(i-imeyili_info.name,20);

get_input(i-imeyili_info.email,20);

get_input(i-imeyili_info.title,20);

get_input(i-imeyili_info.msg,60);

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

uma(rx_sta)

send_mail(i-imeyili_info.email,i-imeyili_info.title,i-imeyili_info.msg);

}okunye uma(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);

}okunye uma(btn_val==3)

{

sys_read_vp(0x3200,server,15);

sys_read_vp(0x3220,port,15);

sys_read_vp(0x3240,igama lomsebenzisi,15);

sys_read_vp(0x3260,auth_code,15);

get_input(iseva,30);

get_input(imbobo,30);

get_input(igama lomsebenzisi,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);

uma(btn_val2!=ival_elidala)

{

uma(btn_val2==1)

sys_write_vp(0x3060,"Le i-imeyili evela ku-T5L!\0\0",30);

okunye uma(btn_val2==2)

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

okunye uma(btn_val2==3)

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

old_val = btn_val2;

}


Isikhathi sokuthumela: Oct-31-2023