Open source T5L-monina SMTP Mailer

Ity olana ity ho anao hanosika tena azo ampiharina Diwen Developer Forum nahazo loka open source tranga - T5L-monina smtp mailaka mpandefa , injeniera mampiasa ny T5L marani-tsaina efijery, amin'ny alalan'ny WiFi Module mba hidirana ny smtp mpizara, mba hanatratrarana ny asa ny fandefasana mailaka ho an'ny mpandrindra , ny fiasan'ny efijery hidirana ny adiresy mailaka an'ny mpandray, ny lohatenin'ny mailaka, ny atiny mailaka ary ny fampahalalana hafa dia azo ampidirina amin'ny efijery.Tsara ny manamarika fa ny votoatin'ny mailaka dia manohana lahatsoratra tsotra, fanaraha-maso ny fanamafisana, fametrahana loko lahatsoratra ary fomba fanovana hafa.

1. Programa Architecture

T5L smart screen dia mifehy ny maody WiFi hifaneraserana amin'ny mpizara smtp amin'ny alàlan'ny seranan-tsambo 5 mba hahatratrarana ny asan'ny fandefasana mailaka.

ava (1)

2. Fampandrosoana ny Interface

Ny lozisialy DGUS dia mameno ny fampivoarana ny fampiratiana sy ny fikasihana asa amin'ny alàlan'ny superposition ny sosona.Ny mpampiasa ihany no mila mampiditra ny fitaovana sary voaomana ao amin'ny rindrambaiko DGUS ary manangana ny fampiratiana sy fikasihana.

ava (2)

1. C51SmatetikaDesign

T5L smart screen serial port 5 dia mifandray amin'ny WiFi module mba hamitana ny fifandraisana amin'ny smtp server.Ny ampahany amin'ny kaody fototra dia toy izao manaraka izao:

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 = byte;

while(!(SCON3T&0x01));

SCON3T &= 0xfe;

}

void u5_send_bytes(u8 *bytes,u16 len)

{

u16 i;

ho (i=0;i

{

SBUF3_TX = bytes;

while(!(SCON3T&0x01));

SCON3T &= 0xfe;

}

}

void get_input(u8 * val,u8 len)

{

u8 i;

ho (i=0;i

{

raha(val==0xff)

{

val = 0x00;

val[i+1] = 0x00;

fiverenana;

}

}

}

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

{

u8 res=0;

rx_sta=0;

raha(ack&&fiandrasana&&cmd)

{

mandritra (--fiandrasana)

{

sys_delay_ms(10);

raha(rx_sta&0X8000)

{

raha(esp8266_check_respond(ack))

tapaka;

}

}

raha(fiandrasana==0)res=1;

raha(clearBuffer==1)rx_sta=0;

}

miverina res;

}

typedef struct {

u8 cmd;

u8 mailaka[20];

anarana u8[20];

u8 lohateny[20];

u8 msg[60];

}EMAIL_INFO;

EMAIL_INFO mailaka_info;

u8 mamaly[80];

u8 wifi_name[30];

u8 wifi_passwd[30];

mpizara u8[30];

seranana u8[30];

solon'anarana u8[30];

u8 auth_code[30];

u8 rx_sta;

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

raha(btn_val)

{

raha(btn_val==1)

{

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

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

sys_read_vp(0x3040,mail_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));

raha(rx_sta)

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

} else if(btn_val==2)

{

sys_read_vp(0x3100,wifi_name,15);

sys_read_vp(0x3120,wifi_passwd,15);

get_input(anarana_wifi,30);

get_input(wifi_passwd,30);

} hafa raha(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(anarana,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);

raha(btn_val2!=old_val)

{

raha(btn_val2==1)

sys_write_vp(0x3060,"Imailaka avy amin'ny T5L!\0\0",30);

raha tsy izany (btn_val2==2)

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

raha tsy izany (btn_val2==3)

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

old_val = btn_val2;

}


Fotoana fandefasana: Oct-31-2023