فهرست مطالب:

سیستم زباله: 7 مرحله
سیستم زباله: 7 مرحله

تصویری: سیستم زباله: 7 مرحله

تصویری: سیستم زباله: 7 مرحله
تصویری: حل مشکل روشن نشدن کامپیوتر های رومیزی - Fix PC Problem 2024, نوامبر
Anonim
سیستم زباله
سیستم زباله

ما تصمیم گرفتیم راهی را برای ردیابی زباله های محلی یک محله یا یک حسگر در هر زباله در محله برای کارآمدتر دفن زباله ایجاد کنیم. ما فکر کردیم اگر هر دو هفته یک کامیون برای یک مجموعه بیاید ، چه می شود اگر من یا همسایه ام فقط کمی به بیرون پرتاب کنیم. آیا ارسال یک کامیون در جایی که نیمی از محله سطل های زباله کامل را ارسال نکرده باشد ، ناکارآمد نخواهد بود؟ اگر بتوان زباله های همسایه خود را پر کرد و اگر زباله من پر بود و زباله آنها خالی بود و برعکس ، از زباله های آنها استفاده کنیم ، بسیار خوب خواهد بود. ما تصمیم گرفتیم از سنسور اولتراسونیک ، HC-SR04 به همراه یک تمشک pi برای مقابله با این پروژه استفاده کنیم.

تدارکات

سنسور اولتراسونیک (HC-SR04)

Raspberry Pi (ما از Pi 4 مدل B استفاده کردیم)

تخته نان

کابل های بلوز

چند مقاومت (3 x 1k اهم)

مرحله 1: اتصال HC-SR04

اتصال HC-SR04
اتصال HC-SR04

از آنجا که ما از Raspberry Pi استفاده می کنیم ، باید از تقسیم کننده ولتاژ برای تنظیم ولتاژ ورودی به پایه های GPIO Pi استفاده کنیم زیرا آنها فقط 3.3v را مجاز می کنند. HC-SR04 از 5 ولت استفاده می کند اما هنگام اتصال آن به Pi باید به 3.3 ولت کاهش یابد. پین های 5 ولت و زمین را به ترتیب وصل کنید و طبق برنامه خود پین های اکو و ماشه را به پین های محترم وصل کنید. در برنامه ما به ترتیب از پین 23 و 24 برای اکو و ماشه استفاده کردیم.

مرحله 2: Mosquitto و Paho MQTT

قبل از شروع برنامه نویسی بر روی پایتون برای استفاده از سنسور اولتراسونیک با Pi ، باید این برنامه ها را نصب کنیم تا سنسور اولتراسونیک با نرم افزار برنامه نویسی ما Node-RED ارتباط برقرار کند. Mosquitto یک کارگزار MQTT است که می توانید در Pi از آن استفاده کنید در حالی که Paho MQTT کتابخانه ای است که به شما امکان می دهد در پایتون کدگذاری کنید تا حسگر با کارگزار MQTT ارتباط برقرار کند. برای نصب هر دوی این موارد ، باید این دستورات را در پایانه Pi خود تایپ کنید

به روز رسانی sudo apt

sudo apt install -y mosquitto mosquitto -client

sudo apt-get python3-pip را نصب کنید

sudo pip3 paho-mqtt را نصب کنید

مرحله 3: برنامه پایتون برای سنسور اولتراسونیک

این برنامه ای است که من برای خواندن داده های دریافتی از سنسور و همچنین انتشار آن برای کارگزار MQTT استفاده کردم.

مرحله 4: Node-RED

Node-RED
Node-RED
Node-RED
Node-RED
Node-RED
Node-RED
Node-RED
Node-RED

برخی از گره ها از قبل در برنامه نصب نمی شوند ، بنابراین ممکن است لازم باشد آن را از پالت ها نصب کنید. مواردی که باید نصب کنید عبارتند از node-red-dashboard و node-red-node-sqlite.

اینجاست که ما از نرم افزار برنامه نویسی و سنسور خود استفاده می کنیم. اولین گره مورد نیاز شما MQTT-in Node است که به ما اجازه می دهد از سنسور خود برای اجرای برنامه از بالا برای ارسال داده به این نرم افزار استفاده کنیم. گره محدوده ای که استفاده کردیم مقادیری را که داریم برمی گرداند (یعنی 5 سانتی متر از برنامه پر است ، بنابراین آن را به 100 ip برمی گردانیم). به دنبال گره محدوده ، 2 گره تابع داریم ، یکی برای نمایش پیام در داشبورد و دیگری برای نشان دادن تصویری از پر بودن زباله. برنامه گره های تابع پیوست شده است.

در صورت امکان ، این جریان می تواند برای چندین سنسور اولتراسونیک استفاده شود. با این حال ، برای پروژه ما مجبور به انجام داده های شبیه سازی شدیم زیرا نتوانستیم سنسورهای بیشتری را در دست بگیریم. روشی که ما این کار را انجام دادیم بسیار شبیه است اما دکمه هایی داریم که کاربر می تواند با کلیک روی آنها به طور تصادفی 1 تا 10 درصد زباله های هر یک از زباله ها را اضافه کند. ما از 2 دکمه استفاده کردیم ، یکی برای افزودن زباله و دیگری برای پاکسازی. اندازه گیری ، پیام ها و نشانگر هنوز دقیقاً مشابه کد شمارش هستند و شمارش زباله ها کمی متفاوت است.

مرحله 5: ثبت اطلاعات

ورود اطلاعات
ورود اطلاعات
ورود اطلاعات
ورود اطلاعات
ورود اطلاعات
ورود اطلاعات

ما تصمیم گرفتیم که وقتی کامیون برای خالی کردن زباله ها می آید ، میزان پر بودن زباله ها را وارد کنیم. با کمک گره sqlite می توانیم داده ها را بخوانیم و بنویسیم که آنها را نیز در Pi ذخیره می کند. شما باید این گره را همانطور که قبلاً گفتم نصب کنید.

مراحل ایجاد و ثبت داده ها به شرح زیر است:

1. ایجاد پایگاه داده

2. داده ها را ثبت کنید

3. داده ها را بکشید تا در داشبورد ما نشان داده شود

4. داده ها را پاک و حذف کنید

نحوه عملکرد SQL این است که شما باید موضوعی را اجرا کنید که عبارتند از CREATE TABLE ، INSERT INTO ، SELECT FROM و DELETE FROM. با استفاده از گره های timestamp می توانیم موضوعات را در گره sqlite اجرا کنیم که هر یک از این عملکردها را انجام می دهد (ایجاد ، درج ، انتخاب و حذف). ما فقط باید یکبار پایگاه داده را ایجاد کنیم و پس از انجام آن می توانیم داده ها را به آن وارد کنیم. پس از ایجاد پایگاه داده ، می توانیم داده ها را وارد کنیم و هنگام ورود کامیون دوباره از ورودی کاربر برای ورود به سیستم استفاده می کنیم. ما آن را طوری تنظیم کرده ایم که تا زمانی که کامیون مجاز به آمدن نباشد که دارای 5 زباله با 80٪ ظرفیت (کامل در نظر گرفته شده) نمی توانید اطلاعات را وارد کنید. ما همچنین مجدداً از گره محدوده برای مقیاس 500 به 0 تا 100 درصد استفاده کردیم. در صورت تمایل ، می توانیم همه داده ها را از پایگاه داده حذف کنیم. گره جدول UI یک گره است که به ما اجازه می دهد جدول را به صورت قالب بندی شده زیبا در داشبورد خود ببینیم.

مرحله 6: چیدمان

پس از اتمام همه اینها ، می توانید طرح مورد نظر خود را با کمک Node-RED ایجاد کنید. در برگه کناری شما می توانید آنها را به هر نحوی که دوست دارید قرار دهید و گزینه های سفارشی سازی بیشتری نیز در اختیار دارید. همچنین جریان من برای کل برنامه من ضمیمه شده است.

مرحله 7: نتیجه گیری

پس از اتمام این پروژه ، مناطقی وجود دارد که می توانیم شاهد پیشرفت بیشتر برنامه باشیم. من هرگز راهی برای انجام خودکار ورود به سیستم پیدا نکردم زیرا تنها راهی که می توانستیم انجام دهیم این بود که در فاصله زمانی وارد سیستم شود و اگر یک بار کامیون زباله بیاید به هیچ شماره تکراری احتیاج نداریم. من فکر می کنم این تا حدی به این دلیل است که چگونه تصمیم گرفتیم آن را به گره های عملکرد و برنامه نویسی وابسته کنیم ، زیرا ما با آن برنامه نویسی راحت تر هستیم. پس از کاوش پس از اتمام کار ، مشخص شد که گره هایی برای همه چیز ساخته شده است و اگر عملکرد گره های سوئیچ و rbe را زودتر بیابیم می تواند زندگی را بسیار ساده تر کند. همچنین یک گره برای سنسورهای اولتراسونیک ساخته شده بود که ما کار نکردیم. این کار را آسان تر می کرد زیرا نیازی به MQTT یا برنامه پایتون وجود نداشت زیرا فقط یک گره با ماشه و پین های اکو است. ما تصمیم گرفتیم که با ایجاد برنامه پایتون همانطور که در بالا دیدید ، در مورد آن کار کنیم. یک نکته مهم برای هرکسی که می خواهد در Node-RED غوطه ور شود این است که شما باید از تعداد زیادی گره اشکال زدایی استفاده کنید تا بفهمید آیا هر جریان در حال کار است و آنچه شما می خواهید/نیاز دارید را تولید می کند.

توصیه شده: