Агуулгын хүснэгт:

Хог хаягдлын систем: 7 алхам
Хог хаягдлын систем: 7 алхам

Видео: Хог хаягдлын систем: 7 алхам

Видео: Хог хаягдлын систем: 7 алхам
Видео: Лекция JADAM, часть 8. Брожение - это хорошо, а гниение - это плохо? Это критическая ложь. 2024, Арваннэгдүгээр
Anonim
Хог хаягдлын систем
Хог хаягдлын систем

Бид хог хаягдлыг илүү үр ашигтай болгохын тулд хөрш зэргэлдээх хорооллын хог хаягдлыг дүүргэх эсвэл хог хаягдал бүрт байгаа мэдрэгчийг хянах аргыг ашиглахаар шийдсэн. Хэрэв ачааны машин хоёр долоо хоног тутамд цуглуулга авахаар ирдэг бол би эсвэл хөрш маань жаахан л хаячихвал яана гэж бодсон. Ойр хавийн тал нь хогийн савыг бүрэн илгээгээгүй ачааны машин явуулах нь үр ашиггүй биш гэж үү? Хэрэв хөршийнхөө хог дүүрч, минийх дүүрсэн, хог нь хоосон байсан бол хогоо ашиглах боломжтой байвал үнэхээр сайхан байх болно. Бид энэхүү төслийг шийдвэрлэхийн тулд хэт авианы мэдрэгч HC-SR04-ийг бөөрөлзгөнө пи-ийн хамт ашиглахаар шийдсэн.

Хангамж

Хэт авианы мэдрэгч (HC-SR04)

Raspberry Pi (бид Pi 4 Model B -ийг ашигласан)

Талхны самбар

Холбогч кабель

Хос резистор (3 x 1k ом)

Алхам 1: HC-SR04-ийг холбох

HC-SR04-ийг холбож байна
HC-SR04-ийг холбож байна

Бид Raspberry Pi -г ашиглаж байгаа тул зөвхөн 3.3v -ийг зөвшөөрдөг тул Pi -ийн GPIO тээглүүрт орж буй хүчдэлийг зохицуулахын тулд хүчдэл хуваагчийг ашиглах хэрэгтэй. HC-SR04 нь 5V ашигладаг боловч үүнийг Pi-тэй холбохдоо 3.3V хүртэл бууруулах шаардлагатай. 5V ба газардуулгын зүүг тус тусад нь холбож, програмынхаа дагуу цуурай ба гох зүүг холбогдох зүү рүү холбоно уу. Манай програмд бид цуурай болон гохын хувьд 23 ба 24 -р зүүг тус тус ашигласан.

Алхам 2: Шумуул ба Пахо MQTT

Python дээр хэт авианы мэдрэгчийг Pi-тэй ажиллуулахын тулд програмчлахаасаа өмнө Node-RED програмчлалын програмтайгаа хэт авианы мэдрэгчийг холбохын тулд эдгээр програмуудыг суулгах хэрэгтэй. Mosquitto бол Pi дээр ашиглах боломжтой MQTT брокер бөгөөд Paho MQTT нь мэдрэгчийг MQTT брокертой холбогдохын тулд Python дээр код бичих боломжийг олгодог номын сан юм. Эдгээрийг хоёуланг нь суулгахын тулд эдгээр тушаалуудыг Pi терминал дээрээ бичнэ үү

sudo apt update

sudo apt install -y шумуул шумуул -үйлчлүүлэгчид

sudo apt-get python3-pip суулгана уу

sudo pip3 paho-mqtt суулгаарай

Алхам 3: Хэт авианы мэдрэгчийн Python програм

Энэ бол миний мэдрэгчээс ирж буй өгөгдлийг уншиж, MQTT брокер дээр нийтлэх програм юм.

Алхам 4: Node-RED

Зангилаа-УЛААН
Зангилаа-УЛААН
Зангилаа-УЛААН
Зангилаа-УЛААН
Зангилаа-УЛААН
Зангилаа-УЛААН
Зангилаа-УЛААН
Зангилаа-УЛААН

Зарим зангилаа програмд урьдчилан суулгаагүй тул та үүнийг палитраас суулгах хэрэгтэй болж магадгүй юм. Таны суулгах ёстой зүйл бол зангилаа-улаан самбар, зангилаа-улаан-зангилаа-sqlite юм.

Эндээс бид програмчлалын програм хангамж, мэдрэгчээ ашиглаж эхэлж байна. Танд хэрэгтэй анхны зангилаа бол MQTT-ийн зангилаа бөгөөд энэ програмыг дээрээс програмыг ажиллуулж буй мэдрэгчийг ашиглан энэ програм хангамж руу өгөгдөл илгээх боломжийг олгодог. Бидний ашигласан хүрээний зангилаа нь өөрт байгаа утгыг эргүүлнэ (өөрөөр хэлбэл програмаас 5см дүүрсэн тул бид үүнийг 100%эргүүлнэ). Хүрээний зангилааны дараа бид 2 функцын зангилаатай бөгөөд нэг нь манай самбарт мессежийг харуулах, нөгөө нь хог дүүрсэн болохыг харуулах болно. Функцийн зангилааны програмыг хавсаргав.

