IoT-ThingSpeak-ESP32-Long-Range-Wireless-Vibration-And-Temp: 6 ধাপ
IoT-ThingSpeak-ESP32-Long-Range-Wireless-Vibration-And-Temp: 6 ধাপ
Anonim
IoT-ThingSpeak-ESP32-Long-Range-Wireless-Vibration-And-Temp
IoT-ThingSpeak-ESP32-Long-Range-Wireless-Vibration-And-Temp

এই প্রকল্পে, আমরা NCD কম্পন এবং তাপমাত্রা সেন্সর, Esp32, ThingSpeak ব্যবহার করে কম্পন এবং তাপমাত্রা পরিমাপ করব।

কম্পন হচ্ছে মোটরচালিত গ্যাজেটগুলিতে মেশিন এবং উপাদানগুলির প্রকৃতপক্ষে চলাচল - বা দোলনা। শিল্প ব্যবস্থায় কম্পন একটি ঝামেলার উপসর্গ বা উদ্দেশ্য হতে পারে, অথবা এটি দৈনন্দিন ক্রিয়াকলাপের সাথে যুক্ত হতে পারে। উদাহরণস্বরূপ, দোলনাযুক্ত স্যান্ডার এবং কম্পনের টাম্বলারগুলি কম্পনের উপর নির্ভর করে। অভ্যন্তরীণ জ্বলন ইঞ্জিন এবং সরঞ্জামগুলি ড্রাইভ করে, তারপর আবার, একটি নিশ্চিত পরিমাণে অনিবার্য কম্পন অনুভব করে। কম্পন একটি ঝামেলা বোঝাতে পারে এবং যদি এটি পরীক্ষা না করা হয় তবে ক্ষতি বা দ্রুত অবনতি হতে পারে। কম্পন যে কোনো সময়ে এক বা অতিরিক্ত কারণের ফলে হতে পারে, সর্বাধিক অস্বাভাবিক নয় একটি ভারসাম্যহীনতা, misalignment, লাগানো, এবং শিথিলতা। Esp32 এবং NCD বেতার কম্পন এবং তাপমাত্রা সেন্সর ব্যবহার করে থিংসস্পিকে তাপমাত্রা এবং কম্পন ডেটা বিশ্লেষণ করে এই ক্ষতি কমানো যেতে পারে।

ধাপ 1: হার্ডওয়্যার এবং সফ্টওয়্যার প্রয়োজন

হার্ডওয়্যার এবং সফ্টওয়্যার প্রয়োজন
হার্ডওয়্যার এবং সফ্টওয়্যার প্রয়োজন
হার্ডওয়্যার এবং সফ্টওয়্যার প্রয়োজন
হার্ডওয়্যার এবং সফ্টওয়্যার প্রয়োজন

হার্ডওয়্যার প্রয়োজন:

  • ESP-32: ESP32 IoT অ্যাপ্লিকেশনের জন্য Arduino IDE এবং Arduino Wire Language ব্যবহার করা সহজ করে তোলে। এই ESp32 IoT মডিউলটি বিভিন্ন বৈচিত্র্যময় অ্যাপ্লিকেশনের জন্য ওয়াই-ফাই, ব্লুটুথ এবং ব্লুটুথ BLE কে একত্রিত করে। এই মডিউলটি 2 সিপিইউ কোর দিয়ে সম্পূর্ণভাবে সজ্জিত যা পৃথকভাবে নিয়ন্ত্রিত এবং চালিত হতে পারে এবং 80 মেগাহার্টজ থেকে 240 মেগাহার্টজ সামঞ্জস্যযোগ্য ঘড়ির ফ্রিকোয়েন্সি সহ। এই ইএসপি 32 আইওটি ওয়াইফাই বিএলই মডিউল ইন্টিগ্রেটেড ইউএসবি সহ সমস্ত ncd.io আইওটি পণ্যে ফিট করার জন্য ডিজাইন করা হয়েছে।
  • আইওটি লং রেঞ্জ ওয়্যারলেস ভাইব্রেশন এবং টেম্পারেচার সেন্সর: আইওটি লং রেঞ্জ ওয়্যারলেস ভাইব্রেশন এবং টেম্পারেচার সেন্সর হচ্ছে ব্যাটারি চালিত এবং ওয়্যারলেস, এর অর্থ হল এটিকে উঠতে এবং অপারেটিং করার জন্য কারেন্ট বা কমিউনিকেশন তারের টান লাগবে না। এটি আপনার মেশিনের কম্পনের তথ্য ক্রমাগত ট্র্যাক করে এবং অন্যান্য তাপমাত্রা পরামিতিগুলির সাথে সম্পূর্ণ রেজোলিউশনে ক্যাপচার এবং অপারেটিং ঘন্টাগুলি। এতে, আমরা এনসিডির লং রেঞ্জ আইওটি ইন্ডাস্ট্রিয়াল বেতার কম্পন এবং তাপমাত্রা সেন্সর ব্যবহার করছি, একটি ওয়্যারলেস জাল নেটওয়ার্কিং আর্কিটেকচার ব্যবহার করে 2 মাইল রেঞ্জ পর্যন্ত গর্ব করে।
  • ইউএসবি ইন্টারফেস সহ লং-রেঞ্জ ওয়্যারলেস মেস মডেম

ব্যবহৃত সফটওয়্যার:

  • Arduino IDE
  • থিগস্পিক

লাইব্রেরি ব্যবহৃত

  • PubSubClient
  • ওয়্যার.এইচ

MQTT এর জন্য Arduino ক্লায়েন্ট

  • এই লাইব্রেরি MQTT সমর্থন করে এমন সার্ভারের সাথে সহজ প্রকাশ/সাবস্ক্রাইব মেসেজিং করার জন্য একটি ক্লায়েন্ট প্রদান করে
  • MQTT সম্পর্কে আরও তথ্যের জন্য, mqtt.org দেখুন।

ডাউনলোড করুন

লাইব্রেরির সর্বশেষ সংস্করণটি গিটহাব থেকে ডাউনলোড করা যাবে।

ডকুমেন্টেশন

লাইব্রেরিতে অনেকগুলি উদাহরণ স্কেচ রয়েছে। Arduino অ্যাপ্লিকেশনের মধ্যে ফাইল> উদাহরণ> PubSubClient দেখুন। সম্পূর্ণ API ডকুমেন্টেশন।

সামঞ্জস্যপূর্ণ হার্ডওয়্যার

লাইব্রেরি অন্তর্নিহিত নেটওয়ার্ক হার্ডওয়্যারের সাথে যোগাযোগের জন্য Arduino ইথারনেট ক্লায়েন্ট API ব্যবহার করে। এর অর্থ হল এটি কেবল বর্ধিত সংখ্যক বোর্ড এবং ieldsাল সহ কাজ করে, যার মধ্যে রয়েছে:

  1. Arduino ইথারনেট
  2. আরডুইনো ইথারনেট শিল্ড
  3. Arduino YUN - ইথারনেট ক্লায়েন্ট এর জায়গায় অন্তর্ভুক্ত YunClient ব্যবহার করুন, এবং প্রথমে একটি Bridge.begin () করতে ভুলবেন না
  4. আরডুইনো ওয়াইফাই শিল্ড - যদি আপনি এই ieldাল দিয়ে 90 বাইটের বেশি প্যাকেট পাঠাতে চান, তাহলে PubSubClient.h এ MQTT_MAX_TRANSFER_SIZE বিকল্পটি সক্ষম করুন।
  5. স্পার্কফুন ওয়াইফ্লাই শিল্ড - যখন এই লাইব্রেরির সাথে ব্যবহার করা হয়।
  6. ইন্টেল গ্যালিলিও/এডিসন
  7. ESP8266
  8. ESP32: লাইব্রেরিটি বর্তমানে ENC28J60 চিপের উপর ভিত্তি করে হার্ডওয়্যারের সাথে ব্যবহার করা যাবে না - যেমন ন্যানোড বা নিউলেক্ট্রনিক্স ইথারনেট শিল্ড। তাদের জন্য, একটি বিকল্প লাইব্রেরি উপলব্ধ।

ওয়্যার লাইব্রেরি

ওয়্যার লাইব্রেরি আপনাকে I2C ডিভাইসের সাথে যোগাযোগ করতে দেয়, যাকে প্রায়ই "2 ওয়্যার" বা "TWI" (টু ওয়্যার ইন্টারফেস) বলা হয়, যা Wire.h থেকে ডাউনলোড করতে পারে।

ধাপ ২: ইউএসবি ইন্টারফেস সহ আইওটি লং রেঞ্জ ওয়্যারলেস ভাইব্রেশন এবং টেম্পারেচার সেন্সর এবং লং রেঞ্জ ওয়্যারলেস মেশ মডেম ব্যবহার করে ল্যাবভিউ কম্পন এবং তাপমাত্রা প্ল্যাটফর্মে ডেটা পাঠানোর পদক্ষেপ-

  • প্রথমত, আমাদের একটি ল্যাবভিউ ইউটিলিটি অ্যাপ্লিকেশন দরকার যা ncd.io ওয়্যারলেস কম্পন এবং তাপমাত্রা সেন্সর। Exe ফাইল যার উপর ডেটা দেখা যায়।
  • এই ল্যাবভিউ সফটওয়্যারটি শুধুমাত্র ncd.io বেতার কম্পন তাপমাত্রা সেন্সর দিয়ে কাজ করবে
  • এই UI ব্যবহার করতে, আপনাকে নিম্নলিখিত ড্রাইভারগুলি ইনস্টল করতে হবে এখানে 64bit থেকে রান টাইম ইঞ্জিন ইনস্টল করুন
  • 32 বিট
  • NI ভিসা ড্রাইভার ইনস্টল করুন
  • ল্যাবভিউ রান-টাইম ইঞ্জিন এবং এনআই-সিরিয়াল রানটাইম ইনস্টল করুন।
  • এই পণ্যের জন্য গাইড শুরু করা

ধাপ 3: Arduino IDE ব্যবহার করে ESP32 এ কোড আপলোড করা হচ্ছে:

থিংস্পিকে আপনার কম্পন এবং তাপমাত্রার তথ্য প্রকাশ করার জন্য যেমন esp32 একটি গুরুত্বপূর্ণ অংশ।

  • PubSubClient লাইব্রেরি এবং Wire.h লাইব্রেরি ডাউনলোড করুন এবং অন্তর্ভুক্ত করুন।
  • WiFiMulti.h এবং HardwareSerial.h লাইব্রেরি ডাউনলোড করুন এবং অন্তর্ভুক্ত করুন।

#অন্তর্ভুক্ত

#অন্তর্ভুক্ত #অন্তর্ভুক্ত #অন্তর্ভুক্ত #অন্তর্ভুক্ত

আপনাকে অবশ্যই থিংসস্পিক, এসএসআইডি (ওয়াইফাই নাম) এবং উপলব্ধ নেটওয়ার্কের পাসওয়ার্ড দ্বারা প্রদত্ত আপনার অনন্য এপিআই কী বরাদ্দ করতে হবে।

const char* ssid = "Yourssid"; // আপনার SSID (আপনার ওয়াইফাই এর নাম)

const char* password = "Wifipass"; // আপনার ওয়াইফাই পাসওয়ার্ড কনস্ট চার* হোস্ট = "api.thingspeak.com"; স্ট্রিং api_key = "APIKEY"; // আপনার API কী জিনিসপত্র দ্বারা প্রমাণিত

যে ভেরিয়েবলে ডেটা স্ট্রিং হিসেবে স্টোর হবে এবং সেটি থিংসস্পিকে পাঠাবে তা সংজ্ঞায়িত করুন।

int মান; int টেম্প; int Rms_x; int Rms_y; int Rms_z;

থিংসস্পিকে ডেটা প্রকাশ করার কোড:

স্ট্রিং data_to_send = api_key;

data_to_send += "& field1 ="; data_to_send += স্ট্রিং (Rms_x); data_to_send += "& field2 ="; data_to_send += স্ট্রিং (টেম্প); data_to_send += "& field3 ="; data_to_send += স্ট্রিং (Rms_y); data_to_send += "& field4 ="; data_to_send += স্ট্রিং (Rms_z); data_to_send += "\ r / n / r / n"; client.print ("POST /update HTTP /1.1 / n"); client.print ("হোস্ট: api.thingspeak.com / n"); client.print ("সংযোগ: বন্ধ / n"); client.print ("X-THINGSPEAKAPIKEY:" + api_key + "\ n"); client.print ("বিষয়বস্তু-প্রকার: অ্যাপ্লিকেশন/x-www-form-urlencoded / n"); client.print ("বিষয়বস্তু-দৈর্ঘ্য:"); client.print (data_to_send.length ()); client.print ("\ n / n"); client.print (data_to_send);

  • Esp32-Thingspeak.ino কম্পাইল করুন এবং আপলোড করুন
  • ডিভাইসের সংযোগ এবং পাঠানো ডেটা যাচাই করতে সিরিয়াল মনিটর খুলুন। যদি কোন প্রতিক্রিয়া দেখা না যায়, আপনার ESP32 আনপ্লাগ করার চেষ্টা করুন এবং তারপর আবার প্লাগিং করুন। নিশ্চিত করুন যে সিরিয়াল মনিটরের বড রেট আপনার কোড 115200 এ উল্লেখ করা আছে।

ধাপ 4: সিরিয়াল মনিটর আউটপুট:

সিরিয়াল মনিটর আউটপুট
সিরিয়াল মনিটর আউটপুট

ধাপ 5: থিংসস্পিক কাজ করা:

ThingSpeak কাজ করা
ThingSpeak কাজ করা
ThingSpeak কাজ করা
ThingSpeak কাজ করা
ThingSpeak কাজ করা
ThingSpeak কাজ করা
  • ThigSpeak এ অ্যাকাউন্ট তৈরি করুন।
  • চ্যানেলগুলিতে ক্লিক করে একটি নতুন চ্যানেল তৈরি করুন।
  • আমার চ্যানেলগুলিতে ক্লিক করুন।
  • নতুন চ্যানেলে ক্লিক করুন।
  • নতুন চ্যানেলের ভিতরে, চ্যানেলের নাম দিন।
  • চ্যানেলের ভিতরের ক্ষেত্রের নাম দিন, ক্ষেত্র হল সেই পরিবর্তনশীল যেখানে তথ্য প্রকাশিত হয়।
  • এখন চ্যানেলটি সংরক্ষণ করুন।
  • এখন আপনি ড্যাশবোর্ডে আপনার API কীগুলি খুঁজে পেতে পারেন। হোমপেজে ট্যাপে যান এবং আপনার 'লিখুন API কী' খুঁজে নিন যা ESP32 এ কোড আপলোড করার আগে আপডেট করতে হবে।
  • একবার চ্যানেল তৈরি হয়ে গেলে আপনি আপনার তাপমাত্রা এবং কম্পনের ডেটা চ্যানেলের ভিতরে তৈরি করা ক্ষেত্রগুলির সাথে ব্যক্তিগত ভিউতে দেখতে সক্ষম হবেন।
  • বিভিন্ন কম্পন ডেটার মধ্যে একটি গ্রাফ চক্রান্ত করতে, আপনি MATLAB ভিজ্যুয়ালাইজেশন ব্যবহার করতে পারেন।
  • এর জন্য App এ যান, MATLAB Visualization- এ ক্লিক করুন।
  • এর ভিতরে কাস্টম নির্বাচন করুন, এর মধ্যে আমরা বাম এবং ডান উভয় পাশে y-axes দিয়ে 2-D লাইন প্লট তৈরি করতে নির্বাচন করেছি। এখন তৈরি ক্লিক করুন।
  • ম্যাটল্যাব কোডটি স্বয়ংক্রিয়ভাবে তৈরি হবে যখন আপনি ভিজ্যুয়ালাইজেশন তৈরি করবেন কিন্তু আপনাকে ফিল্ড আইডি সম্পাদনা করতে হবে, চ্যানেল আইডি পড়তে হবে, নিচের চিত্রটি পরীক্ষা করতে পারেন।
  • তারপর কোডটি সেভ করে রান করুন।
  • আপনি প্লট দেখতে হবে।

প্রস্তাবিত: