Sadržaj:

Pametno parkiralište pomoću Raspberry Pi: 5 koraka
Pametno parkiralište pomoću Raspberry Pi: 5 koraka

Video: Pametno parkiralište pomoću Raspberry Pi: 5 koraka

Video: Pametno parkiralište pomoću Raspberry Pi: 5 koraka
Video: NAJBOLJE RASPBERRY PI KUĆIŠTE! 2024, Studeni
Anonim
Pametno parkiralište pomoću Raspberry Pi
Pametno parkiralište pomoću Raspberry Pi

U ovim uputama stvorit ćemo potpuno automatski sustav parkiranja povezan s web sučeljem. Moći ćete vidjeti koje je mjesto zauzeto, odlučiti tko ulazi, a tko izlazi, a opremljeno je automatskim sustavom rasvjete.

Pribor

Hardver

  • 2x ultrazvučni senzori
  • 1x servo motor
  • 4x bijele LED diode
  • 1x otpornik ovisan o svjetlu
  • 1x 2*16 LCD zaslon

Računarstvo

  • 1x malina Pi 3 B+
  • 1x SD kartica (8-16 GB, izbor je vaš)
  • 1x Adafruit I2S 3W pojačalo pojačala klase D - MAX98357A
  • 1x MCP3008
  • 1x otpornik 2.2K Ohm
  • 9x otpornici 1K Ohm

Razne

  • Kratkospojne žice
  • Oglasna ploča
  • UTP-kabel
  • Adapter za vaš malina pi
  • List multipleksa (za kućište možete koristiti bilo koji materijal koji želite)
  • Pištolj za ljepilo

Softver

  • Kit
  • Softver za uređivanje koda (možete koristiti što god želite sve dok podržava: Python, HTML, CSS i java skriptu
  • Win32 Disk Imager
  • Slika Raspbian OS -a
  • VNC Viewer (izborno)

Korak 1: Postavite RPI

Prije nego počnemo s ožičenjem hardvera, napišite

softvera i izraditi kućište, trebat ćemo postaviti vaš PI sa potrebnim softverom koji će vam trebati za pokretanje projekta.

Trebat će vam slika Raspbiana koju ćete staviti na SD karticu i zapisati je na SD karticu Win32 Disk Imager. Dolje možete pronaći veze do oba.

- Win32 Disk Imager:

- Raspbian slika:

Instalacija

  1. Otvorite Win32 Disk Imager

    1. Odaberite sliku koju ste upravo preuzeli putem ikone mape
    2. Odaberite svoju SD karticu putem padajućeg izbornika
    3. Kliknite na piši
    4. Kad proces završi, vaše će vas računalo vjerojatno pitati želite li formatirati SD karticu, nemojte to činiti

Kad završite s ovim koracima, morat ćete učiniti neke dodatne stvari kako biste mogli pristupiti softveru svog PI -ja.

  1. Otvorite SD karticu u svom istraživaču
  2. Otvorite datoteku "cmdline.txt"
  3. Vidjet ćete dugačak redak teksta na kraju dodati: ip = 169.254.10.1
  4. Spremite datoteku
  5. Izradite datoteku ssh bez proširenja (ako ne znate kako to učiniti samo kliknite na novu datoteku, odaberite novu tekstualnu datoteku, izbrišite ekstenziju i dajte joj ime ssh)
  6. Posljednji korak ovog dijela je sigurno izbacivanje SD kartice i umetanje u Raspberry PI

Povezivanje

Kada završite s prethodnim koracima, vrijeme je da se prvi put povežete sa svojim pi -jem. Prvo ćete morati priključiti svoj UTP kabel, jedan kraj u računalo, a drugi u pi (važno je da priključite LAN kabel prije nego što ga priključite).

  1. Instalirajte Putty:
  2. Nakon što ga instalirate, otvorite ga i unesite 169.254.10.1 u okvir za IP
  3. Odaberite SSH i ispunite port 22
  4. Pritisnite otvoriti
  5. Ispunite korisničko ime: pi i lozinku malina, ovo je standardna prijava na potpuno novoj slici

Raspi-config

Prije nego što nastavimo, morat ćete promijeniti dosta postavki u izborniku raspi-config otvorite ga pomoću:

sudo raspi-config

1. Omogućite I2C i SPI pod opcijama u kategoriji sučelja

2. Odaberite svoju WIFI lokaciju prema kategoriji lokalizacije

3. Postavite Desktop/CLI postavku u kategoriji mogućnosti pokretanja na Desktop Autologin.

4. U odjeljku Napredne opcije odaberite A1 Proširi datotečni sustav (time ćete osigurati da koristite prostor na cijeloj SD kartici

5. Sada izađite i ponovo pokrenite sudo

Wifi

Sada je vrijeme da postavite svoju WiFi vezu izvan kursa, trebat će vam vjerodajnice za vašu WiFi.

Prvo idite u root način pokretanjem ove naredbe

Sudo -i

Sada imate prava potrebna za pokretanje ovih naredbi:

Svakako promijenite SSID na svoje WiFi ime, a PASSWORD na svoju WiFi lozinku

Wpa_passphrase “SSID” “PASSWORD” >> /etc/wpa_supplicant/wpa_supplicant.conf

Unesite WPA klijenta pokretanjem ove naredbe:

wpa_cli

Odaberite sučelje

Sučelje wlan0

Ponovno učitajte konfiguraciju

Ponovno konfigurirajte

Na kraju, ali ne i najmanje važno, provjerite radi li. To možete učiniti unosom:

Ip a

Ovdje možete provjeriti imate li ip pod WLAN0 sučeljima ako ne sudo reboot (nikad ne uspije (:).

Ako vam nije ugodno to učiniti putem naredbenog retka, to uvijek možete učiniti putem grafičkog sučelja Raspbiana koji je malo prilagođeniji korisniku.

  1. Ovdje instalirajte VNC-viewer:
  2. Kliknite datoteka, nova veza i unesite u traku IP adrese: 169.254.10.1 i odaberite bilo koje ime koje želite
  3. Ispunite korisničko ime: pi i lozinku malina
  4. Kliknite ikonu wifi i povežite se na taj način

Paketi

Sada kada smo spojeni na internet možemo instalirati pakete koji su nam potrebni za pokretanje cijelog koda.

Prvo ćemo morati osvježiti popis paketa na najnoviji tako što ćemo pokrenuti:

sudo apt ažuriranje

sudo apt nadogradnja

Apache web poslužitelj

Za rad naše web aplikacije trebat će nam web poslužitelj. To možemo postići instaliranjem apache web poslužitelja pokretanjem ove naredbe:

sudo apt install apach2 -y

Python paketi

Kako bi sve funkcioniralo, trebat će nam dosta paketa. Ovo su oni koji će nam trebati.

  • Boca
  • Flask-Cors
  • Flask-Extension
  • Flask-MySQL
  • Utičnica za utičnicuIO
  • Python-socketio

Možete ih instalirati pokretanjem ove naredbe:

pip install Flask Flask-Cors Flask-Extension Flask-MySQL Flask-SocketIO python-socketio

Korak 2: Baza podataka

Baza podataka
Baza podataka

MariaDB

Pokrenite sljedeću naredbu za instaliranje MariaDB -a. Ovo je sustav baze podataka potreban za praćenje svih podataka koje senzori čitaju.

sudo apt install mariadb-server

Sada ćemo morati osigurati našu instalaciju

Mysql_sigurna_instalacija

Nakon što pokrenete naredbu, od nas će se tražiti korijenska lozinka koju još nemamo, pa samo pritisnite enter.

Sada će vas pitati želite li ga iz sigurnosnih razloga mi želimo, pa pritisnite Y na tipkovnici i odaberite koju god lozinku želite.

Sada će vam nastaviti postavljati još nekoliko pitanja, samo odgovorite na sva njih Y

U redu sada kada smo došli do ove točke moramo ući u ljusku SQL -a.

Da bismo to učinili, prvo moramo ponovno postati root da bismo nam dali privilegije da to učinimo ponovnim unosom ove naredbe:

sudo -i

Sada unesite ljusku mysql

mysql

Sada ćemo stvoriti korisnika koji će ime staviti između navodnika ispred znaka @ i lozinku koju želite nakon što je identificirao

Sada moramo isprazniti tablicu dopuštenja pokretanjem ove naredbe:

FLUSH PRIVILEGIJE;

Nakon što dovršite ove korake, možete ponovno stvoriti db shemu sa gornje slike. Nažalost, ne mogu vam dati dump baze podataka jer nailazim na neke softverske pogreške.

Korak 3: Ožičenje

Ožičenje
Ožičenje
Ožičenje
Ožičenje
Ožičenje
Ožičenje

Sada je vrijeme za ožičenje projekta. Da biste malo olakšali proces, prvo napravite shemu u programu pod nazivom fritzing. Fritzing olakšava ponovno stvaranje ožičenja u stvarnom životu i dobivate jasnu sliku o tome što radite.

Korak 4: Stanovanje

Kućište
Kućište
Kućište
Kućište
Kućište
Kućište

Prvi korak je rezanje drva u oblicima kako je prikazano na crtežu. Učinio sam to laserskim rezanjem, ali normalna pila će jednako dobro funkcionirati. Nakon toga ćete htjeti obojati drvo u crno kako biste dobili boju asfalta. Nakon što se boja osuši, možete obojiti bijele pruge kako biste dobili osjećaj parkirališta. Za ogradu prskam obojene slamke da izgledaju poput stupova. Za same ograde pričvrstio sam neke goe na stupove. Pregrada je napravljena od paer maché -a koji sam kasnije naslikao sprejom.

Korak 5: Kodiranje

Kodiranje
Kodiranje
Kodiranje
Kodiranje
Kodiranje
Kodiranje

Pozadina: Pozadina projekta napisana je na Pythonu i TSQL -u. Očitava sve podatke senzora i zapisuje ih u bazu podataka koju smo malo prije stvorili. Pokreće i web poslužitelj tako da možemo povezati naš sučelje s njim. Napisao sam kôd potreban za pozadinu u pycharmu, ali naravno da možete koristiti što god želite.

Kôd za pozadinu možete pronaći ovdje:

Frontend: Frontend je napisan u HTML -u, CSS -u i Javascript -u. Za pisanje koda koristio sam kombinaciju vizualnog studijskog koda i phpstorma. Kod u osnovi zapisuje cijelu web stranicu, a u javascript datotekama možete pronaći kôd potreban za dobivanje podataka iz pozadine.

Kôd za frontend možete pronaći ovdje:

Preporučeni: