Orodha ya maudhui:

Msambazaji wa Kadi ya Moja kwa Moja: Hatua 7
Msambazaji wa Kadi ya Moja kwa Moja: Hatua 7

Video: Msambazaji wa Kadi ya Moja kwa Moja: Hatua 7

Video: Msambazaji wa Kadi ya Moja kwa Moja: Hatua 7
Video: TAREHE ya KUZALIWA na MAAJABU yake katika TABIA za WATU 2024, Novemba
Anonim
Msambazaji wa Kadi ya Moja kwa Moja
Msambazaji wa Kadi ya Moja kwa Moja

Nimechagua msambazaji wa kadi mahiri kama mradi wangu wa kwanza kwa sababu napenda kucheza mchezo wa kadi. Jambo ambalo siipendi zaidi ni kadi za kushughulika. Lazima ukumbuke kwa kila mchezo ni kadi ngapi kila mtu anapata. Hiyo inachanganya wakati unajua michezo mingi ya kadi. Mradi wangu pia utasaidia watu ambao wana shida na kusambaza kadi kama watu wazee na watu wanaougua Parkinson.

Vifaa

  • 1 Raspberry Pi (nilitumia Raspberry Pi 4)
  • Kadi ya SD (16GB inapendekezwa)
  • Kipande 1 cha mkate wa mkate wa Raspberry Pi (kipande cha T)
  • 2 ubao wa mkate
  • Moduli 1 ya usambazaji wa umeme kwa mkate, 5V na 3V3
  • Onyesho 1 la LCD
  • 1 Potentiometer
  • 1 MPU6050 (accelerometer na gyroscope)
  • 1 transistors ya NPN
  • 1 PCF8574N expander ya I / O
  • 1 stepper motor
  • 1 ULN2003 bodi ya kuzuka kudhibiti motor stepper
  • 1 HC-SR04 sensor ya ultrasonic
  • Motors 1 5V DC
  • 1 diode
  • Vipinzani 6 470 Ohm
  • Vipinzani 4 10K Ohm
  • Waya wa umeme ili kuunganisha kila kitu

Manufaa kuwa nayo wakati wa kutengeneza:

  • Chuma cha kulehemu
  • Solder
  • Dremel au jig aliona (kitu cha kukata kuni na plastiki)

Programu:

  • Putty
  • Benchi ya kazi ya MySQL
  • Picha ya Diski ya Win32
  • Mhariri wa nambari (Ninapendekeza Nambari ya Studio ya Visual)
  • WinSCP
  • Picha ya Raspbian

Hatua ya 1: Kuandaa Rasperry Pi

Kwanza tunahitaji kuandaa Raspberry Pi kabla ya kufanya kitu kingine chochote. Kwa sababu kila kitu kitakuwa kikiendesha Pi kwa hivyo hii ni moja ya vipande muhimu zaidi vya msambazaji wa kadi.

Ufungaji:

Pakua picha ya Raspbian kutoka

  1. Pakua faili ya ZIP
  2. Toa faili ya ZIP ambapo unaweza kuipata kwa urahisi
  3. Fungua Win32 Disk Imager na uchague picha iliyoondolewa
  4. Chagua kadi ya SD kwenye menyu kunjuzi na bonyeza andika
  5. Mara baada ya mchakato wa kuandika unaweza kufunga Win32 Disk Imager

Sasa tunahitaji kufanya vitu kadhaa zaidi kabla ya kuungana na Pi

  1. Nenda kwenye folda ya boot kwenye kadi ya SD
  2. Fungua faili cmdline.txt
  3. Ongeza 'ip = 169.254.10.1' mwishoni mwa mstari uliotengwa na nafasi
  4. Hifadhi na uondoe faili
  5. Unda saraka sawa faili inayoitwa ssh na uondoe ugani (hii itawezesha ssh kwenye buti ya kwanza ili tuweze kuungana na Pi)
  6. Ondoa salama kadi ya SD na uweke kwenye Pi

Sasa tunaweza kuungana na Pi:

  1. Shika kebo ya ethernet na uweke ncha moja kwenye Pi na mwisho mwingine kwenye kompyuta yako
  2. Fungua Putty
  3. Ingiza 169.254.10.1 kwenye uwanja wa jina la Mwenyeji
  4. Hakikisha SSH imechaguliwa na bandari ni 22
  5. Bonyeza wazi
  6. Ukipata onyo unaweza kuendelea tu na kuipuuza
  7. Jina la mtumiaji ni pi na nywila ni rasiberi

Usanidi na usanidi wa programu:

Fungua raspi-config na amri ifuatayo:

Sudo raspi-config

Chagua chaguo la 5: Chaguzi za kuingiliana

Washa SPI na I2C

Lemaza vitu vifuatavyo katika chaguo la 3: Chaguzi za buti:

  • Skrini ya Splash
  • Chagua cli kwa kuanza na sio desktop

Usanidi wa Wifi:

Wifi ni muhimu kusafiri kwa urahisi kwenye wavuti. Hakikisha kuwa na hati zako za wifi karibu.

Kuweka wifi tunahitaji vitu kadhaa:

Ongeza wifi yako kwa kutumia amri hii na ubadilishe SSID na PASSWORD kwa habari yako:

sudo wpa_passphrase "SSID" "NENO" >> /etc/wpa_supplicant/wpa_supplicant.conf

Tekeleza amri hii ili kusanidi tena wifi yako:

Sudo wpa_cli

Chagua kiolesura sahihi:

kiolesura wlan0

Sanidi tena kiolesura:

kusanidi upya

Angalia ikiwa urekebishaji ulifanikiwa na amri hii:

ip a

Ukiona anwani ya IP kwenye kiolesura cha wlan0 basi kila kitu ni usanidi.

Inasasisha mfumo wa uendeshaji

Sasisha mfumo wa uendeshaji na amri hizi 2:

sasisho la sudo apt

Sudo apt-kuboresha kamili

Kuanzisha MariaDB:

Kuweka Apache Webserver:

Sudo apt kufunga apache2 -y

kusitisha seva ya MariaDB:

Sudo apt kufunga mariadb-server -y

Sasa tunahitaji kuwasha upya:

Sudo reboot

Inashauriwa kupata usanikishaji wa MariaDB. Unaweza kuifanya kwa kutumia amri hii:

Sudo mysql_secure_installation

Kwanza utaulizwa nenosiri la sasa la mizizi lakini usanidi chaguo-msingi hauna moja kwa hivyo bonyeza Enter.

Ifuatayo utaulizwa ikiwa unataka kuweka nenosiri la mizizi, andika y. Hakikisha unaweza kukumbuka nywila!

  • Ingiza y kuondoa watumiaji wasiojulikana
  • Ingiza y kulemaza kuingia kwa mizizi kwa mbali
  • Ingiza y kuondoa hifadhidata za majaribio na kuifikia
  • Ingiza y ili kupakia tena kujitokeza

Ufungaji wako wa MariaDB unapaswa kuwa salama!

Sasa tunaweza kuunda mtumiaji mpya:

Ingiza ganda la mysql na amri hii:

Sudo mysql

Unda mtumiaji na jina la mtumiaji mysql na nywila (your_password) amri zifuatazo:

kuunda mtumiaji mysql @ localhost kutambuliwa na 'your_password';

toa malipo yote kwenye *. * kwa mysql @ localhost;

HAKI ZA FLUSH;

Toka kwenye ganda la mysql na amri hii:

Utgång;

Vifurushi vya chatu:

Python inapaswa kuwekwa tayari isipokuwa uchague toleo la Lite:

Sudo apt kufunga python3-pip

Tunahitaji kiasi kizuri cha vifurushi vya Python, unaweza kuziweka zote kwa amri ifuatayo:

pip3 weka mysql-kontakt-python chupa-socketio chupa-cors gevent gevent-websocket

Sasa tunahitaji kuanza tena

Sudo reboot

Hatua ya 2: Kuweka Msimbo wa Studio ya Visual na Workbench ya MySQL

Kuunganisha kwa Pi na Workbench ya MySQL:

Fungua Workbench ya MySQL

Fanya unganisho mpya kwa Pi na habari ifuatayo:

  • Jina la unganisho: Raspi
  • Njia ya Uunganisho: TCP / IP ya kawaida juu ya SSH
  • Jina la mwenyeji la SSH: Anwani ya IP ya Pi

Unaweza kupata anwani ya IP na amri hii:

ip a

  • Jina la Mtumiaji la SSH: pi
  • Jina la mwenyeji la MySQL: 127.0.0.1
  • Bandari ya seva ya MySQL: 3306
  • Jina la mtumiaji: mysql

Bonyeza sawa na weka nywila ya mtumiaji na kisha ingiza nywila ya mysql ya mtumiaji.

Kuweka Msimbo wa Studio ya Visual:

Fungua Msimbo wa Studio ya Visual

Sakinisha viendelezi hivi 2:

  • Kijijini - SSH
  • Kijijini - SSH: Kuhariri Faili za Usanidi

Bonyeza katika Msimbo wa Studio ya Visual F1 na andika kwa ssh

Chagua SSH ya mbali: Ongeza mwenyeji mpya wa SSH

Jaza ssh pi @ IP-anwani

Katika hatua inayofuata bonyeza waandishi wa habari

Uunganisho sasa umetengenezwa kwa Pi. Unaweza kuungana na Pi kwa kubonyeza F1 na uchague unganisha kwa mwenyeji wa Kijijini.

Ingiza nenosiri kwa hivyo Msimbo wa Studio ya Visual unaweza kufikia Pi.

Jambo moja zaidi: Sakinisha ugani wa Python kwenye mashine ya mbali ili uweze kukimbia na kusuluhisha nambari kwa urahisi.

Hatua ya 3: Mchoro wa Fritzing

Mchoro wa Fritzing
Mchoro wa Fritzing
Mchoro wa Fritzing
Mchoro wa Fritzing
Mchoro wa Fritzing
Mchoro wa Fritzing

Katika hatua hii nitaelezea mzunguko.

Mifumo hapo juu imefanywa na Fritzing.

DC motor:

Unganisha GPIO 18 kwa msingi wa mtoza, pini ya kati kwenye transistor ya npn. Unganisha ardhi ya gari kwa mtoza kutoka kwa transistor na nguvu ya motor hadi 5V. Unganisha ardhi ya transistor kwenye mstari wa chini. Unganisha diode katika kizuizi juu ya gari kwa hivyo inazuia currunt kutoka kwa moja kwa moja kwenda kwa transistor.

Magari ya stepper:

Unganisha motor ya stepper kwenye bodi ya kudhibiti. Kwenye ubao wa kudhibiti kuna pini za upande mmoja kuunganisha 5V na ardhi. Pini zingine ni pini za kudhibiti. Pini hizi zinadhibiti sumaku ndani ya motor ili iweze kugeuka. Unganisha pini hizi kwa GPIO 12, 16, 20 na 21 kwenye Raspberry Pi.

Ultrasonic ya HC-SR04:

Sensorer hii inaweza kupima umbali kwa karibu mita 4.5 kwa kutumia sauti.

Unganisha pini ya VCC kwa 5V, pini ya kuchochea kwa GPIO 25, pini ya mwangwi na kontena la 470 Ohm hadi GPIO 24 na ardhi na kinzani cha 470 Ohm chini.

MPU6050:

Unganisha pini ya VCC kwa 3V3, ardhi hadi chini, scl kwa scl kwenye Pi na sda kwa sda kwenye Pi. Kwa sensor hii mimi hutumia I2C kuidhibiti. Unaweza kusoma zaidi juu yake hapa. Hapa kuna maelezo ya kimsingi: Pi ndiye bwana na MPU6050 ni mtumwa. Kupitia laini ya scl Pi inadhibiti nyakati na laini ya sda hutumiwa kutuma data kutoka kwa bwana kwenda kwa mtumwa au kutoka kwa mtumwa kwenda kwa bwana. Bwana tu ndiye anayeweza kuanzisha uhamishaji wa data.

Mwanga ulitegemea kinzani:

Kupata usomaji sahihi kutoka kwa LDR ninatumia chip ya MCP3008. Hii inahakikisha kuwa usomaji kutoka kwa ldr ni thabiti na sahihi umebadilishwa kutoka kwa analog kwenda ishara za dijiti.

Unganisha 3V3 kwa upande mmoja wa ldr na kontena la 10K Ohm kati yake. Kati ya ldr na kontena unganisha waya kwenye kituo 0 cha MCP3008. Kisha unganisha upande wa pili wa ldr chini.

Uonyesho wa LCD:

Unaweza kutumia onyesho la LCD bila PCF8574 lakini kwa sababu pini za GPIO kwenye Pi ni mdogo ninatumia PCF8574 kuokoa pini zingine za GPIO. Unaweza pia kutumia rejista ya mabadiliko lakini napendelea PCF8574. Unaweza kudhibiti PCF8574 na itifaki ya SMbus lakini niliandika darasa langu mwenyewe kuidhibiti. Potentiometer inadhibiti tofauti.

Pini za kuonyesha LCD:

  • VSS chini
  • VDD hadi 5V
  • V0 kwa pini inayobadilika ya potentiometer
  • RS kwa GPIO 13
  • R / W chini kwa sababu ninaandika tu kwa onyesho na sio kusoma
  • E hadi GPIO 19
  • DB0 hadi P0 ya PCF
  • DB1 hadi P1
  • DB2 hadi P2
  • DB3 hadi P3
  • DB4 hadi P4
  • DB5 hadi P5
  • DB6 hadi P6
  • DB7 hadi P7
  • LED + hadi 5V
  • LED- chini

Pini za PCF8574:

  • A0 hadi chini
  • A1 hadi chini
  • A2 hadi chini
  • Chini hadi chini
  • VCC hadi 5V
  • SDA kwa GPIO 27
  • SCL kwa GPIO 22 na kontena la 330 Ohm

Labda hauna LED + na LED- kulingana na aina gani ya onyesho ulilonalo. LED + na LED - ni kwa taa ya nyuma.

Unganisha upande mzuri wa potentiometer hadi 5V na ardhi chini.

Hakikisha unatumia vipinga-vuta vya kuvuta!

Hatua ya 4: Nambari kwenye Github

Unaweza kupata nambari yote muhimu kwenye Github yangu.

Mradi wa folda1:

Folda hii ina nambari yote ya nyuma. Katika folda Klass kuna madarasa yote ya kudhibiti vifaa.

Hifadhi za folda zina faili 2: Database.py na DataRepository.py. Database.py inashikilia unganisho kwa hifadhidata na hushughulikia maswali. DataRepository.py ina maswali yote yanayohitajika kwa wavuti.

App.py ni faili kuu ya backend. Faili hii inaanza kiatomati wakati Pi buti.

Config.py ina mipangilio michache ya kuungana na hifadhidata. Hakikisha umejaza faili hizi na habari yako mwenyewe.

Unaweza kuweka folda hii mahali popote kwenye saraka yako ya nyumbani.

Html ya folda:

Folda hii ina faili zote za wavuti, mbele.

  • Folda ina faili za mpangilio wa tovuti.
  • Fonti zina fonti zinazotumiwa kwenye wavuti.
  • Hati ina faili zote za Javascript ili kufanya wavuti kuwa ya nguvu

Folda hii inapaswa kuwa kwenye folda / var / www / html

Unaweza kunakili faili au folda na amri hii:

sudo mv / path / to / current / directory / path / to / destination / directory

Ili kwenda kwenye aina ya wavuti kwenye kivinjari chako anwani ya IP iliyoonyeshwa kwenye onyesho la LCD.

Hatua ya 5: Muundo wa Hifadhidata wa Kawaida

Muundo wa Hifadhidata
Muundo wa Hifadhidata

Katika hatua hii tunaenda kuagiza hifadhidata.

  1. Unganisha kwenye Raspberry yako Pi na Workbench ya MySQL
  2. Bonyeza kwenye Seva -> Uingizaji Data
  3. Chagua Ingiza Faili yenye Kujitegemea
  4. Katika folda-Database-kusafirisha kutoka Github kuna faili ya sql inayoitwa dump_project1.sql
  5. Vinjari kwenye faili hii na ubofye anza kuagiza

Hiyo ndio. Pi sasa inaweza kupata hifadhidata ikiwa ina habari sahihi.

Hatua ya 6: Uchunguzi kwa Msambazaji wa Kadi

Kesi ya Msambazaji wa Kadi
Kesi ya Msambazaji wa Kadi
Kesi ya Msambazaji wa Kadi
Kesi ya Msambazaji wa Kadi
Kesi ya Msambazaji wa Kadi
Kesi ya Msambazaji wa Kadi

Katika hatua hii nitaelezea kile nilichotumia kwa kesi hiyo na jinsi nilivyowekwa kila kitu.

Kwa kesi hiyo nilitumia sanduku 2 za ABS:

- 265 x 185 x 95 mm

- 171 x 121 x 80 mm

Mashimo niliyotengeneza kwenye masanduku

Shimo kwa onyesho la LCD, mashimo 3 kwa nyaya za umeme, moja kwa waya kutoka kwa stepper motor, DC motor na sensor ya ultrasonic.

Katika sanduku ndogo kabisa nilitengeneza shimo kwa waya kutoka kwa vifaa na shimo kwa kadi kupita. Juu nilitengeneza shimo kubwa zaidi ili uweze kuweka kadi za kucheza kwenye kifaa.

Niliweka motor DC na bracket na mkanda wa pande mbili. Nilitengeneza bodi ya mbao kuweka kadi na shimo kwa gurudumu kupiga kadi.

Nimechagua plastiki ya ABS kwa sababu ni nyepesi kwa hivyo motor ya stepper inaweza kuibadilisha kwa urahisi. Mbao inaweza kuwa nzito kweli na motor ya stepper inaweza kuwa na shida na hii. Kukata mashimo nilitumia kuchimba visima na visima vilivyotengenezwa kwa chuma na Dremel. Kukata mashimo makubwa ilichukua kazi nyingi zaidi na jig saw itakuwa bora.

Hatua ya 7: Programu kama Huduma

Ni muhimu sana kuwa na nambari inayoanza baada ya Pi kuwashwa. Kwa hilo tutafanya huduma.

Unda faili mpya inayoitwa smartcard.service na amri ifuatayo:

sudo nano /etc/systemd/system/smartcard.service

Hii inapaswa kuingia kwenye faili:

[Kitengo]

Maelezo = backend ya kadi nzuri Baada ya = network.target [Huduma] ExecStart = / usr / bin / python3 -u app.py WorkingDirectory = / home / pi / project1 = lengo la watumiaji wengi WorkingDirectory ni njia ya folda ambayo programu iko

Sasa umepata Kadi yako ya Smart!

Ilipendekeza: