اوپن سورس T5L پر مبنی SMTP میلر

یہ مسئلہ آپ کے لیے ایک انتہائی عملی Diwen Developer Forum ایوارڈ یافتہ اوپن سورس کیس - T5L پر مبنی smtp میل بھیجنے والے کو آگے بڑھانے کے لیے ہے، انجینئرز T5L اسمارٹ اسکرین کا استعمال کرتے ہیں، وائی فائی ماڈیول کے ذریعے smtp سرور تک رسائی حاصل کرنے کے لیے، ای میلز بھیجنے کے فنکشن کو حاصل کرنے کے لیے۔ ایڈمنسٹریٹر کو، وصول کنندہ کا ای میل ایڈریس درج کرنے کے لیے اسکرین کا آپریشن، ای میل ٹائٹل، ای میل مواد اور دیگر معلومات اسکرین پر ان پٹ کی جا سکتی ہیں۔یہ بات قابل غور ہے کہ ای میل کا مواد سادہ متن، کنفیگریشن کنٹرول، متن کا رنگ ترتیب دینے اور دیگر ترمیمی طریقوں کو بھی سپورٹ کرتا ہے۔

1. پروگرام آرکیٹیکچر

T5L سمارٹ اسکرین وائی فائی ماڈیول کو کنٹرول کرتی ہے تاکہ ای میل بھیجنے کے فنکشن کو حاصل کرنے کے لیے سیریل پورٹ 5 کے ذریعے smtp سرور کے ساتھ تعامل کیا جا سکے۔

آوا (1)

2. انٹرفیس کی ترقی

ڈی جی یو ایس سافٹ ویئر تہوں کی سپرپوزیشن کے ذریعے ڈسپلے اور ٹچ فنکشنز کی ترقی کو مکمل کرتا ہے۔صارفین کو صرف تیار شدہ تصویری مواد کو DGUS سافٹ ویئر میں لوڈ کرنے اور ڈسپلے اور ٹچ فنکشنز کو ترتیب دینے کی ضرورت ہے۔

آوا (2)

1. C51SسامانDنشان

T5L سمارٹ اسکرین سیریل پورٹ 5 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 بائٹ)

{

SBUF3_TX = بائٹ؛

جبکہ(!(SCON3T&0x01))؛

SCON3T &= 0xfe;

}

void u5_send_bytes(u8 *bytes,u16 len)

{

u16 i;

کے لیے(i=0;i

{

SBUF3_TX = بائٹس؛

جبکہ(!(SCON3T&0x01))؛

SCON3T &= 0xfe;

}

}

void 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 waittime,u8 clearBuffer)

{

u8 res=0;

rx_sta=0;

اگر (ایک اور انتظار کا وقت اور سی ایم ڈی)

{

جبکہ (-انتظار کا وقت)

{

sys_delay_ms(10)؛

if(rx_sta&0X8000)

{

if(esp8266_check_respond(ack))

توڑنا

}

}

اگر (انتظار کا وقت==0) res=1؛

if(clearBuffer==1)rx_sta=0;

}

واپسی ریز؛

}

typedef ساخت{

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_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,server,15);

sys_read_vp(0x3220,port,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)

{

اگر(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