Sisällysluettelo:
- Tarvikkeet
- Vaihe 1: Rasperry Pi: n valmistelu
- Vaihe 2: Visual Studio Coden ja MySQL Workbenchin asentaminen
- Vaihe 3: Fritzing -kaavio
- Vaihe 4: Koodi Githubissa
- Vaihe 5: Normalisoitu tietokantarakenne
- Vaihe 6: Kortin jakelijan kotelo
- Vaihe 7: Ohjelmoi palveluna
Video: Automaattinen kortinjakelija: 7 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:00
Olen valinnut älykortin jakelijan ensimmäiseksi projektikseni, koska pidän pelaamisesta. Eniten en pidä korttien jakamisesta. Sinun on muistettava jokaisesta pelistä, kuinka monta korttia jokainen saa. Se hämmentää, kun tiedät paljon korttipelejä. Projektini auttaa myös ihmisiä, joilla on vaikeuksia jakaa kortteja, kuten vanhukset ja Parkinsonin tautia sairastavat ihmiset.
Tarvikkeet
- 1 Vadelma Pi (käytin Raspberry Pi 4)
- SD -kortti (suositus 16 Gt)
- 1 Leipäleipä Raspberry Pi: lle (T-kappale)
- 2 leipälautaa
- 1 Virtalähdemoduuli leipälevylle, 5V ja 3V3
- 1 LCD -näyttö
- 1 Potentiometri
- 1 MPU6050 (kiihtyvyysmittari ja gyroskooppi)
- 1 NPN -transistori
- 1 PCF8574N I/O -laajennin
- 1 askelmoottori
- 1 ULN2003 -katkaisulauta askelmoottorin ohjaamiseen
- 1 HC-SR04-ultraäänianturi
- 1 5V DC -moottorit
- 1 diodia
- 6470 ohmin vastukset
- 4 10 K ohmin vastusta
- Sähköjohto kaiken yhdistämiseen
Hyödyllinen valmistuksen aikana:
- Juotin
- Juottaa
- Dremel- tai jig -saha (jotain puun ja abs -muovin leikkaamiseen)
Ohjelmisto:
- Kitti
- MySQL -työpöytä
- Win32 levynkuvaus
- Koodieditori (suosittelen Visual Studio Code)
- WinSCP
- Raspian kuva
Vaihe 1: Rasperry Pi: n valmistelu
Ensin meidän on valmisteltava Raspberry Pi ennen kuin teemme mitään muuta. Koska kaikki toimii Pi: llä, tämä on yksi kortinjakelijan tärkeimmistä osista.
Asennus:
Lataa Raspbian-kuva osoitteesta
- Lataa ZIP-tiedosto
- Pura ZIP-tiedosto, josta löydät sen helposti
- Avaa Win32 Disk Imager ja valitse purettu kuva
- Valitse SD -kortti avattavasta valikosta ja napsauta Kirjoita
- Kun kirjoitusprosessi on valmis, voit sulkea Win32 Disk Imager -ohjelman
Nyt meidän on tehtävä muutama asia ennen kuin voimme muodostaa yhteyden Pi: hen
- Siirry SD -kortin käynnistyskansioon
- Avaa tiedosto cmdline.txt
- Lisää 'ip = 169.254.10.1' rivin loppuun välilyönnillä erotettuna
- Tallenna ja sulje tiedosto
- Luo samaan hakemistoon tiedosto nimeltä ssh ja poista laajennus (tämä ottaa ssh: n käyttöön ensimmäisellä käynnistyksellä, jotta voimme muodostaa yhteyden Pi: hen)
- Poista SD -kortti turvallisesti ja aseta se Piin
Nyt voimme muodostaa yhteyden Pi: hen:
- Tartu Ethernet -kaapeliin ja työnnä toinen pää Pi: hen ja toinen pää tietokoneeseen
- Avaa Putty
- Kirjoita Isäntänimi -kenttään 169.254.10.1
- Varmista, että SSH on valittu ja portti on 22
- Napsauta Avaa
- Jos saat varoituksen, voit jatkaa ja sivuuttaa sen
- Käyttäjätunnus on pi ja salasana on vadelma
Ohjelmiston määritys ja asennus:
Avaa raspi-config seuraavalla komennolla:
sudo raspi-config
Valitse viides vaihtoehto: Liitäntävaihtoehdot
Ota SPI ja I2C käyttöön
Poista seuraavat asiat käytöstä kolmannesta vaihtoehdosta: Käynnistysvaihtoehdot:
- Aloitusruutu
- Valitse käynnistyksen yhteydessä cli eikä työpöytä
Wifi -asetukset:
Wifi on kätevä navigoida verkkosivustolle. Varmista, että wifi -tunnuksesi ovat lähellä.
Wifi -yhteyden määrittämiseksi tarvitsemme muutamia asioita:
Lisää wifi tämän komennon avulla ja vaihda SSID ja SALASANA tietoihisi:
sudo wpa_passphrase "SSID" "SALASANA" >> /etc/wpa_supplicant/wpa_supplicant.conf
Suorita tämä komento konfiguroidaksesi wifi uudelleen:
sudo wpa_cli
Valitse oikea käyttöliittymä:
käyttöliittymä wlan0
Määritä käyttöliittymä uudelleen:
määritä uudelleen
Tarkista, onko uudelleenkonfigurointi onnistunut tällä komennolla:
ip a
Jos näet IP-osoitteen wlan0-käyttöliittymässä, kaikki on asetettu.
Päivitetään käyttöjärjestelmää
Päivitä käyttöjärjestelmä seuraavilla kahdella komennolla:
sudo apt päivitys
sudo apt täysi päivitys
MariaDB: n käyttöönotto:
Apache -verkkopalvelimen asentaminen:
sudo apt install apache2 -y
MariaDB -palvelimen asentaminen:
sudo apt install mariadb -server -y
Nyt meidän on käynnistettävä uudelleen:
sudo uudelleenkäynnistys
On suositeltavaa suojata MariaDB -asennus. Voit tehdä sen suorittamalla tämän komennon:
sudo mysql_secure_installation
Ensin sinulta kysytään nykyistä pääsalasanaa, mutta oletusasennuksessa ei ole sitä, joten paina enter.
Seuraavaksi sinulta kysytään, haluatko asettaa pääsalasanan, kirjoita y. Varmista, että muistat salasanan!
- Kirjoita y poistaaksesi nimettömiä käyttäjiä
- Kirjoita y, jos haluat poistaa pääkäyttäjän kirjautumisen käytöstä etänä
- Kirjoita y, jos haluat poistaa testitietokannat ja käyttää niitä
- Syötä y ladataksesi etuoikeudet uudelleen
MariaDB -asennuksesi tulee olla suojattu!
Nyt voimme luoda uuden käyttäjän:
Anna mysql -kuori tällä komennolla:
sudo mysql
Luo käyttäjä käyttäjänimellä mysql ja salasanalla (your_password) seuraavilla komennoilla:
luo käyttäjä mysql@localhost, jonka tunniste on "your_password";
myöntää kaikki etuoikeudet *. * osoitteessa mysql@localhost;
Huuhteluoikeudet;
Poistu mysql -kuorista tällä komennolla:
poistua;
Python -paketit:
Python on jo asennettava, ellet valitse Lite -versiota:
sudo apt asentaa python3-pip
Tarvitsemme hyvän määrän Python -paketteja, voit asentaa ne kaikki seuraavalla komennolla:
pip3 asentaa mysql-liitin-python-pullo-socketio-pullo-cors gevent gevent-websocket
Nyt meidän on käynnistettävä uudelleen
sudo uudelleenkäynnistys
Vaihe 2: Visual Studio Coden ja MySQL Workbenchin asentaminen
Yhdistäminen Pi: hen MySQL Workbenchin avulla:
Avaa MySQL Workbench
Muodosta uusi yhteys Pi -laitteeseen seuraavien tietojen avulla:
- Yhteyden nimi: Raspi
- Yhteystapa: Vakio TCP/IP SSH: n kautta
- SSH-isäntänimi: Pi: n IP-osoite
Voit saada IP-osoitteen tällä komennolla:
ip a
- SSH Käyttäjätunnus: pi
- MySQL -isäntänimi: 127.0.0.1
- MySQL -palvelinportti: 3306
- Käyttäjätunnus: mysql
Napsauta ok ja kirjoita käyttäjän pi salasana ja kirjoita sitten käyttäjän mysql: n salasana.
Visual Studio -koodin määrittäminen:
Avaa Visual Studio Code
Asenna nämä kaksi laajennusta:
- Kaukosäädin - SSH
- Etä - SSH: Asetustiedostojen muokkaaminen
Paina Visual Studio Code F1 ja kirjoita ssh
Valitse Etä SSH: Lisää uusi SSH -isäntä
Täytä ssh pi@IP-osoite
Paina seuraavassa vaiheessa enter
Yhteys on nyt muodostettu Pi: hen. Voit muodostaa yhteyden Pi -laitteeseen painamalla F1 -näppäintä ja valitsemalla Connect to Remote host.
Anna salasana, jotta Visual Studio Code voi käyttää Pi: tä.
Vielä yksi asia: Asenna Python -laajennus etäkoneeseen, jotta voit suorittaa koodin helposti ja korjata sen.
Vaihe 3: Fritzing -kaavio
Tässä vaiheessa selitän piirin.
Yllä olevat kaaviot on tehty Fritzingillä.
DC -moottori:
Liitä GPIO 18 keräimen pohjaan, npn -transistorin keskitappi. Kytke moottorin maa transistorin keräimeen ja moottorin teho 5 V. Liitä transistorin maa maadoitusjohtoon. Kytke diodi esteeseen moottorin päälle niin, että se estää kulun virtaamisen suoraan transistoriin.
Askelmoottori:
Liitä askelmoottori ohjauskorttiin. Ohjauskortilla on toisella puolella nastat 5V: n ja maan liittämiseksi. Muut tapit ovat ohjaustappeja. Nämä nastat ohjaavat moottorin sisällä olevia magneetteja, jotta se voi kääntyä. Liitä nämä nastat Raspberry Pi: n GPIO 12: een, 16: een, 20: een ja 21: een.
HC-SR04 Ultraääni:
Tämä anturi voi mitata etäisyyden noin 4,5 metriin äänen avulla.
Kytke VCC -nasta 5 V: iin, liipaisintappi GPIO 25: een, kaiutintappi, jonka vastus on 470 ohmia, GPIO 24: een ja maa 470 ohmin vastuksella maahan.
MPU6050:
Liitä VCC -nasta 3V3: een, maa maahan, scl Pi: n scl: ään ja sda sdaan Pi: ssä. Tämän anturin ohjaamiseen käytän I2C: tä. Voit lukea siitä lisää täältä. Tässä on perus selitys: Pi on isäntä ja MPU6050 on orja. Scl -linjan kautta Pi ohjaa ajoituksia ja sda -linjaa käytetään lähettämään tietoja isännältä orjalle tai orjalta isännälle. Vain isäntä voi aloittaa tiedonsiirron.
Valosta riippuvainen vastus:
Saadaksesi oikeat lukemat LDR: stä käytän MCP3008 -sirua. Tämä varmistaa, että ldr: n lukemat ovat vakaita ja oikein muunnettuna analogisista digitaalisiin signaaleihin.
Liitä 3V3 ldr: n toiselle puolelle, jonka välissä on 10 K ohmin vastus. Liitä ldr: n ja vastuksen välille johto MCP3008: n kanavaan 0. Liitä sitten ldr: n toinen puoli maahan.
LCD -näyttö:
Voit käyttää nestekidenäyttöä ilman PCF8574: tä, mutta koska Pi: n GPIO -nastat ovat rajalliset, käytän PCF8574: ää joidenkin GPIO -nastojen tallentamiseen. Voit myös käyttää vuororekisteriä, mutta mieluummin PCF8574. Voit ohjata PCF8574: ää SMbus -protokollalla, mutta kirjoitin oman luokan ohjaamaan sitä. Potentiometri säätää kontrastia.
LCD -näytön nastat:
- VSS maahan
- VDD - 5V
- V0 potentiometrin muuttuvaan tappiin
- Lähetä GPIO: lle 13
- R/W maahan, koska kirjoitan vain näyttöön enkä lue
- E - GPIO 19
- PCF: n DB0 - P0
- DB1 - P1
- DB2 - P2
- DB3 - P3
- DB4 - P4
- DB5 - P5
- DB6 - P6
- DB7 - P7
- LED+ - 5V
- LED- maahan
PCF8574 nastat:
- A0 maahan
- A1 maahan
- A2 maahan
- Maasta maahan
- VCC - 5V
- SDA - GPIO 27
- SCL - GPIO 22, vastus 330 ohmia
Sinulla ei ehkä ole LED+ ja LED-- riippuen siitä, minkä tyyppinen näyttö sinulla on. LED+ ja LED- ovat taustavaloa varten.
Kytke potentiometrin positiivinen puoli 5 V: iin ja maa maahan.
Varmista, että käytät vetovoimia!
Vaihe 4: Koodi Githubissa
Löydät kaikki tarvittavat koodit Githubistani.
Kansioprojekti1:
Tämä kansio sisältää kaikki taustaohjelman koodit. Kansiossa Klasses ovat kaikki laitteiston hallintaluokat.
Kansiovarastot sisältävät 2 tiedostoa: Database.py ja DataRepository.py. Database.py ylläpitää yhteyttä tietokantaan ja käsittelee kyselyt. DataRepository.py sisältää kaikki sivustolle tarvittavat kyselyt.
App.py on taustaohjelman päätiedosto. Tämä tiedosto käynnistyy automaattisesti, kun Pi käynnistyy.
Config.py sisältää muutamia asetuksia, joiden avulla voit muodostaa yhteyden tietokantaan. Varmista, että täytät nämä tiedostot omilla tiedoillasi.
Voit sijoittaa tämän kansion mihin tahansa kotihakemistoosi.
Kansion html:
Tämä kansio sisältää kaikki sivuston, käyttöliittymän tiedostot.
- Kansio sisältää sivuston ulkoasun tiedostot.
- Fontit sisältää sivustolla käytetyt fontit.
- Skripti sisältää kaikki Javascript -tiedostot, jotka tekevät sivustosta dynaamisen
Tämän kansion on oltava kansiossa/var/www/html
Voit kopioida tiedoston tai kansion tällä komennolla:
sudo mv/polku//nykyinen/hakemisto/polku/kohteeseen/kohde/hakemisto
Navigoidaksesi selaimesi sivustotyyppiin LCD-näytössä näkyvä IP-osoite.
Vaihe 5: Normalisoitu tietokantarakenne
Tässä vaiheessa tuomme tietokannan.
- Yhdistä Raspberry Pi -laitteeseesi MySQL Workbenchin avulla
- Napsauta Palvelin -> Tietojen tuonti
- Valitse Tuo itsenäinen tiedosto
- Githubin Database-export-kansiossa on sql-tiedosto dump_project1.sql
- Selaa tähän tiedostoon ja napsauta Aloita tuonti
Se siitä. Pi voi nyt käyttää tietokantaa, jos sillä on oikeat tiedot.
Vaihe 6: Kortin jakelijan kotelo
Tässä vaiheessa selitän mitä käytin koteloon ja miten asennin kaiken.
Kotelossa käytin 2 ABS -laatikkoa:
- 265 x 185 x 95 mm
- 171 x 121 x 80 mm
Reiät, jotka tein laatikoihin
Reikä nestekidenäyttöä varten, 3 reikää virtakaapeleille, yksi askelmoottorin, tasavirtamoottorin ja ultraäänianturin johtimille.
Pienimmässä laatikossa tein komponenteista reiän johtoille ja reiän korttien läpi. Yläosaan tein suurimman reiän, jotta voit asettaa pelikortit laitteeseen.
Asensin tasavirtamoottorin kiinnikkeellä ja kaksipuolisella teipillä. Tein puulevyn korttien asettamiseksi ja reikä pyörälle kortin ampumista varten.
Olen valinnut ABS -muovin, koska se on kevyt, joten askelmoottori voi kääntää sitä helposti. Puu voi olla todella raskasta ja askelmoottorilla voi olla ongelmia tämän kanssa. Reikien leikkaamiseen käytin poraa, jossa oli metallille tarkoitetut poranterät ja Dremel. Suurempien reikien leikkaaminen vei paljon enemmän työtä ja jig -saha olisi parempi.
Vaihe 7: Ohjelmoi palveluna
On todella hyödyllistä, että koodi alkaa Pi: n käynnistyksen jälkeen. Tätä varten aiomme tehdä palvelun.
Luo uusi tiedosto nimeltä smartcard.service seuraavalla komennolla:
sudo nano /etc/systemd/system/smartcard.service
Tämän täytyy mennä tiedostoon:
[Yksikkö]
Kuvaus = Älykortin taustaohjelma Jälkeen = network.target [Palvelu] ExecStart =/usr/bin/python3 -u app.py WorkingDirectory =/home/pi/project1 StandardOutput = peri StandardError = peri Uudelleenkäynnistys = aina Käyttäjä = pi [Asenna] WantedBy = usean käyttäjän.target WorkingDirectory on polku kansioon, jossa ohjelma sijaitsee
Nyt sinulla on oma älykortti!
Suositeltava:
Automaattinen käsidesi: 8 vaihetta
Automaattinen käsidesi: COVID-19-pandemiasta on tullut asia, jonka yleisö on kuullut hyvin usein vuoden 2020 aikana. Jokainen kansalainen, joka kuulee sanan”COVID-19”, ajattelee heti sanan”Vaarallinen”, “Tappava”,”Pidä puhtaana” "Ja muita sanoja. Tämä COVID-19 on myös
DIY automaattinen käsidesin annostelija: 6 vaihetta
DIY automaattinen käsidesin annostelija: Tässä projektissa rakennamme automaattisen käsidesin annostelijan. Tässä projektissa käytetään Arduinoa, ultraäänianturia, vesipumppua ja käsidesiä. Ultraäänianturia käytetään käsien läsnäolon tarkistamiseen desinfiointikoneen ulostulon alla
Automaattinen geelialkoholiannostelija, jossa Esp32: 9 vaihetta
Automaattinen geelialkoholin annostelija Esp32: opetusohjelmassa näemme kuinka tehdä täydellinen prototyyppi, koota automaattinen geelialkoholiannostelija esp32: n kanssa, se sisältää vaiheittaisen kokoonpanon, elektronisen piirin ja myös lähdekoodin, jotka on selitetty vaihe vaiheelta askel
Automaattinen koiran syöttölaite !!: 4 vaihetta
Automaattinen koiran syöttölaite !!: Helppoa, hyödyllistä ja terveellistä
Automaattinen kasvien kastelujärjestelmä mikron avulla: bitti: 8 vaihetta (kuvilla)
Automaattinen kasvien kastelujärjestelmä Micro: bitin avulla: Tässä ohjeessa näytän sinulle, kuinka rakentaa automaattinen kasvien kastelujärjestelmä käyttämällä Micro: bittiä ja joitain muita pieniä elektronisia komponentteja. Micro: bit käyttää kosteusanturia seurata kasvin maaperän kosteustasoa ja