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

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

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

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

ava (1)

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

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

ava (2)

1. C51SoftwareDesign

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 i;

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_sta = 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_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 *) & 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;

}


يوللانغان ۋاقتى: 10-ئاينىڭ 31-كۈنىدىن 20-كۈنىگىچە