সুচিপত্র:

একটি ESP8266 12X মডিউল প্রোগ্রাম করার 3 টি সহজ উপায়: 5 টি ধাপ (ছবি সহ)
একটি ESP8266 12X মডিউল প্রোগ্রাম করার 3 টি সহজ উপায়: 5 টি ধাপ (ছবি সহ)

ভিডিও: একটি ESP8266 12X মডিউল প্রোগ্রাম করার 3 টি সহজ উপায়: 5 টি ধাপ (ছবি সহ)

ভিডিও: একটি ESP8266 12X মডিউল প্রোগ্রাম করার 3 টি সহজ উপায়: 5 টি ধাপ (ছবি সহ)
ভিডিও: Extract GPS location in Arduino with NEO-6m or NEO-7M module 2024, মে
Anonim
একটি ESP8266 12X মডিউল প্রোগ্রামিং করার 3 সহজ উপায়
একটি ESP8266 12X মডিউল প্রোগ্রামিং করার 3 সহজ উপায়

আপনি যদি ESP8266 মাইক্রো কন্ট্রোলারের সাথে পরিচিত না হন, আমি সত্যিই অনুভব করছি আপনি হারিয়ে যাচ্ছেন! এই জিনিসগুলি অবিশ্বাস্য: এগুলি সস্তা, শক্তিশালী এবং সব থেকে ভাল অন্তর্নির্মিত ওয়াইফাই! ESP8266 আরো traditionalতিহ্যবাহী আরডুইনো বোর্ডের জন্য ওয়াইফাই অ্যাড হিসাবে তাদের যাত্রা শুরু করেছিল কিন্তু কিছুক্ষণ পরে, সম্প্রদায় তাদের শক্তি বুঝতে পেরেছিল এবং সমর্থন যোগ করেছিল Arduino IDE দিয়ে সরাসরি প্রোগ্রাম করতে সক্ষম হবেন।

আজকাল যদি আপনি আপনার প্রকল্পের জন্য একটি ESP8266 ব্যবহার করতে চান তবে আমি Wemos D1 Mini* ($ 2.50 বিতরণ !!) বা অ্যাডাফ্রুট ফেদার হুজাহের মতো একটি উন্নয়ন বোর্ড ব্যবহার করার সুপারিশ করব। এই বোর্ডগুলিতে সমস্ত ব্যবহারযোগ্য পিনগুলি ভেঙে গেছে, তাদের মাইক্রো ইউএসবি সংযোগকারীর মাধ্যমে সহজেই প্রোগ্রামযোগ্য এবং 3.3V নিয়ন্ত্রক একটি অন্তর্নির্মিত। সবচেয়ে সহজ উপায় হল একটি ESP12 মডিউল ব্যবহার করা, এবং এই নির্দেশনায় আমি আপনাকে তাদের প্রোগ্রামিং করার কয়েকটি সহজ উপায় দেখাব।* = অ্যাফিলিয়েট লিঙ্ক

ধাপ 1: ভিডিওটি দেখুন

এখানে নির্দেশাবলীর মধ্যে থাকা সমস্ত তথ্য সহ একটি ভিডিও আছে যদি আপনি এটি চেক করতে চান আমার চ্যানেলে আমি ESP8266s এর সাথে অনেক কাজ করি তাই আমার চ্যানেলটি সাধারণভাবে চেক করতে পারে যদি এই ধরণের জিনিসগুলি আপনার আগ্রহী হয়!

ধাপ 2: প্রাক-পদক্ষেপ: ESP8266 প্রোগ্রামিংয়ের জন্য সেটআপ

Image
Image

যদি আপনি আগে কখনও ESP8266 বা Arduino ব্যবহার না করেন, তাহলে আমাদের সফটওয়্যার সেটআপের একটু প্রয়োজন হবে। এর জন্য আমার একটি ডেডিকেটেড ভিডিও আছে। এটি মাত্র 5 মিনিট দীর্ঘ এবং সেটআপ করার জন্য আপনার যা প্রয়োজন তা দিয়ে যায়।

যদি ভিডিওগুলি সত্যিই আপনার জিনিস না হয়, তাহলে বেকির অসাধারণ আইওটি ক্লাসের পাঠ 2 দেখুন, এটি আপনার প্রয়োজনীয় সবকিছুর উপর দিয়ে যায়।

আপনি পরবর্তী বিভাগে যাওয়ার আগে আপনার একটি ESP8266 এ একটি সহজ স্কেচ আপলোড করতে সক্ষম হওয়া উচিত (যেমন ভিডিও এবং বেকির পাঠ উভয় ক্ষেত্রে উল্লিখিত দৃষ্টির উদাহরণ)

ধাপ 3: পদ্ধতি 1: "ব্যাঙ" পিন প্রোগ্রামার

পদ্ধতি 1
পদ্ধতি 1

এটি সম্ভবত একটি ESP12 মডিউল প্রোগ্রাম করার সবচেয়ে সহজ উপায়। আপনি মূলত বোর্ডে মডিউলটি পপ করুন এবং তারপরে এটি পূর্বে উল্লিখিত একটি উন্নয়ন বোর্ডের মতো আচরণ করে। আমি প্রোগ্রামিং করার সময় বোর্ড ড্রপ ডাউন থেকে Wemos D1 মিনি বোর্ড নির্বাচন করেছি।

  • আপনি যদি মাত্র কয়েকটি বোর্ড তৈরি করেন তবে প্রোগ্রামারটি কিছুটা ব্যয়বহুল।
  • বোর্ডগুলি আপনার পিসিবিতে বিক্রি হওয়ার আগে কেবল এইভাবে প্রোগ্রাম করা যেতে পারে

আমি যেটি কিনেছি তা হল Aliexpress থেকে, কিন্তু আমি বিশ্বাস করি যে আসল ডিজাইনার ফ্রেড নামে টিন্ডির একজন ব্যবহারকারী। সেগুলি সে সময়ে বিক্রি হয়ে গিয়েছিল তাই আমি Aliexpress এক দিয়ে শেষ করেছিলাম, কিন্তু আমি উভয়ের সাথে লিঙ্ক করব।

  • Aliexpress পপ-ইন ESP মডিউল প্রোগ্রামার*
  • ফ্রেডের ব্যাঙ পিন ইএসপি মডিউল প্রোগ্রামার

* = এফিলিয়েট লিঙ্ক

ধাপ 4: পদ্ধতি 2: মূলত ইউএসবি থেকে সিরিয়াল কনভার্টার ব্যবহার করা

পদ্ধতি 2: মূলত যেকোনো ইউএসবি থেকে সিরিয়াল কনভার্টার ব্যবহার করা
পদ্ধতি 2: মূলত যেকোনো ইউএসবি থেকে সিরিয়াল কনভার্টার ব্যবহার করা
পদ্ধতি 2: মূলত কোন ইউএসবি থেকে সিরিয়াল কনভার্টার ব্যবহার করা
পদ্ধতি 2: মূলত কোন ইউএসবি থেকে সিরিয়াল কনভার্টার ব্যবহার করা
পদ্ধতি 2: মূলত ইউএসবি থেকে সিরিয়াল কনভার্টার ব্যবহার করা
পদ্ধতি 2: মূলত ইউএসবি থেকে সিরিয়াল কনভার্টার ব্যবহার করা

পরবর্তী পদ্ধতির জন্য আমরা ইএসপি মডিউলকে ম্যানুয়ালি প্রোগ্রামিং মোডে রাখতে যাচ্ছি এবং তারপর ESP8266 প্রোগ্রাম করার জন্য মূলত যেকোনো ইউএসবি থেকে সিরিয়াল কনভার্টার ব্যবহার করতে পারি, এমনকি এই PL2303 ওয়ান* যার খরচ 50c ডেলিভারি কাজ!

স্বাভাবিক অপারেশন:

আমরা প্রোগ্রামিং শুরু করার আগে আমাদের প্রথমে ESP8266 চালানোর জন্য কোন বাহ্যিক উপাদানগুলির দিকে নজর দিতে হবে। স্বাভাবিক ক্রিয়াকলাপের জন্য একটি ESP-12 মডিউল নিম্নলিখিত প্রয়োজন

  • EN, RST এবং GPIO 0 কে 10K রোধক ব্যবহার করে উঁচু করা দরকার
  • GPIO 15 কে 10K রোধক ব্যবহার করে মাটিতে টানতে হবে
  • 3.3V পাওয়ার সাপ্লাই প্রায় 250mA বর্তমান সক্ষম (VCC এবং GND এর মধ্যে একটি ক্যাপ সুপারিশ করা হয়)

উপরোক্ত কনফিগারেশনের সাথে ESP8266 যখন চালিত হবে তখন স্বাভাবিক অপারেটিং মোডে থাকবে, তাই এটিতে আপনি যা প্রোগ্রাম করেছেন তা স্কেচ চালাবে। আপনি ESP-12 মডিউলগুলির জন্য ব্রেকআউট বোর্ড কিনতে পারেন* যা বিভিন্ন সেটআপগুলি পরীক্ষা করার জন্য সত্যিই দরকারী। মডিউলগুলিতে EN এবং GPIO 15 পিনের জন্য প্রতিরোধক সেটআপ রয়েছে, তাই আপনাকে এখনও RST এবং GPIO 0 এর জন্য পুল-আপ প্রতিরোধক যুক্ত করতে হবে,

প্রোগ্রামিং মোড সক্ষম করা:

প্রোগ্রামিং মোডে এটি পেতে, ESP শুরু হওয়ার সময় GPIO 0 কে কম টানতে হবে। এটি করার সবচেয়ে সহজ উপায় হল GPIO 0 এবং RST পিনে বোতাম যোগ করা যা চাপলে মাটিতে সংযুক্ত হয়। তারপর ফ্ল্যাশ মোড সক্ষম করতে, আপনি কেবল

  • GPIO 0 বাটন চেপে ধরুন
  • RST বোতাম টিপুন
  • তারপর উভয় বোতাম ছেড়ে দিন

আপলোড প্রক্রিয়ার সময় বা কোন কিছুর সময় আপনাকে এই সিকোয়েন্সটি সম্পাদন করতে হবে না, একবার ESP প্রোগ্রামিং মোডে থাকলে পরবর্তী রিসেট পর্যন্ত এটি সেখানেই থাকবে, তাই আপলোড করার আগে যেকোনো সময় ধাপগুলো সম্পাদন করুন।

একটি ইউএসবি থেকে সিরিয়াল অ্যাডাপ্টারের সাথে প্রোগ্রামিং:

প্রোগ্রাম মোড সক্ষম করা মাত্র অর্ধেক যুদ্ধ, এখন আমাদের আসলে মডিউলটি প্রোগ্রাম করতে হবে। সর্বাধিক ইউএসবি থেকে সিরিয়াল অ্যাডাপ্টার ESP8266 তে পর্যাপ্ত কারেন্ট সরবরাহ করতে পারে না তাই এটি সুপারিশ করা হয় যে আপনি একটি বাহ্যিক 3.3V উৎস ব্যবহার করে ESP8266 কে পাওয়ার করুন।

প্রোগ্রামারকে সংযুক্ত করতে আপনাকে নিম্নলিখিত পিনগুলি সংযুক্ত করতে হবে (উপরের ছবিতেও দেখানো হয়েছে):

  • ESP8266 এর RX এর সাথে প্রোগ্রামারের TX সংযোগ করুন (টাইপ নয়, সংযোগগুলি বিপরীত হয়)
  • প্রোগ্রামারের RX কে ESP8266 এর TX এর সাথে সংযুক্ত করুন
  • প্রোগ্রামারের গ্রাউন্ডকে ESP8266 এর গ্রাউন্ডে সংযুক্ত করুন

আপনার স্কেচ আপলোড করতে, নিম্নলিখিত পদক্ষেপগুলি করুন:

  • আপনার সিরিয়াল অ্যাডাপ্টারের পোর্ট নম্বর নির্বাচন করুন (সরঞ্জাম-> পোর্ট)
  • উপরে বর্ণিত হিসাবে আপনার ESP8266 এ প্রোগ্রামিং মোড সক্ষম করুন
  • আপলোড বাটনে ক্লিক করুন। (যদি এটি ব্যর্থ হয় তবে আপনার ওয়্যারিং দুবার পরীক্ষা করুন এবং আপনার বোর্ডকে আবার প্রোগ্রামিং মোডে বিশ্রাম দেওয়ার চেষ্টা করুন)
  • আপলোড শেষ হলে রিসেট বাটনে ক্লিক করুন

এই পদ্ধতি ব্যবহার করে আপলোড করার সময় আমি যে বোর্ড সেটিংস ব্যবহার করেছি তা এখানে:

  • বোর্ড: জেনেরিক ESP8266 মডিউল
  • ফ্ল্যাশ মোড: ডিআইও
  • ফ্ল্যাশ সাইজ: 4M (3M Spiffs)
  • রিসেট পদ্ধতি: ck
  • ফ্ল্যাশ ফ্রিকোয়েন্সি: 40MHz
  • আপলোড গতি: 115200

সর্বশেষ লক্ষ্য করার বিষয় হল LED_BUILIN সংজ্ঞা একটি জেনেরিক ESP8266 মডিউল পয়েন্ট 1 পিন, কিন্তু একটি ESP12 মডিউল এর LED এ নির্মিত পিন 2 এর সাথে সংযুক্ত (এটি একটি FYI হিসাবে খুব কম সক্রিয়)। সুতরাং যদি আপনি একটি ঝলকানো স্কেচ পরীক্ষা করে থাকেন তবে আপনাকে LED_BUILTIN এর পরিবর্তে 2 নম্বর ব্যবহার করতে হবে

* = এফিলিয়েট লিঙ্ক

ধাপ 5: পদ্ধতি 3: একটি NodeMCU ব্যবহার করে অটো রিসেট করা প্রোগ্রামার

পদ্ধতি 3: একটি NodeMCU ব্যবহার করে অটো রিসেট প্রোগ্রামার
পদ্ধতি 3: একটি NodeMCU ব্যবহার করে অটো রিসেট প্রোগ্রামার
পদ্ধতি 3: একটি NodeMCU ব্যবহার করে অটো রিসেট প্রোগ্রামার
পদ্ধতি 3: একটি NodeMCU ব্যবহার করে অটো রিসেট প্রোগ্রামার

আপনি যদি কোন ইএসপি ডেভেলপমেন্ট বোর্ড ব্যবহার করেন তবে আপনি লক্ষ্য করবেন যে মূলত তাদের সবারই বোতাম ব্যবহার করে ম্যানুয়ালি প্রোগ্রামিং মোড সক্ষম করার প্রয়োজন হয় না, তাহলে তারা কীভাবে তা করে?

সর্বাধিক ইউএসবি থেকে সিরিয়াল চিপগুলিতে অতিরিক্ত পিন থাকে যা আপলোড প্রক্রিয়ার বিভিন্ন পর্যায়ে আউটপুট সংকেত দেয় এবং কিছু বাহ্যিক সার্কিট্রি ব্যবহার করে GPIO 0 এর নিম্ন এবং প্রয়োজনীয় রিসেটগুলি ট্রিগার করা সম্ভব। RuiMoteiro একটি FTDI বোর্ড এবং ESP8266 ব্যবহার করে এই বিষয়ে একটি নির্দেশযোগ্য আছে।

কিন্তু আমি মনে করি এর একটি সহজ পন্থা আছে, এবং এর চেয়েও ভাল কি আছে যে আপনার ইতিমধ্যেই এটি করার জন্য প্রয়োজনীয় সবকিছু আছে একটি ভাল সুযোগ আছে! আপনি একটি ESP8266 ডেভেলপমেন্ট বোর্ড ব্যবহার করতে পারেন যেমন একটি NodeMCU যেমন প্রোগ্রামার*।

একটি NodeMCU ব্যবহারের সুবিধা কি?

প্রোগ্রামার হিসাবে নোডএমসিইউ ব্যবহারের প্রধান সুবিধাগুলি নিম্নরূপ:

  • আপনি NodeMCU- এর 3V পিন থেকে ESP8266 সরাসরি পাওয়ার করতে পারেন
  • প্রোগ্রামিং মোড স্বয়ংক্রিয়ভাবে পুনরায় সেট করা/সক্ষম করা পরিচালনা করবে
  • খরচ প্রায় $ 2.50 বিতরণ (এবং অন্যদের প্রোগ্রামিং না করার সময় নিয়মিত dev বোর্ড হিসাবে ব্যবহার করা যেতে পারে!)

আপনি ESP8266 এর চিপ সক্ষম পিনটি প্রকাশ করে যে কোনও দেব বোর্ডের সাথে এই একই পদ্ধতি ব্যবহার করতে পারেন।

এটা কিভাবে কাজ করে?

আমি মিকা কুরকেলা নামে একজন ইউটিউবারের কাছ থেকে এই ধারণাটি পেয়েছিলাম, তার ভিডিওতে তিনি NodeMCU ব্যবহার করে একটি ESP-01 মডিউল প্রোগ্রাম করেছিলেন, কিন্তু আমরা ESP12 মডিউলের জন্য একই ধারণা ব্যবহার করতে পারি।

মূলত আমরা NNMCU তে ESP8266 নিষ্ক্রিয় করতে যাচ্ছি EN পিন কম করে, এটি NodeMCU- এর ESP8266 মডিউলকে বুট করা থেকে বিরত রাখবে। আমরা তখন আমাদের বহিরাগত ESP8266 এর সাথে NodeMCU বোর্ডের সকল প্রাসঙ্গিক পিন সংযুক্ত করতে যাচ্ছি।

এটা তারের

এটি সংযুক্ত করতে, আপনাকে আগের ধাপে দেখানো হিসাবে স্ট্যান্ডার্ড ESP8266 তারের প্রয়োজন হবে এবং তারপরে নিম্নলিখিত সংযোগগুলি যুক্ত করতে হবে (উপরের ছবিতেও দেখানো হয়েছে):

  • NodeMCU এর 3V কে ESP8266 এর VCC এর সাথে সংযুক্ত করুন
  • GND কে GND এর সাথে সংযুক্ত করুন
  • NodeMCU এর TX কে ESP8266 এর TX এর সাথে সংযুক্ত করুন (এটি আগের ধাপের চেয়ে আলাদা)
  • NodeMCU এর RX কে ESP8266 এর RX এর সাথে সংযুক্ত করুন
  • NodeMCU এর D3 কে ESP8266 এর GPIO 0 এর সাথে সংযুক্ত করুন (D3 হল ESP8266 এর GPIO 0)
  • NodeMCU এর RST কে ESP8266 এর RST এর সাথে সংযুক্ত করুন
  • NodeMCU এর EN কে GND এর সাথে সংযুক্ত করুন

একটি স্কেচ আপলোড করা হচ্ছে

একবার আপনার ESP8266 ওয়্যার্ড হয়ে গেলে, আপনাকে নিম্নলিখিতগুলি করতে হবে:

  • NodeMCU এর পোর্ট নম্বর নির্বাচন করুন (সরঞ্জাম-> পোর্ট)
  • বোর্ড টাইপ নির্বাচন করুন "NodeMCU 1.0 (ESP12-E মডিউল)"
  • আপলোড ক্লিক করুন

এবং এটাই! এটি স্বয়ংক্রিয়ভাবে প্রোগ্রামিং মোড সক্ষম করবে এবং আপলোড করা শেষ হলে স্বয়ংক্রিয়ভাবে রিসেট হয়ে যাবে যাতে এটি স্কেচ চালানো শুরু করবে।

আপনার বোর্ড ডিজাইন এ ব্যবহার করে

আপনার বোর্ড ডিজাইনে এই পদ্ধতিটি ব্যবহার করার জন্য, আপনাকে কেবল নিম্নলিখিত পিনগুলি ভেঙে ফেলতে হবে:

  • গ্রাউন্ড
  • জিপিআইও 0
  • ভিসিসি
  • TX
  • আরএক্স
  • আরএসটি

এবং যখন আপনি আপনার বোর্ডগুলিকে প্রোগ্রাম করতে চান, তখন এটিকে উপরের মত তারে লাগান।

আশা করি আপনি এই নির্দেশযোগ্য উপযোগী পাবেন, যদি আপনার কোন প্রশ্ন থাকে তবে দয়া করে নির্দ্বিধায় জিজ্ঞাসা করুন!

* = এফিলিয়েট লিঙ্ক

প্রস্তাবিত: