Cov txheej txheem:
- Kauj Ruam 1: Kauj Ruam 1: Kuv Yuav Xav Li Cas?
- Kauj Ruam 2: Kauj Ruam 2: Ua Database Schematic
- Kauj Ruam 3: Kauj Ruam 3: Coding
- Kauj Ruam 4: Kauj Ruam 4: Muab Al Code rau Kuv Raspberry Pi
- Kauj Ruam 5: Kauj Ruam 5: Ua Vaj Tsev
- Kauj Ruam 6: Kauj Ruam 6: Muab Txhua Yam Hauv Tsev
Video: Keysorter: 6 Cov kauj ruam
2024 Tus sau: John Day | [email protected]. Kawg hloov kho: 2024-01-30 09:29
Kuv tab tom kawm NMCT ntawm Howest. Rau peb lub semester kawg peb yuav tsum ua qhov project. Yog li kuv tau ua Keysorter.
Nws ua dab tsi?
Peb muaj ntau lub tsheb yuam sij hauv tsev thiab lawv txhua tus zoo ib yam. Yog li kuv tau ua Keysorter los daws qhov teeb meem no.
Nws yuav tsum luam theej tawm tus yuam sij ntawm RFID thiab muab nws tso rau hauv lub npov. Yog tias kuv luam theej tawm qhov tseem ceeb dua nws yuav qhia nws qhov chaw tau muab yav tas los. Kuj tseem muaj khawm los qhia lub tsheb ntxuav zaum kawg.
Qhov no yuav ua haujlwm ntawm Raspberry Pi uas tseem muaj qhov kev xaiv ntxiv lub vev xaib ntawm Flask.
Ntawm nplooj ntawv kuv yuav tsum tuaj yeem saib txhua tus yuam sij, ntxiv lub npe rau tus yuam sij thiab tshem tus yuam sij.
Kauj Ruam 1: Kauj Ruam 1: Kuv Yuav Xav Li Cas?
Kuv pib los ntawm kev sau cov npe ntawm cov khoom uas kuv yuav xav ua kom qhov no ua haujlwm.
Cheebtsam:
- Raspberry pib
- 2 x Hloov npe (74hc595)
- 3 x nub
- 9x coj led
- RFID scanner (MFRC522)
- 12 x resistor 220 ohm
Tom qab ntawd kuv muab tag nrho cov no tso rau hauv kuv qhov kev xav tsis zoo.
Thaum kuv ua tiav qhov no kuv tau ua hauv lub neej tiag tiag.
Kauj Ruam 2: Kauj Ruam 2: Ua Database Schematic
Txhawm rau txuag kuv cov ntaub ntawv Kuv yuav tsum tsim cov ntaub ntawv khaws cia uas tuaj yeem ua haujlwm ntawm kuv Pi.
Kuv ua nws hauv Mysql.
Tsheb rooj:
- Tsheb ID
- Tus neeg siv ID
- Hom (tsheb hom)
- Hom
- Xeem ntxuav
- Ntsiab
- RFID_ID
Kauj Ruam 3: Kauj Ruam 3: Coding
Thaum txhua yam no tau npaj txhij kuv tuaj yeem pib coding.
Kuv pib los ntawm kev ua tus lej rau kuv lub ntsuas pa hauv Python 3.5.
Txhawm rau rub cov cai nyem ntawm no.
Siv qhov txuas los clone qhov project.
Kauj Ruam 4: Kauj Ruam 4: Muab Al Code rau Kuv Raspberry Pi
Txhim kho pob khoom
Ua ntej kuv teeb tsa pob uas kuv xav tau los ua txoj haujlwm no.
kuv@kuv-rpi: ~ $ sudo apt hloov tshiab
kuv@kuv-rpi: ~ $ sudo apt install -y python3-venv python3-pip python3-mysqldb mysql-server uwsgi nginx uwsgi-plugin-python3
Ib puag ncig virtual
me@my-rpi: ~ $ python3 -m pip install-upgrade pip setuptools log virtualenvme@my-rpi: ~ $ mkdir project1 && cd project1 me@my-rpi: ~/project1 $ python3 -m venv --system- site-packages env me@my-rpi: ~/project1 $ source env/bin/activate (env) me@my-rpi: ~/project1 $ python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib
Tshaj tawm txoj haujlwm mus rau koj Pi siv pycharm
Qhib Pycharm thiab mus rau VCS> Ntshuam los ntawm Version Control> Github thiab clone kuv cov ntaub ntawv github.
Muab kev teeb tsa xa mus rau cov npe uas koj nyuam qhuav ua. (/tsev/kuv/project1). Nias thov!
Mus rau tus kws txhais lus teeb tsa thiab xaiv ib puag ncig virtual uas koj nyuam qhuav ua. (/tsev/kuv/project1/env/bin/pyhon)
Txheeb xyuas yog tias daim phiaj qhia kev raug.
Tam sim no koj tuaj yeem xa cov cai rau koj phau ntawv teev npe siv Pycharm.
Database
Txheeb xyuas yog tias lub chaw khaws ntaub ntawv khiav haujlwm. Koj yuav tsum tau txais qee yam zoo li no:
kuv@kuv -rpi: ~ $ sudo systemctl xwm txheej mysql ● mariadb.service - MariaDB database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled) Active: nquag (khiav) txij hnub 2018-06-03 09:41:18 CEST; 1 hnub 4 teev dhau los Lub ntsiab PID: 781 (mysqld) xwm txheej: "Siv koj li SQL thov tam sim no …" Cov Haujlwm: 28 (txwv: 4915) CGroup: /system.slice/mariadb.service └─781/usr/sbin/mysqld
Jun 03 09:41:13 my-rpi systemd [1]: Pib MariaDB database server… Jun 03 09:41:15 my-rpi mysqld [781]: 2018-06-03 9:41:15 4144859136 [Nco ntsoov] / usr/sbin/mysqld (mysqld 10.1.26-MariaDB-0+deb9u1) Jun 03 09:41:18 my-rpi systemd [1]: Pib MariaDB database server.
kuv@kuv -rpi: ~ $ ss -lt | grep mysql LISTEN 0 80 127.0.0.1:mysql *: *
Tsim cov neeg siv thiab ntxiv cov database
kuv@kuv-rpi: ~ $ sudo mariadb
ib zaug koj nyob hauv cov database ua qhov no.
Tsim tus neeg siv 'project1-admin'@'localhost' IDENTIFIED BY 'adminpassword'; Tsim tus neeg siv 'project1-web'@'localhost' IDENTIFIED BY 'webpassword'; Tsim tus neeg siv 'project1-sensor'@'localhost' IDENTIFIED BY 'sensorpassword';
CREATE DATABASE project1;
ZOO TSHAJ PLAWS YOOJ YIM RAU project1.* Rau 'project1-admin'@'localhost' NROG QHOV ZOO TSHAJ PLAWS; GRANT SELECT, INSERT, Hloov tshiab, Rho tawm ntawm qhov project1.* TO 'project1-web'@'localhost'; GRANT SELECT, INSERT, Hloov tshiab, Rho tawm ntawm qhov project1.* TO 'project1-sensor'@'localhost'; NTSEEG NTAWV QHOV TSEEB;
TABLETABLE `user` (` idUser` int (11) NOT NULL, `Password` varchar (45) DEFAULT NULL, PRIMARY KEY (` idUser`)) ENGINE = InnoDB DEFAULT CHARSET = utf8
CREATE TABLE `tsheb` (`idCar` int (11) NOT NULL AUTO_INCREMENT,` idUser` int (11) TSIS NULL, `Brand` varchar (45) DEFAULT NULL, `Type` varchar (45) DEFAULT NULL, `LastWashed ' datetime DEFAULT NULL, `RFID_Number` varchar (15) DEFAULT NULL,` Key `varchar (5) DEFAULT NULL, PRIMARY KEY (` idCar`, `idUser`), KEY` fk_Car_User1_idx` (`idUser`) KEYEEM KEY (`idUser`) REFERENCES` user` (`idUser`) ON DELETE NO ACTION ON UPDATE NO ACTION) ENGINE = InnoDB AUTO_INCREMENT = 4 DEFAULT CHARSET = utf8
Txuas koj lub database rau Pycharm
Nyem rau ntawm lub database database ntawm sab xis. Yog tias koj tsis muaj lub tab qhib ua qhov no: Saib> Tool Windows> Database.
Nyem ntxiv kev txuas. Xaiv Cov Ntaub Ntawv Qhov Chaw> MySQL (Yog tias muaj lub khawm rub tus tsav tsheb nias nws.)
Mus rau SSH/SSL thiab txheeb xyuas SSH. Sau koj li Raspberry pi cov ntaub ntawv pov thawj (tus tswv/tus siv/tus password). Chaw nres nkoj yuav tsum yog 22 thiab tsis txhob hnov qab txheeb xyuas tus lej cim.
Rov qab mus rau General. Tus tswv yuav tsum yog localhost thiab database yuav tsum yog qhov project1. Ua kom tiav daim ntawv pov thawj los ntawm qhov project1-admin en kuaj qhov txuas.
Yog tias qhov txuas tau zoo ces mus rau ntawm Schemas tab thiab paub tseeb tias qhov project1 raug tshuaj xyuas.
Xyuas seb lub database puas raug
kuv@kuv-rpi: ~ $ echo 'qhia ntxhuav;' | mysql project1 -t -u project1-admin -pEnter password: + --------------------------- + | Tables_in_project1 | + ---------------------------+ | sensor | Cov | cov neeg siv | +------------------------------+
Kho Cov Ntaub Ntawv
Hauv phau ntawv teev npe conf koj yuav pom 4 cov ntaub ntawv. Koj yuav tsum hloov cov npe siv rau koj lub npe siv.
Systemd
Txhawm rau pib txhua yam koj yuav tsum ua cov lus txib no.
kuv@kuv-rpi: ~/project1 $ sudo cp conf/project1-*. service/etc/systemd/system/
kuv@kuv-rpi: ~/project1 $ sudo systemctl daemon-reload kuv@my-rpi: ~/project1 $ sudo systemctl pib project1-* kuv@my-rpi: ~/project1 $ sudo systemctl xwm txheej project1-* ● project1- flask.service-uWSGI piv txwv los ua haujlwm project1 web interface Loaded: loaded (/etc/systemd/system/project1-flask.service; xiam oob qhab; tus muag khoom preset: enabled) Active: nquag (khiav) txij li hnub Monday 2018-06-04 13: 14:56 CEST; 1s dhau los PID tseem ceeb: 6618 (uwsgi) Cov Haujlwm: 6 (txwv: 4915) CGroup: /system.slice/project1-flask.service ├─6618/usr/bin/uwsgi --ini/home/me/project1/conf/ uwsgi-flask.ini ├─6620/usr/bin/uwsgi --ini /home/me/project1/conf/uwsgi-flask.ini ├─6621/usr/bin/uwsgi --ini/tsev/kuv/project1/ conf/uwsgi-flask.ini ├─6622/usr/bin/uwsgi --ini /home/me/project1/conf/uwsgi-flask.ini ├─6623/usr/bin/uwsgi --ini/tsev/kuv/ project1/conf/uwsgi-flask.ini └─6624/usr/bin/uwsgi --ini /home/me/project1/conf/uwsgi-flask.ini
Jun 04 13:14:56 my-rpi uwsgi [6618]: khij 383928 bytes (374 KB) rau 5 cores Jun 04 13:14:56 my-rpi uwsgi [6618]: *** Hom kev ua haujlwm: ua ntej ***
● project1-sensor.service-Project 1 sensor service Loaded: loaded (/etc/systemd/system/project1-sensor.service; neeg xiam oob khab; tus muag khoom preset: qhib) Active: nquag (khiav) txij hnub Monday 2018-06-04 13: 16:49 CEST; 5s dhau los Lub ntsiab PID: 6826 (nab nab) Cov Haujlwm: 1 (txwv: 4915) CGroup: /system.slice/project1-sensor.service └─6826/home/me/project1/env/bin/python/home/me/project1 /sensor/sensor.py
Jun 04 13:16:49 my-rpi systemd [1]: Pib Project 1 sensor pabcuam. Lub Rau Hli 04 13:16:49 kuv-rpi nab hab sej [6826]: DEBUG: _ lub ntsiab _: Txuag sensor txheej txheem_count = b'217 / n 'rau database Jun 04 13:16:55 my-rpi nab hab sej [6826]: DEBUG: _ main_: Txuag sensor process_count = b'218 / n 'rau database
nginx
kuv@kuv-rpi: ~/project1 $ ls -l/etc/nginx/sites-*
/etc/nginx/sites-available: tag nrho 4 -rw-r-r-- 1 lub hauv paus cag 2416 Lub Xya hli ntuj 12 2017 default
/etc/nginx/sites-enabled: total 0 lrwxrwxrwx 1 root root 34 Jan 18 13:25 default->/etc/nginx/sites-available/default
Txhawm rau ua txhua yam ua tiav ua cov lus txib no.
kuv@kuv-rpi: ~/project1 $ sudo cp conf/nginx/etc/nginx/sites-available/project1me@my-rpi: ~/project1 $ sudo rm/etc/nginx/sites-enabled/default me@my- rpi: ~/project1 $ sudo ln -s/etc/nginx/sites-available/project1/etc/nginx/sites-enabled/project1 me@my-rpi: ~/project1 $ sudo systemctl restart nginx.service
Pib dua
Cia peb paub tseeb tias txhua yam pib tau txais.
Mus rau kab ntawv conf thiab ua cov lus txib kawg no thiab koj ua tiav!
kuv@kuv-rpi: ~/project1 $ sudo systemctl pab kom project1-*
Yog tias koj rov pib dua koj Pi nws yuav tsum pib txiav.
Kauj Ruam 5: Kauj Ruam 5: Ua Vaj Tsev
Rov ua dua tshiab
Txhawm rau ua kuv lub tsev kuv siv lub txee qub uas kuv niam yuav rub tawm.
puag
Kuv pom 4 daim phiaj (34 cm x 26 cm). (yog li nws yog lub voos xwmfab ntawm 34 x 34 x 26).
Hauv qab kuv tau ntxiv ib daim ntoo ntoo ua hauv qab.
Board nrog coj
Hauv nruab nrab kuv tau muab 2 daim ntoo me me ntawm txhua sab ob ntawm 9 cm los ntawm sab saud. Qhov no tuav lub rooj tsavxwm uas tus coj yuav zaum.
Lub rooj tsavxwm nrog tus coj yog lub rooj tsavxwm me me (32 cm x 32 cm).
Kuv drilled 9 qhov rau cov coj kom tawm ntawm.
faib
Kuv tau faib ua cov khoom qub ib yam li hauv qab thiab pawg thawj coj nrog coj.
4 daim ib qho nrog qhov txhab ntawm 10.3 cm (9 cm x 31 cm). Tam sim no kuv tuaj yeem tso lawv ua ke.
Khawm thiab nyeem ntawv RFID
Kuv tau ua lub qhov hauv paus kom tso kuv li RFID nyeem ntawv thiab cov nyees khawm nkag rau. Rau RFID Kuv muab daim txiag nyias nyias tso rau pem hauv ntej kom nws zoo nkauj dua.
Kauj Ruam 6: Kauj Ruam 6: Muab Txhua Yam Hauv Tsev
Qhov no nyob ntawm seb koj xav ua nws li cas. Kuv tus kheej siv ntau txoj hlua tsis tas yuav siv dua vim kuv xav kom rov siv tau kuv li Raspberry Pi.
Kuv glued tus coj nyob rau hauv qhov chaw thiab kaw cov RFID nyeem ntawv thiab breadboards rau rooj plaub.
Thiab qhov no yog qhov koj ua tus Keysorter!
Pom zoo:
Hloov-Hloov Cov Khoom Ua Si: Cov Khoom Ua Si Cov Khoom Ua Si Ua Tau Zoo!: 7 Cov Kauj Ruam (nrog Duab)
Hloov-Hloov Cov Khoom Ua Si: Cov Khoom Siv Hluav Taws Xob Ua Tau Zoo!: Qho khoom ua si hloov pauv qhib txoj hauv kev tshiab thiab kev daws teeb meem kom tso cai rau menyuam yaus uas muaj lub cev muaj peev xwm txwv lossis kev xiam oos qhab kev loj hlob los cuam tshuam nrog cov khoom ua si ntawm nws tus kheej. Hauv ntau qhov xwm txheej, cov menyuam yaus uas xav tau cov khoom ua si hloov pauv tsis tuaj yeem nkag mus
Cov av noo noo Cov Lus Qhia Tswj Xyuas Internet Txuas Cov Dej Dej (ESP32 thiab Blynk): 5 Cov Kauj Ruam
Cov av noo noo Cov lus pom zoo Tswj Xyuas Internet Txuas Cov Dej Dej (ESP32 thiab Blynk): Tsis txhawj xeeb txog koj lub vaj lossis nroj tsuag thaum koj mus rau hnub so ntev, lossis tsis nco qab ywg dej koj cov nroj tsuag txhua hnub. Zoo ntawm no yog kev daws teeb meem Nws cov av ya raws tswj hwm thiab thoob ntiaj teb txuas nrog cov dej txau dej tswj los ntawm ESP32 ntawm software pem hauv ntej kuv
Ua Cov Phiaj Xwm Zoo Los Ntawm Cov Ntaub Ntawv Nyob Arduino (thiab Txuag Cov Ntaub Ntawv rau Excel): 3 Cov Kauj Ruam
Ua Cov Phiaj Xwm Zoo Los Ntawm Cov Ntaub Ntawv Nyob Arduino (thiab Txuag Cov Ntaub Ntawv rau Excel): Peb txhua tus nyiam ua si nrog peb tus lej L … cov ntsiab lus tau ntxiv thiab nws tsis tshwj xeeb rau lub qhov muag. Arduino IDE cov phiaj xwm tsis
Cov Ntawv Cim Hluav Taws Xob LED Taws Teeb Cov Neeg Hlau Cov Ntawv Cim - Cov Khoom Siv Soldering: 11 Kauj Ruam
Cov Khoom Siv Hluav Taws Xob LED Taws Teeb Cov Neeg Hlau Daim Npav - Cov Khoom Siv Soldering: Kab lus no tau txaus siab txhawb nqa los ntawm PCBWAY.PCBWAY ua cov qauv zoo PCBs rau tib neeg thoob plaws ntiaj teb. Sim nws rau koj tus kheej thiab tau txais 10 PCBs rau tsuas yog $ 5 ntawm PCBWAY nrog qhov ua tau zoo heev, Ua tsaug PCBWAY. Robadge#1 uas kuv tau tsim rau
Windows 7: Cov Ntsiab Lus Cov Ntawv Cov Khoom Tsis Muaj: 3 Cov Kauj Ruam
Windows 7: Cov Ntawv Qhia Cov Khoom Uas Tsis Muaj: Thaum twg los peb xaiv ntau dua 15 cov ntaub ntawv hauv Windows. qee yam khoom los ntawm cov ntawv qhia zaub mov ploj mus … Cov ntawv qhia no yuav qhia koj yuav ua li cas kom tau txais cov khoom ntawd rov qab los ntawm cov ntawv qhia zaub mov