Orodha ya maudhui:
- Hatua ya 1: Hatua ya 1: Je! Nitahitaji Nini?
- Hatua ya 2: Hatua ya 2: Kutengeneza Mpangilio wa Hifadhidata
- Hatua ya 3: Hatua ya 3: Usimbuaji
- Hatua ya 4: Hatua ya 4: Kuweka Al Kanuni kwenye Raspberry Pi yangu
- Hatua ya 5: Hatua ya 5: Kutengeneza Nyumba
- Hatua ya 6: Hatua ya 6: Kuweka Kila kitu katika Nyumba
Video: Kifunguo: Hatua 6
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:53
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?
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
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
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
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:
Mfumo wa Tahadhari ya Kuegesha Magari ya Arduino - Hatua kwa Hatua: 4 Hatua
Mfumo wa Tahadhari ya Kuegesha Magari ya Arduino | Hatua kwa Hatua: Katika mradi huu, nitatengeneza Mzunguko rahisi wa Sura ya Maegesho ya Arduino kwa kutumia Arduino UNO na Sense ya Ultrasonic ya HC-SR04. Mfumo wa tahadhari ya Gari ya Arduino ya msingi inaweza kutumika kwa Urambazaji wa Kujitegemea, Kuanzia Robot na anuwai zingine
Hatua kwa hatua Ujenzi wa PC: Hatua 9
Hatua kwa hatua Jengo la PC: Ugavi: Vifaa: MotherboardCPU & Baridi ya CPU
Mizunguko mitatu ya kipaza sauti -- Mafunzo ya hatua kwa hatua: Hatua 3
Mizunguko mitatu ya kipaza sauti || Mafunzo ya hatua kwa hatua: Mzunguko wa kipaza sauti huimarisha ishara za sauti zinazopokelewa kutoka kwa mazingira kwenda kwenye MIC na kuipeleka kwa Spika kutoka mahali ambapo sauti ya sauti imetengenezwa. Hapa, nitakuonyesha njia tatu tofauti za kutengeneza Mzunguko wa Spika kwa kutumia:
Hatua kwa hatua Elimu katika Roboti na Kit: 6 Hatua
Hatua kwa hatua Elimu katika Roboti na Kit: Baada ya miezi kadhaa ya kujenga roboti yangu mwenyewe (tafadhali rejelea hizi zote), na baada ya sehemu mbili kushindwa, niliamua kurudi nyuma na kufikiria tena mkakati na mwelekeo.Uzoefu wa miezi kadhaa wakati mwingine ulikuwa wa kufurahisha sana, na
Ufuatiliaji wa Acoustic Na Arduino Uno Hatua kwa Hatua (hatua 8): Hatua 8
Ufuatiliaji wa Acoustic Na Arduino Uno Hatua kwa hatua (hatua-8): transducers za sauti za ultrasonic L298N Dc umeme wa umeme wa adapta na pini ya kiume ya dc Arduino UNOBreadboard Jinsi hii inavyofanya kazi: Kwanza, unapakia nambari kwa Arduino Uno (ni mdhibiti mdogo aliye na dijiti na bandari za analog kubadilisha msimbo (C ++)