آئیے اس ٹیوٹوریل میں آئی سی پی مائکروکونٹرولر سے ای-میل بھیجنے کا طریقہ سیکھیں ، مشہور وائی فائی ماڈیول ESP8266 کا استعمال کرتے ہوئے ۔ یہ ٹیوٹوریل پروگرامنگ کے لئے PIC16F877A IC اور MPLABX اور XC8 مرتب کا استعمال کرتا ہے۔
اس ٹیوٹوریل کے اختتام پر آپ کسی بھی عام ای میل ID جیسے جی میل ، یاہو وغیرہ سے کسی دوسرے ای میل ID پر ای میل بھیج سکیں گے۔ لہذا اس ٹیوٹوریل نے فرض کیا ہے کہ آپ کو ESP8266-01 ماڈیولز اور PIC مائکروکنٹرولرز کے بارے میں کچھ بنیادی معلومات ہیں۔ اگر نہیں تو ، درج ذیل سبق آپ کی مدد کریں گے
- ای ایس پی 8266 کے ساتھ آغاز کرنا
- EIC8266 کو PIC کے ساتھ انٹرفیس کرنا
تو آئیے شروع کریں…
آپ کے ساتھ ای میل ID تیار کرنا:
ایک بار جب آپ یہ فیصلہ کرلیں کہ آپ کس میل ID سے ای میلز بھیجنا چاہتے ہیں تو ، مندرجہ ذیل مراحل کی پیروی کریں
پہلا مرحلہ: https://www.smtp2go.com/ ملاحظہ کریں اور ایک نیا صارف کے طور پر سائن اپ کریں۔ اپنے ای میل ID کا اپنا نام ، ای-میل ایڈریس اور پاس ورڈ درج کریں جہاں سے آپ ای میل بھیجنا چاہتے ہیں۔
اس ٹیوٹوریل میں میل ID استعمال کیا گیا ہے: aswinthcd @ gmail.com اور پاس ورڈ: سرکٹ ڈائجسٹ۔
مرحلہ 2: سائن اپ پر کلک کریں اور آپ کو اپنے داخل میل ID پر توثیقی میل بھیجا جائے گا۔ اس معاملے میں یہ aswinncd @ gmail.com ہے۔ میل کھولیں اور "ایکٹیویٹ اکاؤنٹ" پر کلک کریں۔
مرحلہ 3: اگر پچھلا پاس ورڈ درج کریں تو یہ دوبارہ پاس ورڈ مانگ سکتا ہے۔ اس معاملے میں یہ 'سرکٹڈیجسٹ' ہے۔ تب آپ SMPT2GO ویب سائٹ میں لاگ ان ہوں گے۔ یہی اب آپ کا ای میل ایڈریس ESP8266 ماڈیول کا استعمال کرتے ہوئے میل بھیجنے کے لئے تیار ہے۔
مرحلہ 4: آخری مرحلہ یہ ہے کہ اس ویب سائٹ https://www.base64encode.org/ کا استعمال کرکے بیس 64 فارمیٹ میں ای میل آئی ڈی اور پاس ورڈ کو انکوڈ کریں۔ ہم اسے اپنے PIC پروگرام میں استعمال کرنے جارہے ہیں
اس معاملے میں انکوڈ شدہ قدریں نظر آئیں گی جیسا کہ نیچے ٹیبل میں دکھایا گیا ہے۔
پیرامیٹر |
عام شکل |
بیس 64 میں انکوڈڈ |
میل ID |
aswinthcd @ gmail.com |
YXN3aW50aGNkQGdtYWlsLmNvbQ == |
پاس ورڈ |
سرکٹڈیجسٹ |
Y2lyY3VpdGRpZ2VzdA == |
اپنا ہارڈ ویئر تیار کرنا:
منصوبے کا مکمل منصوبہ بندی ذیل میں دکھایا گیا ہے۔
LCD ڈسپلے یہاں ڈیبگنگ مقصد کے لئے استعمال ہوتا ہے۔ آپ کو اس سے رابطہ قائم کرنا لازمی نہیں ہے۔ پروگرام LCD ڈسپلے کے بغیر بھی ٹھیک کام کرے گا۔ اگر آپ اس حکمت عملی کے بارے میں مزید جاننا چاہتے ہیں تو آپ اس ٹیوٹوریل کو دیکھیں۔ (ESP کے ساتھ PIC میں مداخلت)۔
آپ آسانی سے اس سرکٹ کو روٹ بورڈ پر جمع کرسکتے ہیں اور پھر پروگرامنگ کے ساتھ آگے بڑھ سکتے ہیں۔
ای میل بھیجنے کے لئے اپنے PIC پروگرامنگ:
ESP8266 سے ای میل بھیجنے کے لئے ، اے ٹی کمانڈوں کا ایک سلسلہ ESP ماڈیول کو بھیجنا پڑتا ہے۔ ESP8266 سے ای میل بھیجنے کے لئے درج ذیل اقدامات پر عمل کرنا ہوگا۔
- ماڈیول کو اے پی + ایس ٹی اے (ایکسیس پوائنٹ اور اسٹیشن) موڈ میں سیٹ کریں
- انٹرنیٹ کنکشن حاصل کرنے کے لئے کسی رسائ پوائنٹ سے رابطہ کریں
- متعدد روابط کو فعال کریں
- کسی خاص پورٹ پر سرور شروع کریں
- SMPT2GO ویب سائٹ کے ساتھ ٹی سی پی کنکشن قائم کریں
- ویب سائٹ کے لاگ ان سیکشن پر جائیں
- بیس 64 فارمیٹ میں ای میل آئی ڈی اور پاس ورڈ درج کریں
- میل ID سے درج کریں
- میل کرنے کے لئے ID داخل کریں
- میل کا مضمون درج کریں
- میل کا باڈی درج کریں
- میل کے اختتام کی طرف اشارہ کریں
- میل بھیجیں
- ٹی سی پی کنکشن چھوڑیں
یہ قدرے لمبا اور تکلیف دہ عمل ہے لیکن فکر نہ کریں۔ میں نے ہیڈر فائل بنا کر عمل کو آسان بنایا ہے اور آپ اسے صرف کچھ افعال (نیچے بیان کردہ) کال کرکے براہ راست استعمال کرسکتے ہیں جس سے یہ کام بہت آسان ہوجاتا ہے۔ ہیڈر فائل کے ساتھ مکمل کوڈ یہاں سے ڈاؤن لوڈ کیا جاسکتا ہے۔
نوٹ: اگر آپ کسی نئے پروجیکٹ میں کوڈ استعمال کررہے ہیں تو یقینی بنائیں کہ آپ ہیڈر فائل ڈاؤن لوڈ کرکے اسے اپنے پروجیکٹ میں شامل کریں۔
میں نے نیچے کوڈ کے کچھ اہم حص partsوں کی وضاحت کی ہے ، دوسرے حص partsے خود وضاحتی ہیں۔ لیکن اگر آپ کو کوئی شبہ ہے تو وہ بلا جھجک تبصرہ سیکشن کو استعمال کرسکتے ہیں۔
/ * چیک کریں کہ ESP_PIC مواصلت کامیاب ہے یا نہیں * / do {Lcd_Set_Cursor (1،1)؛ ایل سی ڈی_پرنٹ_سٹرنگ ("ESP نہیں ملا")؛ } جبکہ (! esp8266_is اسٹارٹڈ ())؛ // انتظار کریں جب تک کہ ESP "Ok" واپس نہ بھیجے Lcd_Set_Cursor (1،1)؛ ایل سی ڈی_پرنٹ_سٹرنگ ("ESP منسلک ہے")؛ __Dlay_ms (1500)؛ ایل سی ڈی_کلیئر ()؛ / * ہاں ESP مواصلات کامیاب - آگے بڑھیں * /
کوڈ کا یہ حصہ چیک کرنے کے لئے استعمال ہوتا ہے کہ آیا پی آئی سی اور ای ایس پی 8266 کے مابین کوئی مناسب مواصلت قائم ہے یا نہیں۔ صرف اس صورت میں ، اگر یہ دونوں USART کے توسط سے ڈیٹا بھیج سکتے اور وصول کرسکتے ہیں ، تو یہ پروگرام اگلے مرحلے میں آگے بڑھے گا۔
esp8266_mode (3)؛
یہ فنکشن ESP8266 کو وضع 3 میں مرتب کرے گا۔ اس کا مطلب ہے کہ ماڈیول اب ایک ایکسیس پوائنٹ کے طور پر اور سرور کے طور پر بھی کام کرسکتا ہے۔
esp8266_connect ("بی پی اے ایس ہوم" ، "کریکسن")؛
یہ فنکشن آپ کے ESP8266 ماڈیول کو آپ کے وائی فائی روٹر سے مربوط کرنے کے لئے استعمال کیا جاتا ہے۔ اس معاملے میں "بی پی اے ایس ہوم" میرے وائی فائی سگنل کا نام ہے اور "کریکسن" میرا پاس ورڈ ہے۔ آپ کو اپنی وائی فائی سگنل کی تفصیلات استعمال کرنا ہوں گی۔
_esp8266_enale_MUX ()؛ // متعدد رابطوں کو قابل بنائیں _esp8266_create_server ()؛ // پورٹ 80 پر سرور بنائیں
یہ دونوں افعال ایک سے زیادہ کنکشن کو فعال کرنے اور پورٹ 80 پر سرور بنانے کے لئے استعمال ہوتے ہیں۔
_esp8266_connect_SMPT2GO ()؛
اب ، اس فنکشن کا استعمال کرکے ہم SMPT2GO کے ساتھ ٹی سی پی کنکشن قائم کرسکتے ہیں۔ ایک بار جب رابطہ قائم ہوجاتا ہے تو یہ فنکشن ویب سائٹ کے لاگ ان پیج پر بھی چلا جاتا ہے۔
_esp8266_login_mail ("YXN3aW50aGNkQGdtYWlsLmNvbQ =="، "Y2lyY3VpdGRpZ2VzdA ==")؛
اس فنکشن کو بیس 64 فارمیٹ میں اپنا ای میل آئی ڈی اور پاس ورڈ درج کرنے کیلئے استعمال کریں۔ جیسا کہ آپ دیکھ سکتے ہیں کہ یہ انکوڈ شدہ قدریں وہی ہیں جیسی جو اوپر ٹیبل میں دکھائی گئی ہیں۔ آپ کے انکوڈ شدہ اقدار آپ کے ای میل ID اور پاس ورڈ کی بنیاد پر مختلف ہوں گی۔
_esp8266_mail_sendID ("aswinncd @ gmail.com")؛
اس فنکشن کا استعمال مرسل ID کے نام کی وضاحت کے لئے کیا جاتا ہے۔ اس ٹیوٹوریل میں میں اپنے Gmail ID کو aswinncd @ gmail.com کا استعمال کرتے ہوئے میل بھیج رہا ہوں لہذا میں نے اسے بطور پیرامیٹر پاس کردیا ہے۔
_esp8266_mail_recID ("میلٹوسوینتھ @ gmail.com")؛
یہ فنکشن وصول کنندہ ID کے نام کی وضاحت کرنے کے لئے استعمال ہوتا ہے۔ میں اپنے ای میلز کو اپنے کسی اور جی میل اکاؤنٹ میں بھیجنا چاہوں گا ، لہذا میں نے پیرامیٹر کو میلٹوسیونٹ @ gmail.com کے بطور پاس کیا ہے۔ آپ اپنی مطلوبہ میل آئی ڈی استعمال کرسکتے ہیں
_esp8266_start_mail ()؛
یہ فنکشن ایس ایم پی ٹی 2 جی او سرور کو ہدایت دیتا ہے کہ ہم میل کے سبجیکٹ اور باڈی میں فیڈ کرنے جا رہے ہیں اور اسے اسی کے لئے تیار کرتا ہے۔
_esp8266_mail_subject ("ESP8266 سے میل")؛
آپ اس فنکشن کو میل کے موضوع کی وضاحت کے لئے استعمال کرسکتے ہیں۔ مثال کے طور پر میں نے میل کے عنوان کے طور پر "ESP8266 سے میل" استعمال کیا ہے۔
_esp8266_mail_body ("جانچ کامیابی - سرکٹ ڈائیجسٹ")؛
مضمون داخل کرنے کے بعد آپ اس فنکشن کا استعمال کرکے میل کے باڈی میں داخل ہوسکتے ہیں۔ ایک مثال کے طور پر میں نے اپنے میل کی باڈی کے طور پر "جانچ کی کامیابی –CircuitDigest" مرتب کیا ہے۔
_esp8266_ اینڈ_امیل ()؛
اب چونکہ ہم نے میل کے مضمون اور اس کے داخلے میں داخل ہو کر ایس ایم پی ٹی 2 جی او سرور کو ہدایت دینا ہے کہ ہم نے میل میں تفصیلات شامل کرنے کے ساتھ کیا ہے۔ یہ تقریب کا استعمال کرتے ہوئے کیا جا سکتا ہے
_esp8266_ اینڈ_امیل ()؛
_esp8266_disconnect_SMPT2GO ()؛
آخر میل بھیجنے کے بعد ، ہمیں SMPT2GO سرور کے ساتھ ٹی سی پی کنکشن ختم کرنا ہے۔ یہ مندرجہ بالا فنکشن کا استعمال کرکے کیا جاتا ہے۔
کام کرنا:
ایک بار جب آپ اپنے ہارڈ ویئر اور پروگرام کے ساتھ کام کرلیتے ہیں۔ سیدھے کوڈ کو PIC MCU میں ڈالیں۔ پھر اپنے سرکٹ پر بجلی بنائیں۔ اگر سب کچھ توقع کے مطابق چلتا ہے تو ، آپ کا LCD عمل کی حیثیت کو ظاہر کرے اور آخرکار نیچے دی گئی ویڈیو میں دکھائے جانے والے "میل بھیجے گئے" کہے۔ آپ کا ہارڈویئر کچھ اس طرح نظر آتا ہے۔
ایک بار جب LCD ظاہر کرتا ہے کہ میل بھیجا گیا ہے تو ، بھیجے گئے میل کے لئے اپنے ان باکس اور اسپام فولڈر کو چیک کریں۔ جیسا کہ ذیل میں دکھایا گیا ہے آپ کو میل موصول ہونا چاہئے تھا۔
یہی اب آپ سینسر کا ڈیٹا پڑھ کر اور اپنے میل آئی ڈی پر بھیج کر اپنے IOT پروجیکٹس تشکیل دے سکتے ہیں۔ میل کے ذریعے انتباہ کو متحرک کرکے اپنے گھر یا گاڑیوں کے لئے سیکیورٹی انتباہی نظام بنائیں۔
اگر آپ کو کوئی شک ہے یا وسط میں پھنس گیا ہے تو براہ کرم کمنٹ سیکشن کا استعمال کریں اور مجھے آپ کی مدد کرنے میں خوشی ہوگی۔