Боломжтой бол энэ урсгалыг олон хэт авианы мэдрэгч дээр ашиглах боломжтой болно. Төслийн хувьд бид илүү олон мэдрэгч дээр гараа авч чадаагүй тул симуляцийн өгөгдлийг хийх шаардлагатай болсон. Бидний хийсэн арга нь маш төстэй боловч хэрэглэгч товчлуур дээр дарж хог бүрийн 1-10 хувийг санамсаргүй байдлаар нэмж болно. Бид 2 товчлуурыг ашигласан бөгөөд нэг нь хог нэмж, нөгөө нь цэвэрлэв. Хэмжээ, мессеж, заагч нь хог хаягдлыг тоолох, тоолох кодын хувьд яг ижил хэвээр байгаа боловч арай өөр юм.

Алхам 5: Өгөгдлийг бүртгэх

Өгөгдлийг бүртгэх
Өгөгдлийг бүртгэх
Өгөгдлийг бүртгэх
Өгөгдлийг бүртгэх
Өгөгдлийг бүртгэх
Өгөгдлийг бүртгэх

Ачааны машин хогоо хоослохоор ирэхэд хог хэр их дүүрч байгааг бүртгэх нь зүйтэй гэж бид шийдсэн. Sqlite зангилааны тусламжтайгаар бид өгөгдлийг уншиж бичих боломжтой бөгөөд үүнийг Pi руу хадгалдаг. Та өмнө нь хэлсэнчлэн энэ зангилааг суулгах хэрэгтэй болно.

Өгөгдөл үүсгэх, бүртгэх алхамууд дараах байдалтай байна.

1. Мэдээллийн сан бүрдүүлэх

2. Өгөгдлийг бүртгэх

3. Манай хяналтын самбар дээр харуулах өгөгдлийг татаж аваарай

4. Өгөгдлийг арилгах, устгах

SQL -ийн ажиллах арга нь та хүснэгт үүсгэх, оруулах, оруулах, устгах, устгах гэсэн сэдвийг үүсгэх хэрэгтэй болно. Цагийн тэмдгийн зангилаа ашиглан бид эдгээр функц бүрийг хийдэг sqlite зангилааны сэдвүүдийг гүйцэтгэх боломжтой (үүсгэх, оруулах, сонгох, устгах). Бид зөвхөн нэг удаа мэдээллийн бааз үүсгэх хэрэгтэй бөгөөд үүнийг хийсний дараа бид өгөгдлийг бүртгэх боломжтой болно. Өгөгдлийн санг үүсгэсний дараа бид өгөгдлийг бүртгэж, ачааны машин ирэхэд хэрэглэгчийн оруулсан мэдээллийг дахин бүртгэдэг. Бид үүнийг хийсэн бөгөөд ингэснээр та ачааны машиныг оруулахыг зөвшөөрөх хүртэл өгөгдлийг бүртгэх боломжгүй болно, энэ нь 80% -ийн багтаамжтай 5 хог (бүрэн дүүрэн гэж тооцогддог) юм. Бид мөн хүрээний зангилааг ашиглан 500-г 0-100%болгон буцааж хуваарилав. Хэрэв бид хүсвэл мэдээллийн баазаас бүх өгөгдлийг устгах боломжтой. UI хүснэгтийн зангилаа нь хүснэгтийг манай самбар дээр сайхан форматаар харах боломжийг олгодог зангилаа юм.

Алхам 6: Байршил

Энэ бүхнийг дуусгасны дараа та Node-RED-ийн тусламжтайгаар хүссэн загвараа гаргах боломжтой болно. Хажуугийн таб дээр та хүссэн хэмжээгээрээ зай гаргах боломжтой бөгөөд өөр олон тохируулгын сонголтууд байдаг. Миний бүх хөтөлбөрийн урсгалыг бас хавсаргасан болно.

Алхам 7: Дүгнэлт

Энэ төслийг дуусгасны дараа бид хөтөлбөрийг цаашид өргөжүүлэх боломжтой газрууд бий. Бүртгэлийг автоматаар хийх аргыг би хэзээ ч олж чадаагүй, учир нь үүнийг хийх цорын ганц арга бол интервалаар бүртгэх явдал байсан бөгөөд хэрэв хогны машин нэг удаа ирвэл бидэнд дахин дугаар өгөх шаардлагагүй болно. Энэ нь бид програмчлалын хувьд илүү тохь тухтай байгаа тул үүнийг функциональ зангилаа, програмчлалаас ихээхэн хамааралтай болгохоор шийдсэнтэй холбоотой гэж би бодож байна. Бид хийж дууссаны дараа судалсны дараа бүх зүйлд зориулагдсан зангилаа байдаг нь ойлгомжтой байсан бөгөөд хэрэв бид өмнө нь switch болон rbe зангилааны функцийг олсон бол амьдралыг бүхэлд нь хөнгөвчлөх байсан. Түүнчлэн бид хэт авиан мэдрэгчийг ажиллуулж чадаагүй зангилаа байсан. Энэ нь бүх зүйлийг хөнгөвчлөх байсан, учир нь MQTT эсвэл Python програм шаардлагагүй, учир нь энэ нь зөвхөн гох ба цуурайтай зангилаа юм. Python програмыг дээр дурдсанчлан хийж, бид үүнийг шийдвэрлэхээр шийдсэн. Node-RED руу шумбахыг хүсч буй хэн бүхэнд өгөх хамгийн том зөвлөгөө бол урсгал бүр ажиллаж байгаа эсэхийг олж мэдэхийн тулд маш олон дибаг хийх цэгүүдийг ашиглаж, хүссэн/хэрэгтэй байгаа зүйлээ гаргаж өгөх ёстой.

Зөвлөмж болгож буй: