فهرست مطالب:
تصویری: ESP32 Scraper-parser-mailer و Live Mapper: 4 مرحله (همراه با تصاویر)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:52
سلام دنیا! این اولین دستورالعمل من است! من مارکو از گروستو ایتالیا هستم ، توسعه دهنده نیستم ، مهندس الکترونیک نیستم ، اما راهنمای محیط زیست در پارک طبیعی محلی (پارک طبیعی مارمما) هستم.
در تعاونی من ما با تورهای قایقرانی ، تورهای طبیعی و آرام در رودخانه Ombrone برای تماشای پرندگان و کمی آرامش کار می کنیم.
اما رودخانه Ombrone نیز به دلیل نوع مشخص جریان خود مشهور است: از تابستان "صفر" تا جریان پاییز و زمستان چند هزار متر مکعب آب در ساعت.
به همین دلیل ، رودخانه Ombrone به طور مداوم توسط خدمات عالی هیدرومتری منطقه ای (SIR) تحت نظارت است ، با یک سایت فوق العاده که داده های جمع آوری شده را در دسترس قرار می دهد.
اکنون ما منتظر پایان فصل و اولین سیل پاییزی برای برداشتن بارانداز و قایقرانی هستیم…
اما هنگامی که ما شروع به صحبت در مورد تراشیدن تجزیه و تحلیل esp32ing و غیره می کنیم؟ یک لحظه بیشتر
در طول قرنطینه ایتالیایی ، من اولین درس پلک زدن آردوینو را انجام دادم ، خنک … و من به بازی با سنسورها و آردوینو C ادامه دادم. بنابراین اگر کد من را خام یا پر از شکاف منطقی مزخرف می بینید ، این را در نظر بگیرید!
من کارهای زیادی را فقط برای هدر دادن زمان انجام دادم ، اما با این خطر دائمی سیل ، تصمیم گرفتم کاری جالب انجام دهم: به لطف ESP32 با فاکتور فرم آردوینو (Wemos d1 r32) که ماه ها آن را بسته بودم ، زیرا فکر می کردم "دشوار" است. ، من واقعاً رضایت زیادی داشتم:
من یک اسکریپر انجام داده ام که داده ها را از یک صفحه SIR آورده و تجزیه می کند و متغیرهای به دست آمده بر روی یک LCD ارزان i2c را نمایش می دهد و به عنوان فرکانس روشنایی در برخی از LED ها در یک نقشه واقع گرایانه چشمک می زند.
بنابراین اگر سیل از سمت کوه بیاید ، با افزایش روشنایی (تغییر سطح) و افزایش فرکانس (تغییر سطح در یک ساعت) از led های روی نقشه هشدار داده می شوم … اما ESP32 همچنین می تواند ایمیل ارسال کند! بنابراین چرا تابع را برای این کار انجام نمی دهید؟
اجازه دهید اکنون کد زیر را ببینیم!
تدارکات
- برد مبتنی بر ESP32: من از Wemos d1 r32 استفاده کرده ام که دارای پین های زن است و کار با آن راحت تر است
- leds ، رنگ قرمز بیشتر "هشدار مانند" است
- LCD I2C 16x2 فقط آبی است اما رنگ سبز شیک تر است
- تخته چوب پنبه ارزان
- زمان شب (اختیاری)
مرحله 1: کد
بصورت آنلاین فقط آموزشهای بخار پیدا کرده ام که از سایتهای خارجی برای تجزیه و تحلیل داده ها استفاده می کند ، بنابراین سعی کردم قدرت هسته های esp32 را تجزیه و تحلیل داده ها را مستقیماً بر روی برد آزمایش کنم … بدون مشکل!
بنابراین اگر مشاهده کنید منبع صفحه SIR می تواند نحوه عملکرد آن را درک کند: خوشبختانه آنها از مقادیر "کاما جدا شده مانند" برای نمایش داده های خود استفاده می کنند ، بنابراین با این کد من یک ایستگاه هیدروگرافی (کد TOSnumber) را جستجو می کنم و تعداد کاما را می شمارم (به عنوان جدا کننده) که حاوی مقدار مورد نظر من است (و آن را به عنوان متغیر ذخیره کنید) ، سپس آن را به عنوان روشنایی led و زمان در میلی ثانیه برای چشمک زدن "سطح تنوع" تغییر دهید
هسته اصلی این تراشنده در برگه http است:
ind = payload.indexOf ("TOSstation_number")؛ // موقعیت (ind) را از کجا شروع به شمارش کاما کنید
رشته my_var = getValue_ind (بار ، '،' ، 8) ؛ // جایی که 8 سلول هشتم با کاما (جدا کننده) تعریف شده است
"محموله" چیزی است که من از وب دریافت می کنم قبلاً از "نقل قول" و "& nbsp" ؛
و تابع getValue_ind که در برگه اصلی قرار دارد
رشته getValue_ind (داده های رشته ، جدا کننده کاراکتر ، شاخص int) {
int پیدا شد = 0؛ int strIndex = {0 ، -1} ؛ int maxIndex = data.length () - 1؛ for (int i = ind؛ i <= maxIndex && found <= index؛ i ++) {// from ind position if (data.charAt (i) == جداکننده || i == maxIndex) {found ++؛ strIndex [0] = strIndex [1] + 1؛ strIndex [1] = (i == maxIndex)؟ i + 1: i ؛ }} بازگشت یافت شد> فهرست؟ data.substring (strIndex [0] ، strIndex [1]): ""؛ }
اقتباس از
کد هر 15 دقیقه صفحه را درخواست می کند ، حدود 44 کیلوبایت است ، فکر نمی کنم بار زیادی برای سرورها و ESP32 باشد. برای جلوگیری از پیمایش زیاد ، برنامه را در توابع مختلف تقسیم کرده ام ، نظرات را بخوانید
در اینجا چسباندن کد واقعا آشفته است … من فایل های.ino را مستقیماً قرار می دهم
من از ویژگی زبانه های arduino IDE استفاده کرده ام بنابراین فایل های.ino متفاوتی دارم
این آخرین نسخه کد است (؟) ، تلاش زیادی وجود دارد ، بنابراین من از هر پیشنهادی قدردانی می کنم!
- برای راستایی روشنایی led برای مقادیر کم ، - برای تابع "map" برای متغیرهای نقطه شناور - برای استفاده از هسته دوم در ESP32 ، - برای درک نحوه چاپ نامه html از یک رشته با sprintfI زمان واقعی زیادی را صرف کرده اید ، بنابراین نظرات مربوط به فایل های.ino یا github را بخوانید!
به عنوان تنظیمات بارگذاری ، من از ابزارها: طرح پارتیشن: NO OTA استفاده کرده ام تا فضای بیشتری برای این کد بزرگ داشته باشم
خوش بگذره
برای مشاهده کد در github اینجا را کلیک کنید
مرحله 2: نقشه
این آموزش بر روی کد ESP32 تمرکز دارد ، بنابراین می توانم فقط چند کلمه کلیدی ، پیوندها و ابزارهای مورد استفاده را به شما ارائه دهم:
خدمات عالی برای استخراج مناطق بردار از openstreetmap
- QGis "استیک" برای هضم آنها
- برای ساده سازی نقشه خود ، جدول ویژگی را جستجو کنید
- یک طرح چاپی ایجاد کنید و نقشه را با فرمت svg در قالب کاغذ A3 صادر کنید
- با تصویرگر "هموارتر" لذت ببرید
- آن را چاپ کنید
مرحله 3: مهمانی چسب داغ
بنابراین من می توانم پیشنهاد کنم که سوراخ های led و صفحه نمایش روی کاغذ را قبل از تعمیر روی صفحه چوب پنبه برش دهید
سیم کشی واقعا ساده است و توسط من بد انجام شده است: P
سطح لحیم کاری من: کبوتر
همانطور که از کد مشاهده می کنید ، led ها به پین های IO می روند
#تعریف LED_PIN0 14 // si #تعریف LED_PIN1 27 // بوون #تعریف LED_PIN2 16 // sass #تعریف LED_PIN3 17 // tur #تعریف LED_PIN4 25 // ist #تعریف LED_PIN5 26 // berr
برای درک ESP32 pinout را جستجو کنید
مرحله 4: محصول نهایی
بنابراین این عکس بهترین نیست ، اما وقتی سیلابی از رودخانه گرفتیم ، یک ویدیوی زیبا می گذارم!
توصیه شده:
چگونه: نصب Raspberry PI 4 Headless (VNC) با Rpi-imager و تصاویر: 7 مرحله (همراه با تصاویر)
چگونه: نصب Raspberry PI 4 Headless (VNC) با Rpi-imager و تصاویر: من قصد دارم از این Rapsberry PI در چندین پروژه سرگرم کننده در وبلاگم استفاده کنم. به راحتی آن را بررسی کنید. من می خواستم دوباره به استفاده از Raspberry PI بپردازم ، اما در مکان جدیدم صفحه کلید یا موس نداشتم. مدتی بود که من یک تمشک راه اندازی کردم
نمایش اسلاید تصاویر تعطیلات خود را با لمس سحر و جادو!: 9 مرحله (همراه با تصاویر)
نمایش اسلاید تصاویر خود را با لمس جادو! برای مطابقت با پرچم و موضوع کشوری که من از آن دیدن می کنم (در این مورد ، سیسیل). تی
تطبیق یک گوشی تلفن همراه با تلفن همراه: 7 مرحله (همراه با تصاویر)
انطباق یک گوشی تلفن همراه با یک تلفن همراه: توسط بیل ریو ([email protected]) اقتباس شده برای دستورالعمل ها توسط موس ([email protected]) سلب مسئولیت: روش شرح داده شده در اینجا ممکن است برای شما کارساز نباشد گرفتن. اگر کار نمی کند ، یا اگر چیزی را خراب می کنید ، m نیست
نحوه جدا کردن رایانه با مراحل و تصاویر آسان: 13 مرحله (همراه با تصاویر)
نحوه جدا کردن رایانه با مراحل و تصاویر آسان: این دستورالعمل نحوه جدا کردن رایانه است. اکثر اجزای اصلی ماژولار هستند و به راحتی حذف می شوند. با این حال مهم است که در مورد آن سازماندهی شده باشید. این به شما کمک می کند تا قطعات را از دست ندهید ، و همچنین باعث می شود دوباره سرهم کنید
ذخیره تصاویر برای انجام وظیفه: 4 مرحله (همراه با تصاویر)
ذخیره تصاویر برای انجام وظیفه: 1. یک سند جدید Google باز کنید و از این صفحه برای ایمن سازی تصاویر خود استفاده کنید. از ctrl (کنترل) و & quot؛ c & quot؛ کلید کپی کردن از ctrl (کنترل) و & quot؛ v & quot؛ کلید چسباندن