- مطلوبہ مواد:
- پی آئی سی مائکروقانونی پروگرامنگ:
- ESP8266 لائبریری میں کام:
- نمونہ پروگرام:
- نقلی پیداوار:
- آؤٹ پٹ کی توثیق:
- ESP8266 لائبریری میں افعال شامل کرنا:
اس آرٹیکل میں ، آئیے اس بات پر تبادلہ خیال کرتے ہیں کہ WICI ماڈیول ESP8266 کو PIC مائکروکانٹرولر کے ساتھ کس طرح انٹرفیس کریں ۔ شاید اب تک آپ ESP8266 ماڈیول کو اسٹینڈ مائکروکنٹرولر کے بطور استعمال کر رہے ہوں گے یا شاید اسے ارڈینو لائبریری کے ساتھ استعمال کر رہے ہوں گے۔ لیکن ، جب یہ بات سرایت شدہ سڈم سسٹم پروجیکٹس کی بات آتی ہے تو ہمیں یہ جاننا چاہئے کہ اسے PIC مائکروکینٹرولرز کے ساتھ استعمال کرنے کا طریقہ بھی ہے۔ اس سے آپ کو اپنے منصوبوں کو ڈیزائن کے تناظر میں اپنی مرضی کے مطابق بنانے میں مدد ملے گی اور اسی کے ساتھ ساتھ اسے سستا بھی بنایا جائے گا۔
ESP8266 ماڈیولز اس میں لفافٹ فرم ویئر کے ساتھ آتا ہے ، لہذا ہم اے ٹی کمانڈز کا استعمال کرکے ماڈیول کو پروگرام کرسکتے ہیں۔ یہ احکامات سیریل مواصلات چینل کے ذریعہ بھیجنا ہوں گے۔ یہ چینل پی آئی سی مائکروکانٹرلر میں یو ایس آر ٹی ماڈیول کا استعمال کرکے پی آئی سی اور ای ایس پی 8266 ماڈیول کے مابین قائم ہے ۔ 16x2 LCD ڈسپلے استعمال کرکے پورے کام کی نگرانی اور صارف کو رپورٹ کیا جائے گا۔ لہذا ، اس ٹیوٹوریل کو یہ فرض کیا گیا ہے کہ آپ کو پی آئی سی میں یو ایس آر ٹی ماڈیول ، پی آئی سی کے ساتھ ایل سی ڈی انٹرفیس کرنے اور ای ایس پی 8266 میں اے ٹی کمانڈوں کے استعمال کے بارے میں کچھ بنیادی معلومات ہیں۔ اگر آپ ایسا نہیں کرتے ہیں تو پہلے سے سیکھنے کے ل you آپ منسلک سبق پر واپس گر سکتے ہیں۔
مطلوبہ مواد:
اس ٹیوٹوریل کو مکمل کرنے کے لئے آپ کو درج ذیل ہارڈویئر کی ضرورت ہوگی
- PIC16F877A
- 20 میگا ہرٹز کرسٹل آسکیلیٹر
- 7805
- LM317
- ESP8266
- 16 * 2 LCD ڈسپلے
- PicKit3 پروگرامر
- مزاحمت کار (1K ، 220hm ، 360hm)
- کیپسیٹرز (1uF ، 0.1uF ، 33pF)
- جمپر تاروں
- PV اور ESP ماڈیول کو طاقت کے ل 12 12V اڈاپٹر
ہارڈ ویئر:
منصوبے کا مکمل منصوبہ بندی ذیل میں دکھایا گیا ہے
اسکیمیٹکس دو وولٹیج ریگولیٹر سرکٹس پر مشتمل ہے ، ایک A + 5V ریگولیٹر ہے جو پی آئی سی مائکروکنٹرولر کو طاقت دینے کے لئے استعمال ہوتا ہے اور دوسرا ایک 3.3V ریگولیٹر ہے جو ESP8266 ماڈیول کو طاقت دیتا ہے۔ + 5V 7805 (لکیری وولٹیج ریگولیٹر آئی سی) کا استعمال کرکے منظم کیا جاتا ہے۔ 3.3V LM317 (متغیر وولٹیج ریگولیٹر) کا استعمال کرتے ہوئے منظم ہے۔ ESP8266 ماڈیول بہت زیادہ موجودہ (~ 800mA) کی کھپت کرتا ہے لہذا اگر آپ اپنی بجلی کی فراہمی خود ہی ڈیزائن کررہے ہیں تو یقینی بنائیں کہ یہ اس طرح کے اعلی کرنٹ کا ذریعہ بن سکتا ہے۔ یہ بھی یقینی بنائیں کہ PIC اور ESP8266 ماڈیول کے گراؤنڈ پن ایک ساتھ جڑے ہوئے ہیں۔
تو اب ہم جان چکے ہیں کہ پی آئی سی +5V پر کام کرتی ہے اور ای ایس پی 8266 3.3V وولٹ پر کام کرتی ہے۔ مذکورہ اعدادوشمار میں جیسا کہ ان دونوں ماڈیولوں کے مابین یو ایس آر ای ٹی مواصلت قائم کرنے کے ل we ہمیں 5V - 3.3V لاجک کنورٹر سرکٹ کی ضرورت ہے۔ یہ سرکٹ ایک امکانی تقسیم کے سوا کچھ نہیں ہے جو آنے والی + 5V کو آسانی سے 3.3V میں بدل دیتا ہے۔ یہ ESP8266 کے 3.3V برداشت قابل RX پن کو + 5V حاصل کرنے سے روک دے گا۔
میں نے دو الگ الگ پرف بورڈز پر پی آئی سی اور ای ایس پی ماڈیول بنائے ہیں ، جیسا کہ ان سبق میں دکھایا گیا ہے۔ اس طرح میں ان کو اسی طرح کے مزید منصوبوں کے ل univers عالمی سطح پر استعمال کرسکتا ہوں
- PIC کا استعمال کرتے ہوئے ایل ای ڈی ہارڈ ویئر
- ای ایس پی 8266 کے ساتھ شروعات کرنا
آپ بھی اسی کی پیروی کرسکتے ہیں ، یا اپنے انداز میں اپنا بورڈ بنا سکتے ہیں یا مذکورہ بالا سرکٹ کو صرف بریڈ بورڈ سے جوڑ سکتے ہیں۔
پی آئی سی مائکروقانونی پروگرامنگ:
پی ای سی مائکروکنٹرولر پروگرام کرنے کے لئے "اے ٹی کمانڈز" بھیجنے کے لئے بطور سی ای ایس پی 826666 module ماڈیول یو ایسارٹ کا استعمال کرتے ہوئے ہمیں لائبریری استعمال کرنا ہے۔ یہ لائبریری آپ کو بہت پریشانی سے بچائے گی ، جیسے ہر اے ٹی کمانڈ کی جانچ پڑتال کرنے کے لئے ESP8266 انسٹرکشن ماڈیول کا استعمال کریں اور پھر انہیں ESP ماڈیول میں منتقل کرنے کا راستہ تلاش کریں۔ یہ لائبریری مفت سافٹ ویئر ہے جو اصل میں کامل اسٹاپس نے تیار کی ہے اور بعد میں اس کو سرکٹ ڈائجسٹ نے بہتر اور تبدیل کیا تاکہ اسے ہمارے PIC16F877A مائکروکانٹرولر کے ساتھ استعمال کیا جاسکے۔ آپ اسے یہاں ڈاؤن لوڈ کرسکتے ہیں
لائبریری ابھی تک ترقی یافتہ ہے ، لیکن آپ ESP8266 فرم ویئر میں بیشتر اہم اے ٹی کمانڈ استعمال کرسکتے ہیں۔ اگر آپ کو معلوم ہوتا ہے کہ آپ کی کوئی بھی کمانڈ غائب ہے تو ، تبصرے کے حصے میں مجھے اس سے آگاہ کریں اور میں آپ کے لئے اسے شامل کرنے کی کوشش کروں گا۔ اس ٹیوٹوریل میں آپ کو ان تمام احکام (جو اب تک) کی وضاحت کی جائے گی جو اس لائبریری کے ذریعہ استعمال ہوسکتے ہیں۔ مزید یہ کہ آپ کو لائبریری میں اپنے افعال کو شامل کرنے میں بھی رہنمائی کرے گی۔
ESP8266 لائبریری میں کام:
- ابتداء_ESP8266 (): یہ فنکشن ESP8266 ماڈیول کے ساتھ بات چیت کرنے کے لئے PIC کے USART ماڈیول کا آغاز کرے گا۔ یہ بوڈ ریٹ 115200 پر طے کرتا ہے اور یو ایس اے آر ٹی مواصلات کے لئے پی آئی سی کا Rx اور Tx پن تیار کرتا ہے۔
- _esp8266_putch (): اس فنکشن کا استعمال ESP8266 ماڈیول کو ایک ہی کردار کو سیریل بھیجنے کے لئے کیا جاتا ہے۔ مثال کے طور پر ، _esp8266_putch ('a') کردار کو سیریل ای ESPmodule میں بھیجے گا۔
- _esp8266_getch (): یہ فنکشن ESP ماڈیول سے ایک ہی کردار حاصل کرنے کے لئے استعمال کیا جاتا ہے۔ مثال کے طور پر اگر ESP "Ok" پرنٹ کر رہا ہے اور ہم چار a = _esp8266_getch () استعمال کرتے ہیں۔ اس کے بعد چار 'O' متغیر a میں محفوظ کیا جائے گا۔
- ESP8266_send_string (): یہ فنکشن _esp8266_putch () کا سٹرنگ ورژن ہے۔ یہ ESP8266 ماڈیول میں ایک مکمل تار بھیج سکتا ہے۔ مثال کے طور پر ، ESP8266_send_string ("AT / r / n") ESP8266 ماڈیول کو "AT" کمانڈ بھیجے گی۔
- esp8266_isStarted (): یہ چیک کرنے کے لئے استعمال کیا جاتا ہے کہ PIC ESP ماڈیول کے ساتھ بات چیت کرسکتی ہے یا نہیں۔ یہ "اے ٹی" کمانڈ بھیجتا ہے اور "ٹھیک ہے" کا انتظار کرتا ہے اگر موصول ہوتا ہے تو یہ درست ہوجاتا ہے بصورت دیگر یہ جھوٹا واپس آجاتا ہے۔
- esp8266_restart (): ESP8266 ماڈیول کو دوبارہ مرتب کرتا ہے اور واپسی صحیح ہوتی ہے اور دوبارہ کامیاب ہوجاتا ہے اور کامیاب نہ ہونے پر باطل واپس آجاتا ہے۔
- esp8266_mode (): ESP8266 ماڈیول کے ورکنگ موڈ کو سیٹ کرنے کے لئے استعمال کیا جاتا ہے۔ جیسا کہ ہم جانتے ہیں کہ یہ تین مختلف طریقوں میں کام کرسکتا ہے۔
اسٹیشن وضع |
|
نرم اے پی موڈ |
|
دونوں اسٹیشن اور اے پی وضع |
- esp8266_connect (): آپ کو وائی فائی سگنل سے رابطہ کرنے کی اجازت دیتا ہے۔ مثال کے طور پر esp8266_connect ("گھر" ، "12345678") ، آپ کے ماڈیول کو گھر کے نام والے وائی فائی سگنل سے مربوط ہونے دیں گے جس کا پاس ورڈ 12345678 ہے۔
- esp8266_disconnect (): یہ فنکشن آپ کو ماڈیول کو کسی بھی وائی فائی کنکشن سے منقطع کردیتا ہے جو پہلے متصل تھا
- esp8266_ip (): IP پتہ حاصل کرتا ہے اور اسے لوٹاتا ہے۔ اگر آپ ESP8266 ماڈیول کا IP پتہ جاننا چاہتے ہیں تو اس فنکشن کا استعمال کریں۔
- esp8266_start (): یہ فنکشن TCP یا UDP مواصلت شروع کرنے کے لئے استعمال ہوتا ہے۔ مثال کے طور پر esp8266_start ( "TCP" ، "192.168.101.110" ، 80) ۔ اس آئی پی اور پورٹ 80 میں ٹی سی پی نیٹ ورک شروع کرے گا۔
- esp8266_send (): یہ فنکشن TCP / UDP نیٹ ورک کو معلومات بھیجنے کے لئے استعمال ہوتا ہے۔ HTML اسکرپٹ اس کمانڈ کا استعمال کرتے ہوئے بھیجا جائے گا۔ تب یہ اسکرپٹ آئی پی ایڈریس میں ظاہر ہوگا جس میں مواصلت پہلے قائم کی گئی تھی۔
- esp8266_config_softAP (): اس فنکشن کو سافٹ اے پی کی تشکیل کرنے کے لئے استعمال کیا جاتا ہے۔ مثال کے طور پر esp8266_config_softAP ("آفس" ، "12345678")؛ ایک وائی فائی سگنل نامی دفتر بنائے گا اور اس تک رسائی حاصل کرنے کیلئے پاس ورڈ 12345678 استعمال کیا جائے۔
- esp8266_get_stationIP (): یہ فنکشن آپ کو کلائنٹ کا IP / MAC ایڈریس واپس کرے گا جو آپ کے سافٹ اے پی پی سے جڑے ہوئے ہیں۔
نمونہ پروگرام:
اب جب ہم لائبریری میں ہر کمانڈ کے افعال کو سمجھ چکے ہیں تو آئیے ہم ایک چھوٹا سا نمونہ پروگرام دیکھیں۔ اس پروگرام میں ہم جانچیں گے کہ آیا ESP8266 اور PIC کے مابین رابطہ کامیاب ہے یا نہیں اور پھر ایک پسندیدہ نام اور پاس ورڈ کے ساتھ ایک WIFI نیٹ ورک (سوفٹاپ) بنائیں۔ آپ کے سمجھنے کے لئے مکمل پروگرام اور اسی کی نقالی وضاحت کی جائے گی۔
ایک بار پھر اگر آپ نے LIC اور PIC USART کے سبق کے ساتھ ہماری PIC انٹرفیسنگ نہیں پڑھی ہے تو براہ کرم آگے بڑھنے سے پہلے اس کو پڑھیں کیونکہ صرف اس صورت میں آپ کو سمجھ میں آجائے گی۔
چونکہ ہم ابھی PSP کو ESP8266 کے ساتھ انٹرفیس کرنا شروع کر رہے ہیں ، لہذا میں نے LCD کا استعمال اس بات کو یقینی بنانے کیلئے کیا ہے کہ چیزیں ٹھیک سے کام کر رہی ہیں۔
do {Lcd_Set_Cursor (1،1)؛ ایل سی ڈی_پرنٹ_سٹرنگ ("ESP نہیں ملا")؛ } جبکہ (! esp8266_is اسٹارٹڈ ())؛ // انتظار کریں جب تک کہ ESP "Ok" واپس نہ بھیجے Lcd_Set_Cursor (1،1)؛ ایل سی ڈی_پرنٹ_سٹرنگ ("ESP منسلک ہے")؛ __Dlay_ms (1500)؛ ایل سی ڈی_کلیئر ()؛
جب ہم ای ایس پی 8266 ماڈیول کو "اے ٹی" بھیجتے ہیں تو وہ "اوکے" کے ساتھ جواب دیتا ہے۔ یہ ہمیں یقینی بناتا ہے کہ ESP8266 ماڈیول کامیابی کے ساتھ جڑا ہوا ہے۔ esp8266_isStarted () فنکشن اسی کے لئے استعمال ہوتا ہے۔ ہم پی آئی سی سے سگنل اے ٹی بھیجتے ہیں اور ہم زندہ رہنے اور ہمیں ٹھیک بھیجنے کے لئے ESP ماڈیول تک انتظار کرتے ہیں۔ اگر ہمیں ٹھیک ہے تو ہم ظاہر کرتے ہیں کہ LCD پر "ESP منسلک ہے"۔
esp8266_mode (2)؛ ایل سی ڈی_سیٹ_کرسر (1،1)؛ ایل سی ڈی_پرینٹ_اسٹرنگ ("ESP کو بطور اے پی ایس سیٹ")؛ __Dlay_ms (1500)؛ ایل سی ڈی_کلیئر ()؛
ESP ماڈیول کو "نرم اے پی" موڈ میں کام کرنے کے ل set کوڈ کی مذکورہ بالا سطور کا استعمال کیا جاتا ہے۔ تقریب esp8266_mode (2)؛ اے ٹی کو "AT + CWMODE = 3" ماڈیول بھیجتا ہے اور ماڈیول کا "اوکے" کے ساتھ جواب دینے کا انتظار کرتا ہے۔
/ * اے پی کا نام اور پاس ورڈ تشکیل دیں * / esp8266_config_softAP ("سرکٹ ڈائجسٹ" ، "619007123")؛ ایل سی ڈی_سیٹ_کرسر (1،1)؛ ایل سی ڈی_پرنٹ_سٹرنگ ("اے پی تشکیل شدہ")؛ __Dlay_ms (1500)؛ ایل سی ڈی_کلیئر ()؛ / * اے پی تشکیل شدہ * /
کوڈ کا یہ طبقہ سافٹ اے پی پی کی تشکیل کے لئے استعمال ہوتا ہے۔ یہاں ہم نے SSID کا نام "سرکٹ ڈائیجسٹ" اور پاس ورڈ کو "619007123" رکھا ہے۔ عمل مکمل ہونے کی نشاندہی کرنے کے ل the ہم انتظار کریں گے کہ ماڈیول "اوکے" کے ساتھ جواب دیں اور پھر ایل سی ڈی اسکرین پر تشکیل شدہ اے پی پرنٹ کریں۔
یہی ہے اب ہم نے PIC MCU کے ساتھ ESP8266 ماڈیول کو انٹرفیس کیا ہے اور سافٹ اپ کو اپنی پسند کے نام اور پاس ورڈ کے ساتھ تشکیل دیا ہے۔ حسب معمول اس کوڈ کی تقلید کرتے ہیں اور دیکھیں کہ یہ کیسے کام کرتا ہے۔
نقلی پیداوار:
ہم آؤٹ پٹ کو نقل کرنے کے لئے پروٹیس سافٹ ویئر استعمال کررہے ہیں۔ اسی کے لئے ڈیزائن فائل ملحق میں پایا جاسکتا ہے۔
چونکہ ہمارے پاس پروٹیوس لائبریری میں ESP8266 ماڈیول نہیں ہے ، ہم نے سیریل ٹرمینل استعمال کیا ہے اور PIC ماڈیول میں بطور صارف واپس جواب دیں گے۔ ایک بار مکمل ہونے والی نقلی نیچے کی طرح نظر آئے گی
ورچوئل ٹرمینل میں ہمارے کوڈ کا آؤٹ پٹ دکھایا گیا ہے۔ تخروپن کے مکمل کام کی وضاحت ذیل ویڈیو میں کی جائے گی۔
آؤٹ پٹ کی توثیق:
ایک بار جب نقلی کا استعمال کرتے ہوئے پروگرام کی تصدیق ہوجائے تو ، اسے اپنے PIC مائکروکنٹرولر میں پھینک دیں۔ جیسا کہ مذکورہ اسکیمٹکس (ہارڈ ویئر سیکشن) میں دکھایا گیا ہے روابط کو بنائیں۔ آپ کو LCD ڈسپلے کے ذریعے اپنی پیشرفت کا پتہ لگانا چاہئے۔
ایک بار جب LCD یہ کہتا ہے کہ اے پی تشکیل شدہ ہے تو ہم فون یا لیپ ٹاپ میں WIFI کی ترتیبات کا استعمال کرکے اسے چیک کرسکتے ہیں۔ میرے لیپ ٹاپ میں ہمارے پروگرام کے مطابق درج ذیل سگنل دکھائے گئے ہیں۔
یہی وہ لوگ ہیں جو ہم نے PIC مائکروکنٹرولر کے ساتھ ESP8266 ماڈیول کو کامیابی کے ساتھ انٹرفیس کیا ہے۔ یہ ایک بہت ہی بنیادی انٹرفیس ہے اور اگر آپ ESP8266 کا استعمال کرتے ہوئے کوئی پیچیدہ پراجیکٹس کرنا چاہتے ہیں تو آپ کو اپنی اپنی لائبریریوں کو شامل کرنا پڑے گا یا کم از کم اپنی اپنی افعال کو شامل کرنا پڑے گا۔ مجھ پر اعتماد کریں ایسا کرنا بہت آسان ہے ، میں اس کے لئے ایک مختصر بصیرت دوں گا۔
ESP8266 لائبریری میں افعال شامل کرنا:
آپ کے اپنے فنکشن کو شامل کرنے سے آپ کو ESP8266 ماڈیول پر کسی بھی "AT" کمانڈ بھیجنے میں مدد ملے گی۔ اس کے ساتھ آگے بڑھنے کے ل you ، آپ کو ESP8266 ماڈیول کی انسٹرکشن سیٹ دستاویزات پڑھنے کی ضرورت ہے۔ آپ کسی بھی اے ٹی کمانڈ کو براہ راست بھیج سکتے ہیں جو آپ کو اس ہدایت نامہ دستی میں ملتا ہے۔ لیکن ہمیشہ ہر اے ٹی کمانڈ کے اختتام پر "/ r / n" شامل کرنا یاد رکھیں۔ مثال کے طور پر اگر آپ اپنے ESP ماڈیول کے ساتھ متعدد رابطے قائم کرنا چاہتے ہیں۔ پھر انسٹرکشن سیٹ دستاویزات کھولیں اور ہمارا معلوم کریں کہ کون سا اے ٹی کمانڈ آپ کے لئے یہ کام کرے گا۔ یہاں "AT + CIPMUX = 1" کمانڈ آپ کو اپنے ESP ماڈیول کے ساتھ متعدد رابطے قائم کرنے کی اجازت دے گی۔
اب آپ سبھی کو سیریل پورٹ کا استعمال کرکے اپنے "ESP8266 ماڈیول" کو یہ "AP + CIPMUX = 1" بھیجنا ہے۔ اس کا سخت طریقہ محض کمانڈ کا استعمال کرتے ہوئے ہے
_esp8266_print ("AT + CIPMUX = 1 \ r \ n" ")
یہ کام کرے گا لیکن یہ کرنے کا بہترین طریقہ نہیں ہے۔ آپ کو واپس پڑھنا ہوگا کہ آپ کا ESP8266 آپ کے حکم کا کیا جواب دیتا ہے۔ ہمارے معاملے میں یہ "ٹھیک ہے" کے ساتھ جواب دے گا۔ لہذا آپ کو ESP8266 ماڈیول سے آنے والا ڈیٹا پڑھنا ہوگا اور اس کی تصدیق کرنی ہوگی کہ یہ "ٹھیک ہے" ہے۔ نیز آپ یہ فنکشن بھی بناسکتے ہیں جہاں "1" یا "0" کو بطور دلیل منظور کیا جاسکتا ہے۔
آگے بڑھیں اور لائبریری کے لئے اپنے کام خود کرنے کی کوشش کریں۔ لیکن اگر آپ کو مدد کی ضرورت ہو تو براہ کرم کمنٹ سیکشن کو استعمال کریں اور میں آپ کی مدد کروں گا۔