ይህ እትም በጣም ተግባራዊ የሆነ የዲዌን ገንቢ መድረክ ሽልማት አሸናፊ የክፍት ምንጭ መያዣ - T5L ላይ የተመሰረተ smtp mail ላኪ , መሐንዲሶች የ smtp አገልጋይ ለመድረስ በ WiFi ሞጁል በኩል T5L ስማርት ስክሪን ይጠቀማሉ ኢሜይሎችን የመላክ ተግባር ለማሳካት ለአስተዳዳሪው ፣ የተቀባዩን የኢሜል አድራሻ ለማስገባት የማሳያው አሠራር ፣ የኢሜል ርዕስ ፣ የኢሜል ይዘት እና ሌላ መረጃ በስክሪኑ ላይ ሊገባ ይችላል። የኢሜል ይዘቱ ግልጽ የሆነ ጽሑፍን ፣ የውቅረት መቆጣጠሪያዎችን ፣ የጽሑፍ ቀለምን እና ሌሎች የአርትዖት ዘዴዎችን እንደሚደግፍ ልብ ሊባል ይገባል።
1.ፕሮግራም አርክቴክቸር
T5L ስማርት ስክሪን የኢሜል መላክን ተግባር ለማሳካት ከ smtp አገልጋይ ጋር በተከታታይ ወደብ 5 ለመገናኘት የ WiFi ሞጁሉን ይቆጣጠራል።
![](https://ecdn6.globalso.com/upload/p/1355/source/2024-03/65f969e7ea32035860.png)
![አቫ (1)](https://ecdn6.globalso.com/upload/p/1355/source/2024-03/65f96bc1027de84836.jpg)
2.በይነገጽ ልማት
DGUS ሶፍትዌር የማሳያ እና የንክኪ ተግባራትን በንብርብሮች ልዕለ አቀማመጥ ያጠናቅቃል። ተጠቃሚዎች የተዘጋጁትን የምስል ቁሳቁሶችን ወደ DGUS ሶፍትዌር ብቻ መጫን እና የማሳያ እና የንክኪ ተግባራትን ማዘጋጀት አለባቸው።
![አቫ (2)](https://ecdn6.globalso.com/upload/p/1355/source/2024-03/65f96bc23a89741572.jpg)
1. C51ኤስኦቨርትዌርዲአወጣ
T5L smart screen serial port 5 ከ smtp አገልጋይ ጋር ያለውን ግንኙነት ለማጠናቀቅ ከዋይፋይ ሞጁል ጋር ይገናኛል። የዋናው ኮድ ክፍል እንደሚከተለው ነው-
ባዶ 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;
}
ባዶ 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;
}
}
ባዶ ግቤት(u8 * val,u8 len)
{
u8 i;
ለ(i=0;i
{
ከሆነ (ቫል== 0xff)
{
ቫል = 0x00;
ቫል[i+1] = 0x00;
መመለስ;
}
}
}
u8 esp8266_send_cmd(u8 *cmd,u8 *ack,u16 የጥበቃ ጊዜ,u8 clearBuffer)
{
u8 ሬስ=0;
rx_stay=0;
ከሆነ(አክ&&መጠባበቅ&&cmd)
{
ሳለ (--የመጠባበቅ ጊዜ)
{
sys_delay_ms(10);
ከሆነ(rx_sta&0X8000)
{
ከሆነ(esp8266_ምላሽ_አረጋግጥ(አክ))
መሰባበር;
}
}
ከሆነ (የመጠባበቂያ ጊዜ==0)res=1;
ከሆነ(clearBuffer==1)rx_sta=0;
}
መመለስ res;
}
የጽሕፈት መኪና መዋቅር{
u8 ሴሜዲ;
u8 ኢሜይል[20];
u8 ስም [20];
u8 ርዕስ [20];
u8 msg [60];
EMAIL_INFO;
EMAIL_INFO ኢሜይል_መረጃ;
u8 ምላሽ[80];
u8 wifi_ስም[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, ኢሜይል_info.name,10);
sys_read_vp(0x3020፣ኢሜል_info.email፣10);
sys_read_vp(0x3040፣email_info.title፣10);
sys_read_vp(0x3060፣ኢሜል_info.msg፣30);
ግቤት (ኢሜል_info.name,20);
get_input(email_info.email,20);
get_input(email_info.title,20);
ግቤት(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);
ግቤት_ግቤት(የwifi_ስም ፣30);
ግቤት_ግቤት(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);
ግቤት_ግቤት(አገልጋይ፣30);
ግቤት_ግቤት (ወደብ,30);
ግቤት_ግቤት(የተጠቃሚ ስም፣30);
ግቤት_ግቤት(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;
}
የልጥፍ ሰዓት፡- ኦክቶበር-31-2023