ئوچۇق كود T5L ئاساسىدىكى SMTP Mailer

بۇ مەسىلە سىز ئۈچۈن ئىنتايىن ئەمەلىي بولغان Diwen ئاچقۇچىلار مۇنبىرىنىڭ مۇكاپاتقا ئېرىشكەن ئوچۇق كود قېپى - T5L نى ئاساس قىلغان smtp خەت ئەۋەتكۈچى ، ئىنژېنېرلار T5L ئەقلىي ئىقتىدارلىق ئېكرانىنى WiFi مودۇلى ئارقىلىق smtp مۇلازىمېتىرىنى زىيارەت قىلىپ ، ئېلېكترونلۇق خەت ئەۋەتىش ئىقتىدارىنى ئەمەلگە ئاشۇرىدۇ. باشقۇرغۇچىغا ، ئېكراننىڭ تاپشۇرۇۋالغۇچىنىڭ ئېلېكترونلۇق خەت ئادرېسى ، ئېلېكترونلۇق خەت ئىسمى ، ئېلېكترونلۇق خەت مەزمۇنى ۋە باشقا ئۇچۇرلارنى كىرگۈزۈش مەشغۇلاتىنى ئېكرانغا كىرگۈزگىلى بولىدۇ. دىققەت قىلىشقا ئەرزىيدىغىنى شۇكى ، ئېلېكترونلۇق خەت مەزمۇنى ئاددىي تېكىست ، سەپلىمە كونترول ، تېكىست رەڭگى ۋە باشقا تەھرىرلەش ئۇسۇللىرىنى قوللايدۇ.

1. پروگرامما قۇرۇلمىسى

T5L ئەقلىي ئىقتىدارلىق ئېكران WiFi مودۇلىنى كونترول قىلىپ ، 5-نومۇرلۇق ئېغىز ئارقىلىق smtp مۇلازىمېتىرى بىلەن ئۆز-ئارا تەسىر كۆرسىتىپ ، ئېلېكترونلۇق خەت ئەۋەتىش ئىقتىدارىنى ئەمەلگە ئاشۇرىدۇ.

ava (1)

2. كۆرۈنمە يۈزى ئېچىش

DGUS يۇمشاق دېتالى قەۋەتنىڭ ئۈستۈنكى قەۋىتى ئارقىلىق كۆرسىتىش ۋە سېزىمچان ئىقتىدارلارنىڭ تەرەققىياتىنى تاماملايدۇ. ئىشلەتكۈچىلەر پەقەت تەييارلانغان رەسىم ماتېرىياللىرىنى DGUS يۇمشاق دېتالىغا يۈكلەپ ، كۆرسىتىش ۋە سېزىمچان ئىقتىدارلارنى ئورنىتىشى كېرەك.

ava (2)

1. C51S.oftwareD.esign

T5L ئەقلىي ئىقتىدارلىق ئېكران يۈرۈشلۈك ئېغىزى 5 WiFi مودۇلى بىلەن ئالاقىلىشىپ ، smtp مۇلازىمېتىرى بىلەن بولغان ئالاقىنى تاماملايدۇ. ئاساسلىق كودنىڭ بىر قىسمى تۆۋەندىكىچە:

void uart5_init (u32 baud)

{

SCON3T = 0x80;

SCON3R = 0x80;

baud = (u32) ((قوش) (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 * بايت ، u16 len)

{

u16 and;

for (i = 0; i

{

SBUF3_TX = بايت;

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;

قايتىش

}

}

}

u8 esp8266_send_cmd (u8 * cmd, u8 * ack, u16 ساقلاش ۋاقتى ، u8 clearBuffer)

{

u8 res = 0;

rx_stay = 0;

if (ack && waittime && cmd)

{

while (- كۈتۈش ۋاقتى)

{

sys_delay_ms (10);

if (rx_sta & 0X8000)

{

if (esp8266_check_respond (ack))

break;

}

}

if (waittime == 0) res = 1;

if (clearBuffer == 1) rx_sta = 0;

}

return res;

}

typedef struct {

u8 cmd;

u8 ئېلخەت [20];

u8 name [20];

u8 ماۋزۇ [20];

u8 msg [60];

} EMAIL_INFO;

EMAIL_INFO email_info;

u8 ئىنكاس [80];

u8 wifi_name [30];

u8 wifi_passwd [30];

u8 مۇلازىمىتىرى [30];

u8 ئېغىزى [30];

u8 ئىشلەتكۈچى ئىسمى [30];

u8 auth_code [30];

u8 rx_stay;

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 *) & email_info, sizeof (EMAIL_INFO));

if (rx_sta)

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

} بولمىسا ئەگەر (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);

} بولمىسا ئەگەر (btn_val == 3)

{

sys_read_vp (0x3200 ، مۇلازىمېتىر ، 15);

sys_read_vp (0x3220 ، ئېغىز ، 15);

sys_read_vp (0x3240 ، ئىشلەتكۈچى ئىسمى ، 15);

sys_read_vp (0x3260 ، auth_code ، 15);

get_input (مۇلازىمېتىر ، 30);

get_input (ئېغىز ، 30);

get_input (ئىشلەتكۈچى ئىسمى ، 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, "بۇ T5L دىن كەلگەن ئېلېكترونلۇق خەت! \ 0 \ 0", 30);

بولمىسا (btn_val2 == 2)

sys_write_vp (0x3060, "

\ 0 \ 0 ", 30);

بولمىسا (btn_val2 == 3)

sys_write_vp (0x3060, "

Bold

قىزىل

\ 0 \ 0 ", 30);

old_val = btn_val2;

}


يوللانغان ۋاقتى: 31-ئۆكتەبىردىن 20-ئۆكتەبىرگىچە