ଇମେଲ ପଠାଇବା କାର୍ଯ୍ୟ ହାସଲ କରିବା ପାଇଁ ୱାଇଫାଇ ମଡ୍ୟୁଲ ମାଧ୍ୟମରେ ଇଞ୍ଜିନିୟର୍ମାନେ T5L ସ୍ମାର୍ଟ ସ୍କ୍ରିନ ବ୍ୟବହାର କରନ୍ତି, ୱାଇଫାଇ ମଡ୍ୟୁଲ ମାଧ୍ୟମରେ, T5L ଆଧାରିତ smtp ମେଲ ପ୍ରେରକ, ଇଞ୍ଜିନିୟରମାନେ T5L ସ୍ମାର୍ଟ ସ୍କ୍ରିନ ବ୍ୟବହାର କରନ୍ତି | ଆଡମିନିଷ୍ଟ୍ରେଟରଙ୍କୁ, ଗ୍ରହୀତାଙ୍କ ଇମେଲ୍ ଠିକଣା, ଇମେଲ୍ ଟାଇଟଲ୍, ଇମେଲ୍ ବିଷୟବସ୍ତୁ ଏବଂ ଅନ୍ୟାନ୍ୟ ସୂଚନା ପ୍ରବେଶ କରିବାକୁ ସ୍କ୍ରିନର କାର୍ଯ୍ୟ ପରଦାରେ ଇନପୁଟ୍ ହୋଇପାରେ | ସୂଚନାଯୋଗ୍ୟ ଯେ ଇମେଲ ବିଷୟବସ୍ତୁ ସାଧା ପାଠ୍ୟ, ବିନ୍ୟାସ ନିୟନ୍ତ୍ରଣ, ପାଠ୍ୟ ରଙ୍ଗ ସେଟିଂ ଏବଂ ଅନ୍ୟାନ୍ୟ ସମ୍ପାଦନା ପଦ୍ଧତିକୁ ମଧ୍ୟ ସମର୍ଥନ କରେ |
1. ପ୍ରୋଗ୍ରାମ୍ ସ୍ଥାପତ୍ୟ
ଇମେଲ ପଠାଇବା କାର୍ଯ୍ୟକୁ ହାସଲ କରିବା ପାଇଁ T5L ସ୍ମାର୍ଟ ସ୍କ୍ରିନ କ୍ରମିକ ପୋର୍ଟ 5 ମାଧ୍ୟମରେ smtp ସର୍ଭର ସହିତ ଯୋଗାଯୋଗ କରିବାକୁ ୱାଇଫାଇ ମଡ୍ୟୁଲକୁ ନିୟନ୍ତ୍ରଣ କରିଥାଏ |
![](https://ecdn6.globalso.com/upload/p/1355/source/2024-03/65f969e7ea32035860.png)
![ava (1)](https://ecdn6.globalso.com/upload/p/1355/source/2024-03/65f96bc1027de84836.jpg)
2. ଇଣ୍ଟରଫେସ୍ ବିକାଶ
DGUS ସଫ୍ଟୱେର୍ ସ୍ତରଗୁଡିକର ସୁପରପୋଜିସନ୍ ମାଧ୍ୟମରେ ପ୍ରଦର୍ଶନ ଏବଂ ସ୍ପର୍ଶ କାର୍ଯ୍ୟଗୁଡ଼ିକର ବିକାଶକୁ ସମାପ୍ତ କରେ | ଉପଭୋକ୍ତାମାନେ କେବଳ ପ୍ରସ୍ତୁତ ଚିତ୍ର ସାମଗ୍ରୀକୁ DGUS ସଫ୍ଟୱେୟାରରେ ଲୋଡ୍ କରିବା ଏବଂ ପ୍ରଦର୍ଶନ ଏବଂ ସ୍ପର୍ଶ କାର୍ଯ୍ୟଗୁଡ଼ିକ ସେଟ୍ ଅପ୍ କରିବା ଆବଶ୍ୟକ କରନ୍ତି |
![ava (2)](https://ecdn6.globalso.com/upload/p/1355/source/2024-03/65f96bc23a89741572.jpg)
1. C51S।ଅଫୱେର୍ଡିesign
T5L ସ୍ମାର୍ଟ ସ୍କ୍ରିନ୍ କ୍ରମିକ ପୋର୍ଟ 5 ୱାଇଫାଇ ମଡ୍ୟୁଲ୍ ସହିତ smtp ସର୍ଭର ସହିତ ପାରସ୍ପରିକ କାର୍ଯ୍ୟ ସମାପ୍ତ କରିବାକୁ ଯୋଗାଯୋଗ କରେ | ମୁଖ୍ୟ ସଂକେତର ଏକ ଅଂଶ ନିମ୍ନଲିଖିତ ଅଟେ:
ଶୂନ୍ୟ uart5_init (u32 baud)
{
SCON3T = 0x80;
SCON3R = 0x80;
baud = (u32) ((ଡବଲ୍) (FOSC / 8.0) / baud);
BODE3_DIV_H = (ବାଉଡ୍ >> 8) & 0xff;
BODE3_DIV_L = ବାଉଡ୍ & 0xff;
ES3R = 0;
ES3T = 0;
}
ଶୂନ୍ୟ u5_send_byte (u8 ବାଇଟ୍)
{
SBUF3_TX = ବାଇଟ୍;
ଯେତେବେଳେ (! (SCON3T & 0x01));
SCON3T & = 0xfe;
}
ଶୂନ୍ୟ u5_send_bytes (u8 * ବାଇଟ୍, u16 ଲେନ୍)
{
u16 ଏବଂ;
ପାଇଁ (i = 0; i
{
SBUF3_TX = ବାଇଟ୍;
ଯେତେବେଳେ (! (SCON3T & 0x01));
SCON3T & = 0xfe;
}
}
ଶୂନ୍ୟ get_input (u8 * val, u8 len)
{
u8 i;
ପାଇଁ (i = 0; i
{
ଯଦି (val == 0xff)
{
val = 0x00;
val [i + 1] = 0x00;
ଫେରସ୍ତ;
}
}
}
u8 esp8266_send_cmd (u8 * cmd, u8 * ack, u16 ଅପେକ୍ଷା ସମୟ, u8 କ୍ଲିଅର୍ ବଫର୍)
{
u8 res = 0;
rx_stay = 0;
if (ack && waittime && cmd)
{
ଯେତେବେଳେ (- ଅପେକ୍ଷା ସମୟ)
{
sys_delay_ms (10);
ଯଦି (rx_sta & 0X8000)
{
ଯଦି (esp8266_check_respond (ack))
ବିରତି;
}
}
ଯଦି (ଅପେକ୍ଷା ସମୟ == 0) res = 1;
if (clearBuffer == 1) rx_sta = 0;
}
ଫେରସ୍ତ res;
}
typedef struct {
u8 cmd;
u8 ଇମେଲ୍ [20];
u8 ନାମ [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);
ଯଦି (btn_val)
{
ଯଦି (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));
ଯଦି (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);
ଯଦି (btn_val2! = ପୁରୁଣା_ଭାଲ୍)
{
ଯଦି (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, " ବୋଲ୍ଡ |
ଲାଲ୍ |
\ 0 \ 0 ", 30);
old_val = btn_val2;
}
ପୋଷ୍ଟ ସମୟ: ଅକ୍ଟୋବର -20-2023 |