DIY: آپ کے گھر کے لئے ایک اسمارٹ لاک تشکیل دینا جو صرف آپ کے اسمارٹ فون سے کھلتا ہے

آج کل ، مارکیٹ میں بہت سے تالے دستیاب ہیں جنہیں کھولنے کے لئے کسی قسم کے پاس ورڈ کی ضرورت ہے۔ یہ تالے بہت کارآمد لیکن بہت مہنگے ہیں۔ اگر ہمیں کسی چھوٹے پیمانے کے مقصد کے لئے ایک تالا بنانے کی ضرورت ہے جو خودکار ہے اور بغیر کسی پاس ورڈ کے بلکہ غیر مقفل یا لاک کیا ہوا ہے لیکن کسی اسمارٹ فون کے ساتھ ہے ، تو ہم اسے کچھ ایسے اجزاء استعمال کرکے بنا سکتے ہیں جو بازار میں آسانی سے دستیاب ہیں۔



یہ لاک لاگت میں بہت کم ہوگا اور چھوٹے پیمانے پر بالکل کام کرے گا۔ ایک android ڈاؤن لوڈ ، درخواست اس تالا کو چلانے کے لئے ضرورت ہوگی۔ اب ، ESP32 ترتیب دینے ، اس پر ضروری پیکیجز نصب کرنے اور ہارڈویئر میں کچھ تبدیلیاں کرنے کی طرف چلیں!

خودکار دروازہ لاک



کسی وقت کو ضائع کیے بغیر ، آئیے اس اہم منصوبے کا مطالعہ اور اس پروجیکٹ پر کام کرنا شروع کریں۔



Android سے چلنے والا اسمارٹ لاک کیسے بنائیں؟

مرحلہ 1: اجزاء کو جمع کرنا

کسی بھی پروجیکٹ کو شروع کرنے سے پہلے ، اگر آپ کو خدشہ ہے کہ آپ اس پروجیکٹ کے وسط میں پھنس جائیں گے اور وقت ضائع کریں گے تو اس سے بچنے کے لئے ایک بہترین نقطہ نظر موجود ہے۔ اس منصوبے میں ان تمام جزو کی مکمل فہرست بنائیں جن کی آپ کو ضرورت ہے۔ اس منصوبے میں ہم ان تمام اجزاء کی مکمل فہرست درج کریں گے جن کو ہم استعمال کرنے جارہے ہیں۔ یہ تمام اجزاء آسانی سے مارکیٹ میں دستیاب ہیں۔



  • ESP32
  • جمپر تاروں
  • امدادی موٹر
  • پیچ
  • لاک
  • ڈرل مشین

مرحلہ 2: ایپ بنانا

چونکہ ہم ایک ایسا سمارٹ لاک بنانے جارہے ہیں جو موبائل فون کے ذریعہ چلائے جائیں گے ، ہمیں ایک android ایپ تیار کرنے کی ضرورت ہے جس میں ایک بٹن ہوگا۔ اس بٹن کو دبانے سے ہم سمارٹ لاک کو کھول یا بند کرسکیں گے۔ اس سے قبل ، ہم نے متعدد ترقی کی ہے android ڈاؤن لوڈ ، ایپلی کیشنز۔ ہم نے پہلے ہی ایک ایسی ایپلی کیشن تیار کی ہے جس میں اس میں صرف ایک بٹن شامل ہے۔ یہ بٹن ڈیٹا بیس میں ڈیٹا بھیجنے کے لئے استعمال ہوتا ہے۔ اگر ‘1’ کو فائر بیس ڈیٹا بیس میں دھکیل دیا جاتا ہے تو ، سوئچ لاک کھل جائے گا اور اگر ‘0’ کو اس ڈیٹا بیس میں دھکیل دیا گیا تو ، لاک بند ہو جائے گا۔

برائے کرم ہمارے مضمون کو دیکھیں اپنے کمپیوٹر کے لئے وائرلیس آن / آف سوئچ سوئچ بنانا اپنی خود کی android ایپلی کیشن تیار کرنے میں مدد لینا جو اسمارٹ لاک کو چلانے کے لئے استعمال ہوگا۔

مرحلہ 3: اجزاء کو جمع کرنا

چونکہ ہمارے پاس ان تمام اجزاء کی ایک مکمل فہرست موجود ہے جس کی ہمیں اس پروجیکٹ کو مکمل کرنے کی ضرورت ہے ، آئیے ہم ایک قدم آگے بڑھائیں اور تمام اجزاء کو ایک ساتھ اکٹھا کریں۔



