সুচিপত্র:

ওয়াইফাই তাপমাত্রা লগার (ESP8266 সহ): 11 টি ধাপ (ছবি সহ)
ওয়াইফাই তাপমাত্রা লগার (ESP8266 সহ): 11 টি ধাপ (ছবি সহ)

ভিডিও: ওয়াইফাই তাপমাত্রা লগার (ESP8266 সহ): 11 টি ধাপ (ছবি সহ)

ভিডিও: ওয়াইফাই তাপমাত্রা লগার (ESP8266 সহ): 11 টি ধাপ (ছবি সহ)
ভিডিও: কিভাবে ওয়াইফাই এর স্পিড বাড়ানো যায় | How to Increase WIFI Speed 2024, জুলাই
Anonim
Image
Image
উপকরণ
উপকরণ

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

স্পয়লার: কিছু পরীক্ষার পর আমি দেখতে পেলাম যে DS18B20 এর মত একটি ডিজিটাল সেন্সর হল সর্বোত্তম সমাধান কারণ এটি স্থায়িত্ব এবং উচ্চ নির্ভুলতা প্রদান করে। এটি ইতিমধ্যে জলরোধী এবং তারের সাথে।

ধাপ 1: উপকরণ

উপকরণ
উপকরণ
উপকরণ
উপকরণ
উপকরণ
উপকরণ

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

  • NodeMcu V3 (অথবা কোন সামঞ্জস্যপূর্ণ ESP8266 μপ্রসেসর);
  • আরজিবি নেতৃত্বাধীন (সাধারণ অ্যানোড);
  • নেতৃত্বের জন্য প্রতিরোধক (1x10Ω, 1x22Ω, 1x100Ω, 1x10kΩ)
  • DS18B20 (ম্যাক্সিম ইন্টিগ্রেটেড থার্মোমিটার);
  • LM35 (টেক্সাস ইন্সট্রুমেন্ট থার্মোমিটার);
  • বাহ্যিক ব্যাটারি (alচ্ছিক);
  • কেবল;
  • সংযোগকারী (এটি আরও "উন্নত" করার জন্য);
  • বাক্স (alচ্ছিক, আবার এটিকে আরো "উন্নত" করার জন্য);
  • নেতৃত্ব ধারক (alচ্ছিক);

দ্রষ্টব্য: আমি যেমন বলেছি আপনাকে দুটি পদ্ধতির মধ্যে একটি বেছে নিতে হবে। আপনি যদি LM35 থার্মোমিটার বেছে নেন, তাহলে আপনার আরও কয়েকটি উপাদান প্রয়োজন হবে:

  • Attiny45/85;
  • AVR প্রোগ্রামার (অথবা ISP হিসেবে Arduino);
  • প্রতিরোধক (1x1kΩ, 1x2kΩ, 1x10kΩ, 1x18kΩ)
  • 2.54 মিমি স্ট্রিপ সংযোগকারী (alচ্ছিক)
  • ডায়োড (2x1N914)
  • পারফোর্ড বা পিসিবি;

ধাপ 2: সেন্সর নির্বাচন করা

সেন্সর নির্বাচন
সেন্সর নির্বাচন

সেন্সর নির্বাচন করা একটি কঠিন ধাপ হতে পারে: আজ অনেকগুলি ট্রান্সডুসার রয়েছে (টিআই 144 ভিন্ন উপাদান সরবরাহ করে) এনালগ এবং ডিজিটাল উভয়ই বিভিন্ন তাপমাত্রা পরিসীমা, নির্ভুলতা এবং ক্ষেত্রে।

  • ডেটা লগার সহজেই তাপমাত্রা থেকে অন্য পরিমাণে (ভোল্টেজ, কারেন্ট, …) পরিবর্তন করা যায়;
  • একটু সস্তা হতে পারে;
  • ব্যবহার করা সহজ যেহেতু এটির জন্য কোন বিশেষ লাইব্রেরির প্রয়োজন নেই;

কনস:

  • ADC (যা পরিমাপের নির্ভুলতা প্রভাবিত করতে পারে) এবং অন্যান্য বাহ্যিক উপাদানগুলির প্রয়োজন। যেহেতু esp8266 এর শুধুমাত্র একটি ADC (এবং সত্যিই সঠিক নয়) আমি একটি বহিরাগত ব্যবহার করার পরামর্শ দেব।
  • নয়েজ রিজেকশনের সাথে ডেডিকেটেড ক্যাবল দরকার যেহেতু কোন ইনডাক্টেড ভোল্টেজ ফলাফল পরিবর্তন করতে পারে।

একটু চিন্তা করার পর আমি LM35 ব্যবহার করার সিদ্ধান্ত নিলাম, 0.5 ° C নির্ভুলতার সাথে +10mV/° C স্কেল ফ্যাক্টর সহ একটি লিনিয়ার সেন্সর এবং 4V থেকে 30V পর্যন্ত অপারেটিং ভোল্টেজ সহ খুব কম কারেন্ট (প্রায় 60uA)। আরও বিস্তারিত জানার জন্য আমি ডেটশীট দেখার পরামর্শ দিচ্ছি: LM35।

ডিজিটাল সেন্সর (অত্যন্ত প্রস্তাবিত) পেশাদার:

প্রায় কোন বাহ্যিক উপাদান প্রয়োজন;

ইন্টিগ্রেটেড এডিসি

কনস:

ডিজিটাল সিগন্যাল (I2C, SPI, সিরিয়াল, ওয়ান ওয়্যার, …) লাইব্রেরি বা সফ্টওয়্যার কনকোড করার অনুরোধ করুন;

অনেক বেশী ব্যাবহুল;

আমি DS18B20 বেছে নিয়েছি কারণ আমি অ্যামাজনে 5 টি ওয়াটারপ্রুফ সেন্সরের একটি সেট পেয়েছি এবং কারণ এটি ইন্টারনেটে ব্যাপকভাবে নথিভুক্ত। প্রধান বৈশিষ্ট্য হল 9-12bit পরিমাপ, 1-ওয়্যার বাস, 3.0 থেকে 5.5 সরবরাহ ভোল্টেজ, 0.5 ° নির্ভুলতা। আবার, আরও বিস্তারিত জানার জন্য এখানে ডেটশীট রয়েছে: DS18B20।

ধাপ 3: LM35

এলএম 35
এলএম 35
এলএম 35
এলএম 35
এলএম 35
এলএম 35

আসুন বিশ্লেষণ করি কিভাবে আমি বহিরাগত ADC এবং LM35 থার্মোমিটারের অন্যান্য বৈশিষ্ট্য প্রয়োগ করেছি। আমি তিনটি তার সহ একটি তারের খুঁজে পেয়েছি, একটি শিল্ডিং সহ এবং দুটি ছাড়া। আমি সেন্সরের কাছে সাপ্লাই ভোল্টেজকে স্থিতিশীল করার জন্য একটি ডিকপলিং ক্যাপাসিটর যোগ করার সিদ্ধান্ত নিয়েছি। আমাদের জন্য সবচেয়ে গুরুত্বপূর্ণ বিষয় হল 10 বিট এডিসি (সত্যিই সেরা নয় কিন্তু আমার জন্য যথেষ্ট সুনির্দিষ্ট)। Esp8266 এর সাথে যোগাযোগ করার জন্য আমি সিরিয়াল কমিউনিকেশন ব্যবহার করার সিদ্ধান্ত নিলাম যে esp8266 3.3V এবং attiny85 এর সাথে 5V এ কাজ করে (যেহেতু এটি সেন্সরকে পাওয়ার প্রয়োজন)। এটি অর্জনের জন্য, আমি একটি সাধারণ ভোল্টেজ ডিভাইডার ব্যবহার করেছি (পরিকল্পিত দেখুন)। নেতিবাচক তাপমাত্রা পড়ার জন্য আমাদের কিছু বাহ্যিক উপাদান (2x1N914 এবং 1x18k প্রতিরোধক) যোগ করতে হবে, যেহেতু আমি নেগেটিভ পাওয়ার সাপ্লাই ব্যবহার করতে চাই না। এখানে কোড হল: TinyADC সংগ্রহস্থল। আইডির প্রতি মনোযোগ (এটি বিকল্পে সন্নিবেশ করান: https://drazzy.com/package_drazzy.com_index.json), যদি আপনি এটি করতে না জানেন তবে শুধু গুগলে অনুসন্ধান করুন অথবা সরাসরি.hex ফাইল আপলোড করুন।

ধাপ 4: DS18B20

DS18B20
DS18B20
DS18B20
DS18B20
DS18B20
DS18B20
DS18B20
DS18B20

আমি সেই সেন্সরগুলো আমাজন থেকে কিনেছি (5 এর দাম প্রায় 10 €)। এটি একটি স্টেইনলেস স্টিলের কভার এবং 1 মিটার দৈর্ঘ্যের একটি তার দিয়ে এসেছিল। এই সেন্সর তাপমাত্রার 9 থেকে 12 বিট ডেটা ফেরত দিতে পারে। অনেক সেন্সর একই পিনে প্লাগ করা যেতে পারে কারণ তাদের সবার একটি অনন্য আইডি আছে। যেহেতু আমি সিদ্ধান্ত নিয়েছি যে আমার লগারের তিনটি প্রোব থাকবে, তাই আমাকে আলাদা করতে হবে কোনটি। তাই আমি তাদের ঠিকানায় সফটওয়্যারের মাধ্যমে একটি রঙ দেওয়ার কথা ভাবলাম। আমি কিছু থার্মো-সঙ্কুচিত নল ব্যবহার করেছি (তৃতীয় ছবি)

ধাপ 5: ESP8266 কোড

ESP8266 কোড
ESP8266 কোড
ESP8266 কোড
ESP8266 কোড

যেহেতু আমি এই পৃথিবীতে নতুন, তাই আমি অনেক লাইব্রেরি ব্যবহার করার সিদ্ধান্ত নিয়েছি। ভূমিকায় বলা হয়েছে প্রধান বৈশিষ্ট্য হল:

  • OTA আপডেট: কোডটি আপলোড করার সময় আপনার কম্পিউটারে esp8266 প্লাগ করার প্রয়োজন নেই (আপনাকে এটি শুধুমাত্র প্রথমবার করতে হবে);
  • ওয়্যারলেস ম্যানেজার, যদি ওয়্যারলেস নেটওয়ার্ক পরিবর্তন হয়, তাহলে আপনাকে স্কেচটি পুনরায় আপলোড করতে হবে না। আপনি কেবল esp8266 অ্যাক্সেস পয়েন্টের সাথে সংযুক্ত নেটওয়ার্ক পরামিতিগুলি আবার কনফিগার করতে পারেন;
  • থিংসস্পিক ডেটা ট্রান্সমিশন;
  • LM35 এবং DS18B20 উভয়ই সমর্থিত;
  • সহজ ইউজার ইন্টারফেস (RGB নেতৃত্বে কিছু দরকারী তথ্য নির্দেশ করে);

দয়া করে আমার কাছে ক্ষমা প্রার্থনা করুন কারণ আমার সফটওয়্যারটি সেরা নয় এবং এটি সত্যিই সুশৃঙ্খল নয়। ডিভাইসে আপলোড করার আগে, আপনার সেটআপে কোডটি ফিট করার জন্য আপনাকে কিছু পরামিতি পরিবর্তন করতে হবে। এখানে আপনি সফটওয়্যারটি ডাউনলোড করতে পারেন। সাধারণ LM35 এবং DS18B20 কনফিগারেশন আপনাকে OTA আপডেটের জন্য পিন সংজ্ঞা, টোকেন, চ্যানেল নম্বর, ব্যবহারকারী এবং পাসওয়ার্ড পরিবর্তন করতে হবে। 15 থেকে 23 পর্যন্ত লাইন।

#রেড ইয়োরপিনহেয়ার ডিফাইন করুন #ড্রিফাইন গ্রিন ইওরপাইনহির

#আপনার নীল রং নির্ধারণ করুন // সত্যিই প্রয়োজন নেই আপনি esp8266-webupdate const char* update_path = "/firmware" ছেড়ে যেতে পারেন; // আপডেট করার জন্য ঠিকানা পরিবর্তন করতে যেমন: 192.168.1.5/firmware const char* update_username = "YOURUSERHERE"; const char * update_password = "আপনার পাসওয়ার্ড; স্বাক্ষরবিহীন দীর্ঘ myChannelNumber = CHANNELNUMBERHERE; const char * myWriteAPIKey =" WRITEAPIHERE ";

ধাপ 6: ESP8266 কোড: LM35 ব্যবহারকারী

ADC ইউনিটকে VU পিন এবং G পিন ব্যবহার করার জন্য আপনাকে এটিনি বোর্ডকে esp8266 এর সাথে সংযুক্ত করতে হবে। আপনি সিরিয়াল যোগাযোগের জন্য কোন পিনটি ব্যবহার করতে চান তা চয়ন করতে হবে (ডিবাগ উদ্দেশ্যে হার্ডওয়্যার সিরিয়াল মুক্ত রাখতে)। Tx পিন নির্বাচন করা আবশ্যক কিন্তু সত্যিই ব্যবহার করা হয় না। (লাইন 27) সফটওয়্যার সিরিয়াল মাই সিরিয়াল (RXPIN, TXPIN); শীর্ষে আপনাকে যুক্ত করতে হবে:#ডিফাইন LM35USER

ধাপ 7: ESP8266 কোড: DS18B20 ব্যবহারকারী

প্রথম অপারেশন হিসাবে আপনাকে প্রতিটি সেন্সরের ডিভাইসের ঠিকানা চিহ্নিত করতে হবে। Esp এ এই কোডটি কম্পাইল এবং প্রোগ্রাম করুন এবং ফলাফলের জন্য সিরিয়ালে দেখুন। কোডটি এখানে পাওয়া যাবে (পৃষ্ঠায় এই শিরোনামের জন্য অনুসন্ধান করুন: "পৃথক DS18B20 অভ্যন্তরীণ ঠিকানাগুলি পড়ুন")। ঠিকানা পেতে শুধুমাত্র একটি সেন্সর সংযুক্ত করুন, ফলাফলগুলি এমন কিছু হওয়া উচিত (এখানে র্যান্ডম নম্বর! যেমন উদাহরণ): 0x11, 0x22, 0x33, 0xD9, 0xB1, 0x17, 0x45, 0x12 তারপর আপনাকে বিভাগে আমার কোড পরিবর্তন করতে হবে " DS18B20 এর জন্য কনফিগারেশন "(লাইন 31 থেকে 36)":

#ডিফাইন ONE_WIRE_BUS ONEWIREPINHERE #ডিফাইন টেম্পারটুরE_ প্রেসক্রিপশন টেম্পবিটপ্রেসেশন // (9 থেকে 12) 0x12}; // আপনার ঠিকানা ডিভাইসের সাথে পরিবর্তন করুন RedSensor = {0x11, 0x22, 0x33, 0xD9, 0xB1, 0x17, 0x45, 0x12}; // আপনার ঠিকানা DeviceAddress greenSensor = {0x11, 0x22, 0x33, 0xD9, 0xB1, 0x17, 0x45, 0x12} দিয়ে পরিবর্তন করুন; // আপনার ঠিকানা দিয়ে পরিবর্তন করুন উপরের দিকে আপনাকে যোগ করতে হবে:#DSUSER নির্ধারণ

ধাপ 8: ESP8266 লিটল ট্রিক

ESP8266 লিটল ট্রিক
ESP8266 লিটল ট্রিক

কিছু পরীক্ষার পর আমি দেখতে পেলাম যে আপনি যদি প্রোগ্রামিং ছাড়া esp8266 প্লাগ করেন, তাহলে কোডটি চালানো হবে না যতক্ষণ না আপনি একবার রিসেট টিপুন। এই সমস্যাটি সমাধান করার জন্য, কিছুটা গবেষণার পরে, আমি আবিষ্কার করেছি যে আপনাকে 3.3V থেকে D3 এ একটি পুল-আপ প্রতিরোধক যুক্ত করতে হবে। এটি প্রসেসরকে ফ্ল্যাশ মেমরি থেকে কোড লোড করতে বলবে।

ধাপ 9: প্রথমবার অপারেশন

প্রথমবার অপারেশন
প্রথমবার অপারেশন
প্রথমবার অপারেশন
প্রথমবার অপারেশন

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

ধাপ 10: উপসংহার

উপসংহার
উপসংহার
উপসংহার
উপসংহার
উপসংহার
উপসংহার
উপসংহার
উপসংহার

শেষ পর্যন্ত, আমার ফ্রিজারের তাপমাত্রা লগ করার সময় এখানে ডাটা লগার থেকে নেওয়া একটি গ্রাফ। কমলাতে DS18B20 এবং নীল রঙে LM35 এবং এটি সার্কিট। আপনি ডিজিটাল থেকে এনালগ সেন্সর (আমার দরিদ্র "এডিসি সার্কিট" সহ) নির্ভুলতার মধ্যে সবচেয়ে বড় পার্থক্য দেখতে পারেন যা কিছু অ-শারীরিক তথ্য দেয়। পড়া সহজ এবং প্রায় "প্লাগ অ্যান্ড প্লে", এটি আরো স্থিতিশীল এবং নির্ভুল, এটি 3.3V এ চলে এবং প্রচুর সেন্সরের জন্য শুধুমাত্র একটি পিনের প্রয়োজন। মনোযোগের জন্য ধন্যবাদ, আমি আশা করি এই প্রকল্পটি আপনার জন্য ভাল এবং আপনি কিছু দরকারী তথ্য পাওয়া গেছে। এবং যারা এটি উপলব্ধি করতে চায়, আমি চাই যে আমি প্রয়োজনীয় সমস্ত তথ্য দিয়েছি। যদি সবকিছু জিজ্ঞাসা করার জন্য নির্দ্বিধায় না হয়, আমি সব প্রশ্নের উত্তর দিতে খুশি হব। যেহেতু আমি একজন ইংরেজি ভাষাভাষী নই, যদি কিছু ভুল বা বোধগম্য না হয় তবে দয়া করে আমাকে জানান। এটি আমাকে নতুন বিষয়বস্তু আপডেট এবং প্রকাশ করতে উৎসাহিত করবে। ধন্যবাদ.

প্রস্তাবিত: