في هذا البرنامج التعليمي ، دعنا نتعلم كيفية إرسال رسائل البريد الإلكتروني من PIC Microcontroller باستخدام وحدة WiFi الشهيرة ESP8266. يستخدم هذا البرنامج التعليمي مترجم PIC16F877A IC و MPLABX و XC8 للبرمجة.
في نهاية هذا البرنامج التعليمي ، ستتمكن من إرسال بريد إلكتروني من أي معرف بريد إلكتروني عادي مثل Gmail و yahoo وغيرها إلى أي معرف بريد إلكتروني آخر. ومن ثم يفترض هذا البرنامج التعليمي أن لديك بعض المعرفة الأساسية عن وحدات ESP8266-01 ووحدات التحكم الدقيقة PIC. إذا لم يكن الأمر كذلك ، فستساعدك البرامج التعليمية التالية
- الشروع في العمل مع ESP8266
- ربط ESP8266 بالموافقة المسبقة عن علم
لذا دعونا نبدأ…
الاستعداد مع معرف البريد الإلكتروني الخاص بك:
بمجرد أن تقرر معرف البريد الذي تريد إرسال رسائل البريد الإلكتروني منه ، اتبع الخطوات التالية
الخطوة 1: قم بزيارة https://www.smtp2go.com/ وقم بالتسجيل كمستخدم جديد. أدخل اسمك وعنوان بريدك الإلكتروني وكلمة المرور لمعرف البريد الإلكتروني الخاص بك الذي تريد إرسال البريد منه.
يستخدم هذا البرنامج التعليمي معرف البريد: aswinthcd @ gmail.com وكلمة المرور: circuitdigest.
الخطوة 2: انقر فوق تسجيل وسيتم إرسال بريد تحقق إلى معرف البريد الذي أدخلته. في هذه الحالة يكون aswinthcd @ gmail.com. افتح البريد وانقر على "تنشيط الحساب"
الخطوة 3: قد يطلب كلمة مرور مرة أخرى ، إذا طُلب منك إدخال كلمة المرور السابقة. في هذه الحالة يكون "هضم الدوائر". ثم سيتم تسجيل دخولك إلى موقع SMPT2GO. هذا هو الآن عنوان بريدك الإلكتروني جاهز لإرسال رسائل البريد باستخدام وحدة ESP8266.
الخطوة 4: الخطوة الأخيرة هي تشفير معرف البريد الإلكتروني وكلمة المرور إلى تنسيق 64 الأساسي باستخدام هذا الموقع https://www.base64encode.org/ سنستخدم هذا في برنامج الموافقة المسبقة عن علم الخاص بنا
في هذه الحالة ، ستبدو القيم المشفرة كما هو موضح في الجدول أدناه.
معامل |
تنسيق عادي |
مشفر في الأساس 64 |
رقم البريد |
aswinthcd @ gmail.com |
YXN3aW50aGNkQGdtYWlsLmNvbQ == |
كلمه السر |
هضم |
Y2lyY3VpdGRpZ2VzdA == |
تجهيز أجهزتك:
يظهر الرسم التخطيطي الكامل للمشروع أدناه.
تستخدم شاشة LCD هنا لغرض التصحيح. ليس من الضروري توصيل هذا. سيعمل البرنامج بشكل جيد حتى بدون شاشة LCD. إذا كنت تريد معرفة المزيد عن الخطط التي تزور هذا البرنامج التعليمي. (ربط الموافقة المسبقة عن علم مع ESP).
يمكنك ببساطة تجميع هذه الدائرة على لوح التجارب ثم متابعة البرمجة.
برمجة الموافقة المسبقة عن علم لإرسال البريد الإلكتروني:
من أجل إرسال بريد إلكتروني من ESP8266 ، يجب إرسال سلسلة من أوامر AT إلى وحدة ESP. يجب اتباع الخطوات التالية لإرسال بريد إلكتروني من ESP8266.
- اضبط الوحدة في وضع AP + STA (نقطة الوصول والمحطة)
- اتصل بنقطة وصول للحصول على اتصال بالإنترنت
- تمكين اتصالات متعددة
- ابدأ خادمًا على أي منفذ محدد
- قم بتأسيس اتصال TCP بموقع SMPT2GO
- انتقل إلى قسم تسجيل الدخول في الموقع
- أدخل معرف البريد الإلكتروني وكلمة المرور بتنسيق base64
- أدخل من معرف البريد
- أدخل إلى معرف البريد
- أدخل موضوع البريد
- أدخل نص البريد
- حدد نهاية البريد
- أرسل البريد
- قم بإنهاء اتصال TCP
إنها عملية طويلة ومملة بعض الشيء لكن لا تقلق. لقد قمت بتبسيط العملية من خلال إنشاء ملف رأس ويمكنك استخدامه مباشرة بمجرد استدعاء بعض الوظائف (الموضحة أدناه) مما يجعل هذه المهمة سهلة للغاية. يمكن تنزيل الكود الكامل مع ملف الرأس من هنا.
ملاحظة: إذا كنت تستخدم الكود في مشروع جديد ، فتأكد من تنزيل ملف الرأس وإضافته في مشروعك.
لقد شرحت بعض الأجزاء المهمة من الكود أدناه ، والأجزاء الأخرى تشرح نفسها بنفسها. ولكن إذا كانت لديك أي شكوك فلا تتردد في استخدام قسم التعليقات.
/ * تحقق مما إذا كان اتصال ESP_PIC ناجحًا * / do {Lcd_Set_Cursor (1،1) ؛ Lcd_Print_String ("ESP غير موجود") ؛ } while (! esp8266_isStarted ()) ؛ // انتظر حتى يرسل ESP "موافق" Lcd_Set_Cursor (1،1) ؛ Lcd_Print_String ("ESP متصل") ؛ __delay_ms (1500) ؛ Lcd_Clear () ، / * نعم نجح اتصال ESP - تابع * /
يستخدم هذا الجزء من الكود للتحقق مما إذا كان هناك اتصال مناسب بين PIC و ESP8266. فقط إذا تمكن كلاهما من إرسال واستقبال البيانات من خلال USART ، فسينتقل البرنامج إلى الخطوة التالية.
esp8266_mode (3) ،
ستعمل هذه الوظيفة على تعيين ESP8266 في الوضع 3. مما يعني أن الوحدة يمكنها الآن العمل كنقطة وصول وأيضًا كخادم.
esp8266_connect ("BPAS home"، "cracksun") ؛
تُستخدم هذه الوظيفة لتوصيل وحدة ESP8266 بجهاز التوجيه Wifi الخاص بك. في هذه الحالة ، يكون "BPAS home" هو اسم إشارة 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") ؛
يمكنك استخدام هذه الوظيفة لتحديد موضوع البريد. كمثال ، لقد استخدمت "Mail from 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 الخاصة بك عن طريق قراءة بيانات المستشعر وإرسالها إلى معرف البريد الخاص بك. قم بإنشاء نظام تنبيه أمني لمنزلك أو سياراتك عن طريق تشغيل تنبيه عبر البريد.
إذا كان لديك أي شك أو تعثرت في الوسط ، فيرجى استخدام قسم التعليقات وسأكون سعيدًا بمساعدتك.