سروو موٹر لیں اور اس کے وی سی سی اور گراؤنڈ کو بالترتیب ای سی پی بورڈ کے وی سی سی اور گراؤنڈ سے مربوط کریں۔ اپنی امدادی موٹر کے PWM پن کو اپنے 34 نمبر کے پن سے مربوط کریں ESP32 بورڈ . اب دیکھیں کہ سروو موٹر پر گیئر قسم کی نوک ہے۔ اس کو گھوماتے ہوئے تالے کا ہینڈل نکالیں اور کچھ چپکنے والی مشینوں کی مدد سے تالے میں گیئر موٹر کی نوک کو ٹھیک کریں۔

اب ، ڈرل مشین کی مدد سے ، دروازے پر کچھ سوراخ ڈرل کریں جہاں آپ یہ سمارٹ لاک رکھنا چاہتے ہیں۔ اس بات کو یقینی بنائیں کہ آپ سوراخوں کو اس طرح ڈرل کریں کہ لاک کے سوراخ دروازے کے سوراخوں کو اوور لپٹ کر سکرو کو درست کرنے کا راستہ بناتے ہیں۔

مرحلہ 4: کام کرنا

جیسا کہ اب ہم اس پروجیکٹ کے پیچھے مرکزی خیال جانتے ہیں ، آئیے ہم یہ سمجھیں کہ یہ منصوبہ کس طرح کام کر رہا ہے۔

ESP32 اس منصوبے کا دل ہے۔ ایک سرو موٹر اس بورڈ سے منسلک ہے اور اس مائکروکانٹرولر کا فائر بیس ڈیٹا بیس سے رابطہ ہے۔ جب ایپ میں موجود بٹن کو لاک کھولنے کے لئے دبایا جاتا ہے تو ، ‘1’ کو فائر بیس ڈیٹا بیس میں دھکیل دیا جاتا ہے اور جب بٹن کو لاک بند کرنے کے لئے دبایا جاتا ہے تو ، ‘0’ کو فائر بیس ڈیٹا بیس میں دھکا دیا جاتا ہے۔ ای ایس پی بورڈ اس قدر کو فائربیس ڈیٹا بیس میں مسلسل پڑھ رہا ہے۔ جب تک 0 ہے ، ESP32 سرو موٹر کو اپنی ابتدائی پوزیشن پر رہنے کی ہدایت کرے گا۔ جیسے ہی 1 فائر بیس میں آئے گا ، ای ایس پی بورڈ اسے پڑھ کر سرو موٹر کو گھماؤ بنانے کے لئے کہے گا جس سے تالا کھل جائے گا۔

مرحلہ 5: ای ایس پی 32 کے ساتھ آغاز کرنا

اگر آپ نے اس سے قبل آرڈینو آئ ڈی ای پر کام نہیں کیا ہے تو ، فکر نہ کریں کیوں کہ ارڈینوو IDE ترتیب دینے کے لئے مرحلہ وار نیچے دکھایا گیا ہے۔

  1. ارڈینو آئ ڈی ای کا تازہ ترین ورژن ڈاؤن لوڈ کریں اردوینو
  2. اپنے آرڈینو بورڈ کو پی سی سے مربوط کریں اور کنٹرول پینل کھولیں۔ پر کلک کریں ہارڈ ویئر اور آواز. اب کھل گیا ہے ڈیوائسز اور پرنٹر اور اس پورٹ کو تلاش کریں جس سے آپ کا بورڈ منسلک ہے۔ میرے معاملے میں یہ ہے COM14 لیکن یہ مختلف کمپیوٹرز میں مختلف ہے۔

    پورٹ تلاش کرنا

  3. فائل پر کلک کریں اور پھر ترجیحات پر کلک کریں۔ میں درج ذیل لنک کو کاپی کریں اضافی بورڈ منیجر کا URL۔ “ https://dl.espressif.com/dl/package_esp32_index.json '

    ترجیحات

  4. اب ، ایردوینو IDE کے ساتھ ESP32 استعمال کرنے کے ل we ، ہمیں خصوصی لائبریریوں کو درآمد کرنے کی ضرورت ہے جو ہمیں ESP32 پر کوڈ کو جلانے اور استعمال کرنے کی اجازت دے گی۔ یہ دو لائبریریاں نیچے دیئے گئے لنک میں منسلک ہیں۔ لائبریری ، شامل کرنے کے ل خاکہ> لائبریری شامل کریں> زپ لائبریری شامل کریں . ایک خانہ آئے گا۔ اپنے کمپیوٹر پر زپ فولڈر تلاش کریں اور فولڈرز کو شامل کرنے کے لئے ٹھیک ہے پر کلک کریں۔

    لائبریری شامل کریں

  5. اب گوٹو خاکہ> لائبریری شامل کریں> لائبریریوں کا نظم کریں۔

    لائبریریوں کا نظم کریں

  6. ایک مینو کھل جائے گا۔ سرچ بار میں ، ٹائپ کریں ارڈینو JSON۔ ایک فہرست سامنے آئے گی۔ انسٹال کریں بنوائٹ بلنچن کیذریعہ آردوینو جےسن۔

    ارڈینو JSON

  7. اب پر کلک کریں اوزار. ڈراپ ڈاؤن مینو ظاہر ہوگا۔ بورڈ مرتب کریں ای ایس پی دیو ماڈیول۔

    بورڈ مرتب کرنا

  8. ٹول مینو پر دوبارہ کلک کریں اور بندرگاہ مرتب کریں جو آپ نے پہلے کنٹرول پینل میں دیکھا تھا۔

    پورٹ کی ترتیب

  9. اب نیچے دیئے گئے لنک میں منسلک کوڈ اپلوڈ کریں اور ESP32 مائکروکنٹرولر پر کوڈ کو جلا دینے کے لئے اپلوڈ بٹن پر کلک کریں۔

    اپ لوڈ کریں

لہذا اب جب آپ کوڈ اپ لوڈ کریں گے ، تو ایک غلطی ہوسکتی ہے۔ یہ سب سے عام غلطی ہے جو اس وقت واقع ہوسکتی ہے اگر آپ آرڈینو آئ ڈی ای اور آرڈینوو جے ایسون کا نیا ورژن استعمال کررہے ہیں۔ مندرجہ ذیل غلطیاں ہیں جو آپ اسکرین پر دیکھ سکتے ہیں۔

C:  صارفین  پرو  دستاویزات  ارڈینو  لائبریریوں  IOXhop_FirebaseESP32-master / IOXhop_FirebaseESP32.h: 8: 0 سے ، فائل: C:  صارفین  پرو  ڈیسک ٹاپ  سمارٹ ہوم  کوڈ. کوڈ.ینو: 2: C :  صارفین  پرو  دستاویزات  ارڈینو  لائبریری  IOXhop_FirebaseESP32-master / IOXhop_FirebaseStream.h: 14: 11: غلطی: آرٹینو جےسن 5 سے اپ گریڈ کرنے کے ل learn اپنے پروگرام کو اپ گریڈ کرنے کے ل Please براہ کرم آرڈینو جوسن آر / اپ گریڈ ملاحظہ کریں۔ ورژن 6 جامد JsonBuffer jsonBuffer؛ file فائل C میں:  صارفین  پرو  دستاویزات  ارڈینو  لائبریریوں  IOXhop_FirebaseESP32- ماسٹر / IOXhop_FirebaseESP32.h: 8: 0 ، C سے:  صارفین  پرو  ڈیسک ٹاپ  سمارٹ ہوم  کوڈ  کوڈ: 2: C:  صارفین  پرو  دستاویزات  ارڈینو  لائبریری  IOXhop_FirebaseESP32-master / IOXhop_FirebaseStream.h: 65: 11: غلطی: اسٹیڈو جنسن آر / اپ گریڈ کو دیکھیں کہ اپنے پروگرام کو اپ گریڈ کرنے کا طریقہ سیکھیں۔ آرڈینو جسن ورژن 6 لوٹنا اسٹوٹک جیسن بفر (). parseObject (_data)؛ استعمال کیا جاتا ہے: C: 'صارفین  پرو  AppData  مقامی  Ardino15  پیکجوں sp esp32  ہارڈ ویئر  esp32  1.0.2  لائبریریوں  وائی فائی استعمال نہیں ہوا: C:  پروگرام فائلیں ( x86) rdu ارڈینو  لائبریریاں  وائی فائی فولڈر میں ورژن 1.0 پر لائبریری وائی فائی کا استعمال کرتے ہیں: سی:  صارفین  پرو  اپ ڈیٹا  لوکل rdu آرڈینو 15  پیکیجز  ای ایس پی 32  ہارڈ ویئر  ای ایس پی 32  1.0.2  لائبریریوں  وائی فائی لائبریری کا استعمال کرتے ہوئے IOXhop_FirebaseESP32-master فولڈر میں: C:  صارفین  پرو  دستاویزات  ارڈینو  لائبریری  IOXhop_FirebaseESP32-master (میراث) فولڈر میں ورژن 1.2 پر لائبریری HTTPClient کا استعمال کرتے ہوئے: C:  صارفین  پرو  AppData  مقامی  Ardino15  پیکجز  esp32  ہارڈ ویئر  esp32  1.0.2  لائبریریاں  HTTPClient فولڈر میں ورژن 1.0 پر لائبریری WiFiClientSecure کا استعمال کرتے ہوئے: C:  صارفین  Pro  AppData  مقامی  Ardino15  پیکیجز  esp32  ہارڈ ویئر  esp32  1.0.2  لائبریریوں  WiFiClientSecon لائبریری میں Aino32 کا استعمال کرتے ہوئے فولڈر میں ورژن 6.12.0: سی:  صارفین  پرو  دستاویزات  ارڈینو  لائبریریوں  اردووجنسن ایگزٹ اسٹیٹس 1 بورڈ ESP32 دیو ماڈیول کے لئے مرتب کرنے میں خرابی۔

پریشانی کی کوئی بات نہیں کیونکہ ہم کچھ آسان اقدامات پر عمل کرکے ان غلطیوں کو ختم کرسکتے ہیں۔ یہ غلطیاں اس لئے پیدا ہو رہی ہیں کیونکہ Ardino JSON کے نئے ورژن کی بجائے ایک اور کلاس ہے اسٹیٹ جیسن بفر۔ یہ JSON 5 کی کلاس ہے۔ لہذا ہم اپنے آردوینو IDE کے Ardino JSON کے ورژن کو گھٹا کر آسانی سے اس غلطی کو ختم کرسکتے ہیں۔ بس جائیں خاکہ> لائبریری شامل کریں> لائبریریوں کا نظم کریں۔ تلاش کریں بنوائٹ بلنچن کیذریعہ آردوینو جےسن کہ آپ نے پہلے انسٹال کیا ہے۔ پہلے اسے ان انسٹال کریں اور پھر اس کا ورژن سیٹ کریں 5.13.5۔ اب جیسا کہ ہم نے ارڈینو JSON کا پرانا ورژن مرتب کیا ہے ، اسے دوبارہ انسٹال کریں اور کوڈ دوبارہ تشکیل دیں۔ اس بار ، آپ کا کوڈ کامیابی کے ساتھ مرتب ہوگا۔

کوڈ ڈاؤن لوڈ کرنے کیلئے ، کلک کریں یہاں

مرحلہ 6: کوڈ

اس منصوبے کا کوڈ بہت آسان ہے لیکن پھر بھی ، اس کے کچھ حصے ذیل میں بیان کیے گئے ہیں۔

1. کوڈ کے آغاز پر ، ہم تین لائبریریاں شامل کریں گے۔ پہلا ای ایس پی بورڈ پر وائی فائی کو اہل بنانا ہے ، دوسرا یہ ہے کہ ای ایس پی کو سروو موٹر استعمال کرنے کے قابل بنایا جائے اور تیسرا یہ کہ ای ایس پی بورڈ کو فائربیس ڈیٹا بیس سے مربوط کریں۔ اس کے بعد ، ہم فائر بیس میزبان ، توثیق ، ​​اپنے مقامی انٹرنیٹ کنیکشن کا نام اور کوڈ میں اس کا پاس ورڈ شامل کریں گے۔ ایسا کرنے کے بعد ، سروو موٹر کو استعمال کرنے کے ل. ایک آبجیکٹ تیار کریں۔

# شامل کریں // وائی فائی کے استعمال کے ل library لائبریری شامل کریں # شامل کریں // امدادی موٹر کے ل library لائبریری شامل کریں # شامل کریں // فائر بیس سے مربوط ہونے کے ل library لائبریری شامل کریں # فائن بیس_حوسٹ 'xxxxxxxxxx' // اپنے فائر بیس میزبان کے ذریعہ xxxxxxxxxx کو یہاں تبدیل کریں # ڈیفائن FIREBASE_AUTH 'xxxxxxxxxx' / / / یہاں آپ کی فائر بیس توثیق کے ذریعہ xxxxxxxxxxx کو تبدیل کریں # Wifi_SSID 'xx کوڈ، xxxxxxxx' // ہمارے وائی فائی کنکشن کے نام سے xxxxxxxxxx کو تبدیل کریں # ڈیفائن WIFI_PASSWORD 'xxxxxxxxxx' // اپنے وائی فائی پاسورڈ کے ذریعہ xxxxxxxxxx کو تبدیل کریں servo myservo؛ // امدادی موٹر انٹ پوس کے لئے آبجیکٹ تخلیق کریں = 0؛ // متغیر INT ریاست بنانا؛ // متغیر پیدا کرنا

2 باطل سیٹ اپ () ایک ایسا فنکشن ہوتا ہے جو مائیکروکنٹرولر بورڈ پر چلنے یا قابل بٹن دبانے پر کسی پروگرام میں صرف ایک بار چلتا ہے۔ اس فنکشن میں بوڈ ریٹ مقرر کیا گیا ہے۔ باؤڈ دراصل بٹس فی سیکنڈ میں مواصلات کی رفتار ہوتی ہے جس کے ذریعہ مائکروقابو کنٹرولر بیرونی آلات کے ساتھ بات چیت کرتا ہے۔ سرو موٹر ESP بورڈ کے پن 34 سے منسلک ہے۔ اس فنکشن میں کوڈ لکھا گیا ہے تاکہ مائکروکنٹرولر کو مقامی انٹرنیٹ سے منسلک کیا جاسکے۔

باطل سیٹ اپ () {سیریل.بیگین (115200)؛ // بوڈ ریٹ کو ترتیب دینا myservo.attach (34)؛ // امدادی موٹر کے پی ڈبلیو ایم پن کو ESP32 myservo.write (60) کے پن 34 سے جوڑیں۔ تاخیر (1000)؛ // وائی فائی سے جڑیں۔ WiFi.begin (WIFI_SSID، WIFI_PASSWORD)؛ سیریل.پرنٹلن ('منسلک')؛ جبکہ (WiFi.status ()! = WL_CONNECTED) ial سیریل.پرنٹ ('.')؛ تاخیر (500)؛ ial سیریل.پرنٹلن ()؛ سیریل.پرنٹ ('منسلک:')؛ سیریل.پرنٹ لِن (وائی فائی ۔لوکلپ ())؛ فائر بیس.بیگین (FIREBASE_HOST، FIREBASE_AUTH)؛ }

باطل لوپ () ایک فنکشن ہے جو لوپ میں بار بار چلتا ہے۔ اس فنکشن میں ، ہم مائکرو قابو پانے والے کو بتاتے ہیں ، کہ کیا آپریشن کرنا ہے اور کیسے۔ یہاں ، فائر بیس سے اعداد و شمار پڑھ رہے ہیں اور نام متغیر انٹ کو محفوظ کیا جارہا ہے حالت . اگر ریاست کے پاس اس میں قدر ‘0’ ہے تو ، سرو موٹر کی پوزیشن 8 ڈگری پر رکھی گئی ہے۔ اگر متغیر حالت میں ویلیو ’1‘ کے برابر ہے تو ، سرو موٹر کی پوزیشن 55 ڈگری پر سیٹ ہوگی۔

باطل لوپ () {state = Serial.println (Firebase.getFloat ('موٹر'))؛ // فائر بیس سے ڈیٹا پڑھیں // اگر ریاست '0' ہو تو ڈی سی موٹر بند ہوجائے گی اگر (state == '0') {myservo.write (8)؛ // امدادی موٹر تاخیر کی سیٹ (1000)؛ // اونٹ دوسرے سیریل کا انتظار کریں۔ پرنٹلن ('ڈور لاک')؛ } دوسری صورت میں اگر (حالت == '1') {myservo.write (55)؛ // امدادی موٹر تاخیر (1000) کی نئی پوزیشن مرتب کریں۔ // ایک سیکنڈ سیریل کا انتظار کریں۔ پرنٹلن ('دروازہ کھلا ہوا')؛ handle // ہینڈل میں خرابی اگر (فائر بیس.فیلڈ ()) ial سیریل.پرنٹ ('ترتیب / نمبر ناکام:')؛ سیریل.پرنٹلن (فائر بیس.آرر ())؛ واپسی } تاخیر (1000)؛