આ મુદ્દો તમારા માટે ખૂબ જ વ્યવહારુ દિવેન ડેવલપર ફોરમ પુરસ્કાર વિજેતા ઓપન સોર્સ કેસ - T5L- આધારિત smtp મેઇલ સેન્ડરને આગળ ધપાવવા માટે છે, ઇજનેરો T5L સ્માર્ટ સ્ક્રીનનો ઉપયોગ કરે છે, WiFi મોડ્યુલ દ્વારા smtp સર્વરને ઍક્સેસ કરવા માટે, ઇમેઇલ્સ મોકલવાની કામગીરીને હાંસલ કરવા માટે. એડમિનિસ્ટ્રેટરને, પ્રાપ્તકર્તાનું ઇમેઇલ સરનામું, ઇમેઇલ શીર્ષક, ઇમેઇલ સામગ્રી અને અન્ય માહિતી દાખલ કરવા માટે સ્ક્રીનની કામગીરી સ્ક્રીન પર ઇનપુટ કરી શકાય છે.તે નોંધવું યોગ્ય છે કે ઇમેઇલ સામગ્રી સાદા ટેક્સ્ટ, રૂપરેખાંકન નિયંત્રણો, ટેક્સ્ટ રંગ સેટ કરવા અને અન્ય સંપાદન પદ્ધતિઓને પણ સપોર્ટ કરે છે.
1. પ્રોગ્રામ આર્કિટેક્ચર
T5L સ્માર્ટ સ્ક્રીન વાઇફાઇ મોડ્યુલને સીરીયલ પોર્ટ 5 દ્વારા smtp સર્વર સાથે ક્રિયાપ્રતિક્રિયા કરવા માટે નિયંત્રિત કરે છે.
2.ઇન્ટરફેસ વિકાસ
ડીજીયુએસ સોફ્ટવેર સ્તરોની સુપરપોઝિશન દ્વારા ડિસ્પ્લે અને ટચ કાર્યોના વિકાસને પૂર્ણ કરે છે.વપરાશકર્તાઓએ માત્ર તૈયાર ચિત્ર સામગ્રીને DGUS સોફ્ટવેરમાં લોડ કરવાની અને ડિસ્પ્લે અને ટચ ફંક્શન્સ સેટ કરવાની જરૂર છે.
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 = બાઇટ;
જ્યારે(!(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;
જો (એક&&પ્રતીક્ષા સમય&&cmd)
{
જ્યારે(-પ્રતીક્ષા સમય)
{
sys_delay_ms(10);
જો(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 ઇમેઇલ_માહિતી;
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,વપરાશકર્તા નામ,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!=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