সুচিপত্র:

আইওটি মুন ল্যাম্প: 5 টি ধাপ
আইওটি মুন ল্যাম্প: 5 টি ধাপ

ভিডিও: আইওটি মুন ল্যাম্প: 5 টি ধাপ

ভিডিও: আইওটি মুন ল্যাম্প: 5 টি ধাপ
ভিডিও: Lecture 1.0: Python Basic Discussion and Installation ।। Python for Research 2024, নভেম্বর
Anonim
আইওটি মুন ল্যাম্প
আইওটি মুন ল্যাম্প

এই নির্দেশে আমি দেখিয়েছি কিভাবে একটি সাধারণ ব্যাটারি চালিত LED বাতিকে IoT ডিভাইসে রূপান্তর করতে হয়।

এই প্রকল্পের মধ্যে রয়েছে:

  • সোল্ডারিং;
  • Arduino IDE সহ ESP8266 প্রোগ্রামিং;
  • এমআইটি অ্যাপ উদ্ভাবক দিয়ে অ্যান্ড্রয়েড অ্যাপ্লিকেশন তৈরি করা।

আগ্রহের বিষয় হল এই চাঁদের আকৃতির বাতি আমি গিয়ারবেস্ট থেকে কিনেছি। কিন্তু সত্যিই এই টিউটোরিয়ালটি যে কোন কম ডিসি ভোল্টেজ ডিভাইসে অভিযোজিত হতে পারে (এসি চালিত ডিভাইসের জন্য অতিরিক্ত সার্কিটরি প্রয়োজন)।

সরবরাহ

  1. অ্যান্ড্রয়েড স্মার্টফোন (অ্যান্ড্রয়েড সংস্করণ 7-9 পরীক্ষিত)।
  2. সোল্ডারিং টুলস।
  3. প্রোটোটাইপিং পিসিবি (প্রোটোবোর্ড)।
  4. ESP-12E বোর্ড (বা ESP8266 মাইক্রোকন্ট্রোলার সহ অন্যান্য ডেভবোর্ড)।
  5. ইউএসবি-সিরিয়াল কনভার্টার প্রোগ্রামিং এর জন্য।
  6. প্যাসিভ উপাদানগুলির বিভিন্ন মান (প্রতিরোধক এবং ক্যাপাসিটার)।

(Ptionচ্ছিক। "ব্লক ডায়াগ্রাম" বিভাগ দেখুন)

  1. 3.3V@500mA LDO IC।
  2. 3.3V-5V লজিক লেভেল কনভার্টার বোর্ড।
  3. 5V ডিসি পাওয়ার সাপ্লাই

ধাপ 1: আইডিয়া

ধারণা
ধারণা

মুন ল্যাম্প একটি লি-আইওন 18650 সেল দ্বারা চালিত এবং এতে 3 টি অপারেশন মোড রয়েছে:

  • বন্ধ;
  • ম্যানুয়াল;
  • স্বয়ংক্রিয়

ম্যানুয়াল মোডে ল্যাম্প পুশ বাটন দ্বারা নিয়ন্ত্রিত হয়, প্রতিটি প্রেস LED আলোর অবস্থা পরিবর্তন করে (নীল চালু, কমলা, উভয় চালু, বন্ধ), আলোর তীব্রতা পরিবর্তিত হয় যখন পুশ বোতাম টিপে রাখা হয়। স্বয়ংক্রিয় মোডে LED আলোর অবস্থা ল্যাম্প নিজেই টোকা বা ঝাঁকুনি দ্বারা পরিবর্তিত হয়।

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

যখন প্রোটোটাইপ করা হয়েছিল তখন এটি বন্ধ অবস্থায় ব্যাটারি থেকে constantly 80mA ক্রমাগত চালিত করত (bright 400mA পূর্ণ উজ্জ্বলতায়)। স্ট্যান্ডবাই কারেন্ট বেশি কারণ ESP8266 সার্ভার হিসেবে কাজ করে এবং সবসময় ওয়াইফাই এর সাথে সংযুক্ত থাকে এবং অনুরোধের জন্য শোনে। ব্যাটারি শুধুমাত্র বন্ধ অবস্থায় দেড় দিনের পরে শেষ হয়ে গিয়েছিল, তাই পরে আমি বহিরাগত 5V পাওয়ার সাপ্লাই থেকে সমস্ত ইলেকট্রনিক্স এবং ডাইচড ব্যাটারি একসাথে পাওয়ার জন্য ল্যাম্প ইউএসবি চার্জিং পোর্ট ব্যবহার করার সিদ্ধান্ত নিয়েছি (কিন্তু এটি alচ্ছিক)।

ধাপ 2: ব্লক ডায়াগ্রাম

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

ব্লক ডায়াগ্রামে আপনি দেখতে পারেন কোন সার্কিট্রি যোগ করা হবে এবং কিভাবে বিদ্যমান সার্কিট্রি পরিবর্তন করা হবে। আমার ক্ষেত্রে আমি ব্যাটারি পুরোপুরি সরিয়ে দিয়েছি এবং আউটপুট সহ ব্যাটারি চার্জার আইসি ইনপুট (আবার, এটি alচ্ছিক)। ডায়াগ্রামে স্বচ্ছ ব্লকগুলি এমন উপাদানগুলিকে নির্দেশ করে যা বাইপাস করা হয়েছে (যদিও পুশ বোতাম এখনও মূল উদ্দেশ্য হিসাবে কাজ করে)।

ডকুমেন্টেশন অনুসারে ESP8266 শুধুমাত্র 3.3V সহ্য করে, তবে ESP8266 5V দিয়ে সম্পূর্ণ সূক্ষ্মভাবে কাজ করলে প্রচুর উদাহরণ রয়েছে, তাই লজিক লেভেল কনভার্টার এবং 3.3V LDO বাদ দেওয়া যেতে পারে, তবে আমি সর্বোত্তম অনুশীলনের সাথে রয়েছি এবং সেই উপাদানগুলি যোগ করেছি।

আমি 3 ESP8266 I/O পিন এবং ADC পিন ব্যবহার করেছি। একটি ডিজিটাল আউটপুট পিন বোতাম প্রেস করার জন্য এডিসি পিন ইনপুট ভোল্টেজ (একটি ভোল্টেজ ডিভাইডারের মাধ্যমে) পরিমাপ করে, এভাবে আমরা অবশিষ্ট ব্যাটারি চার্জ স্তর পর্যবেক্ষণ করতে পারি।

বাহ্যিক বিদ্যুৎ সরবরাহ হিসাবে আমি পুরানো ফোন চার্জার 5V@1A ব্যবহার করি (দ্রুত চার্জার ব্যবহার করি না)।

ধাপ 3: প্রোগ্রামিং

প্রোগ্রামিং
প্রোগ্রামিং
প্রোগ্রামিং
প্রোগ্রামিং

সংক্ষেপে প্রোগ্রাম এই মত কাজ করে (আরো তথ্যের জন্য কোড নিজেই দেখুন):

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

যখন এমসিইউ চালু করা হয় সর্বদা একই রুটিন চিরতরে চালায়:

  1. এখনও AP এর সাথে সংযুক্ত কিনা তা পরীক্ষা করে দেখুন, সফল না হওয়া পর্যন্ত পুনরায় সংযোগ করার চেষ্টা করুন।
  2. ক্লায়েন্ট HTTP অনুরোধ করার জন্য অপেক্ষা করুন। যখন অনুরোধ হয়:

    1. ইনপুট ভোল্টেজ চেক করুন।
    2. কোন রাজ্যের LEDs আছে তা পরীক্ষা করুন।
    3. পরিচিত এলইডি রাজ্যের সাথে এইচটিটিপি অনুরোধের মিল করুন (নীল, কমলা, উভয় চালু, বন্ধ)।
    4. অনুরোধকৃত অবস্থা অর্জনের জন্য প্রয়োজন মতো অনেকগুলি পুশ বোতাম প্রেস করুন।

আমি সংক্ষিপ্তভাবে প্রোগ্রামিং নির্দেশাবলী বর্ণনা করব, যদি এটি আপনার প্রথমবার প্রোগ্রামিং ESP8266 MCU গভীরতার নির্দেশাবলীর জন্য আরও সন্ধান করে।

আপনার প্রয়োজন হবে Arduino IDE এবং USB- সিরিয়াল ইন্টারফেস কনভার্টার (উদাহরণস্বরূপ FT232RL)। আইডিই প্রস্তুত করতে এই নির্দেশাবলী অনুসরণ করুন।

প্রোগ্রামিং এর জন্য ESP-12E মডিউল সংযোগ করতে সার্কিট ডায়াগ্রাম অনুসরণ করুন। কিছু টিপস:

  • বাহ্যিক 3.3V@500mA পাওয়ার সাপ্লাই ব্যবহার করুন (বেশিরভাগ ক্ষেত্রে USB- সিরিয়াল পাওয়ার সাপ্লাই যথেষ্ট নয়);
  • আপনার ইউএসবি-সিরিয়াল কনভার্টার 3.3V লজিক লেভেলের সাথে সামঞ্জস্যপূর্ণ কিনা তা পরীক্ষা করুন;
  • ইউএসবি-সিরিয়াল কনভার্টার ড্রাইভারগুলি সফলভাবে ইনস্টল করা হয়েছে কিনা তা পরীক্ষা করুন (উইন্ডোজ ডিভাইস ম্যানেজার থেকে) এছাড়াও আপনি আইডিই থেকে সঠিকভাবে কাজ করে কিনা তা পরীক্ষা করতে পারেন, শুধু ছোট আরএক্স এবং টিএক্স পিন, আইডিই থেকে সিওএম পোর্ট নির্বাচন করুন, সিরিয়াল মনিটর খুলুন এবং কিছু লিখুন, যদি সব কাজ করে আপনি কনসোলে প্রদর্শিত পাঠ্য দেখতে পাবেন;
  • কিছু কারণে আমি ইএসপি প্রোগ্রাম করতে সক্ষম হয়েছিলাম যখন আমি প্রথমে ইউএসবি-সিরিয়াল কনভার্টারকে পিসিতে সংযুক্ত করেছিলাম এবং তারপর বাহ্যিক 3.3V উৎস থেকে ইএসপি চালিত হয়েছিলাম;
  • সফলভাবে প্রোগ্রামিং করার পর পরবর্তী বুটে GPIO0 উচ্চ টানতে ভুলবেন না।

ধাপ 4: পরিকল্পিত এবং সোল্ডারিং

পরিকল্পিত এবং সোল্ডারিং
পরিকল্পিত এবং সোল্ডারিং
পরিকল্পিত এবং সোল্ডারিং
পরিকল্পিত এবং সোল্ডারিং
পরিকল্পিত এবং সোল্ডারিং
পরিকল্পিত এবং সোল্ডারিং

প্রোটোবোর্ডে সমস্ত উপাদান সোল্ডার করার জন্য পরিকল্পিত অনুসরণ করুন। আগে উল্লেখ করা হয়েছে কিছু উপাদান alচ্ছিক। আমি KA78M33 3.3V LDO IC এবং স্পার্কফুন থেকে এই লজিক লেভেল কনভার্টার বোর্ড ব্যবহার করেছি, বিকল্পভাবে, আপনি স্কিম্যাটিক এ দেখানো হিসাবে আপনি নিজেই কনভার্টার তৈরি করতে পারেন (আপনি BSS138 এর পরিবর্তে যেকোন N- চ্যানেল মোসফেট ব্যবহার করতে পারেন)। যদি আপনি Li-ION ব্যাটারি ব্যবহার করে থাকেন, +5V পাওয়ার নেটওয়ার্ক ব্যাটারি পজিটিভ টার্মিনাল হবে। ESP8266 ADC রেফারেন্স ভোল্টেজ হল 1V, আমার নির্বাচিত প্রতিরোধক বিভাজক মান 5.7V হিসাবে উচ্চ হিসাবে ইনপুট ভোল্টেজ পরিমাপ করতে দেয়।

মূল বাতি PCB- তে 5 টি সংযোগ থাকতে হবে: +5V (বা +ব্যাটারি), GND, পুশ বোতাম, নীল এবং কমলা LEDs নিয়ন্ত্রণের জন্য ল্যাম্প MCU থেকে PWM সংকেত। যদি আপনি 5V সোর্স থেকে ল্যাম্প পাওয়ার করেন, যেমন আমি করেছি, আপনি আউটপুট পিন দিয়ে আইসি ভিসিসি পিনের ছোট ব্যাটারি চার্জ করতে চান, এইভাবে সমস্ত ইলেকট্রনিক্স সরাসরি +5V থেকে চালিত হবে এবং ব্যাটারি চার্জার আউটপুট থেকে নয়।

সমস্ত সোল্ডার পয়েন্টের জন্য দ্বিতীয় চিত্রটি অনুসরণ করুন যা আপনাকে পিসিবি ল্যাম্পগুলিতে তৈরি করতে হবে।

মন্তব্য:

  1. যদি আপনি ব্যাটারি চার্জার আইসি আউটপুট দিয়ে +5V সংক্ষিপ্ত করার সিদ্ধান্ত নেন, তা করার আগে ব্যাটারি পুরোপুরি সরিয়ে ফেলুন, আপনি +5V সরাসরি ব্যাটারিতে সংযুক্ত করতে চান না।
  2. কোন ধাক্কা বোতাম পিন আপনি ESP আউটপুট সোল্ডার মনোযোগ দিন, কারণ একটি ধাক্কা বোতাম 2 পিন স্থল সংযুক্ত এবং আপনি শর্ট সার্কিট করতে চান না যখন ESP আউটপুট উচ্চ হয়, মাল্টিমিটার সঙ্গে ভাল ডবল চেক।

ধাপ 5: অ্যান্ড্রয়েড অ্যাপ

অ্যান্ড্রয়েড অ্যাপ
অ্যান্ড্রয়েড অ্যাপ
অ্যান্ড্রয়েড অ্যাপ
অ্যান্ড্রয়েড অ্যাপ
অ্যান্ড্রয়েড অ্যাপ
অ্যান্ড্রয়েড অ্যাপ

অ্যান্ড্রয়েড অ্যাপটি এমআইটি অ্যাপের উদ্ভাবক দিয়ে তৈরি করা হয়েছিল, নিজের জন্য একটি অ্যাপ এবং/অথবা ক্লোন প্রকল্প ডাউনলোড করতে, এই লিঙ্কে যান (এটি অ্যাক্সেস করতে আপনার গুগল অ্যাকাউন্টের প্রয়োজন হবে)।

প্রথম লঞ্চে আপনাকে সেটিংস খুলতে হবে এবং আপনার ESP8266 IP ঠিকানা লিখতে হবে। এই আইপি সংরক্ষণ করা হবে তাই প্রোগ্রাম পুনরায় চালু হওয়ার পরে এটি পুনরায় প্রবেশ করার প্রয়োজন নেই।

অ্যাপটি বেশ কয়েকটি অ্যান্ড্রয়েড 9 এবং অ্যান্ড্রয়েড 7 ডিভাইসের সাথে পরীক্ষা করা হয়েছে।

প্রস্তাবিত: