Avatud lähtekoodiga T5L-põhine SMTP Mailer

See väljaanne on teile mõeldud väga praktilise Diwen Developer Forumi auhinnatud avatud lähtekoodiga juhtumi – T5L-põhise smtp-meili saatja jaoks. administraatorile saab ekraanile sisestada adressaadi e-posti aadressi, meili pealkirja, meili sisu ja muu teabe sisestamise ekraani toimimise.Väärib märkimist, et meili sisu toetab ka lihtteksti, konfiguratsiooni juhtelemente, teksti värvi määramist ja muid redigeerimismeetodeid.

1. Programmi arhitektuur

T5L nutikas ekraan juhib WiFi-moodulit, et suhelda smtp-serveriga läbi jadapordi 5, et saavutada meili saatmise funktsioon.

ava (1)

2. Liidese arendamine

Tarkvara DGUS viib ekraani- ja puutefunktsioonide arendamise lõpule kihtide superpositsiooni kaudu.Kasutajad peavad laadima ainult ettevalmistatud pildimaterjalid DGUS-i tarkvarasse ning seadistama kuva- ja puutefunktsioonid.

ava (2)

1. C51SpõhivaraDesign

T5L nutika ekraani jadaport 5 suhtleb WiFi-mooduliga, et viia lõpule suhtlus smtp-serveriga.Osa põhikoodist on järgmine:

void uart5_init (u32 baud)

{

SCON3T = 0x80;

SCON3R = 0x80;

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

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

BODE3_DIV_L = baud&0xff;

ES3R = 0;

ES3T = 0;

}

void u5_send_byte(u8 byte)

{

SBUF3_TX = bait;

while(!(SCON3T&0x01));

SCON3T &= 0xfe;

}

void u5_send_bytes(u8 *baiti,u16 len)

{

u16 i;

for(i=0;i

{

SBUF3_TX = baidid;

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;

tagastamine;

}

}

}

u8 esp8266_send_cmd(u8 *cmd,u8 *ack,u16 ooteaeg,u8 puhaspuhver)

{

u8 res=0;

rx_sta=0;

if(ack&&ooteaeg&&cmd)

{

samas (--ooteaeg)

{

sys_delay_ms(10);

if(rx_sta&0X8000)

{

if(esp8266_check_respond(ack))

murda;

}

}

if(ooteaeg==0)res=1;

if(clearBuffer==1)rx_sta=0;

}

return res;

}

typedef struct{

u8 cmd;

u8 email[20];

u8 nimi[20];

u8 pealkiri[20];

u8 sõnum[60];

}EMAIL_INFO;

EMAIL_INFO email_info;

u8 vastama[80];

u8 wifi_nimi[30];

u8 wifi_passwd[30];

u8 server[30];

u8 port[30];

u8 kasutajanimi[30];

u8 autentimise_kood[30];

u8 rx_sta;

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

if(btn_val)

{

if(btn_val==1)

{

sys_read_vp(0x3000,e-posti_info.nimi,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);

hanki_sisend(e-posti_info.nimi,20);

get_input(email_info.email,20);

get_input(email_info.title,20);

get_input(email_info.msg,60);

send_packet((u8*)&e-posti_info,suurus(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_nimi,15);

sys_read_vp(0x3120,wifi_passwd,15);

hanki_sisend(wifi_nimi,30);

get_input(wifi_passwd,30);

}else if(btn_val==3)

{

sys_read_vp(0x3200,server,15);

sys_read_vp(0x3220,port,15);

sys_read_vp(0x3240,kasutajanimi,15);

sys_read_vp(0x3260,auth_code,15);

hanki_sisend(server,30);

hanki_sisend(port,30);

hanki_sisend(kasutajanimi,30);

hanki_sisend(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!=vana_val)

{

if(btn_val2==1)

sys_write_vp(0x3060,"See on meil T5L-lt!\0\0",30);

else if(btn_val2==2)

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

else if(btn_val2==3)

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

vana_valik = btn_val2;

}


Postitusaeg: 31. oktoober 2023