সুচিপত্র:

ESP32 স্ক্র্যাপার-পার্সার-মেইলার এবং লাইভ ম্যাপার: 4 টি ধাপ (ছবি সহ)
ESP32 স্ক্র্যাপার-পার্সার-মেইলার এবং লাইভ ম্যাপার: 4 টি ধাপ (ছবি সহ)

ভিডিও: ESP32 স্ক্র্যাপার-পার্সার-মেইলার এবং লাইভ ম্যাপার: 4 টি ধাপ (ছবি সহ)

ভিডিও: ESP32 স্ক্র্যাপার-পার্সার-মেইলার এবং লাইভ ম্যাপার: 4 টি ধাপ (ছবি সহ)
ভিডিও: ESP32, более мощная чем любая другая Ардуино 2024, ডিসেম্বর
Anonim
ESP32 স্ক্র্যাপার-পার্সার-মেইলার এবং লাইভ ম্যাপার
ESP32 স্ক্র্যাপার-পার্সার-মেইলার এবং লাইভ ম্যাপার
ESP32 স্ক্র্যাপার-পার্সার-মেইলার এবং লাইভ ম্যাপার
ESP32 স্ক্র্যাপার-পার্সার-মেইলার এবং লাইভ ম্যাপার
ESP32 স্ক্র্যাপার-পার্সার-মেইলার এবং লাইভ ম্যাপার
ESP32 স্ক্র্যাপার-পার্সার-মেইলার এবং লাইভ ম্যাপার

ওহে বিশ্ব! এটি আমার প্রথম নির্দেশযোগ্য! আমি গ্রোসেটো ইতালি থেকে মার্কো, আমি ডেভেলপার নই, আমি ইলেকট্রনিক ইঞ্জিনিয়ার নই কিন্তু আমি আমাদের স্থানীয় প্রাকৃতিক পার্কে (মারেমা ন্যাচারাল পার্ক) একটি পরিবেশ নির্দেশক।

আমার সহযোগিতায় আমরা পাখি দেখার জন্য ওম্ব্রন নদীতে ক্যানো ট্যুর, প্রাকৃতিক এবং শান্ত ভ্রমণের সাথে অনেক কাজ করি এবং কিছুটা বোধ শিথিল করি।

কিন্তু ওমব্রোন নদী তার বৈশিষ্ট্যগত প্রবাহের জন্যও বিখ্যাত: গ্রীষ্ম "শূন্য" থেকে শরত-শীতকালে প্রতি ঘন্টায় কয়েক হাজার ঘনমিটার জল প্রবাহ।

এই কারণে, ওমব্রোন নদী ক্রমাগত চমৎকার আঞ্চলিক হাইড্রোমেট্রিক পরিষেবা (এসআইআর) দ্বারা পর্যবেক্ষণ করা হয়, একটি চমত্কার সাইট যা সংগৃহীত তথ্য উপলব্ধ করে।

এখন আমরা মরসুমের শেষ এবং প্রথম শরতের বন্যার জন্য ডক এবং ক্যানো অপসারণের জন্য অপেক্ষা করছি …

কিন্তু যখন আমরা পার্সিং esp32ing ইত্যাদি স্ক্র্যাপ করার কথা বলতে শুরু করি? আরো এক মুহূর্ত

ইতালীয় লকডাউনের সময় আমি প্রথম আরডুইনো ব্লিংক পাঠ করেছি, শীতল … এবং আমি সেন্সর এবং আরডুইনো সি -এর সাথে খেলা চালিয়ে যাচ্ছি।তাই যদি আপনি আমার কোড অশুদ্ধ বা অযৌক্তিক লজিক্যাল ফাঁকগুলি পূর্ণ মনে করেন তবে এটি বিবেচনা করুন!

আমি শুধু সময় নষ্ট করার জন্য অনেক কিছু করেছি কিন্তু বন্যার এই ক্রমাগত ঝুঁকির সাথে আমি শীতল কিছু করার সিদ্ধান্ত নিয়েছি: একটি ESP32 কে ধন্যবাদ একটি arduino ফর্ম ফ্যাক্টর (Wemos d1 r32) যা আমি কয়েক মাস ধরে আবৃত রেখেছিলাম কারণ আমি ভেবেছিলাম "কঠিন", আমি সত্যিই অনেক সন্তোষজনক ছিল:

আমি একটি স্ক্র্যাপার করেছি যা একটি SIR ওয়েবপৃষ্ঠা থেকে ডেটা নিয়ে আসে এবং বিশ্লেষণ করে এবং একটি সস্তা i2c LCD তে প্রাপ্ত ভেরিয়েবলগুলি প্রদর্শন করে এবং বাস্তবসম্মত মানচিত্রে কিছু এলইডি তে উজ্জ্বলতা-ফ্রিকোয়েন্সি ব্লিংক করে।

তাই যদি পাহাড়ের দিক থেকে বন্যা আসে তাহলে আমি ম্যাপে এলইডি -র ক্রমবর্ধমান উজ্জ্বলতা (লেভেল পরিবর্তন) এবং ক্রমবর্ধমান ফ্রিকোয়েন্সি (এক ঘন্টার মধ্যে লেভেল পরিবর্তন) দ্বারা সতর্ক হব … কিন্তু ESP32 ইমেইলও পাঠাতে পারে! তাহলে কেন এর জন্য একটি ফাংশন করবেন না?

এখন নীচের কোড দেখতে যান!

সরবরাহ

  • ESP32 ভিত্তিক বোর্ড: আমি Wemos d1 r32 ব্যবহার করেছি কারণ মহিলা পিন আছে এবং এটি পরিচালনা করা সহজ
  • এলইডি, লাল আরও "সতর্কতার মত"
  • I2C 16x2 LCD iv'e শুধুমাত্র একটি নীল কিন্তু সবুজ আরো আড়ম্বরপূর্ণ
  • সস্তা কর্ক বোর্ড
  • রাতের সময় (optionচ্ছিক)

ধাপ 1: কোড

কোড
কোড
কোড
কোড

অনলাইনে আমি কেবল বাষ্পীয় টিউটোরিয়াল খুঁজে পেয়েছি যা ডেটা বিশ্লেষণ করার জন্য বাহ্যিক সাইট ব্যবহার করে, তাই আমি সরাসরি বোর্ডে ডেটা বিশ্লেষণ করে esp32 কোরের শক্তি পরীক্ষা করার চেষ্টা করেছি … সমস্যা ছাড়াই!

তাই যদি আপনি SIR পৃষ্ঠার উৎস দেখেন তাহলে বুঝতে পারবেন কিভাবে এটি কাজ করে: সৌভাগ্যবশত তারা তাদের ডেটা প্রদর্শনের জন্য "কমা বিভক্ত মত" মান ব্যবহার করে, তাই এই কোড দিয়ে আমি একটি হাইড্রোগ্রাফিক স্টেশন (কোড TOSnumber) অনুসন্ধান করি এবং কমা সংখ্যা গণনা করি (বিভাজক হিসাবে) যে মানটি আমি চাই (এবং এটি পরিবর্তনশীল হিসাবে সংরক্ষণ করুন) ধারণ করে, তারপরে এটিকে "বৈচিত্র্য স্তর" ঝলকানোর জন্য নেতৃত্বের উজ্জ্বলতা এবং মিলিসে সময় হিসাবে পুনpনির্মাণ করুন

এই স্ক্র্যাপারের মূলটি http ট্যাবে রয়েছে:

ind = payload.indexOf ("TOSstation_number"); // পজিশন (ইন্ড) পান যেখানে থেকে কমা গণনা শুরু হয়

স্ট্রিং my_var = getValue_ind (পেলোড, ',', 8); // যেখানে 8 হল কমা দ্বারা নির্ধারিত অষ্টম ঘর (বিভাজক)

"পেলোড" হল আমি যা আগে "কোটেশন" এবং "& nbsp" থেকে পরিষ্কার করা ওয়েব থেকে পাই;

এবং getValue_ind ফাংশন যা প্রধান ট্যাবে আছে

স্ট্রিং getValue_ind (স্ট্রিং ডেটা, গৃহ বিভাজক, int সূচক) {

int পাওয়া = 0; int strIndex = {0, -1}; int maxIndex = data.length () - 1; জন্য (int i = ind; i <= maxIndex && found <= index; i ++) {// ইন্ড অবস্থান থেকে যদি strIndex [0] = strIndex [1] + 1; strIndex [1] = (i == maxIndex)? i + 1: i; }} রিটার্ন পাওয়া> সূচক? data.substring (strIndex [0], strIndex [1]): ""; }

stackoverflow.com/a/14824108 থেকে অভিযোজিত

কোডটি প্রতি 15 মিনিটে পৃষ্ঠার জন্য জিজ্ঞাসা করে, এটি প্রায় 44 কেবি, আমি সার্ভার এবং ইএসপি 32 এর জন্য একটি বড় বোঝা মনে করি না.. খুব বেশি স্ক্রলিং এড়াতে আমি প্রোগ্রামটিকে বিভিন্ন ফাংশনে বিভক্ত করেছি, মন্তব্যগুলি পড়ুন

এখানে কোড পেস্ট করা সত্যিই একটা গোলমাল … আমি সরাসরি.ino ফাইলগুলো রাখলাম।

আমি arduino IDE এর ট্যাব বৈশিষ্ট্য ব্যবহার করেছি তাই আমার আলাদা.ino ফাইল আছে।

এটি কোডের সর্বশেষ সংস্করণ (?), অনেক প্রচেষ্টা আছে, তাই আমি কোন পরামর্শের প্রশংসা করব!

- কম মানের জন্য নেতৃত্বের উজ্জ্বলতা সোজা করার জন্য, - ভাসমান বিন্দু ভেরিয়েবলের জন্য "মানচিত্র" ফাংশনের জন্য - ESP32- এ দ্বিতীয় কোর ব্যবহারের জন্য, - স্প্রিন্টফির সাথে একটি স্ট্রিং থেকে একটি এইচটিএমএল মেইল কিভাবে প্রিন্ট করবেন তা বোঝার জন্য অনেক সত্য "নির্বোধ সময়" কাটিয়েছি তাই.ino ফাইল বা গিথুবের মন্তব্যগুলিতে পড়ুন!

আপলোড সেটিংস হিসেবে আমি টুলস ব্যবহার করেছি: পার্টিশন স্কিম: এই বিশাল কোডের জন্য বেশি জায়গা রাখার জন্য OTA নেই

আনন্দ কর

গিথুবের কোডের জন্য এখানে ক্লিক করুন

ধাপ 2: মানচিত্র

মানচিত্র
মানচিত্র
মানচিত্র
মানচিত্র
মানচিত্র
মানচিত্র

এই টিউটটি ESP32 কোডে উৎসাহিত হয়েছে তাই আমি আপনাকে কেবল কিছু কীওয়ার্ড, লিঙ্ক এবং ব্যবহৃত সরঞ্জামগুলি দিতে পারি:

এক্সট্রাক্ট ভেক্টরিয়াল এলাকাগুলির জন্য চমৎকার পরিষেবা ওপেনস্ট্রিটম্যাপ

  • তাদের হজম করার জন্য "অস্টিক" QGis
  • আপনার মানচিত্র সহজ করার জন্য অ্যাট্রিবিউট টেবিলের জন্য অনুসন্ধান করুন
  • একটি মুদ্রণ বিন্যাস তৈরি করুন এবং A3 কাগজের বিন্যাসে svg বিন্যাসে মানচিত্র রপ্তানি করুন
  • "মসৃণ" চিত্রকরের সাথে মজা করুন
  • এটা ছাপাও

ধাপ 3: হট গ্লু পার্টি

হট গ্লু পার্টি
হট গ্লু পার্টি
হট গ্লু পার্টি
হট গ্লু পার্টি
হট গ্লু পার্টি
হট গ্লু পার্টি
হট গ্লু পার্টি
হট গ্লু পার্টি

তাই আমি কর্ক বোর্ডে এটি ঠিক করার আগে কাগজের উপর নেতৃত্ব এবং প্রদর্শনের জন্য ছিদ্রগুলি ডাই-কাট করার পরামর্শ দিতে পারি

ওয়্যারিং সত্যিই সহজ এবং আমার দ্বারা খারাপভাবে সম্পন্ন করা হয়েছে: পি

আমার সোল্ডারিং লেভেল: পায়রা

আপনি কোড থেকে দেখতে পাচ্ছেন যে এলইডিগুলি আইও পিনগুলিতে যায়

#ডিফাইন LED_PIN0 14 // si #LED_PIN1 27 // buon #define LED_PIN2 16 // sass #define LED_PIN3 17 // tur #define LED_PIN4 25 // ist #define LED_PIN5 26 // berr

বোঝার জন্য ESP32 পিনআউট অনুসন্ধান করুন

ধাপ 4: সমাপ্ত পণ্য

সমাপ্ত পণ্য
সমাপ্ত পণ্য

তাই এই ছবিটি সেরা নয়, কিন্তু যখন আমরা কিছু নদীর বন্যা পাই তখন আমি একটি সুন্দর ভিডিও রাখব!

প্রস্তাবিত: