עפֿן מקור ט5ל-באזירט סמטפּ מיילער

דעם אַרויסגעבן פֿאַר איר צו שטופּן אַ זייער פּראַקטיש Diwen דעוועלאָפּער פאָרום אַוואָרד-ווינינג אָפֿן מקור פאַל - ט5ל-באזירט סמטפּ פּאָסט סענדער, ענדזשאַנירז נוצן די T5L קלוג פאַרשטעלן, דורך די WiFi מאָדולע צו אַקסעס די סמטפּ סערווער, צו דערגרייכן די פונקציע פון ​​שיקן ימיילז. צו דער אַדמיניסטראַטאָר, די אָפּעראַציע פון ​​די פאַרשטעלן צו אַרייַן די באַקומער ס E- בריוו אַדרעס, E- בריוו טיטל, E- בריוו אינהאַלט און אנדערע אינפֿאָרמאַציע קענען זיין אַרייַנשרייַב אויף דעם עקראַן.עס איז כדאי צו באמערקן אַז די E- בריוו אינהאַלט אויך שטיצט קלאָר טעקסט, קאַנפיגיעריישאַן קאָנטראָלס, באַשטעטיקן טעקסט קאָליר און אנדערע עדיטינג מעטהאָדס.

1.פּראָגראַם אַרטשיטעקטורע

T5L סמאַרט פאַרשטעלן קאָנטראָלס די וויפי מאָדולע צו ינטעראַקט מיט סמטפּ סערווער דורך סיריאַל פּאָרט 5 צו דערגרייכן די פונקציע פון ​​שיקן E- בריוו.

אַוואַ (1)

2.ינטערפאַסע אַנטוויקלונג

DGUS ווייכווארג קאַמפּליץ די אַנטוויקלונג פון אַרויסווייַזן און פאַרבינדן פאַנגקשאַנז דורך די סופּערפּאָסיטיאָן פון לייַערס.יוזערז נאָר דאַרפֿן צו לאָדן די צוגעגרייט בילד מאַטעריאַלס אין DGUS ווייכווארג און שטעלן די אַרויסווייַזן און פאַרבינדן פאַנגקשאַנז.

אַוואַ (2)

1. ק51SאָפטוואַרעDesign

T5L קלוג פאַרשטעלן סיריאַל פּאָרט 5 קאַמיונאַקייץ מיט WiFi מאָדולע צו פאַרענדיקן די ינטעראַקשאַן מיט סמטפּ סערווער.טייל פון די הויפּט קאָד איז ווי גייט:

void uart5_init (u32 baud)

{

SCON3T = 0x80;

SCON3R = 0x80;

באַוד = (ו32) ((טאָפּל) (פאָסק / 8.0) / באַוד);

BODE3_DIV_H = (באַוד>>8)&0xff;

BODE3_DIV_L = baud&0xff;

עס3ר = 0;

עס3ט = 0;

}

void u5_send_byte(u8 byte)

{

SBUF3_TX = בייט;

while(!(SCON3T&0x01));

SCON3T &= 0xfe;

}

void u5_send_bytes(u8 *bytes,u16 len)

{

ו16 איך;

פֿאַר (איך=0; איך

{

SBUF3_TX = ביטעס;

while(!(SCON3T&0x01));

SCON3T &= 0xfe;

}

}

void get_input (u8 * וואַל, ו8 לענ)

{

ו8 איך;

פֿאַר (איך=0; איך

{

אויב (וואַל==0xff)

{

וואַל = 0x00;

וואַל[איך+1] = 0קס00;

צוריקקומען;

}

}

}

u8 esp8266_send_cmd (u8 *cmd,u8 *ack,u16 waittime,u8 clearBuffer)

{

u8 res=0;

rx_sta=0;

אויב (אַקק&&ווארטטיים&&cmd)

{

בשעת (--וואַרטן צייט)

{

sys_delay_ms (10);

אויב (רקס_סטאַ&0קס8000)

{

אויב (esp8266_check_respond (אַק))

ברעכן;

}

}

אויב (וואַרטן צייט = = 0) רע = 1;

אויב (קלאָר באַפער == 1) רקס_סטאַ = 0;

}

צוריקקומען res;

}

typedef struct{

ו8 קמד;

ו8 בליצפּאָסט[20];

ו8 נאָמען[20];

ו8 טיטל [20];

u8 msg[60];

}EMAIL_INFO;

EMAIL_INFO email_info;

ו8 ריספּאַנד[80];

u8 wifi_name[30];

u8 wifi_passwd[30];

ו8 סערווער[30];

u8 פּאָרט[30];

ו8 נאמען[30];

u8 auth_code[30];

u8 rx_sta;

sys_read_vp(0x1000,(u8*)&btn_val,1);

אויב (בטנ_וואַל)

{

אויב (בטנ_וואַל==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));

אויב (רקס_סטאַ)

send_mail (email_info.email, email_info.title, email_info.msg);

} אַנדערש אויב (בטנ_וואַל==2)

{

sys_read_vp(0x3100,wifi_name,15);

sys_read_vp (0x3120,wifi_passwd,15);

באַקומען_ינפּוט (וויפי_נאַמע,30);

get_input (wifi_passwd, 30);

} אַנדערש אויב (בטנ_וואַל ==3)

{

sys_read_vp(0x3200,server,15);

sys_read_vp (0x3220,port,15);

sys_read_vp (0x3240, נאמען, 15);

sys_read_vp (0x3260, אַוטה_קאָדע, 15);

get_input (סערווער, 30);

באַקומען_ינפּוט (פּאָרט, 30);

get_input (באַניצער נאָמען, 30);

באַקומען_ינפּוט (אַוטה_קאָדע, 30);

}

 

בטנ_וואַל = 0;

sys_write_vp(0x1000,(u8*)&btn_val,1);

}

sys_read_vp(0x2050,(u8*)&btn_val2,1);

אויב (בטנ_וואַל2! = אַלט_וואַל)

{

אויב (בטנ_וואַל2==1)

sys_write_vp(0x3060,"דאס איז אַ בליצפּאָסט פֿון T5L!\0\0",30);

אַנדערש אויב (בטנ_וואַל2==2)

sys_write_vp (0x3060," \0\0",30);

אַנדערש אויב (בטנ_וואַל2==3)

sys_write_vp(0x3060,"דרייסטרויט\0\0",30);

אַלט_וואַל = בטנ_וואַל2;

}


פּאָסטן צייט: 31 אקטאבער 2023