Cov txheej txheem:

Tsis siv neeg lub tshuab nqus dej kom taug qab Kev Siv: 6 Cov Kauj Ruam
Tsis siv neeg lub tshuab nqus dej kom taug qab Kev Siv: 6 Cov Kauj Ruam

Video: Tsis siv neeg lub tshuab nqus dej kom taug qab Kev Siv: 6 Cov Kauj Ruam

Video: Tsis siv neeg lub tshuab nqus dej kom taug qab Kev Siv: 6 Cov Kauj Ruam
Video: 1 tsug 13 hnub _part#2_phees lauj fullmusic MV 2022-2023 2024, Hlis ntuj nqeg
Anonim
Tsis siv neeg lub tshuab nqus dej kom taug qab Kev Siv
Tsis siv neeg lub tshuab nqus dej kom taug qab Kev Siv
Tsis siv neeg lub tshuab nqus dej kom taug qab Kev Siv
Tsis siv neeg lub tshuab nqus dej kom taug qab Kev Siv

Nyob zoo!

Ob peb lub hlis dhau los, Kuv nyob hauv kuv chav xav txog qhov haujlwm zoo uas kuv xav ua rau lub luag haujlwm hauv tsev kawm ntawv. Kuv xav ua qee yam uas haum kuv thiab uas yuav muaj txiaj ntsig rau kuv yav tom ntej. Dheev, kuv niam nkag mus hauv chav thiab pib yws txog qhov tsis haus dej txaus. Kuv tam sim ntawd muaj epiphany. Lub tswv yim tuaj rau kuv los ua lub tshuab tso dej tsis siv neeg (zoo li hauv cov yeeb yaj kiab ua yeeb yam) uas taug qab koj cov dej haus txhua hnub.

Nrog Raspberry Pi, ob peb lub ntsuas cua, lub twj tso kua mis, thiab kev paub me ntsis, Kuv tau sim ua qhov no kom zoo li sai tau.

Thaum kawg ntawm tag nrho cov kauj ruam, koj yuav muaj lub qhov dej ua haujlwm uas ntim koj lub raj mis thiab txuas thiab cuam tshuam nrog koj li Raspberry Pi. Tsis yog koj yuav tuaj yeem taug qab koj cov dej siv los ntawm qhov feem pua, tab sis koj kuj tseem tuaj yeem pom qhov ntsuas kub thiab qib dej ntawm koj lub taub ntim dej. Thaum kawg, koj yuav tuaj yeem tshawb xyuas koj cov txheeb cais. Yog tias lub suab no nthuav rau koj, nco ntsoov xyuas nws thiab sim koj tus kheej!

GitHub chaw cia khoom:

Khoom siv

Microcontrollers

Raspberry Pi 4

Sensors thiab modules

Kuv siv 4 sensors:

2xHC-SR04Ultrasonic Sensor

Ultrasonic sensors ntsuas qhov nrug los ntawm kev siv ultrasonic nthwv dej. Lub taub hau lub taub hau tso tawm ib nthwv dej ultrasonic thiab tau txais cov nthwv dej rov qab los ntawm lub hom phiaj. Ultrasonic Sensors ntsuas qhov nrug mus rau lub hom phiaj los ntawm kev ntsuas lub sijhawm nruab nrab ntawm kev tso tawm thiab txais tos. Kuv siv ob ntawm lawv los tshuaj xyuas yog tias muaj lub raj mis nyob ze thiab ntsuas qhov deb ntawm cov dej hauv lub tank.

Cov ntaub ntawv

1x DS18B20 Kub Sensor

DS18B20 yog 1-xaim programmable Kub sensor los ntawm maxim ua ke. Nws tau siv dav los ntsuas qhov kub hauv ib puag ncig ib puag ncig zoo li hauv kev siv tshuaj lom neeg, cov mines lossis av thiab lwm yam Kuv tau siv nws los ntsuas qhov ntsuas dej ntawm lub tank dej.

Cov ntaub ntawv

1x RC522 RFID Module

RC522 yog 13.56MHz RFID module uas yog raws MFRC522 tus tswj los ntawm NXP semiconductors. Tus qauv tuaj yeem txhawb nqa I2C, SPI thiab UART thiab ib txwm xa nrog daim npav RFID thiab tus yuam sij fob. Nws yog feem ntau siv hauv kev koom nrog kev ua haujlwm thiab lwm tus neeg/cov ntawv thov cim qhia tus kheej. Hauv qhov haujlwm no, nws tau siv rau tus cim/tus lej nkag mus.

Cov ntaub ntawv

Thiab 2 tus actuators:

1x Peristaltic Pump 12-24V

Kuv siv lub twj tso kua mis peristaltic kom tau cov dej los ntawm lub tank mus rau lub raj mis dej. Feem ntau cov twj tau qeeb dhau, yog li kuv tau mus rau 24V version uas kuv tau siv nrog 24V lub zog hloov pauv.

1x LCD Zaub

LCD siv los tso saib tus IP chaw nyob thiab cov lus tseem ceeb. Cov kua siv lead ua kua (LCD) yog lub vaj huam sib luag tiaj tiaj lossis lwm yam khoom siv hluav taws xob hloov kho qhov muag uas siv lub teeb pom kev hloov pauv ntawm cov kua ua kua ua ke nrog cov tshuaj polarizers.

Cov ntaub ntawv

Casing

Hais txog lub casing, Kuv tau ua DIY nrog cov khoom siv los ntawm Lub Tsev Muag Khoom (hauv kuv qhov xwm txheej Brico hauv Belgium). Kuv siv plywood uas kuv txiav rau qhov loj me. Kuv yuav tham txog yuav ua li cas kuv ua kuv cov ntaub ntawv hauv cov kauj ruam ntxiv, tab sis ntawm no yog yam uas koj xav tau:

  • 3 x Plywood
  • 1x Me funnel
  • 1x Dej tank (koj tuaj yeem xaiv qhov twg koj xav tau, kuv mus rau 10L)
  • 1x Drip tais

Koj tuaj yeem pom txhua yam khoom siv thiab tus nqi hauv BOM txuas.

Kauj Ruam 1: Txuas Txhua Lub Tshuab Hluav Taws Xob

Txuas Txhua Lub Tshuab Hluav Taws Xob
Txuas Txhua Lub Tshuab Hluav Taws Xob
Txuas Txhua Lub Tshuab Hluav Taws Xob
Txuas Txhua Lub Tshuab Hluav Taws Xob

Tam sim no peb tau suav tag nrho cov khoom siv hluav taws xob, nws yog lub sijhawm los txuas lawv. Kuv tau ua ob daim phiaj Fritzing, ib lub khob cij thiab ib lub tswv yim, los qhia koj li cas thiab txhua qhov khoom siv hluav taws xob yuav tsum txuas nrog li cas. Koj tuaj yeem pom qhov rub tawm txuas rau Fritzing ntawm no: https://fritzing.org/download/. Raws li tau hais ua ntej, Kuv tau siv Raspberry Pi thiab txuas nrog lub tshuab ntsuas RFID, ob lub ntsuas hluav taws xob, ib lub ntsuas kub, LCD thiab lub twj tso kua mis peristaltic rau dej.

Kuv txuas ob lub voj voog hauv PDF, yog tias koj xav ua tib zoo saib nws.

Kauj Ruam 2: Teeb Kho Raspberry Pi

Peb yuav siv peb Raspberry Pi los khiav thiab tswj txhua yam: backend, frontend thiab database.

Raspberry Pi tsis ua haujlwm ib txwm. Peb yuav tau mus dhau qee qib los pib siv nws.

Kauj ruam 1: Raspbian

Yog tias koj siv hom tshiab Raspberry Pi, koj yuav xav tau raspbian. Qhov txuas txuas thiab nyeem tau tuaj yeem pom ntawm no.

Kauj ruam 2: Sau daim duab rau SD

Tam sim no koj muaj koj tus duab Raspbian, koj yuav xav tau software sau duab (Kuv pom zoo win32diskimager) los sau cov ntawv ua duab rau SD card. Daim ntawv qhia tag nrho tuaj yeem pom ntawm no.

Kauj ruam 3: Nkag mus rau hauv Raspberry Pi

