কিভাবে ESP32 মডিউল ব্যবহার করে স্মার্ট হোম অটোমেশন সিস্টেম তৈরি করবেন?

এই আধুনিক যুগে, হোম অটোমেশনের ধারণাটি দুর্দান্ত গতিতে বাড়ছে। প্রায় সব জায়গায় স্মার্ট সিস্টেম ইনস্টল করা হচ্ছে। স্মার্ট হোম সিস্টেমগুলি এমন একটি ধারণা যাতে সমস্ত বৈদ্যুতিক সরঞ্জাম বা ডিভাইসগুলি একটি একক রিমোট কন্ট্রোল ব্যবহার করে নিয়ন্ত্রিত হয়। এই সিস্টেমে, বেশিরভাগ সময়, রিমোট কন্ট্রোল একটি মোবাইল অ্যাপ্লিকেশন। যেহেতু একটি অ্যান্ড্রয়েড মোবাইল মানুষের মধ্যে সর্বাধিক সাধারণ, তাই এন্ড্রয়েড অ্যাপ্লিকেশন হ'ল এই সমস্ত ডিভাইসগুলি নিয়ন্ত্রণ করার জন্য সেরা বিকল্প।



অধিবাস স্বয়ংক্রিয়তা

সুতরাং এই প্রকল্পে, আমরা বাড়ির বৈদ্যুতিক সরঞ্জামগুলির কয়েকটি রিলে মডিউলে সংযুক্ত করতে যাচ্ছি এবং এটি ESP32 মাইক্রোকন্ট্রোলারের মাধ্যমে নিয়ন্ত্রণ করতে যাচ্ছি। আমরা ফায়ারবেস রিয়েলটাইম ডাটাবেস তৈরি করব এবং এন্ড্রয়েড অ্যাপ থেকে এটি সংযোগ করব। এই অ্যান্ড্রয়েড অ্যাপ্লিকেশনটি ক্লাউডে ডেটা প্রেরণ করবে এবং তারপরে বৈদ্যুতিক সরঞ্জাম চালু বা বন্ধ করতে এটি মাইক্রোকন্ট্রোলারের কাছে প্রেরণ করা হবে। সর্বোত্তম অংশটি হ'ল বিশ্বের যে কোনও জায়গা থেকে আপনার অ্যাপ্লিকেশনগুলির স্যুইচিংয়ের উপর আপনার সম্পূর্ণ নিয়ন্ত্রণ থাকতে পারে। অ্যান্ড্রয়েড অ্যাপ্লিকেশনটি পরিচালনা করতে আপনার কেবল একটি ইন্টারনেট সংযোগ প্রয়োজন।



কীভাবে ওয়াইফাইয়ের মাধ্যমে হোম অ্যাপ্লায়েন্সেস নিয়ন্ত্রণ করতে হয়?

হোম অটোমেশন সিস্টেমগুলি যা ইতিমধ্যে বাজারে উপলভ্য, খুব ব্যয়বহুল। আমরা বিভিন্ন হোম অ্যাপ্লায়েন্সেস সংযোগ করতে এবং একটি Android অ্যাপ ব্যবহার করে সেগুলি নিয়ন্ত্রণ করতে একটি ESP32 বোর্ড ব্যবহার করতে পারি। এটি ব্যয় খুব কম এবং ঘর স্বয়ংক্রিয় করার একটি কার্যকর উপায় হবে। এখন আসুন আমরা এক ধাপ এগিয়ে এবং প্রকল্প শুরু করার জন্য তথ্য সংগ্রহ শুরু করি।



পদক্ষেপ 1: উপাদান সংগ্রহ

যে কোনও প্রকল্প শুরুর সর্বোত্তম পন্থা হ'ল উপাদানগুলির একটি তালিকা তৈরি করা এবং এই উপাদানগুলির একটি সংক্ষিপ্ত অধ্যয়ন করা, কারণ কেউ কেবল কোনও অনুপস্থিত উপাদানটির কারণে কোনও প্রকল্পের মাঝখানে আটকে থাকতে চাইবে না। এই প্রকল্পে আমরা যে উপাদানগুলি ব্যবহার করতে যাচ্ছি তার একটি তালিকা নীচে দেওয়া হল:



  • ESP32
  • ব্রেডবোর্ড
  • সংযোগ তারের

পদক্ষেপ 2: উপাদান অধ্যয়ন

এখন যেমন আমরা এই প্রকল্পটির বিমূর্ততা জানি, আসুন আমরা এক ধাপ এগিয়ে যান এবং আমরা যে প্রধান উপাদানগুলি ব্যবহার করতে যাচ্ছি তার কাজ সম্পর্কে একটি সংক্ষিপ্ত অধ্যয়ন করা যাক।

ESP32 একটি স্বল্প-শক্তি এবং স্বল্প ব্যয়যুক্ত মাইক্রোকন্ট্রোলার বোর্ড যা একটি বিল্ট-ইন ওয়াইফাই এবং একটি ডুয়াল-মোড ব্লুটুথ মডিউল। এই মাইক্রোকন্ট্রোলার বোর্ড তৈরি এবং বিকাশ করেছে এসপ্রেসিফ সিস্টেমস । এই বোর্ডটিতে অন্তর্নির্মিত শক্তি পরিবর্ধক, কম সুন্দর প্রাপ্ত সংবর্ধক, ফিল্টার এবং অ্যান্টেনার স্যুইচ রয়েছে। এটি অ্যান্ড্রয়েড ডেটা কেবল দ্বারা চালিত এবং আউটপুটটিতে 3.3V পর্যন্ত সরবরাহ করতে পারে। ইএসপি 32 টিসিপি / আইপি চালায়, পুরো 802.11 বি / জি / এন / ই / আই ডাব্লুএলএএন ম্যাক কনভেনশন এবং ওয়াই-ফাই ডাইরেক্ট নির্দিষ্ট করে। এটি সূচিত করে যে ইএসপি 32 স্টেশনে (ক্লায়েন্ট) মোডে ব্যবহার করার পরে সেখানে ওয়াইফাই রাউটারগুলির একটি বড় অংশকে সম্বোধন করতে পারে। তেমনি, এটি পূর্ণ 802.11 বি / জি / এন / ই / আই সহ অ্যাক্সেস পয়েন্ট তৈরি করতে পারে। ESP32 কেবল সাম্প্রতিকতম BLE ব্লুটুথ 4.2 কে আন্ডারপাইন করে না, এটি অতিরিক্ত দুর্দান্ত ব্লুটুথকে সহায়তা দেয়। এটি মৌলিকভাবে বোঝায় যে এটি পুরানো এবং নতুন ব্লুটুথ টেলিফোন / টেবিলগুলিকে সম্বোধন করতে পারে। আপনার যদি ESP32 মডিউল না থাকে তবে আপনি ESP8266 বা নোড এমসিইউও ব্যবহার করতে পারেন। এই বোর্ডগুলি ওয়াইফাইয়ের সাথে সংযুক্ত থাকলে একই কাজ সম্পাদন করতে ব্যবহার করা যেতে পারে।

ESP32



রিলে মডিউলটি একটি স্যুইচিং ডিভাইস। এটি দুটি পদ্ধতিতে কাজ করে, সাধারণত খোলা (না) এবং সাধারণত বন্ধ (এনসি) । কোনও মোডে, সার্কিটটি সর্বদা নষ্ট হয়ে যায় যদি না আপনি আরডুইনোর মাধ্যমে রিলে কোনও উচ্চ সংকেত না পাঠান। এনসি মোড অন্যদিকে আরও খারাপ হয়, আপনি রিলে মডিউলটি স্যুইচ না করে সার্কিট সর্বদা সম্পূর্ণ থাকে। নিশ্চিত হয়ে নিন যে আপনি নীচে দেখানো উপায়ে আপনার বৈদ্যুতিক সরঞ্জামের ইতিবাচক তারটিকে রিলে মডিউলে সংযুক্ত করেছেন।

রিলে মডিউল সার্কিট একত্রিত করা

পদক্ষেপ 3: ব্লক ডায়াগ্রাম

ব্লক ডায়াগ্রাম

উপরের ব্লক ডায়াগ্রামে, এই প্রকল্পের প্রবাহ দেখানো হয়েছে। রিলেগুলি বাড়ির বৈদ্যুতিক সরঞ্জাম বা ডিভাইসের সাথে সংযুক্ত থাকে। একটি মোবাইল অ্যাপ্লিকেশন একটি প্রেরণ করা হবে চালু বা বন্ধ ডাটাবেস কমান্ড। এই মেঘটি ওয়াইফাইয়ের মাধ্যমে ইএসপি 32 মাইক্রোকন্ট্রোলার বোর্ডের সাথে সংযুক্ত রয়েছে। বৈদ্যুতিন ডিভাইসটি স্যুইচ করতে, আমরা ডাটাবেসে একটি '1' প্রেরণ করব এবং এটি স্যুইচ করতে আমরা ডাটাবেসে একটি '0' প্রেরণ করব। এই কমান্ডটি তখন মাইক্রোকন্ট্রোলার দ্বারা আনা হবে কারণ এটি ডাটাবেসের সাথেও সংযুক্ত রয়েছে। এই 0 বা 1 এর উপর ভিত্তি করে, মাইক্রোকন্ট্রোলার রিলে মডিউলটি চালু বা বন্ধ করে দেয় যা পরিণামে বৈদ্যুতিক সরঞ্জামগুলির স্যুইচিংয়ের ফলস্বরূপ।

সুতরাং এখানে, এই নিবন্ধে, আমি আপনাকে পুরো পদ্ধতিটি দেখানোর জন্য দুটি রিলে মডিউল ব্যবহার করব। আপনি যদি রিলে সংখ্যা বাড়িয়ে তুলতে পারেন এবং আপনার প্রোগ্রামে একই সংখ্যক কোড যুক্ত করতে পারেন যদি আপনি বিপুল সংখ্যক বৈদ্যুতিক হোম অ্যাপ্লায়েন্সেস নিয়ন্ত্রণ করতে চান।

পদক্ষেপ 4: উপাদানগুলি একত্র করা

এখন যেমন আমরা এই প্রকল্পে কী করতে চাই তার স্পষ্ট দৃষ্টিভঙ্গি রয়েছে, আসুন আমরা আর কোনও সময় নষ্ট না করে উপাদানগুলি একত্রিত করা শুরু করি।

  1. একটি ব্রেডবোর্ড নিন এবং এতে ESP32 মাইক্রোকন্ট্রোলারটি ঠিক করুন। এখন দুটি রিলে মডিউল নিয়ে যান এবং ভিসি এবং মডিউলগুলির গ্রাউন্ডটি ভিন এবং ESP32 মাইক্রোকন্ট্রোলার বোর্ডের সমান্তরাল স্থলে সংযুক্ত করুন। সংযুক্ত করুন ইন-পিন ইএসপি 32 বোর্ডের পিন 34 এবং পিন 35 এ রিলে মডিউলগুলি। আপনি দেখতে পাবেন যে রিলে এখন চালিত হয়।
  2. রিলে মডিউলে ঘরের সরঞ্জামগুলি সংযুক্ত করুন। আপনার সংযোগগুলি পদক্ষেপ 2 তে চিত্রের সংযোগের সাথে মেলে কিনা তা নিশ্চিত করুন।

এখন যেমন আমরা আমাদের সিস্টেমের হার্ডওয়্যার অংশটি সংযুক্ত করেছি। আমরা একটি অ্যান্ড্রয়েড অ্যাপ্লিকেশন বিকাশ করব যা ফায়ারবেস ডাটাবেসের সাথে সংযুক্ত থাকবে। আমরা এই নিবন্ধটির দ্বিতীয় খণ্ডে ডাটাবেস এবং অ্যান্ড্রয়েড অ্যাপ্লিকেশনটি তৈরি করব।

পদক্ষেপ 5: ইএসপি 32 দিয়ে শুরু করা

আপনি যদি আগে আরডুইনো আইডিইতে কাজ না করে থাকেন তবে চিন্তিত হবেন না কারণ আরডুইনো আইডিই সেট আপ করার ধাপে ধাপে নীচে দেখানো হয়েছে।

  1. আরডুইনো আইডিইয়ের সর্বশেষতম সংস্করণটি ডাউনলোড করুন আরডুইনো।
  2. আপনার আরডুইনো বোর্ডটিকে পিসিতে সংযুক্ত করুন এবং কন্ট্রোল প্যানেলটি খুলুন। ক্লিক করুন হার্ডওয়্যার এবং শব্দ. এখন উন্মুক্ত ডিভাইস এবং মুদ্রক এবং আপনার বোর্ডটি সংযুক্ত আছে এমন পোর্টটি সন্ধান করুন। আমার ক্ষেত্রে এটি হয় COM14 তবে এটি বিভিন্ন কম্পিউটারে আলাদা।

    বন্দর সন্ধান করা

  3. ফাইল ক্লিক করুন এবং তারপরে পছন্দসমূহ ক্লিক করুন। নীচের লিঙ্কটি অনুলিপি করুন অতিরিক্ত বোর্ড পরিচালকের URL URL “ https://dl.espressif.com/dl/package_esp32_index.json '

    পছন্দসমূহ

  4. এখন, আরডুইনো আইডিই সহ ইএসপি 32 ব্যবহার করতে আমাদের বিশেষ লাইব্রেরি আমদানি করতে হবে যা আমাদের ESP32 এ কোড বার্ন করতে এবং এটি ব্যবহারের অনুমতি দেবে। এই দুটি গ্রন্থাগারটি নীচে দেওয়া লিঙ্কটিতে সংযুক্ত রয়েছে। লাইব্রেরি অন্তর্ভুক্ত করতে, যাও স্কেচ> লাইব্রেরি অন্তর্ভুক্ত করুন> জিপ লাইব্রেরি যুক্ত করুন । একটি বাক্স আসবে। আপনার কম্পিউটারে জিপ ফোল্ডারটি সন্ধান করুন এবং ফোল্ডারগুলি অন্তর্ভুক্ত করতে ওকে ক্লিক করুন।

    গ্রন্থাগার অন্তর্ভুক্ত করুন

  5. এখন যাও স্কেচ> লাইব্রেরি অন্তর্ভুক্ত করুন> গ্রন্থাগারগুলি পরিচালনা করুন।

    গ্রন্থাগারগুলি পরিচালনা করুন

  6. একটি মেনু খুলবে। অনুসন্ধান বারে, টাইপ করুন আরডুইনো জেএসওএন। একটি তালিকা উপস্থিত হবে। ইনস্টল করুন বেনোইট ব্লাঞ্চন রচিত আরডুইনো জেএসএন।

    আরডুইনো জেএসওএন

  7. এখন ক্লিক করুন সরঞ্জাম। একটি ড্রপ ডাউন মেনু প্রদর্শিত হবে. বোর্ড সেট করুন ইএসপি দেব মডিউল।

    বোর্ড নির্ধারণ

  8. আবার টুল মেনুতে ক্লিক করুন এবং পোর্টটি আপনি কন্ট্রোল প্যানেলে পূর্বে পর্যবেক্ষণ করেছেন সেটি সেট করুন।

    পোর্ট স্থাপন করা

  9. এখন নীচের লিঙ্কে সংযুক্ত কোডটি আপলোড করুন এবং ইএসপি 32 মাইক্রোকন্ট্রোলারে কোড বার্ন করতে আপলোড বাটনে ক্লিক করুন।

    আপলোড করুন

সুতরাং এখন আপনি যখন কোড আপলোড করবেন তখন একটি ত্রুটি ঘটতে পারে। এটি আপনি যদি আরডুইনো আইডিই এবং আরডুইনো জেএসওনের একটি নতুন সংস্করণ ব্যবহার করছেন তবে এটি সবচেয়ে সাধারণ ত্রুটি। নীচে ত্রুটিগুলি যা আপনি পর্দায় দেখতে পাচ্ছেন are

সি:  ব্যবহারকারীদের file প্রো  ডকুমেন্টস  আরডুইনো  গ্রন্থাগারগুলি C আইওএক্সপ_ফায়ারবেসইএসপি 32-মাস্টার / আইওএক্সপ_ফায়ারবেসইএসপি 32: সি:  ব্যবহারকারীদের প্রো-ডেস্কটপ  স্মার্টহোম  কোড  কোড.ino: 2: সি থেকে অন্তর্ভুক্ত ফাইলটিতে :  ব্যবহারকারীগণ  প্রো  নথিগুলি  আরডিনো  লাইব্রেরিগুলি  আইওএক্সপ_ফায়ারবেসইএসপি 32-মাস্টার / আইওএক্সপ_ফায়ারবেসস্ট্রিম এইচ: 14: 11: ত্রুটি: স্ট্যাটিকজসনবার্ফারটি আরডিনোজেসন থেকে একটি শ্রেণি 5.. আপনার প্রোগ্রামটি আরডিনোজে কীভাবে আপগ্রেড করা যায় তা শিখতে দয়া করে আরডুইনজসন.আর.অর্গআপ দেখুন সংস্করণ 6 স্ট্যাটিকজেসন বুফার জসনবফার; সি থেকে ফাইল অন্তর্ভুক্ত: ^ ব্যবহারকারী  প্রো  নথিগুলি rdu আরডুইনো  গ্রন্থাগারসমূহ  আইওএক্সপ_ফায়ারবেসইএসপি 32-মাস্টার / আইওএক্সপ_ফায়ারবেসইএসপি 32: সি:  ব্যবহারকারীগণ  প্রো  ডেস্কটপ  স্মার্টহোম  কোড  কোড।: 2: সি:  ব্যবহারকারীগণ  প্রো  নথিগুলি  আরডিনো  গ্রন্থাগারগুলি O আইওএক্সপ_ফায়ারবেসইএসপি 32-মাস্টার / আইওএক্সপ_ফায়ারবেসস্ট্রিম এইচ: 65: 11: ত্রুটি: স্ট্যান্ডিকজসনবার্ফারটি আরডিনোজেসন থেকে ক্লাস যা আপনার প্রোগ্রামটি আপগ্রেড করতে শিখতে দয়া করে দেখুন আরডুইনোজসন সংস্করণ 6 রিটার্ন স্ট্যাটিক জসনবফার ()। পার্সোবজেক্ট (_ডাটা); Wi 'ওয়াইফাই এইচ' ব্যবহারের জন্য একাধিক লাইব্রেরি পাওয়া গেছে: সি:  ব্যবহারকারীগণ প্রো  অ্যাপডাটা  স্থানীয়  আরডুইনো 15  প্যাকেজগুলি sp ইএসপি 32  হার্ডওয়্যার  ইএসপি 32  1.0.2  লাইব্রেরি  ওয়াইফাই ব্যবহৃত হয়নি: সি:  প্রোগ্রাম ফাইল ( x86) rdu আরডুইনো  লাইব্রেরি  ওয়াইফাই ফোল্ডারের 1.0 সংস্করণে লাইব্রেরি ওয়াইফাই ব্যবহার করে: সি:  ব্যবহারকারীদের প্রো  অ্যাপডাটা  স্থানীয়  আরডুইনো 15  প্যাকেজগুলি  ইএসপি 32  হার্ডওয়্যার  ইএসপি 32  1.0.2  লাইব্রেরি  ওয়াইফাই IOXhop_FirebaseESP32-মাস্টার লাইব্রেরি ব্যবহার করে ফোল্ডারে: সি:  ব্যবহারকারী  প্রো  নথিগুলি  আরডুইনো  গ্রন্থাগারগুলি  আইওএক্সপ_ফায়ারবেসইএসপি 32-মাস্টার (উত্তরাধিকার) ফোল্ডারে 1.2 সংস্করণে HTTPClient ব্যবহার করছেন: সি:  ব্যবহারকারীগণ  প্রো  অ্যাপডাটা  স্থানীয়  আরডুইনো 15  প্যাকেজগুলি sp এসপি 32  হার্ডওয়্যার  esp32  1.0.2  লাইব্রেরি  HTTPClient ফোল্ডারে 1.0 সংস্করণে WiFiClientSecure ব্যবহার করে: সি:  ব্যবহারকারীদের প্রো  অ্যাপডাটা  স্থানীয়  আরডিনো 15  প্যাকেজগুলি sp esp32  হার্ডওয়্যার  esp32  1.0.2  লাইব্রেরি  WiFiClientSecon লাইব্রেরিতে অ্যানিরিও ব্যবহার করে ফোল্ডারে সংস্করণ .1.১২.০: সি:  ব্যবহারকারীগণ প্রো-ডকুমেন্টস  আরডুইনো  গ্রন্থাগারসমূহ  আরডুইনোজসন প্রস্থান স্থিতি 1 বোর্ড ESP32 দেব মডিউলটির জন্য সংকলন ত্রুটি।

চিন্তার কিছু নেই কারণ আমরা কিছু সাধারণ পদক্ষেপ অনুসরণ করে এই ত্রুটিগুলি দূর করতে পারি। এই ত্রুটিগুলি ঘটছে কারণ আরডুইনো জেএসএনের নতুন সংস্করণটির পরিবর্তে অন্য শ্রেণি রয়েছে স্ট্যাটিকজেসনবাফার। এটি JSON 5 এর ক্লাস So সুতরাং আমরা কেবল আমাদের আরডুইনো আইডিইয়ের আরডুইনো জেএসএনের সংস্করণটি ডাউনগ্রেড করে এই ত্রুটিটি সহজেই দূর করতে পারি। সহজভাবে যান স্কেচ> লাইব্রেরি অন্তর্ভুক্ত করুন> গ্রন্থাগারগুলি পরিচালনা করুন। সন্ধান করা বেনোইট ব্লাঞ্চন রচিত আরডুইনো জেএসএন যে আপনি আগে ইনস্টল করা আছে। প্রথমে এটি আনইনস্টল করুন এবং তার সংস্করণটি এতে সেট করুন 5.13.5। এখন আমরা যেমন আরডুইনো জেএসএনের একটি পুরানো সংস্করণ সেট করেছি, এটি আবার ইনস্টল করুন এবং কোডটি পুনরায় সংকলন করুন। এবার আপনার কোডটি সফলভাবে সংকলন করবে।

কোডটি ডাউনলোড করতে, ক্লিক এখানে.

পদক্ষেপ।: কোডটি বোঝা

এই প্রকল্পের কোড খুব সহজ এবং ভাল মন্তব্য। তবে এখনও, কোডটি সংক্ষেপে নীচে ব্যাখ্যা করা হয়েছে।

1. শুরুতে, গ্রন্থাগারগুলি অন্তর্ভুক্ত করা হয় যাতে ESP32 বোর্ডটি বাড়ির বা অফিসে স্থানীয় ওয়াইফাই সংযোগের সাথে সংযুক্ত হতে পারে। এর পরে, আপনার ফায়ারবেস প্রকল্পের একটি লিঙ্ক এবং আপনার ফায়ারবেস প্রকল্পের প্রমাণীকরণের সংজ্ঞা দেওয়া হয়েছে। তারপরে আপনার স্থানীয় ওয়াইফাই সংযোগের নাম এবং পাসওয়ার্ড সংজ্ঞায়িত করা হয়েছে যাতে ESP32 ওয়াইফাইয়ের সাথে সংযুক্ত হতে পারে। ESP32 এর কিছু পিনগুলি রিলে মডিউলগুলির সাথে সংযুক্ত হওয়ার জন্য সংজ্ঞায়িত করা হয়েছে। এবং শেষ পর্যন্ত একটি ভেরিয়েবল ঘোষণা করা হয়েছে যা ফায়ারবেস ক্লাউড থেকে আসবে এমন কিছু অস্থায়ী ডেটা সঞ্চয় করবে।

# অন্তর্ভুক্ত // স্থানীয় ওয়াইফাই সংযোগে লাইব্রেরি অন্তর্ভুক্ত করুন # অন্তর্ভুক্ত // ফায়ারবেস ডেটাবেসে সংযুক্ত করতে লাইব্রেরি অন্তর্ভুক্ত করুন # ডিফাইন FIREBASE_HOST 'coma-pantent.firebaseio.com' // আপনার ফায়ারবেস প্রকল্পের লিঙ্ক অন্তর্ভুক্ত করুন #define FIREBASE_AUTH 'UrzlDZXMBNRENwccddc10c '// আপনার ফায়ারবেস প্রকল্পের প্রমাণীকরণ অন্তর্ভুক্ত করুন # ডাব্লু ওয়াইফাই_এসআইডি' অ্যাবসিডি '// আপনার বাড়ির বা অফিসের ওয়াইফাই সংযোগের নাম # আপনারা বা অফিসের ওয়াইফাই সংযোগের পাসওয়ার্ডের সাথে সংজ্ঞায়িত ডাব্লু ওয়াইফাই_পাসওয়ার্ড' অ্যাবসিডি '// পাসওয়ার্ড r1 = 34; // রিলে সংযোগ করতে পিন 1 ইন আর 2 = 35; // রিলে সংযোগ করতে পিন 2 ইন টেম্পে; // ডেটা বহন করতে ভেরিয়েব

ঘ। অকার্যকর সেটআপ() একটি ফাংশন যা আমরা ইনপুট বা আউটপুট পিনগুলি শুরু করি। এই ফাংশনটি ব্যবহার করে বাড রেটও সেট করে সিরিয়াল.বেগিন () আদেশ বাড রেট হ'ল মাইক্রোকন্ট্রোলারের যোগাযোগের গতি। ESP32 স্থানীয় ওয়াইফাই সংযোগের সাথে সংযোগ করতে এখানে কোডের কয়েকটি লাইন যুক্ত করা হয়েছে। বোর্ড স্থানীয় ওয়াইফাই সংযোগে সংযোগ স্থাপনের চেষ্টা করবে এবং 'সংযোগ' প্রিন্ট করবে। সিরিয়াল মনিটরে। সংযোগটি প্রতিষ্ঠিত হওয়ার পরে এটি 'সংযুক্ত' মুদ্রণ করবে। সুতরাং এটি নিরীক্ষণ করার জন্য, সিরিয়াল মনিটরটি খোলার এবং সেখানে এর স্টাওগুলি পরীক্ষা করা ভাল।

অকার্যকর সেটআপ () {সিরিয়াল.বেগিন (115200); // বাউড রেট নির্ধারণ // ওয়াইফাইতে সংযোগ করুন। WiFi.begin (WIFI_SSID, WIFI_PASSWORD); সিরিয়াল.প্রিন্টলন ('সংযুক্ত হচ্ছে'); (WiFi.status ()! = WL_CONNECTED) {সিরিয়াল.প্রিন্ট ('।'); বিলম্ব (500); Ial সিরিয়াল.প্রিন্টলন (); সিরিয়াল.প্রিন্ট ('সংযুক্ত:'); সিরিয়াল.প্রিন্টলন (WiFi.localIP ()); ফায়ারবেস.বেগিন (FIREBASE_HOST, FIREBASE_AUTH); }

ঘ। অকার্যকর লুপ () একটি ফাংশন যা বারবার একটি লুপে চলে। এই লুপে, আমরা একটি কোড লিখি যা মাইক্রোকন্ট্রোলার বোর্ডকে বলে যে কোন কাজগুলি পরিচালনা করতে হবে এবং কীভাবে। আমরা এর বিপরীতে তথ্য এনেছি আলো এবং এসি ডাটাবেস থেকে এবং দুটি অস্থায়ী ভেরিয়েবল সঞ্চিত। তারপরে ডাটাবেস থেকে 0 বা 1 প্রাপ্ত দুটি অনুযায়ী দুটি সরঞ্জাম পরিবর্তন করতে চারটি শর্ত প্রয়োগ করা হয়।

অকার্যকর লুপ () {// get value টেম 1 = সিরিয়াল.প্রিন্টলন (ফায়ারব্যাস.জেটফ্লোট ('আলো')); // আলোর স্যুইচিংয়ের জন্য মূল্য পান টেম্পু = সিরিয়াল.প্রিন্টলন (ফায়ারব্যাস.জেটফ্লোট ('এসি')); // ফ্যান বিলম্ব (1000) এর স্যুইচিংয়ের জন্য ভয়েস পান; if (temp1 == 1 && temp2 == 1) {// হালকা এবং ফ্যান ডিজিটাল রাইট চালু করতে (r1, HIGH); ডিজিটাল রাইট (আর 2, উচ্চ); } if (temp1 == 0 && temp2 == 1) {// ফ্যান চালু করতে এবং হালকা ডিজিটাল রাইট বন্ধ করতে (r1, LOW); ডিজিটাল রাইট (আর 2, উচ্চ); } if (temp1 == 1 && temp2 == 0) {// ফ্যান বন্ধ করতে এবং হালকা ডিজিটাল রাইট চালু করতে (r1, HIGH); ডিজিটাল রাইট (r2, LOW); } if (temp1 == 0 && temp2 == 0) {// ফ্যান বন্ধ করতে এবং হালকা ডিজিটাল রাইট বন্ধ করতে (r1, LOW); ডিজিটাল রাইট (r2, LOW); }}

এটি ছিল একটি অংশ 'কীভাবে ইএসপি 32 ব্যবহার করে স্মার্ট হোম সিস্টেম তৈরি করবেন?'। আপনি যদি আরও কিছু হোম অ্যাপ্লায়েন্সেস নিয়ন্ত্রণ করতে চান তবে আপনি আরও রিলে মডিউল যুক্ত করতে পারেন, ফায়ারবেস থেকে ডেটা পড়া এবং স্যুইচিংয়ের জন্য আরও কিছু শর্ত যুক্ত করা আপনার কেবলমাত্র প্রয়োজন। পরবর্তী নিবন্ধে, আমি কীভাবে একটি অ্যান্ড্রয়েড অ্যাপ্লিকেশন এবং ফায়ারবেস ডাটাবেস বিকাশ করব তা ব্যাখ্যা করব। অ্যান্ড্রয়েড অ্যাপটিকে ফায়ারবেসে সংযুক্ত করতে এবং এতে ডেটা প্রেরণের জন্য আমি ধাপে ধাপে পদ্ধতিটি ব্যাখ্যা করব।

পরবর্তী টিউটোরিয়াল যেতে এখানে ক্লিক করুন