Atvērtā koda T5L bāzēta SMTP pasta vēstule

Šis jautājums ir paredzēts, lai jūs varētu virzīt ļoti praktisku Diwen izstrādātāju foruma godalgoto atvērtā pirmkoda lietu - T5L balstītu smtp pasta sūtītāju, inženieri izmanto T5L viedo ekrānu, izmantojot WiFi moduli, lai piekļūtu smtp serverim, lai sasniegtu e-pasta sūtīšanas funkciju. administratoram, ekrāna darbību, lai ievadītu adresāta e-pasta adresi, e-pasta nosaukumu, e-pasta saturu un citu informāciju, var ievadīt ekrānā.Ir vērts atzīmēt, ka e-pasta saturs atbalsta arī vienkāršu tekstu, konfigurācijas vadīklas, teksta krāsas iestatīšanu un citas rediģēšanas metodes.

1.Programmas arhitektūra

T5L viedais ekrāns kontrolē WiFi moduli, lai mijiedarbotos ar smtp serveri, izmantojot seriālo portu 5, lai sasniegtu e-pasta sūtīšanas funkciju.

ava (1)

2. Interfeisa izstrāde

Programmatūra DGUS pabeidz displeja un pieskāriena funkciju izstrādi, izmantojot slāņu superpozīcijas.Lietotājiem tikai jāielādē DGUS programmatūrā sagatavotie attēlu materiāli un jāiestata displeja un pieskāriena funkcijas.

ava (2)

1. C51Sbieža programmatūraDesign

T5L viedā ekrāna seriālais ports 5 sazinās ar WiFi moduli, lai pabeigtu mijiedarbību ar smtp serveri.Galvenā koda daļa ir šāda:

nevar uart5_init (u32 bodi)

{

SCON3T = 0x80;

SCON3R = 0x80;

bods = (u32)((dubults)(FOSC/8.0)/baud);

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

BODE3_DIV_L = bodi&0xff;

ES3R = 0;

ES3T = 0;

}

spēkā neesošs u5_send_byte(u8 baits)

{

SBUF3_TX = baits;

while(!(SCON3T&0x01));

SCON3T &= 0xfe;

}

Void u5_send_bytes(u8 *bytes,u16 len)

{

u16 i;

for(i=0;i

{

SBUF3_TX = baiti;

while(!(SCON3T&0x01));

SCON3T &= 0xfe;

}

}

Void get_input(u8 * val,u8 len)

{

u8 i;

for(i=0;i

{

if(val==0xff)

{

val = 0x00;

val[i+1] = 0x00;

atgriešanās;

}

}

}

u8 esp8266_send_cmd(u8 *cmd,u8 *ack,u16 gaidīšanas laiks,u8 clearBuffer)

{

u8 res=0;

rx_sta=0;

if(ack&&waittime&&cmd)

{

kamēr (--gaidīšanas laiks)

{

sys_delay_ms(10);

if(rx_sta&0X8000)

{

if(esp8266_check_respond(ack))

pārtraukums;

}

}

if(waittime==0)res=1;

if(clearBuffer==1)rx_sta=0;

}

atgriezties res;

}

typedef struct{

u8 cmd;

u8 e-pasts[20];

u8 nosaukums[20];

u8 nosaukums[20];

u8 msg[60];

}EMAIL_INFO;

EMAIL_INFO email_info;

u8 atbildēt[80];

u8 wifi_nosaukums[30];

u8 wifi_passwd[30];

u8 serveris[30];

u8 ports[30];

u8 lietotājvārds[30];

u8 autentifikācijas_kods[30];

u8 rx_sta;

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

if(btn_val)

{

if(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*)&e-pasta_informācija,izmērs(EMAIL_INFO));

if(rx_sta)

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

}else if(btn_val==2)

{

sys_read_vp(0x3100,wifi_nosaukums,15);

sys_read_vp(0x3120,wifi_passwd,15);

get_input(wifi_nosaukums,30);

get_input(wifi_passwd,30);

}else if(btn_val==3)

{

sys_read_vp(0x3200,serveris,15);

sys_read_vp(0x3220,ports,15);

sys_read_vp(0x3240,lietotājvārds,15);

sys_read_vp(0x3260,auth_code,15);

get_input(serveris,30);

get_input(ports,30);

get_input(lietotājvārds,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);

if(btn_val2!=old_val)

{

if(btn_val2==1)

sys_write_vp(0x3060,"Šis ir e-pasts no T5L!\0\0",30);

else if(btn_val2==2)

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

else if(btn_val2==3)

sys_write_vp(0x3060,"Treknrakstāsarkans\0\0",30);

old_val = btn_val2;

}


Publicēšanas laiks: 31. oktobris 2023