Qhib "Powershell" thiab ntaus "ssh [email protected]". Yog tias txhua yam mus tau zoo, lawv yuav nug koj txog tus password (tus lej zais tsis raug yog ib txwm raspberry). Feem ntau, qhov no yuav tsum teev koj rau hauv Raspberry Pi. Tam sim no peb yuav tsum tau hloov qee yam rau peb cov chaw. Ntaus sudo raspi-config hauv lub davhlau ya nyob twg thiab nias nkag mus. Nkag mus rau cov kev xaiv hauv ib cheeb tsam> hloov chaw sijhawm thiab teeb nws rau koj lub sijhawm. Koj tseem yuav tsum hloov koj lub tebchaws wi-fi rau koj tus kheej. Thaum kawg, mus rau kev xaiv cuam tshuam thiab pab kom SPI, I2C thiab 1-xaim. Qhov no yuav yog qhov tseem ceeb los siv cov ntsuas kom raug.

Kauj Ruam 4: Teeb Kev Sib Txuas Internet

Peb yuav siv WiFi network. Koj tuaj yeem ntxiv koj lub network hauv tsev los ntawm:

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

Koj yuav tsum tau rov pib dua koj Pi kom ua kev sib txuas. Txhawm rau txheeb xyuas seb nws ua haujlwm, koj tuaj yeem siv ifconfig los tshuaj xyuas seb puas muaj tus IP chaw nyob.

Kauj ruam 5: Teeb tsa lub vev xaib thiab Database

Ua ntej, nws yog qhov zoo tshaj los hloov kho thiab txhim kho cov kab ke nrog cov hauv qab no ntawm cov lus txib:

  1. sudo apt dist-upgrade -auto-tshem -y
  2. sudo apt hloov tshiab
  3. sudo apt hloov tshiab
  4. sudo apt tshem tawm autoremove

Thaum qhov no ua tiav, peb yuav xav tau cov pob hauv qab no rau peb lub vev xaib thiab chaw khaws ntaub ntawv:

Apache

sudo apt nruab apache2 -y

PHP

sudo apt nruab php

sudo apt nruab phpMyAdmin -y

Tsis txhob hnov qab teeb tsa tus password MySQL ruaj ntseg, thaum nws thov teeb tus password.

MariaDB

sudo apt nruab mariadb-server mariadb-client -y

sudo apt nruab php -mysql -y

sudo systemctl rov pib dua apache2.service

Kauj Ruam 6: Txhim Kho Python cov tsev qiv ntawv

Rau cov backend, peb yuav xav tau qee lub tsev qiv ntawv rau Python. Peb yuav teeb tsa cov no siv pip3, vim tias peb siv python3.

pip3 nruab mysql-connector-python

pip3 nruab flask-socketio

pip3 nruab flask-cors

pip3 nruab gevent

pip3 nruab gevent-websocket

sudo apt nruab python3 -mysql.connector -y

pip3 nruab mfrc522! (peb yuav xav tau qhov no los siv RFID scanner)

Kauj Ruam 7: Npaj Visual Studio Code

Rau kev ua raws txoj cai, Kuv pom zoo siv Visual Studio Code txhawm rau txuas koj li Raspberry Pi rau. Qhov rub tawm txuas rau nruab VSC tuaj yeem pom ntawm no.

Yog tias koj tsis muaj Kev Txhim Kho Chaw Taws Teeb tau teeb tsa siv SSH tsis tau, koj tuaj yeem pom cov kauj ruam los ua qhov no ntawm no.

Kauj Ruam 3: Tsim Database

Tsim cov Database
Tsim cov Database

Peb yuav khaws tag nrho peb cov ntaub ntawv ntsuas thiab cov ntaub ntawv siv hauv cov ntaub ntawv khaws tseg.

Kuv lub database muaj 5 cov ntxhuav:

Ntaus ntawv

Table Table muaj DeviceID, uas hais txog lub cuab yeej nws tus kheej. DeviceName muab lub npe ntawm lub cuab yeej, hauv qhov no ultrasonic sensor, ntsuas kub, … DeviceType muab hom ntaus ntawv (sensor lossis tus ua haujlwm).

Keeb Kwm

Cov Keeb Kwm Keeb Kwm muaj tag nrho cov cim keeb kwm yav dhau, suav nrog de date (HistoryDate) keeb kwm tau ntxiv thiab tus nqi ntawm lub sijhawm tam sim no hauv keeb kwm. Nws tseem muaj ob Txoj Cai Txawv Tebchaws:

  • DeviceID, txhawm rau txuas lub cav tshwj xeeb rau lub Ntaus Ntawv
  • UserID, txhawm rau txuas tus neeg siv tshwj xeeb rau lub cav (qhov no yog vim peb siv RFID, thiab peb xav ntxiv keeb kwm cav rau ib tus neeg siv tshwj xeeb)

Tus neeg siv

Cov Neeg Siv Cov Lus tau siv los tsim Tus Neeg Siv Tus ID nkag mus nrog RFID scanner. Nws suav nrog Npe Npe, Npe Npe, Xeem Npe, Tus Kheej thiab RFID (qhov no yog tus lej RFID ntawm ib daim ntawv). Txhua tus neeg siv tau txuas nrog Lub Thawv (lub tank dej) thiab tseem nqa lub Thawv ID ua Tus Ntsiab Lus Txawv Tebchaws.

Thawv

Cov Thawv Ntim muaj tag nrho cov thawv sib txawv. Nws muaj tus ID, Lub Thawv Thauj Khoom (qhov no tuaj yeem yog kev lag luam, hauv tsev lossis lwm yam). Thaum kawg, nws muaj MaxLevel uas sawv cev rau qhov ntim ntau tshaj plaws uas lub ntim muaj.

Chaw

Cov Rooj Teeb muaj Cov Chaw ID, thiab taug qab DailyGoal ntawm txhua tus neeg siv + hnub tim uas DailyGoal tau ntxiv los ntawm tus neeg siv. Qhov no piav qhia Qhov Txawv Tebchaws Txawv Tebchaws Siv Tus ID.

Ib qho pov tseg ntawm cov ntaub ntawv tuaj yeem pom hauv kuv GitHub chaw cia khoom hauv qab Database.

Kauj ruam 4: Teem Up Backend

Tsis muaj ib qhov haujlwm yam tsis muaj backend ua haujlwm.

Lub backend muaj 4 yam sib txawv:

pab

Cov pab yog txhua chav kawm siv rau qhov sib txawv sensors thiab tus ua haujlwm. Muaj tus pab ntsuas kub (DS18B20), rau lub ntsuas hluav taws xob ultrasonic (HCSR05) kom tuaj yeem ntsuas qhov nrug deb thiab rau LCD kom tuaj yeem sau cov lus rau lub vijtsam.

cov chaw cia khoom

Hauv cov chaw khaws ntaub ntawv, koj yuav pom 2 Cov ntaub ntawv sej:

  • Database.py uas yog tus pabcuam kom tau txais kab ntawm koj cov ntaub ntawv. Nws ua kom yooj yim dua rau kev ua thiab nyeem cov ntaub ntawv.
  • DataRepository.py uas muaj tag nrho cov lus nug SQL, uas tau siv hauv cov cai tseem ceeb (app.py). Lawv tau siv los txais, hloov kho lossis tshem tawm cov ntaub ntawv los ntawm lub hauv paus.

app.py ua

Nov yog tus lej backend tseem ceeb ntawm txoj haujlwm. Nws ua qhov teeb tsa los ntawm kev txheeb xyuas txhua tus pins thiab hom thiab muaj cov cai rau ua kom lub twj tso kua mis ua haujlwm, ua kom sov, tau txais tus neeg siv thiab lwm yam. Nws kuj tseem muaj txoj hauv kev tau siv los khaws cov ntaub ntawv los ntawm Database thiab txhua lub socketio.on's. Rau txhua nplooj ntawv HTML yog qhov sib txawv socketio.on kom ntseeg tau tias txhua txoj haujlwm ua haujlwm tau raws lub sijhawm.

config.py

Peb muaj ib daim ntawv tseem tshuav: config.py. Nov yog cov ntaub ntawv nrog kev teeb tsa xaiv los txuas nrog koj Cov Database. Tsis txhob hnov qab teeb tsa koj li ntaub ntawv pov thawj Database.

Cov backend tuaj yeem pom hauv kuv lub chaw cia khoom hauv qab Backend.

Kauj Ruam 5: Teeb tsa Frontend

Kev teeb tsa lub Frontend
Kev teeb tsa lub Frontend
Kev teeb tsa lub Frontend
Kev teeb tsa lub Frontend

Txog rau Frontend, Kuv tau pib los ntawm kev tsim qauv ntawm yam kuv lub vev xaib yuav tsum zoo li hauv AdobeXD. Kuv tau siv cov xim hauv kuv lub Logo, uas yog txiv kab ntxwv thiab 2 qhov sib txawv ntawm xiav. Kuv sim ua kom tus qauv tsim tau yooj yim li sai tau thiab tsim cov dej tso dej uas qhia qhov feem pua ntawm qhov koj tau ua tiav koj lub hom phiaj ntawm hnub ntawd.

Hauv kuv qhov GitHub chaw cia khoom, koj yuav pom kuv Frontend hauv qab Code> Frontend. Nws yog ib qho tseem ceeb uas koj muab qhov no tso rau hauv koj /var /html nplaub tshev ntawm koj Raspberry Pi kom ua tau zoo los ntawm lub vev xaib.

Nws suav nrog ob peb ntawm HTML cov ntaub ntawv, uas ua rau nplooj ntawv sib txawv. Koj tseem yuav pom kuv lub vijtsam.css nrog txhua tus CSS koj yuav xav ua kom zoo li kuv qhov project. Thaum kawg, Koj yuav muaj cov ntaub ntawv JavaScript sib txawv hauv cov ntawv. Cov ntawv sau no sib tham nrog kuv lub backend los qhia cov ntaub ntawv los ntawm kuv Cov Database lossis backend.

Lub backend tuaj yeem pom hauv kuv lub chaw cia khoom nyob hauv Frontend.

Kauj Ruam 6: Tsim Cov Casing

Tsim Cov Casing
Tsim Cov Casing
Tsim Cov Casing
Tsim Cov Casing
Tsim Cov Casing
Tsim Cov Casing

Yog tias peb tab tom tham txog kuv rooj plaub, muaj ob ntu tseem ceeb:

Sab nraum casing

Kuv ua rooj plaub los ntawm kos. Kuv siv cov ntoo plywood thiab pom lawv hauv qhov loj me. Kuv ntswj tag nrho cov phiaj ntoo ua ke thiab ua qhov dej nqus rau lub LCD, lub pob, lub ntsuas hluav taws xob ultrasonic txhawm rau txheeb xyuas seb puas muaj lub raj mis watter tam sim no thiab lub raj xa dej kom faib cov dej. Kuv tau faib kuv cov ntaub ntawv mus rau ntu sib txawv kom cov dej thiab cov khoom siv hluav taws xob sib cais thiab kuv siv lub tais tais los tiv thaiv cov hlua los ntawm cov dej xau. Hauv cov vis dis aus txuas nrog, koj tuaj yeem pom feem ntau ntawm kuv lub casing thiab kuv yuav ua li cas. Kuv kuj 3D luam tawm ib lub pob, uas yog glued rau ib txwm khawm. Thaum kawg, Kuv tau siv lub tais tso dej kom ntes tau txhua qhov dej ntws. Kuv kuj siv hinges tuaj yeem qhib thiab kaw ib sab vaj huam sib luag los saib kuv cov khoom siv hluav taws xob. Koj ib txwm tuaj yeem siv lub tshuab xa khoom thib ob lossis koj tseem tuaj yeem siv lwm cov ntaub ntawv.

Txog qhov ntsuas tseeb ntawm kuv ua, kuv txuas PDF nrog txhua qhov ntau thiab tsawg ntawm cov phiaj siv hauv rooj plaub.

Lub taub dej

Lub tank dej tsis yog txoj haujlwm yooj yim. Kuv tau txais lub taub dej nrog lub qhov nyob hauv qab, yog li kuv yuav tsum kaw nws kom tsis txhob xau. Koj yuav xav tau plaub qhov: ib qho rau qhov ntsuas kub, ib qho rau tubing ntawm koj lub twj tso kua mis. ib qho rau cov raj kom rov ua dua lub tank thiab ib qho rau lub ntsuas hluav taws xob ultrasonic. Txog qhov kawg no, Kuv 3D luam tawm rooj plaub rau nws, uas tuaj yeem pom ntawm no. Qhov no ua rau lub sensor tiv thaiv dej ntau dua. Tom qab ntawd kuv drilled lub duab plaub nyob rau sab saum toj ntawm lub tank, kom so lub sensor rau.

Pom zoo: