டிவென் டெவலப்பர் ஃபோரம் விருது பெற்ற ஓப்பன் சோர்ஸ் கேஸ் - T5L-அடிப்படையிலான smtp அஞ்சல் அனுப்புனர் , பொறியாளர்கள் T5L ஸ்மார்ட் ஸ்கிரீனைப் பயன்படுத்தி smtp சேவையகத்தை அணுக , smtp சேவையகத்தை அணுக, மின்னஞ்சல்களை அனுப்பும் செயல்பாட்டை அடைய இந்தச் சிக்கல் உங்களுக்காக உள்ளது. நிர்வாகிக்கு , பெறுநரின் மின்னஞ்சல் முகவரியை உள்ளிடுவதற்கான திரையின் செயல்பாடு , மின்னஞ்சல் தலைப்பு, மின்னஞ்சல் உள்ளடக்கம் மற்றும் பிற தகவல்களை திரையில் உள்ளிடலாம். மின்னஞ்சல் உள்ளடக்கம் எளிய உரை, கட்டமைப்பு கட்டுப்பாடுகள், உரை வண்ணத்தை அமைத்தல் மற்றும் பிற எடிட்டிங் முறைகளையும் ஆதரிக்கிறது என்பது குறிப்பிடத்தக்கது.
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 ஸ்மார்ட் ஸ்கிரீன் சீரியல் போர்ட் 5 ஆனது smtp சர்வருடனான தொடர்புகளை முடிக்க WiFi தொகுதியுடன் தொடர்பு கொள்கிறது. முக்கிய குறியீட்டின் ஒரு பகுதி பின்வருமாறு:
வெற்றிடமான uart5_init(u32 பாட்)
{
SCON3T = 0x80;
SCON3R = 0x80;
baud = (u32)((இரட்டை)(FOSC/8.0)/baud);
BODE3_DIV_H = (baud>>8)&0xff;
BODE3_DIV_L = பாட்&0xff;
ES3R = 0;
ES3T = 0;
}
வெற்றிடமான u5_send_byte(u8 பைட்)
{
SBUF3_TX = பைட்;
போது(!(SCON3T&0x01));
SCON3T &= 0xfe;
}
வெற்றிடமான u5_send_bytes(u8 *bytes,u16 len)
{
u16 மற்றும்;
(i=0;i
{
SBUF3_TX = பைட்டுகள்;
போது(!(SCON3T&0x01));
SCON3T &= 0xfe;
}
}
void get_input(u8 * val,u8 len)
{
u8 i;
(i=0;i
{
என்றால்(val==0xff)
{
வால் = 0x00;
வால்[i+1] = 0x00;
திரும்ப;
}
}
}
u8 esp8266_send_cmd(u8 *cmd,u8 *ack,u16 waittime,u8 clearBuffer)
{
u8 ரெஸ்=0;
rx_stay=0;
if(ஏக்&&காத்திருப்பு நேரம்&&cmd)
{
போது(--காத்திருக்கும் நேரம்)
{
sys_delay_ms(10);
என்றால்(rx_sta&0X8000)
{
என்றால்(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_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)
அனுப்பு_அஞ்சல்(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(port,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