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

Автомат ус түгээгч нь хэрэглээг хянах: 6 алхам
Автомат ус түгээгч нь хэрэглээг хянах: 6 алхам

Видео: Автомат ус түгээгч нь хэрэглээг хянах: 6 алхам

Видео: Автомат ус түгээгч нь хэрэглээг хянах: 6 алхам
Видео: Как проверить генератор. За 3 минуты, БЕЗ ПРИБОРОВ и умений. 2024, Долдугаар сарын
Anonim
Хэрэглээгээ хянах автомат ус түгээгч
Хэрэглээгээ хянах автомат ус түгээгч
Хэрэглээгээ хянах автомат ус түгээгч
Хэрэглээгээ хянах автомат ус түгээгч

Сайн байна уу!

Хэдэн сарын өмнө би сургуулийнхаа даалгаварт ямар төсөл хийхийг хүсч байгаагаа бодож өрөөндөө сууж байлаа. Би өөртөө тохирсон, ирээдүйд ашиг тустай зүйл хийхийг хүсч байсан. Гэнэт ээж өрөөнд орж ирээд хангалттай ус уухгүй байна гэж гомдоллож эхлэв. Би тэр даруй эпифани хийлээ. Таны усны хэрэглээг өдөр бүр хянадаг автомат ус түгээх төхөөрөмж (кино театрт байдаг шиг) хийх санаа надад төрсөн.

Raspberry Pi, цөөн тооны мэдрэгч, насос, мэдлэг багатай тул би үүнийг аль болох сайн болгохыг хичээсэн.

Бүх алхамуудын төгсгөлд та усны саваа дүүргэж, таны Raspberry Pi -тэй холбогддог, ажилладаг ус түгээгчтэй болно. Та усны хэрэглээг зөвхөн хувиар тооцохоос гадна усны савны температур, усны түвшинг харах боломжтой болно. Эцэст нь та өөрийн статистикийг шалгах боломжтой болно. Хэрэв энэ нь танд сонирхолтой санагдаж байвал заавал үзээрэй, өөрөө туршаад үзээрэй!

GitHub репозитор:

Хангамж

Микроконтроллерууд

Raspberry Pi 4

Мэдрэгч ба модуль

Би 4 мэдрэгч ашигласан:

2xHC-SR04 Хэт авианы мэдрэгч

Хэт авианы мэдрэгч нь хэт авианы долгион ашиглан зайг хэмждэг. Мэдрэгчийн толгой нь хэт авианы долгион ялгаруулж, зорилтот газраас туссан долгионыг хүлээн авдаг. Хэт авианы мэдрэгч нь ялгаралт ба хүлээн авах хоорондох хугацааг хэмжих замаар зорилтот хүртэлх зайг хэмждэг. Би тэдний хоёрыг ашиглан ойролцоох шил байгаа эсэхийг шалгаж, савны ус хүртэлх зайг хэмжсэн.

Мэдээллийн хуудас

1х DS18B20 температур мэдрэгч

DS18B20 бол 1 утастай програмчлагдах температур мэдрэгч бөгөөд хамгийн дээд хэмжээнд нэгтгэгдсэн болно. Энэ нь химийн уусмал, уурхай, хөрс гэх мэт хатуу орчинд температурыг хэмжихэд өргөн хэрэглэгддэг бөгөөд үүнийг усны савны усны температурыг хэмжихэд ашигладаг байсан.

Мэдээллийн хуудас

1x RC522 RFID модуль

RC522 нь NXP хагас дамжуулагчийн MFRC522 хянагч дээр суурилсан 13.56MHz RFID модуль юм. Модуль нь I2C, SPI, UART -ийг дэмждэг бөгөөд ихэвчлэн RFID карт, түлхүүрийн фобоор дагалддаг. Энэ нь ирцийн систем болон бусад хүн/объектыг таних програмд ихэвчлэн хэрэглэгддэг. Энэ төсөлд үүнийг таних/нэвтрэх системд ашигладаг.

Мэдээллийн хуудас

Мөн 2 идэвхжүүлэгч:

1х Перисталтик насос 12-24V

Би перисталтик насос ашиглан савнаас усыг усны сав руу авав. Ихэнх шахуургууд хэт удаан байсан тул би 24V хүчдэлийн адаптераар ажилладаг 24V хувилбарыг сонгосон.

1х LCD дэлгэц

LCD нь IP хаяг болон чухал мессежүүдийг харуулахад ашиглагддаг. Шингэн болор дэлгэц (LCD) нь туйлшруулагчтай хослуулсан шингэн талстын гэрэл зохицуулах шинж чанарыг ашигладаг хавтгай самбар эсвэл бусад электрон модульчлагдсан оптик төхөөрөмж юм.

Мэдээллийн хуудас

Суултын яндан

Суултын яндангийн тухай ярихдаа би гэрийн агуулахаас авсан хэрэгслээр DIY хийсэн (миний хувьд Бельгийн Брико). Би фанерыг өөрийн хүссэн хэмжээгээр хайчилж авсан. Би дараагийн алхамдаа хэргийг хэрхэн яаж хийсэн тухай ярих болно, гэхдээ танд хэрэгтэй зүйлүүд энд байна.

  • 3x фанер банз
  • 1х Жижиг юүлүүр
  • 1х Усны сав (та хүссэн хэмжээгээрээ сонгож болно, би 10л явсан)
  • 1х дуслын тавиур

Та хавсаргасан Монголбанкнаас бүх материал, үнийг олох боломжтой.

Алхам 1: Бүх цахилгаан хэрэгслийг холбох

Бүх цахилгаан хэрэгслийг холбох
Бүх цахилгаан хэрэгслийг холбох
Бүх цахилгаан хэрэгслийг холбох
Бүх цахилгаан хэрэгслийг холбох

Одоо бид бүх электроникийг нэгтгэн дүгнэсэн тул тэдгээрийг холбох цаг болжээ. Би бүх цахилгаан хэрэгслийг хаана, хэрхэн холбох ёстойг харуулахын тулд нэг Fritzing хэлхээ, нэг талх, нэг схем хийв. Та Fritzing -ийг татаж авах линкийг эндээс олж болно: https://fritzing.org/download/. Өмнө дурьдсанчлан би Raspberry Pi ашиглаж, RFID сканнер, хоёр хэт авианы мэдрэгч, нэг температур мэдрэгч, LCD болон перисталтик насосыг усанд холбосон.

Хэрэв та үүнийг нарийвчлан үзэхийг хүсч байвал би хоёр хэлхээг PDF хэлбэрээр хавсаргав.

Алхам 2: Raspberry Pi -ийг тохируулах

Бид Raspberry Pi -г ашиглан арын хэсэг, урд талын хэсэг, мэдээллийн сан бүхий л зүйлийг ажиллуулж, хянана.

Raspberry Pi автоматаар ажилладаггүй. Үүнийг ашиглаж эхлэхийн тулд бид зарим алхмуудыг хийх шаардлагатай болно.

Алхам 1: Raspbian

Хэрэв та цоо шинэ Raspberry Pi ашиглаж байгаа бол танд raspbian хэрэгтэй болно. Татаж авах линк болон хичээлийг эндээс олж болно.

Алхам 2: Зургийг SD дээр бичих

Одоо танд Raspbian дүрс байгаа тул зургийн файлыг SD карт руу бичихийн тулд танд зураг бичих програм хэрэгтэй болно (win32diskimager -ийг санал болгож байна). Бүрэн гарын авлагыг эндээс олж болно.

Алхам 3: Raspberry Pi руу нэвтрэх

"Powershell" -ийг нээгээд "ssh [email protected]" гэж бичнэ үү. Хэрэв бүх зүйл зөв хийгдсэн бол тэд танаас нууц үг асуух болно (үндсэн нууц үг нь үргэлж бөөрөлзгөнө байдаг). Ихэвчлэн энэ нь таныг Raspberry Pi -д оруулах ёстой. Одоо бид тохиргоондоо зарим өөрчлөлт оруулах шаардлагатай болно. Терминал дээр sudo raspi-config гэж бичээд enter дарна уу. Локалчлалын сонголтууд руу очиж> цагийн бүсийг өөрчилж, цагийн бүсдээ тохируулна уу. Та мөн wi-fi улсаа өөрийн байршилд өөрчлөх хэрэгтэй. Эцэст нь интерфэйсийн сонголтууд руу очиж SPI, I2C болон 1 утастай болно. Мэдрэгчийг зөв ашиглах нь чухал юм.

Алхам 4: Интернет холболтыг тохируулах

Бид WiFi сүлжээг ашиглах болно. Та гэрийн сүлжээгээ дараах байдлаар нэмж болно.

wpa_passphrase "YourNetwork" "YourSSID" >> /etc/wpa_supplicant/wpa_supplicant.conf

Холболт хийхийн тулд та Pi -гээ дахин ачаалах хэрэгтэй болно. Ажилласан эсэхийг шалгахын тулд ifconfig ашиглан IP хаяг байгаа эсэхийг шалгаж болно.

Алхам 5: Вэб сервер болон мэдээллийн баазыг тохируулах

Нэгдүгээрт, дараах тушаалуудыг ашиглан системийг шинэчлэх, шинэчлэх нь дээр.

  1. sudo apt dist-upgrade --auto-remove -y
  2. sudo apt upgrade
  3. sudo apt update
  4. sudo apt устгах

Үүнийг хийсний дараа манай вэб сервер болон мэдээллийн санд дараах багцууд хэрэгтэй болно.

Apache

sudo apt install apache2 -y

PHP

sudo apt php суулгаарай

sudo apt суулгах phpMyAdmin -y

Нууц үг оруулахыг хүссэн тохиолдолд аюулгүй MySQL нууц үгээ тохируулахаа бүү мартаарай.

MariaDB

sudo apt install mariadb-server mariadb-client -y

sudo apt суулгах php -mysql -y

sudo systemctl apache2.service -ийг дахин эхлүүлнэ үү

Алхам 6: Python номын санг суулгах

Арын хэсэгт бидэнд Python -ийн зарим номын сан хэрэгтэй болно. Бид эдгээрийг pip3 ашиглан суулгана, учир нь бид python3 ашиглаж байна.

pip3 mysql-connector-python суулгана уу

pip3 колбо-сокетийг суулгана уу

pip3 колбо-корс суурилуулна

pip3 gevent суулгах

pip3 gevent-websocket суулгах

sudo apt install python3 -mysql.connector -y

pip3 mfrc522 суулгаарай! (RFID скан хийгчийг ашиглахын тулд бидэнд энэ хэрэгтэй болно)

Алхам 7: Visual Studio кодыг бэлтгэх

Кодыг ажиллуулахын тулд би Raspberry Pi -г холбохын тулд Visual Studio кодыг ашиглахыг зөвлөж байна. VSC суулгах татаж авах линкийг эндээс олж болно.

Хэрэв танд SSH ашиглан Remote Development суулгаагүй байгаа бол үүнийг хийх алхмуудыг эндээс олж болно.

Алхам 3: Мэдээллийн сан үүсгэх

Мэдээллийн сан үүсгэх
Мэдээллийн сан үүсгэх

Бид мэдрэгчийн бүх өгөгдөл, хэрэглэгчийн өгөгдлийг мэдээллийн санд хадгалах болно.

Миний мэдээллийн сан 5 хүснэгтээс бүрдэнэ.

Төхөөрөмж

Хүснэгтийн төхөөрөмж нь DeviceID -тэй бөгөөд энэ нь төхөөрөмжийг өөрөө зааж өгдөг. DeviceName нь төхөөрөмжийн нэрийг өгдөг бөгөөд энэ тохиолдолд хэт авианы мэдрэгч, температур мэдрэгч,… DeviceType нь төхөөрөмжийн төрлийг (мэдрэгч эсвэл идэвхжүүлэгч) өгдөг.

Түүх

Хүснэгтийн түүх нь бүх мэдрэгчийн түүхийг багтаасан бөгөөд он сар өдрийг (HistoryDate) түүхийг нэмж оруулсан бөгөөд түүхэн дэх тухайн үеийн үнэ цэнийг агуулдаг. Энэ нь бас хоёр гадаад түлхүүртэй:

  • DeviceID, тодорхой бүртгэлийг төхөөрөмжид холбох
  • UserID, тодорхой хэрэглэгчийг лог руу холбохын тулд (энэ нь бид RFID ашигладаг бөгөөд түүхийн бүртгэлийг тодорхой нэг хэрэглэгчид нэмэхийг хүсдэг)

Хэрэглэгч

Table User нь RFID сканнер ашиглан хэрэглэгчийн нэвтрэх системийг бий болгоход хэрэглэгддэг. Энэ нь хоч, нэр, овог, нууц үг, RFID -ээс бүрдэнэ (энэ нь шошгоны RFID дугаар юм). Хэрэглэгч бүр Контейнер (усны сав) -тай холбогддог бөгөөд ContainerID -ийг гадаад түлхүүр болгон авч явдаг.

Сав

Ширээний контейнер нь бүх төрлийн савнаас бүрдэнэ. Энэ нь ID, ContainerLocation (энэ нь аж ахуйн нэгж, байшин эсвэл бусад зүйл байж болно). Эцэст нь энэ нь MaxLevel -тэй бөгөөд энэ нь савны хамгийн их эзэлхүүнийг илэрхийлдэг.

Тохиргоо

Хүснэгтийн тохиргоо нь SettingsID -тэй бөгөөд хэрэглэгч бүрийн DailyGoal + хэрэглэгч DailyGoal нэмсэн огноог хянадаг. Энэ нь Гадаад түлхүүр хэрэглэгчийн ID -ийг тайлбарлаж байна.

Өгөгдлийн сангийн овоолгыг мэдээллийн сан дахь миний GitHub репозитороос олж болно.

Алхам 4: Арын хэсгийг тохируулах

Ажлын ар талгүй төсөл гэж байдаггүй.

Арын хэсэг нь 4 өөр зүйлээс бүрдэнэ.

туслахууд

Туслагч бол янз бүрийн мэдрэгч, идэвхжүүлэгчид ашигладаг бүх ангиуд юм. Температур мэдрэгч (DS18B20), хэт авианы мэдрэгч (HCSR05) нь зайг хэмжих, LCD дэлгэц дээр мессеж бичих чадвартай туслагч байдаг.

агуулах

Репозиторуудын фолдерт та 2 Python файлыг олох болно.

  • Database.py нь таны мэдээллийн баазаас мөрүүдийг гаргахад туслах болно. Энэ нь мэдээллийн санг ажиллуулах, уншихад хялбар болгодог.
  • Үндсэн кодонд (app.py) ашиглагддаг бүх SQL асуулгыг агуулсан DataRepository.py. Тэдгээрийг өгөгдлийн сангаас мэдээлэл авах, шинэчлэх эсвэл устгахад ашигладаг.

app.py

Энэ бол төслийн үндсэн арын код юм. Энэ нь бүх тээглүүр, горимыг тодорхойлох замаар тохиргоог хийдэг бөгөөд насосыг ажиллуулах, температур авах, хэрэглэгчийг авах гэх мэт кодыг агуулдаг. Энэ нь өгөгдлийн сан болон socketio.on -ийн бүх өгөгдлийг авахад ашигладаг маршрутуудыг агуулдаг. HTML хуудас бүрийн хувьд өөр өөр socketio.on нь функц бүр зөв цагт ажиллаж байгаа эсэхийг шалгаарай.

config.py

Бидэнд нэг файл үлдсэн байна: config.py. Энэ бол таны мэдээллийн баазтай холбогдох тохиргооны сонголтууд бүхий файл юм. Өгөгдлийн сангийнхаа итгэмжлэлийг тохируулахаа бүү мартаарай.

Арын хэсгийг миний арын хэсэгт Backend дээрээс олж болно.

Алхам 5: Frontend -ийг тохируулах

Frontend -ийг тохируулж байна
Frontend -ийг тохируулж байна
Frontend -ийг тохируулж байна
Frontend -ийг тохируулж байна

Frontend -ийн хувьд би AdobeXD дээр вэб сервер маань ямар байх ёстой вэ гэдгийн загварыг гаргаж эхэлсэн. Би өөрийн логоны улбар шар, 2 өөр цэнхэр өнгийн өнгийг ашигласан. Би дизайныг аль болох энгийн байлгахыг хичээж, тухайн өдрийн зорилгоо хэр зэрэг биелүүлсэнийг харуулсан усны дусал үүсгэсэн.

Миний GitHub репозитороос та миний Frontend -ийг Code> Frontend хэсэгт олох болно. Үүнийг вэб серверээс ашиглах боломжтой болгохын тулд үүнийг Raspberry Pi -ийн /var /html фолдерт оруулах нь чухал юм.

Энэ нь өөр өөр хуудас руу хөтөлдөг хэд хэдэн HTML файлуудаас бүрдэнэ. Та миний screen.css -ийг миний төсөл шиг харагдуулахын тулд шаардлагатай бүх CSS -тэй хамт олох болно. Эцэст нь, скриптүүдийн дор өөр JavaScript файлууд байх болно. Эдгээр скриптүүд нь миний өгөгдлийн сан эсвэл арын хэсгийн өгөгдлийг харуулахын тулд миний арын хэсэгтэй харилцдаг.

Арын хэсгийг Frontend -ийн доорх миний репозитороос олж болно.

Алхам 6: Бүрхүүлийг бий болгох

Бүрхүүлийг бий болгох
Бүрхүүлийг бий болгох
Бүрхүүлийг бий болгох
Бүрхүүлийг бий болгох
Бүрхүүлийг бий болгох
Бүрхүүлийг бий болгох

Хэрэв бид миний хэргийн талаар ярьж байгаа бол хоёр үндсэн хэсэг байна.

Суултын яндангийн гадна талд

Би хэргийг эхнээс нь бүтээсэн. Би фанер банз ашиглаж, зөв хэмжээгээр хөрөөдөж байсан. Би бүх банзыг шургуулж, усны сав байгаа эсэх, ус түгээх юүлүүр байгаа эсэхийг тодорхойлохын тулд LCD, товчлуур, хэт авианы мэдрэгчийг нүхлэв. Би ус, цахилгаан хэрэгслийг тусад нь байлгахын тулд хэргийг янз бүрийн хэсэгт хувааж, кабелийг ус алдагдахаас хамгаалахын тулд кабелийн тавиур ашигласан. Хавсаргасан видеоноос миний бүрхүүлийн ихэнх талыг, хэрхэн яаж хийснийг харж болно. Би бас энгийн товчлуур дээр наасан товчлуурыг 3D хэвлэсэн. Эцэст нь би дуслын тавиураар асгарсан бүх усыг барьж авлаа. Би мөн электроникуудаа харахын тулд хажуугийн самбарыг нээж, хаах боломжтой болохын тулд нугас ашигласан. Та үргэлж хоёрдогч гаргагч эсвэл бусад материалыг ашиглаж болно.

Миний бүтээсэн нарийн хэмжээсийг хийхийн тулд би хайрцагт ашигласан хавтангийн бүх хэмжээтэй PDF файлыг хавсаргав.

Усны сав

Усны сав нь тийм ч амар ажил биш байсан. Би ёроолд нь нүхтэй усны сав авсан тул алдагдлыг зогсоохын тулд соронзон хальсны тусламжтайгаар бэхлэх шаардлагатай болсон. Танд дөрвөн нүх хэрэгтэй болно: нэг нь температур мэдрэгч, нөгөө нь насосны хоолой. нэг нь танкийг дүүргэх хоолойд, нөгөө нь хэт авианы мэдрэгчид зориулагдсан. Энэ сүүлчийнх нь хувьд би 3D хайрцгийг эндээс олж болно. Энэ нь мэдрэгчийг уснаас илүү хамгаална. Дараа нь би мэдрэгчийг асаахын тулд савны дээд хэсэгт тэгш өнцөгт өрөмдсөн.

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