במדריך זה נלמד כיצד לשלוח דואר אלקטרוני ממיקרו PIC באמצעות מודול ה- WiFi המפורסם ESP8266. מדריך זה משתמש בתכנות PIC16F877A IC ו- MPLABX ו- XC8 לתכנות.
בסוף הדרכה זו תוכל לשלוח דואר אלקטרוני מכל מזהה דואר אלקטרוני רגיל כמו Gmail, yahoo וכו 'לכל מזהה דואר אלקטרוני אחר. מכאן שמדריך זה מניח שיש לך ידע בסיסי במודולים ESP8266-01 ובמיקרו-בקרים PIC. אם לא, ההדרכות הבאות יעזרו לך
- תחילת העבודה עם ESP8266
- ממשק ESP8266 עם PIC
אז בואו נתחיל…
מתכונן איתך מזהה דואר אלקטרוני:
לאחר שהחלטת מאיזה מזהה דואר ברצונך לשלוח את המיילים, בצע את השלבים הבאים
שלב 1: בקר בכתובת https://www.smtp2go.com/ והירשם כמשתמש חדש. הזן את שמך, כתובת הדואר האלקטרוני והסיסמה של מזהה הדואר האלקטרוני שלך ממנו תרצה לשלוח את הדואר.
הדרכה זו משתמשת במזהה הדואר: aswinthcd @ gmail.com ובסיסמה: circuitdigest.
שלב 2: לחץ על ההרשמה ותישלח אליך דואר אימות לתעודת הדואר שהזנת. במקרה זה זהו aswinthcd @ gmail.com. פתח את הדואר ולחץ על "הפעל חשבון"
שלב 3: הוא עשוי לבקש סיסמה שוב, אם תתבקש להזין את הסיסמה הקודמת. במקרה זה זה 'מעגל עיכול'. אז תתחבר לאתר SMPT2GO. זהו עכשיו כתובת הדואר האלקטרוני שלך מוכנה למשלוח מיילים באמצעות מודול ESP8266.
שלב 4: השלב האחרון הוא קידוד מזהה הדואר האלקטרוני והסיסמה לפורמט בסיס 64 באמצעות אתר זה https://www.base64encode.org/. אנו נשתמש בזה בתוכנית ה- PIC שלנו
במקרה זה הערכים המקודדים ייראו כפי שמוצג בטבלה למטה.
פָּרָמֶטֶר |
פורמט רגיל |
מקודד בבסיס 64 |
מזהה דואר |
aswinthcd @ gmail.com |
YXN3aW50aGNkQGdtYWlsLmNvbQ == |
סיסמה |
מעגל עיכול |
Y2lyY3VpdGRpZ2VzdA == |
הכנת החומרה שלך:
התרשים המלא של הפרויקט מוצג להלן.
תצוגת LCD משמשת כאן למטרת ניפוי באגים. לא חובה עליכם לחבר את זה. התוכנית תעבוד מצוין גם ללא תצוגת LCD. אם אתה רוצה לדעת יותר על התרשימים אתה מבקר במדריך זה. (ממשק PIC עם ESP).
אתה יכול פשוט להרכיב את המעגל הזה על קרש לחם ואז להמשיך בתכנות.
תכנות ה- PIC שלך למשלוח דואר אלקטרוני:
על מנת לשלוח דואר אלקטרוני מה- ESP8266 יש לשלוח רצף של פקודות AT למודול ה- ESP. יש לבצע את השלבים הבאים כדי לשלוח דואר אלקטרוני מ- ESP8266.
- הגדר את המודול במצב AP + STA (נקודת גישה ותחנה)
- התחבר לנקודת גישה כדי להשיג חיבור לאינטרנט
- אפשר חיבורים מרובים
- הפעל שרת בכל יציאה ספציפית
- ליצור חיבור TCP עם אתר SMPT2GO
- נווט לחלק הכניסה באתר
- הזן את מזהה הדואר האלקטרוני והסיסמה בפורמט base64
- הזן מזהה דואר
- הזן למזהה דואר
- הזן את נושא הדואר
- הזן את גוף הדואר
- ציין את סוף הדואר
- שלח את הדואר
- צא מחיבור ה- TCP
זה תהליך קצת ארוך ומייגע אבל אל תדאג. פישטתי את התהליך על ידי יצירת קובץ כותרת ראשית ותוכלו להשתמש בו ישירות על ידי התקשרות רק לכמה פונקציות (מוסבר בהמשך) מה שמקל מאוד על משימה זו. את הקוד השלם יחד עם קובץ הכותרת ניתן להוריד מכאן.
הערה: אם אתה משתמש בקוד בפרויקט חדש הקפד להוריד את קובץ הכותרת ולהוסיף אותו לפרויקט שלך.
הסברתי כמה חלקים חשובים בקוד שלמטה, החלקים האחרים מסבירים את עצמם. אך אם יש לך ספקות אל תהסס להשתמש בסעיף ההערות.
/ * בדוק אם תקשורת ESP_PIC מוצלחת * / עשה {Lcd_Set_Cursor (1,1); Lcd_Print_String ("ESP לא נמצא"); } בעוד (! esp8266_isStarted ()); // המתן עד שה- ESP ישלח בחזרה את "OK" Lcd_Set_Cursor (1,1); Lcd_Print_String ("ESP מחובר"); __השהיית_מס (1500); Lcd_Clear (); / * כן תקשורת ESP מוצלחת - המשך * /
חלק זה של הקוד משמש כדי לבדוק אם קיימת תקשורת נכונה בין ה- PIC ל- ESP8266. רק אם שניהם יוכלו לשלוח ולקבל נתונים באמצעות USART התוכנית תמשיך לשלב הבא.
esp8266_mode (3);
פונקציה זו תגדיר את ה- ESP8266 במצב 3. המשמעות היא שהמודול יכול לשמש כעת כנקודת גישה וגם כשרת.
esp8266_connect ("בית BPAS", "cracksun");
פונקציה זו משמשת לחיבור המודול ESP8266 שלך לנתב ה- Wifi שלך. במקרה זה "בית BPAS" הוא שם האות Wifi שלי ו- "cracksun" הוא הסיסמה שלי. עליכם להשתמש בפרטי אות Wifi משלכם.
_esp8266_enale_MUX (); // אפשר חיבורים מרובים _esp8266_create_server (); // צור שרת ביציאה 80
שתי פונקציות אלה משמשות לאפשר חיבורים מרובים וליצור שרת ביציאה 80.
_esp8266_connect_SMPT2GO ();
כעת, באמצעות פונקציה זו אנו יכולים ליצור חיבור TCP עם SMPT2GO. לאחר יצירת החיבור פונקציה זו עוברת גם לדף הכניסה של האתר.
_esp8266_login_mail ("YXN3aW50aGNkQGdtYWlsLmNvbQ ==", "Y2lyY3VpdGRpZ2VzdA ==");
השתמש בפונקציה זו כדי להזין את מזהה הדוא"ל והסיסמה שלך בפורמט 64 בסיסי. כפי שאתה יכול לראות ערכים מקודדים זהים לזה המוצג בטבלה לעיל. הערכים המקודדים שלך ישתנו בהתאם לזיהוי הדואר האלקטרוני והסיסמה שלך.
_esp8266_mail_sendID ("aswinthcd @ gmail.com");
פונקציה זו משמשת להגדרת שם מזהה השולח. במדריך זה אני שולח את הדואר באמצעות מזהה Gmail שלי aswinthcd @ gmail.com ולכן העברתי אותו כפרמטר.
_esp8266_mail_recID ("mailtoaswinth @ gmail.com");
פונקציה זו משמשת להגדרת שם מזהה המקלט. ברצוני לשלוח את הדואר שלי לחשבון Gmail אחר שלי, ולכן העברתי את הפרמטר כ- mailtoasiwnth @ gmail.com. אתה יכול להשתמש במזהה הדואר הרצוי שלך
_esp8266_start_mail ();
פונקציה זו מורה לשרת SMPT2GO שאנו הולכים להזין בנושא וגוף הדואר והופך אותו מוכן לאותו דבר.
_esp8266_mail_subject ("דואר מ- ESP8266");
באפשרותך להשתמש בפונקציה זו כדי להגדיר את נושא הדואר. כדוגמה השתמשתי ב"דואר מ- ESP8266 "כנושא הדואר.
_esp8266_mail_body ("בדיקת הצלחה - CircuitDigest");
לאחר הכניסה לנושא תוכלו להזין את גוף הדואר באמצעות פונקציה זו. כדוגמה הגדרתי את "Testing Success –CircuitDigest" כגוף הדואר שלי.
_esp8266_End_mail ();
כעת, לאחר שהזנו את נושא הדואר וגוףנו, עלינו להורות לשרת SMPT2GO כי סיימנו עם הוספת פרטים לדואר. ניתן לעשות זאת באמצעות הפונקציה
_esp8266_End_mail ();
_esp8266_disconnect_SMPT2GO ();
לבסוף לאחר שליחת הדואר, עלינו להפסיק את חיבור TCP עם שרת SMPT2GO. זה נעשה באמצעות הפונקציה שלעיל.
עובד:
לאחר שתסיים עם החומרה והתוכנית שלך. פשוט זרוק את הקוד אליך PIC MCU. ואז הפעל את המעגל שלך. אם הכל מתנהל כמצופה, ה- LCD שלך אמור להציג את מצב התהליך ולבסוף יגיד "דואר נשלח" כפי שמוצג בסרטון למטה. החומרה שלך עשויה להראות בערך ככה.
ברגע ש- LCD מראה כי הדואר נשלח, בדוק בתיקיית דואר נכנס וספאם שלך לגבי הדואר שנשלח. היית צריך לקבל את הדואר כמוצג להלן..
זה עכשיו אתה יכול ליצור פרויקטים משלך ב- IOT על ידי קריאת נתוני חיישנים ושליחתם לתעודת הדואר שלך. צור מערכת התראות אבטחה לביתך או למכוניות על ידי הפעלת התראה באמצעות דואר.
אם יש לך ספק או נתקע באמצע, אנא השתמש בסעיף ההערות ואשמח לעזור לך.