ਓਪਨ ਸੋਰਸ T5L-ਅਧਾਰਿਤ SMTP ਮੇਲਰ

ਇਹ ਮੁੱਦਾ ਤੁਹਾਡੇ ਲਈ ਇੱਕ ਬਹੁਤ ਹੀ ਵਿਹਾਰਕ ਦਿਵੇਨ ਡਿਵੈਲਪਰ ਫੋਰਮ ਅਵਾਰਡ-ਵਿਜੇਤਾ ਓਪਨ ਸੋਰਸ ਕੇਸ - T5L-ਅਧਾਰਿਤ smtp ਮੇਲ ਭੇਜਣ ਵਾਲੇ ਨੂੰ ਅੱਗੇ ਵਧਾਉਣ ਲਈ ਹੈ, ਇੰਜੀਨੀਅਰ T5L ਸਮਾਰਟ ਸਕ੍ਰੀਨ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਨ, smtp ਸਰਵਰ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਲਈ WiFi ਮੋਡੀਊਲ ਰਾਹੀਂ, ਈਮੇਲ ਭੇਜਣ ਦੇ ਕਾਰਜ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਪ੍ਰਸ਼ਾਸਕ ਨੂੰ, ਪ੍ਰਾਪਤਕਰਤਾ ਦਾ ਈਮੇਲ ਪਤਾ, ਈਮੇਲ ਸਿਰਲੇਖ, ਈਮੇਲ ਸਮੱਗਰੀ ਅਤੇ ਹੋਰ ਜਾਣਕਾਰੀ ਦਾਖਲ ਕਰਨ ਲਈ ਸਕ੍ਰੀਨ ਦਾ ਸੰਚਾਲਨ ਸਕ੍ਰੀਨ 'ਤੇ ਇਨਪੁਟ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।ਇਹ ਧਿਆਨ ਦੇਣ ਯੋਗ ਹੈ ਕਿ ਈਮੇਲ ਸਮੱਗਰੀ ਪਲੇਨ ਟੈਕਸਟ, ਕੌਂਫਿਗਰੇਸ਼ਨ ਨਿਯੰਤਰਣ, ਟੈਕਸਟ ਰੰਗ ਨਿਰਧਾਰਤ ਕਰਨ ਅਤੇ ਹੋਰ ਸੰਪਾਦਨ ਤਰੀਕਿਆਂ ਦਾ ਵੀ ਸਮਰਥਨ ਕਰਦੀ ਹੈ।

1. ਪ੍ਰੋਗਰਾਮ ਆਰਕੀਟੈਕਚਰ

T5L ਸਮਾਰਟ ਸਕ੍ਰੀਨ ਈਮੇਲ ਭੇਜਣ ਦੇ ਕਾਰਜ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਸੀਰੀਅਲ ਪੋਰਟ 5 ਦੁਆਰਾ smtp ਸਰਵਰ ਨਾਲ ਇੰਟਰੈਕਟ ਕਰਨ ਲਈ WiFi ਮੋਡੀਊਲ ਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਦੀ ਹੈ।

ਆਵਾ (1)

2. ਇੰਟਰਫੇਸ ਵਿਕਾਸ

ਡੀਜੀਯੂਐਸ ਸੌਫਟਵੇਅਰ ਲੇਅਰਾਂ ਦੀ ਸੁਪਰਪੋਜੀਸ਼ਨ ਦੁਆਰਾ ਡਿਸਪਲੇਅ ਅਤੇ ਟੱਚ ਫੰਕਸ਼ਨਾਂ ਦੇ ਵਿਕਾਸ ਨੂੰ ਪੂਰਾ ਕਰਦਾ ਹੈ।ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ ਸਿਰਫ਼ ਤਿਆਰ ਕੀਤੀ ਤਸਵੀਰ ਸਮੱਗਰੀ ਨੂੰ DGUS ਸੌਫਟਵੇਅਰ ਵਿੱਚ ਲੋਡ ਕਰਨ ਅਤੇ ਡਿਸਪਲੇਅ ਅਤੇ ਟੱਚ ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਸੈੱਟ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।

ਆਵਾ (2)

1. C51SਆਫਵੇਅਰDਨਿਸ਼ਾਨ

T5L ਸਮਾਰਟ ਸਕਰੀਨ ਸੀਰੀਅਲ ਪੋਰਟ 5 smtp ਸਰਵਰ ਨਾਲ ਗੱਲਬਾਤ ਨੂੰ ਪੂਰਾ ਕਰਨ ਲਈ WiFi ਮੋਡੀਊਲ ਨਾਲ ਸੰਚਾਰ ਕਰਦਾ ਹੈ।ਮੁੱਖ ਕੋਡ ਦਾ ਹਿੱਸਾ ਹੇਠ ਲਿਖੇ ਅਨੁਸਾਰ ਹੈ:

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 ਬਾਈਟ)

{

SBUF3_TX = byte;

ਜਦਕਿ(!(SCON3T&0x01));

SCON3T &= 0xfe;

}

void u5_send_bytes(u8 *bytes,u16 len)

{

u16 i;

ਲਈ(i=0;i

{

SBUF3_TX = bytes;

ਜਦਕਿ(!(SCON3T&0x01));

SCON3T &= 0xfe;

}

}

void get_input(u8 * val,u8 len)

{

u8i;

ਲਈ(i=0;i

{

ਜੇਕਰ(val==0xff)

{

val = 0x00;

val[i+1] = 0x00;

ਵਾਪਸੀ;

}

}

}

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

{

u8 res=0;

rx_sta=0;

ਜੇਕਰ (ack&&waittime&&cmd)

{

ਜਦਕਿ (--ਉਡੀਕ ਸਮੇਂ)

{

sys_delay_ms(10);

if(rx_sta&0X8000)

{

if(esp8266_check_respond(ack))

ਤੋੜਨਾ;

}

}

ਜੇਕਰ (ਉਡੀਕ ਦਾ ਸਮਾਂ==0) ਮੁੜ = 1;

if(clearBuffer==1)rx_sta=0;

}

ਰਿਟਰਨ ਰਿਟਰਨ;

}

typedef struct{

u8 cmd;

u8 ਈਮੇਲ[20];

u8 ਨਾਮ[20];

u8 ਸਿਰਲੇਖ[20];

u8 msg[60];

}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);

ਜੇਕਰ(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,username,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)

{

ਜੇਕਰ(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;

}


ਪੋਸਟ ਟਾਈਮ: ਅਕਤੂਬਰ-31-2023