Mailer SMTP stèidhichte air T5L le còd fosgailte

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.

abha (1)

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.

abha (2)

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