Orodha ya maudhui:

Kifunguo: Hatua 6
Kifunguo: Hatua 6

Video: Kifunguo: Hatua 6

Video: Kifunguo: Hatua 6
Video: Русские горки - 9-12 серии драма 2024, Julai
Anonim
Kifunguo
Kifunguo
Kifunguo
Kifunguo

Hivi sasa ninasoma NMCT huko Howest. Kwa muhula wetu wa mwisho ilibidi tufanye mradi. Kwa hivyo nilitengeneza Keysorter.

Inafanya nini?

Tuna funguo nyingi za gari nyumbani na zote zinafanana. Kwa hivyo nilifanya Keysorter kutatua suala hili.

Inapaswa kukagua ufunguo kupitia RFID na kuipatia nafasi kwenye sanduku. Nikitafuta tena ufunguo huo huo itaonyesha mahali alipopewa hapo awali. Pia kuna kitufe cha kuonyesha gari la mwisho lililooshwa.

Hii itaendeshwa kwenye Raspberry Pi ambayo pia ina chaguo la kuongeza ukurasa wa wavuti kupitia Flask.

Kwenye ukurasa nitaweza kuangalia vitufe vyote, ongeza jina kwenye ufunguo na uondoe kitufe.

Hatua ya 1: Hatua ya 1: Je! Nitahitaji Nini?

Hatua ya 1: Je! Nitahitaji Nini?
Hatua ya 1: Je! Nitahitaji Nini?
Hatua ya 1: Je! Nitahitaji Nini?
Hatua ya 1: Je! Nitahitaji Nini?

Nilianza kwa kutengeneza orodha ya vifaa ambavyo nitahitaji kufanya jambo hili lifanye kazi.

Vipengele:

  • Raspberry pi
  • 2 x Rejista ya Shift (74hc595)
  • 3 x kifungo
  • 9 x kijani iliyoongozwa
  • Skana ya RFID (MFRC522)
  • 12 x resistor 220 ohm

Kisha nikaweka haya yote katika skimu yangu ya fritzing.

Mara tu hii ilimalizika niliifanya katika maisha halisi.

Hatua ya 2: Hatua ya 2: Kutengeneza Mpangilio wa Hifadhidata

Hatua ya 2: Kutengeneza Mpangilio wa Hifadhidata
Hatua ya 2: Kutengeneza Mpangilio wa Hifadhidata

Ili kuokoa data zangu zote ilibidi nitengeneze hifadhidata ambayo inaweza kuendesha kwenye Pi yangu.

Niliifanya huko Mysql.

Gari la mezani:

  • Kitambulisho cha gari
  • Kitambulisho cha Mtumiaji
  • Chapa (chapa ya gari)
  • Andika
  • Mara ya mwisho kuoshwa
  • Muhimu
  • RFID_ID

Hatua ya 3: Hatua ya 3: Usimbuaji

Hatua ya 3: Usimbuaji
Hatua ya 3: Usimbuaji

Wakati haya yote yalikuwa tayari ningeweza kuanza kuweka alama.

Nilianza kwa kutengeneza nambari ya sensorer yangu katika Python 3.5.

Ili kupakua nambari bonyeza hapa.

Tumia kiunga kuiga mradi.

Hatua ya 4: Hatua ya 4: Kuweka Al Kanuni kwenye Raspberry Pi yangu

Kufunga vifurushi

Kwanza niliweka vifurushi vyote nilivyohitaji kufanya kazi hii.

mimi @ my-rpi: ~ $ sudo apt update

mimi @ my-rpi: ~ $ sudo apt install -y python3-venv python3-pip python3-mysqldb mysql-server uwsgi nginx uwsgi-plugin-python3

Mazingira halisi

me @ my-rpi: ~ $ python3 -m pip install - kuboresha pip setuptools gurudumu virtualenvme @ my-rpi: ~ $ mkdir project1 && cd project1 me @ my-rpi: ~ / project1 $ python3 -m venv --system- pakiti za wavuti 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-kontakt-python passlib

Pakia mradi kwenye Pi yako ukitumia pycharm

Fungua Pycharm na uende kwa VCS> Ingiza kutoka kwa Udhibiti wa Toleo> Github na ushikilie faili yangu ya github.

Weka usanidi wa kupelekwa kwenye saraka uliyotengeneza tu. (/ nyumbani / mimi / mradi1). Bonyeza kuomba!

Nenda kwenye mipangilio ya mkalimani na uchague mazingira halisi ambayo umetengeneza tu. (/ nyumbani / mimi / mradi1 / env / bin / pyhon)

Angalia ikiwa ramani ya njia ni sahihi.

Sasa unaweza kupakia nambari kwenye saraka yako ukitumia Pycharm.

Hifadhidata

Angalia ikiwa hifadhidata inaendesha. Unapaswa kupata kitu kama hiki:

me @ my-rpi: ~ $ sudo systemctl hadhi mysql ● mariadb.service - Seva ya hifadhidata ya MariaDB Imepakiwa: imebeba (/lib/systemd/system/mariadb.service; imewezeshwa; upangaji wa muuzaji: umewezeshwa) Inatumika: inafanya kazi (inaendesha) tangu Jua 2018-06-03 09:41:18 CEST; Siku 1 4h iliyopita PID kuu: 781 (mysqld) Hali: "Kuchukua maombi yako ya SQL sasa…" Kazi: 28 (kikomo: 4915) CGroup: /system.slice/mariadb.service └─781 / usr / sbin / mysqld

Juni 03 09:41:13 my-rpi systemd [1]: Kuanzia seva ya hifadhidata ya MariaDB… Juni 03 09:41:15 my-rpi mysqld [781]: 2018-06-03 9:41:15 4144859136 [Kumbuka] / usr / sbin / mysqld (mysqld 10.1.26-MariaDB-0 + deb9u1) Juni 03 09:41:18 my-rpi systemd [1]: Imeanza seva ya hifadhidata ya MariaDB.

mimi @ my-rpi: ~ $ ss -lt | grep mysql SIKILIZA 0 80 127.0.0.1:mysql *: *

Unda watumiaji na uongeze hifadhidata

mimi @ my-rpi: ~ $ sudo mariadb

ukishakuwa kwenye hifadhidata fanya hivi.

BUNA MTUMIAJI 'project1-admin' @ 'localhost' INAYOTAMBULISHWA NA 'adminwordword'; BUNA MTUMIA 'project1-web' @ 'localhost' INAYOFAHIRISHWA NA 'webwordword'; BUNA MTUMIA 'sensor1-sensor' @ 'localhost' INAYOTAMBULISHWA NA 'sensorpassword';

Unda mradi wa database1;

TOA MAHAKAMA YOTE KWENYE mradi1. * Kwa 'project1-admin' @ 'localhost' KWA OTI YA RUZUKU; TOA UCHAGUZI, WEKA, SASISHA, FUTA KWENYE mradi1. * KWA 'project1-web' @ 'localhost'; TOA UCHAGUZI, WEKA, SASISHA, FUTA KWENYE mradi1. * KWA 'project1-sensor' @ 'localhost'; HAKI ZA FLUSH;

Unda TABLE `mtumiaji` (` idUser` int (11) SI NULL, `password` varchar (45) DEFAULT NULL, PRIMARY KEY (` idUser`)) ENGINE = InnoDB DEFAULT CHARSET = utf8

