Açyk çeşme T5L esasly SMTP Mailer

Diwen Öndüriji Forumynyň baýrakly açyk çeşme - T5L esasly smtp poçta iberijisi, inersenerler smtp serwerine girmek üçin e-poçta ibermek funksiýasyna ýetmek üçin WiFi moduly arkaly T5L akylly ekrany ulanýarlar. dolandyryja, alyjynyň e-poçta salgysyny, e-poçta adyny, e-poçta mazmunyny we beýleki maglumatlary girizmek üçin ekranyň işleýşi ekrana girizilip bilner.E-poçta mazmunynyň ýönekeý teksti, konfigurasiýa dolandyryşlaryny, tekst reňkini düzmek we beýleki redaktirleme usullaryny hem goldaýandygyny bellemelidiris.

1.Programma arhitekturasy

T5L akylly ekrany, e-poçta ibermek funksiýasyna ýetmek üçin 5-nji seriýa porty arkaly smtp serweri bilen täsirleşmek üçin WiFi modulyny dolandyrýar.

ava (1)

2.Interfeýs ösüşi

DGUS programma üpjünçiligi, gatlaklaryň superpozisiýasy arkaly displeý we duýgur funksiýalaryň ösüşini tamamlaýar.Ulanyjylar diňe taýýarlanan surat materiallaryny DGUS programma üpjünçiligine ýüklemeli we displeý we sensor funksiýalaryny düzmeli.

ava (2)

1. C51Sprogramma üpjünçiligiDesign

T5L akylly ekran seriýa porty 5, smtp serweri bilen gatnaşygy tamamlamak üçin WiFi moduly bilen aragatnaşyk saklaýar.Esasy koduň bir bölegi aşakdakylar:

boş uart5_init (u32 baud)

{

SCON3T = 0x80;

SCON3R = 0x80;

baud = (u32) ((goşa) (FOSC / 8.0) / baud);

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

BODE3_DIV_L = baud & 0xff;

ES3R = 0;

ES3T = 0;

}

boş u5_send_byte (u8 baýt)

{

SBUF3_TX = baýt;

(! (SCON3T & 0x01));

SCON3T & = 0xfe;

}

boş u5_send_bytes (u8 * baýt, u16 len)

{

u16 i;

üçin (i = 0; i

{

SBUF3_TX = baýt;

(! (SCON3T & 0x01));

SCON3T & = 0xfe;

}

}

boş get_input (u8 * val, u8 len)

{

u8 i;

üçin (i = 0; i

{

eger (val == 0xff)

{

val = 0x00;

val [i + 1] = 0x00;

gaýdyp gelmek;

}

}

}

u8 esp8266_send_cmd (u8 * cmd, u8 * ack, u16 garaşma wagty, u8 clearBuffer)

{

u8 res = 0;

rx_sta = 0;

eger (ack && garaşma wagty && cmd)

{

(- garaşmak wagty)

{

sys_delay_ms (10);

eger (rx_sta & 0X8000)

{

eger (esp8266_check_respond (ack))

arakesme;

}

}

eger (garaşmak wagty == 0) res = 1;

eger (clearBuffer == 1) rx_sta = 0;

}

gaýdyp gelmek;

}

typedef strukturasy {

u8 smd;

u8 e-poçta [20];

u8 ady [20];

u8 ady [20];

u8 msg [60];

} EMAIL_INFO;

EMAIL_INFO e-poçta_info;

u8 jogap ber [80];

u8 wifi_name [30];

u8 wifi_passwd [30];

u8 serweri [30];

u8 porty [30];

u8 ulanyjy ady [30];

u8 auth_code [30];

u8 rx_sta;

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

eger (btn_val)

{

eger (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 (e-poçta_info.name, 20);

get_input (e-poçta_info.email, 20);

get_input (e-poçta_info.title, 20);

get_input (email_info.msg, 60);

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

eger (rx_sta)

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

} başga bolsa (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);

} başga bolsa (btn_val == 3)

{

sys_read_vp (0x3200, serwer, 15);

sys_read_vp (0x3220, port, 15);

sys_read_vp (0x3240, ulanyjy ady, 15);

sys_read_vp (0x3260, auth_code, 15);

get_input (serwer, 30);

get_input (port, 30);

get_input (ulanyjy ady, 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);

eger (btn_val2! = köne_val)

{

eger (btn_val2 == 1)

sys_write_vp (0x3060, "Bu T5L-den e-poçta! \ 0 \ 0", 30);

bolmasa (btn_val2 == 2)

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

bolmasa (btn_val2 == 3)

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

köne_val = btn_val2;

}


Iş wagty: 31-2023-nji oktýabr