A’ chùis seo dhut a bhith a’ putadh cùis stòr fosgailte a choisinn duaisean Fòram Luchd-leasachaidh Diwen gu math practaigeach - neach-cuiridh post smtp stèidhichte air T5L, bidh innleadairean a’ cleachdadh an scrion smart T5L, tron mhodal WiFi gus faighinn chun t-seirbheisiche smtp, gus a’ ghnìomh a bhith a’ cur post-d gu buil don rianaire , faodar obrachadh na sgrìn gus seòladh puist-d an neach a gheibh e, tiotal post-d, susbaint post-d agus fiosrachadh eile a chuir a-steach air an sgrion.Is fhiach a bhith mothachail gu bheil susbaint a’ phuist-d cuideachd a’ toirt taic do theacsa shìmplidh, smachdan rèiteachaidh, suidheachadh dath teacsa agus dòighean deasachaidh eile.
1.Programme Ailtireachd
Bidh scrion smart T5L a ’cumail smachd air a’ mhodal WiFi gus eadar-obrachadh le frithealaiche smtp tro phort sreathach 5 gus gnìomh post-d a chuir a-mach.
2.Interface Leasachadh
Bidh bathar-bog DGUS a’ crìochnachadh leasachadh gnìomhan taisbeanaidh is suathaidh tro bhith a’ toirt thairis sreathan.Chan fheum luchd-cleachdaidh ach na stuthan dealbh ullaichte a luchdachadh a-steach do bhathar-bog DGUS agus na gnìomhan taisbeanaidh is suathaidh a stèidheachadh.
1. C51Sbathar-bogDcomharradh
Bidh port sreathach sgrion smart T5L 5 a’ conaltradh le modal WiFi gus an eadar-obrachadh le frithealaiche smtp a chrìochnachadh.Tha pàirt den phrìomh chòd mar a leanas:
falamh uart5_init(u32 baud)
{
SCON3T = 0x80;
SCON3R = 0x80;
baud = (u32)((dùbailte)(FOSC/8.0)/baud);
BODE3_DIV_H = (baud>> 8)&0xff;
BODE3_DIV_L = baud&0xff;
ES3R = 0;
ES3T = 0;
}
falamh u5_send_byte(u8 byte)
{
SBUF3_TX = byte;
fhad 'sa bha (!(SCON3T&0x01));
SCON3T &= 0xfe;
}
falamh u5_send_bytes(u8 *bytes, u16 len)
{
u16 i;
airson (i=0; i
{
SBUF3_TX = bytes;
fhad 'sa bha (!(SCON3T&0x01));
SCON3T &= 0xfe;
}
}
get_input falamh (u8 * val, u8 len)
{
u8 i;
airson (i=0; i
{
ma tha(val==0xff)
{
val = 0x00;
val[i+1] = 0x00;
tilleadh;
}
}
}
u8 esp8266_send_cmd(u8 * cmd, u8 *ack, u16 àm feitheimh, u8 soilleirBuffer)
{
u8 ath = 0;
rx_sta=0;
ma tha (ack&&waittime&&cmd)
{
fhad 'sa (-- feitheamh)
{
sys_delay_ms(10);
ma tha (rx_sta&0X8000)
{
ma tha (esp8266_check_respond(ack))
briseadh;
}
}
ma tha(waittime==0)res=1;
ma tha(clearBuffer==1)rx_sta=0;
}
tilleadh res;
}
structar typedef{
u8 cmd;
post-d u8[20];
ainm u8[20];
tiotal u8[20];
u8 msg[60];
}EMAIL_INFO;
EMAIL_INFO post-d_fios;
u8 freagairt[80];
u8 wifi_name[30];
u8 wifi_passwd[30];
frithealaiche u8[30];
u8 port[30];
u8 ainm-cleachdaidh[30];
u8 auth_code[30];
u8 rx_sta;
sys_read_vp (0x1000, (u8*) & btn_val, 1);
ma tha (btn_val)
{
ma tha(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(mail_info.email,20);
get_input (email_info.title, 20);
get_input(email_info.msg,60);
send_packet ((u8*) & email_info, sizeof (EMAIL_INFO));
ma tha (rx_sta)
send_mail(email_info.email, email_info.title, email_info.msg);
} eile ma tha(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);
} eile ma tha(btn_val==3)
{
sys_read_vp (0x3200, frithealaiche, 15);
sys_read_vp (0x3220, port, 15);
sys_read_vp(0x3240, ainm-cleachdaidh,15);
sys_read_vp (0x3260, auth_code, 15);
get_input(frithealaiche,30);
get_input (port, 30);
get_input (ainm-cleachdaidh, 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);
ma tha(btn_val2!=old_val)
{
ma tha(btn_val2==1)
sys_write_vp(0x3060,"Seo post-d o T5L!\0\0", 30);
eile ma tha(btn_val2==2)
sys_write_vp(0x3060," \0\0",30);
eile ma tha(btn_val2==3)
sys_write_vp(0x3060,"TromDearg\0\0",30);
old_val = btn_val2;
}
Ùine puist: Dàmhair-31-2023