Unda TABLE `gari` (` idCar` int (11) SI NILI AUTO_INCREMENT, `idUser` int (11) SI NULL,` Brand` varchar (45) DEFAULT NULL, `Type` varchar (45) DEFAULT NULL,` LastWashed` wakati wa DEFAULT NULL, `RFID_Number` varchar (15) DEFAULT NULL,` Key` varchar (5) DEFAULT NULL, KEY YA MSINGI (`idCar`,` idUser`), KEY `fk_Car_User1_idx` (` idUser`), CONSTRAINT` fk_C) MUHIMU WA NJE (`idUser`) REFERENCES` mtumiaji` (`idUser`) ILI USIFUTE HATUA KWA JUU YA HATUA YA HATUA) ENGINE = InnoDB AUTO_INCREMENT = 4 DESAULT CHARSET = utf8

Unganisha hifadhidata yako kwa Pycharm

Bonyeza kwenye kichupo cha hifadhidata upande wa kulia. Ikiwa hauna tabo wazi fanya hivi: Tazama> Zana ya Windows> Hifadhidata.

Bonyeza ongeza unganisho. Chagua Chanzo cha Takwimu> MySQL (Ikiwa kuna dereva wa kupakua kitufe bonyeza hiyo.)

Nenda kwa SSH / SSL sw angalia SSH. Jaza hati zako za Raspberry pi (mwenyeji / mtumiaji / nywila). Bandari inapaswa kuwa 22 na usisahau kuangalia kumbuka nywila.

Rudi kwa Mkuu. Mwenyeji anapaswa kuwa mwenyeji wa ndani na hifadhidata inapaswa kuwa project1. Jaza hati za utambulisho kutoka kwa project1-admin en jaribu unganisho.

Ikiwa unganisho liko sawa nenda kwenye kichupo cha Schemas na uhakikishe kuwa mradi1 unakaguliwa.

Angalia ikiwa hifadhidata ni sahihi

mimi @ my-rpi: ~ $ echo 'onyesha meza;' | mradi wa mysql1 -t -u mradi1-admin -p Ingiza nywila: + --------------------------- | | Jedwali_katika mradi1 | + --------------------------- | | sensor | | watumiaji | + --------------------------- +

Faili za Usanidi

Katika saraka conf utapata faili 4. Unapaswa kubadilisha majina ya watumiaji kuwa jina lako la mtumiaji.

Mfumo

Kuanza kila kitu unapaswa kutekeleza amri hizi.

mimi @ my-rpi: ~ / project1 $ sudo cp conf / project1 - *. huduma / nk / systemd / mfumo /

me @ my-rpi: ~ / project1 $ sudo systemctl daemon-reload me @ my-rpi: ~ / project1 $ sudo systemctl anza mradi1- * me @ my-rpi: ~ / project1 $ sudo systemctl status project1- * ● project1- huduma ya flask.service - mfano wa UWSGI kutumikia mradi wa interface ya mtandao1 Imepakiwa: imejaa (/etc/systemd/system/project1-flask.service; imezimwa; upangaji wa muuzaji: umewezeshwa) Inatumika: inafanya kazi (inaendesha) tangu Mon 2018-06-04 13: 14:56 CEST; 1s ago PID kuu: 6618 (uwsgi) Kazi: 6 (kikomo: 4915) Kikundi: / mfumo.slice/project1-flask.service ├─6618 / usr / bin / uwsgi --ini / home / me / project1 / conf / uwsgi-flask.ini ├─6620 / usr / bin / uwsgi --ini / nyumba / chakula / mradi1/conf/uwsgi-flask.ini ├─6621 / usr / bin / uwsgi -ini / nyumbani / mimi / project1 / conf / uwsgi-flask. mradi1 / conf / uwsgi-flask.ini 246624 / usr / bin / uwsgi -ini / nyumba / me / mradi / 1 /conf / uwsgi-flask.ini

Juni 04 13:14:56 my-rpi uwsgi [6618]: ramani ya 383928 ka (374 KB) kwa cores 5 Juni 04 13:14:56 my-rpi uwsgi [6618]: *** MODE ya Utendaji: preorking ***

● project1-sensor.service - Mradi 1 sensor sensor Imepakiwa: imebeba (/etc/systemd/system/project1-sensor.service; walemavu; upangaji wa muuzaji: umewezeshwa) Inatumika: inafanya kazi (inaendesha) tangu Mon 2018-06-04 13: 16:49 CEST; 5s zilizopita PID kuu: 6826 (chatu) Kazi: 1 (kikomo: 4915) CGroup: /system.slice/project1-sensor.service └─6826 / home / me / project1 / env / bin / python / home / me / project1 /sensor/sensor.py

Juni 04 13:16:49 my-rpi systemd [1]: Ilianzisha Mradi 1 huduma ya sensa. Juni 04 13:16:49 chatu yangu-rpi [6826]: DEBUG: _ kuu _: Mchakato wa sensa uliohifadhiwa_count = b'217 / n 'kwenye hifadhidata Juni 04 13:16:55 chatu yangu-rpi [6826]: DEBUG: _ kuu_: Mchakato wa sensorer uliohifadhiwa = b'218 / n 'kwenye hifadhidata

nginx

mimi @ my-rpi: ~ / project1 $ ls -l / nk / nginx / tovuti- *

/ nk / nginx / tovuti zinazopatikana: jumla ya 4 -rw-r - r- 1 mzizi wa mizizi 2416 Jul 12 2017 default

/ nk / nginx / tovuti zimewezeshwa: jumla ya 0 lrwxrwxrwx 1 mzizi wa mizizi 34 Jan 18 13:25 default -> / etc / nginx / site-available / default

Ili kufanya kila kitu kuwa chaguo-msingi kutekeleza amri hizi.

me @ my-rpi: ~ / project1 $ sudo cp conf / nginx / etc / nginx / site-available / project1me @ my-rpi: ~ / project1 $ sudo rm / etc / nginx / sites-enabled / default me @ my- rpi: ~ / project1 $ sudo ln -s / nk / nginx / tovuti zinazopatikana / project1 / nk / nginx / tovuti-kuwezeshwa / project1 mimi @ my-rpi: ~ / project1 $ sudo systemctl kuanzisha upya nginx

Kuanza kiotomatiki

Wacha tuhakikishe kila kitu kinaanza kiatomati.

Nenda kwenye saraka ya conf na utekeleze amri hizi za mwisho na umemaliza!

mimi @ my-rpi: ~ / project1 $ sudo systemctl wezesha mradi1- *

Ikiwa utawasha tena Pi yako inapaswa kuanza kiotomatiki.

Hatua ya 5: Hatua ya 5: Kutengeneza Nyumba

Hatua ya 5: Kutengeneza Nyumba
Hatua ya 5: Kutengeneza Nyumba
Hatua ya 5: Kutengeneza Nyumba
Hatua ya 5: Kutengeneza Nyumba
Hatua ya 5: Kutengeneza Nyumba
Hatua ya 5: Kutengeneza Nyumba
Hatua ya 5: Kutengeneza Nyumba
Hatua ya 5: Kutengeneza Nyumba

Usafishaji

Ili kutengeneza nyumba yangu nilitumia kabati la zamani mama yangu angepotea mbali.

msingi

Nilicheka mbao 4 (34 cm x 26 cm). (kwa hivyo ni mchemraba kutoka 34 x 34 x 26).

Juu ya chini niliongeza kipande nyembamba cha kuni kama chini.

Bodi iliyoongozwa

Katikati nimeweka vipande vidogo 2 vya mbao kila upande kwa cm 9 kutoka juu. Hii inashikilia bodi ambayo viongozi watakaa.

Bodi iliyoongozwa ni bodi ndogo (32 cm x 32 cm).

Nilichimba mashimo 9 kwa waongozi watoke.

mgawanyiko

Nilifanya mgawanyiko na nyenzo sawa na ya chini na bodi iliyoongozwa.

Vipande 4 kila moja na chale kwa cm 10.3 (9 cm x 31 cm). Sasa ninaweza kuziweka pamoja.

Vifungo na msomaji wa RFID

Nilitengeneza shimo kwenye msingi ili kuweka msomaji na vifungo vyangu vya RFID. Kwa RFID niliweka ubao mwembamba mbele yake kuifanya iwe safi.

Hatua ya 6: Hatua ya 6: Kuweka Kila kitu katika Nyumba

Hii inategemea jinsi unataka kuifanya. Mimi binafsi nilitumia nyaya nyingi bila kutengenezea kwa sababu nataka kuweza kutumia tena Raspberry Pi yangu.

Niliunganisha sehemu iliyoongozwa na nikasoma kisomaji cha RFID na ubao wa mkate kwenye kesi hiyo.

Na ndivyo unavyotengeneza Keysorter!

Ilipendekeza: