Mundarija:

Axlat tizimi: 7 qadam
Axlat tizimi: 7 qadam

Video: Axlat tizimi: 7 qadam

Video: Axlat tizimi: 7 qadam
Video: ЖИГАР касалининг 10та белгилари 2024, Noyabr
Anonim
Axlat tizimi
Axlat tizimi

Biz chiqindilar chiqindilarini yanada samaraliroq qilish uchun mahalla aholisining axlat yig'ilishini kuzatishni yoki mahalladagi har bir axlatdagi sensorni kuzatishga qaror qildik. Biz yuk mashinasi har ikki haftada yig'ish uchun kelsa, men yoki qo'shnim ozgina tashlab yuborsa nima bo'ladi, deb o'yladik. Mahallaning yarmi axlat qutilarini to'liq yubormagan yuk mashinasini yuborish samarasiz bo'larmidi? Agar qo'shnimizning axlatini to'ldirishini ko'rish, agar meniki to'lgan bo'lsa, ularniki bo'sh bo'lsa, aksincha ularning axlatini ishlatish mumkin bo'lsa yaxshi bo'lardi. Biz ushbu loyihani hal qilish uchun HC-SR04 ultratovush sensori va malina pi bilan birgalikda foydalanishga qaror qildik.

Ta'minotlar

Ultrasonik sensor (HC-SR04)

Raspberry Pi (biz Pi 4 Model B dan foydalanganmiz)

Non paneli

Jumper kabellari

Bir necha rezistorlar (3 x 1k ohm)

1-qadam: HC-SR04-ni ulash

HC-SR04 ulanishi
HC-SR04 ulanishi

Biz Raspberry Pi -dan foydalanayotganimiz uchun, biz faqat 3.3v ga ruxsat bergani uchun, Pi -ning GPIO pimlariga kiradigan kuchlanishni tartibga solish uchun kuch ajratgichdan foydalanishimiz kerak. HC-SR04 5V dan foydalanadi, lekin uni Pi ga ulashda 3.3V ga tushirish kerak. O'z navbatida 5V va topraklama pimlarini ulang va sizning dasturingizga binoan hurmatli pimlarga echo va tetik pinlarini ulang. Bizning dasturimizda mos ravishda echo va tetik uchun 23 va 24 -pinlardan foydalanilgan.

2 -qadam: Mosquitto va Paho MQTT

Ultrasonik sensorni Pi bilan ishlash uchun Python-da dasturlashni boshlashdan oldin, biz Node-RED dasturiy ta'minoti bilan aloqa qilish uchun ultrasonik sensorni olish uchun ushbu ilovalarni o'rnatishimiz kerak. Mosquitto - bu MQTT vositachisi, siz uni Pi -da ishlatishingiz mumkin, Paho MQTT - bu sensorni MQTT brokeri bilan bog'lanish uchun Python -da kodlash imkonini beradigan kutubxona. Ularning ikkalasini ham o'rnatish uchun siz Pi terminaliga ushbu buyruqlarni kiritasiz

sudo apt yangilash

sudo apt install -y chivin chivin -mijozlari

sudo apt-get python3-pip ni o'rnating

sudo pip3 paho-mqtt ni o'rnating

3 -qadam: Ultrasonik sensor uchun Python dasturi

Bu men sensordan kelgan ma'lumotlarni o'qish va MQTT brokeriga nashr qilish uchun ishlatgan dastur.

4-qadam: tugun-RED

Qizil tugun
Qizil tugun
Qizil tugun
Qizil tugun
Qizil tugun
Qizil tugun
Qizil tugun
Qizil tugun

Ba'zi tugunlar dasturda oldindan o'rnatilmagan, shuning uchun uni palitralardan o'rnatish kerak bo'ladi. O'rnatish kerak bo'lganlar tugun-qizil asboblar paneli va tugun-qizil-tugun-sqlite.

Bu erda biz dasturiy ta'minot va sensordan foydalanishni boshlaymiz. Sizga kerak bo'lgan birinchi tugun-bu MQTT-in tugunidir va bu bizga dasturni yuqoridan boshqaruvchi sensordan foydalanib, ushbu dasturiy ta'minotga ma'lumotlarni yuborish imkonini beradi. Biz qo'llagan diapazon tugunlari bizda mavjud bo'lgan qiymatlarni o'zgartiradi (ya'ni 5 sm dasturdan to'lgan, shuning uchun biz uni 100%ga buramiz). Diapazon tugunidan keyin bizda ikkita funktsional tugun bor, biri xabarni asboblar paneliga, ikkinchisi esa axlat to'lganligini ko'rsatadi. Funktsiya tugunlari uchun dastur biriktirilgan.

Iloji bo'lsa, bu oqim bir nechta ultrasonik sensorlar uchun ishlatilishi mumkin edi. Ammo bizning loyihamiz uchun biz simulyatsiya ma'lumotlarini olishimiz kerak edi, chunki biz qo'llarimizni boshqa datchiklar bilan ta'minlay olmadik. Biz qilgan usul juda o'xshash, lekin bizda har bir axlatga axlatning 1-10 foizini tasodifiy qo'shish uchun foydalanuvchi bosadigan tugmalar mavjud. Biz ikkita tugmani ishlatdik, biri axlat qo'shish uchun, ikkinchisi tozalash uchun. Ko'rsatkich, xabarlar va indikator hali ham axlatni hisoblash va hisobga olish kodi bilan bir xil bo'lsa -da, bir oz boshqacha.

5 -qadam: ma'lumotlarni ro'yxatga olish

Jurnal ma'lumotlari
Jurnal ma'lumotlari
Jurnal ma'lumotlari
Jurnal ma'lumotlari
Jurnal ma'lumotlari
Jurnal ma'lumotlari

Yuk mashinasi chiqindilarni bo'shatish uchun kelganida, axlat qanchalik to'lganligini yozib qo'yish yaxshi bo'lardi, deb qaror qildik. Sqlite tuguni yordamida biz ma'lumotlarni o'qish va yozish imkoniyatiga egamiz, bu uni Pi ga saqlaydi. Siz ilgari aytganimdek, bu tugunni o'rnatishingiz kerak bo'ladi.

Ma'lumotlarni yaratish va ro'yxatga olish bosqichlari quyidagicha:

1. Ma'lumotlar bazasini yarating

2. Ma'lumotlarni qayd qiling

3. Ma'lumotlar panelida ko'rsatish uchun ma'lumotlarni torting

4. Ma'lumotlarni tozalash va o'chirish

SQL -ning ishlash usuli shundaki, siz "JADVALNI YO'ZLASH", "INSERT INO", "SELECT FROM" va "DELETE FROM" mavzularini bajarishingiz kerak. Vaqt tamg'asi tugunlari yordamida biz har bir funktsiyani bajaradigan (yaratish, kiritish, tanlash va o'chirish) sqlite tuguniga mavzularni bajarishimiz mumkin. Ma'lumotlar bazasini faqat bir marta yaratishimiz kerak va uni tugatgandan so'ng biz unga ma'lumotlarni kiritishimiz mumkin. Ma'lumotlar bazasi yaratilgandan so'ng, biz ma'lumotlarni yozib olamiz va yuk mashinasi kelganda tizimga kirish uchun foydalanuvchi ma'lumotlarini qayta ishlatardik. Biz shunday qildikki, siz yuk mashinasiga ruxsat berilmaguncha ma'lumotlarni kirita olmaysiz - 80% sig'imdagi 5 ta axlat (to'liq deb hisoblanadi). Shuningdek, biz 500 tugmachasini 0-100%gacha qayta o'lchash uchun diapazon tugunidan foydalandik. Agar xohlasak, bizda ma'lumotlar bazasidan barcha ma'lumotlarni o'chirish imkoniyati bor. UI jadval tuguni - bu jadvalni asboblar panelida yaxshi formatlangan tarzda ko'rishimizga imkon beradigan tugun.

6 -qadam: tartib

Bularning barchasi tugagandan so'ng, siz Node-RED yordamida kerakli sxemani yaratishingiz mumkin. Yon varaqda siz xohlaganingizcha bo'sh joy qoldirishingiz mumkin va sizda moslashtirishning boshqa variantlari mavjud. Mening butun dasturim uchun oqimim ham biriktirilgan.

7 -qadam: Xulosa

Ushbu loyihani tugatgandan so'ng, biz dasturni yanada rivojlantirishni ko'rishimiz mumkin bo'lgan joylar bor. Men hech qachon jurnalni avtomatik ravishda yozib olishning yo'lini topa olmadim, chunki biz buni faqat vaqt oralig'ida yozishimiz mumkin edi va agar axlat mashinasi bir marta kelgan bo'lsa, bizga boshqa raqamlar kerak bo'lmaydi. O'ylaymanki, bu qisman biz uni funktsional tugunlarga va dasturlashga bog'liq qilishga qaror qilganimiz bilan bog'liq, chunki biz bu dasturlashda qulayroqmiz. Tugatganimizdan so'ng, hamma narsa uchun tugunlar borligi aniq edi va agar biz ilgari kalit va rbe tugunlari funktsiyasini topgan bo'lsak, hayotni ancha osonlashtirishi mumkin edi. Ultrasonik sensorlar uchun biz ishlab chiqmagan tugun ham bor edi. Bu ishni osonlashtirgan bo'lar edi, chunki MQTT yoki Python dasturiga hojat qolmasdi, chunki bu faqat tetik va echo pinlari bo'lgan tugun. Biz yuqorida ko'rib turganingizdek Python dasturini tuzib, uning ustida ishlashga qaror qildik. Node-RED-ga kirishni istaganlar uchun katta maslahat shundaki, siz har bir oqim ishlayotganini va kerakli/kerakli narsani chiqarayotganini aniqlash uchun ko'plab disk raskadrovka tugunlaridan foydalanishingiz kerak.

Tavsiya: