Innholdsfortegnelse:

Smart parkeringsplass ved bruk av Raspberry Pi: 5 trinn
Smart parkeringsplass ved bruk av Raspberry Pi: 5 trinn

Video: Smart parkeringsplass ved bruk av Raspberry Pi: 5 trinn

Video: Smart parkeringsplass ved bruk av Raspberry Pi: 5 trinn
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, November
Anonim
Smart parkeringsplass ved hjelp av Raspberry Pi
Smart parkeringsplass ved hjelp av Raspberry Pi

I denne instruksen skal vi lage et helautomatisk parkeringssystem koblet til et webgrensesnitt. Du vil kunne se hvilket sted som er tatt, bestemme hvem som går inn og hvem som går ut, og det er utstyrt med et automatisk belysningssystem.

Rekvisita

Maskinvare

  • 2x ultralydsensorer
  • 1x servomotor
  • 4x hvite lysdioder
  • 1x Lysavhengig motstand
  • 1x 2*16 LCD -skjerm

Datamaskin

  • 1x Raspberry Pi 3 B+
  • 1x SD-kort (8-16 GB valget er ditt)
  • 1x Adafruit I2S 3W klasse D forsterker breakout - MAX98357A
  • 1x MCP3008
  • 1x motstand 2.2K Ohm
  • 9x motstander 1K Ohm

Diverse

  • Jumper ledninger
  • Brødbrett
  • UTP-kabel
  • Adapter for bringebær pi
  • Et ark med multipleks (du kan bruke hva slags materiale du vil ha til foringsrøret)
  • En limpistol

Programvare

  • PuTTY
  • Programvare for å redigere kode (du kan bruke hva du vil så lenge den støtter: Python, HTML, CSS og java script
  • Win32 Disk Imager
  • Raspbian OS -bilde
  • VNC Viewer (valgfritt)

Trinn 1: Sett opp RPI

Før vi begynner med å koble til maskinvaren, skriver vi

programvare og lage foringsrøret vi trenger for å sette opp din PI med nødvendig programvare du trenger for å få prosjektet til å kjøre.

Du trenger et bilde av Raspbian for å sette på SD -kortet og skrive det til SD -kortet Win32 Disk Imager. Du finner lenker til begge deler nedenfor.

- Win32 Disk Imager:

- Raspbian -bilde:

Installasjonen

  1. Åpne Win32 Disk Imager

    1. Velg bildet du nettopp lastet ned via mappeikonet
    2. Velg SD -kortet ditt via rullegardinmenyen
    3. Klikk på skrive
    4. Når prosessen er fullført, vil datamaskinen sannsynligvis spørre deg om du vil formatere SD -kortet, ikke gjør dette

Når du er ferdig med disse trinnene, må du gjøre noen ekstra ting, slik at du får tilgang til programvaren til PI -en din.

  1. Åpne SD -kortet i utforskeren
  2. Åpne filen "cmdline.txt"
  3. Du vil se en lang tekstlinje på slutten legge til: ip = 169.254.10.1
  4. Lagre filen
  5. Lag en fil som heter ssh uten utvidelse (hvis du ikke vet hvordan du gjør dette, klikker du bare på ny fil, velger ny tekstfil, sletter utvidelsen og gir den navn til ssh)
  6. Det siste trinnet i denne delen er å trygt kaste ut SD -kortet og sette det i Raspberry PI

Kobler til

Når du er ferdig med de forrige trinnene, er det på tide å koble til pi -en din for første gang. Først må du koble til UTP -kabelen, den ene enden i datamaskinen den andre i pi -en (det er viktig at du kobler til LAN -kabelen før du kobler den til).

  1. Installer Putty:
  2. Når du har installert den, åpner du den og angir 169.254.10.1 i IP -boksen
  3. Velg SSH og fyll ut port 22
  4. Klikk på åpne
  5. Fyll ut brukernavnet: pi og passordet bringebær dette er standard pålogging på et helt nytt bilde

Raspi-konfigurasjon

Før vi går videre må du endre ganske mange innstillinger i raspi-config-menyen, åpne den ved å bruke:

sudo raspi-config

1. Aktiver I2C og SPI under alternativene kategorien grensesnitt

2. Velg WIFI -coutry via lokaliseringskategorien

3. Angi Desktop/CLI -innstillingen i kategorien oppstartsalternativer til Desktop Autologin.

4. Under Avanserte alternativer velger du A1 Utvid filsystem (dette gjør at du bruker plassen på hele SD -kortet

5. Avslutt nå og sudo på nytt

Wifi

Nå er det på tide å sette opp wifi -tilkoblingen din, selvfølgelig trenger du legitimasjonen til wifi -en din.

Gå først inn i rotmodus ved å kjøre denne kommandoen

Sudo -i

Nå har du de nødvendige rettighetene for å kjøre disse kommandoene:

Sørg for å endre SSID til wifi -navnet ditt og PASSORD til wifi -passordet ditt

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

Skriv inn WPA -klienten ved å kjøre denne kommandoen:

wpa_cli

Velg grensesnittet

Grensesnitt wlan0

Last inn konfigurasjonen på nytt

Konfigurer på nytt

Sist, men ikke minst, sjekk om det fungerte. Du kan gjøre dette ved å skrive inn:

Ip a

Her kan du sjekke om du har en ip under WLAN0 -grensesnitt hvis ikke sudo reboot (mislykkes aldri (:).

Hvis du ikke er komfortabel med å gjøre det via kommandolinjen, kan du alltid gjøre det via GUI for Raspbian, som er litt mer brukervennlig.

  1. Installer VNC-viewer her:
  2. Klikk fil, ny tilkobling og skriv inn IP-adresselinjen: 169.254.10.1 og velg hvilket navn du vil
  3. Fyll inn brukernavnet: pi og passordet bringebær
  4. Klikk på wifi -ikonet og koble til på den måten

Pakker

Nå som vi er koblet til internett kan vi installere pakkene vi trenger for å kjøre all koden.

Først må vi oppdatere pakkelisten til den siste ved å kjøre:

sudo apt oppdatering

sudo apt oppgradering

Apache webserver

Vi trenger en webserver for å kjøre nettprogrammet vårt. Vi kan oppnå dette ved å installere apache webserver ved å kjøre denne kommandoen:

sudo apt install apach2 -y

Python -pakker

For å få alt til å fungere trenger vi ganske mange pakker. Det er disse vi kommer til å trenge.

  • Kolbe
  • Flask-Cors
  • Kolbe-forlengelse
  • Kolbe-MySQL
  • Flask-SocketIO
  • Python-socketio

Du kan installere dem ved å kjøre denne kommandoen:

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

Trinn 2: Database

Database
Database

MariaDB

Kjør følgende kommando for å installere MariaDB, dette er databasesystemet som kreves for å holde oversikt over alle dataene sensorene leser inn.

sudo apt installer mariadb-server

Nå må vi sikre installasjonen

Mysql_secure_installation

Når du har kjørt kommandoen, vil den be oss om et rotpassord vi ikke har et ennå, så bare trykk enter.

Nå vil den spørre deg om du vil ha en av sikkerhetsmessige årsaker, vi vil ha en så trykk Y på tastaturet og velg hvilket passord du vil ha.

Nå vil det fortsette å stille deg noen flere spørsmål, bare svar Y til dem alle

OK nå som vi har kommet til dette punktet må vi gå inn i SQL -skallet.

For å gjøre dette må vi først bli rot igjen for å gi oss privilegiene til å gjøre det ved å skrive inn denne kommandoen igjen:

sudo -i

Gå nå inn i mysql -skallet

mysql

Nå skal vi opprette en bruker som legger navnet du vil ha mellom anførselstegnene før @ og passordet du vil ha etter identifisert av

Nå må vi skylle tillatelsestabellen ved å kjøre denne kommandoen:

FLUSH -PRIVILEGER;

Etter at du har fullført disse trinnene, kan du gjenskape db -opplegget fra bildet ovenfor. Dessverre kan jeg ikke gi deg en dump av databasen fordi jeg opplever noen programvarefeil.

Trinn 3: Kabling

Kabling
Kabling
Kabling
Kabling
Kabling
Kabling

Nå er det på tide å gjøre ledningene til prosjektet. For å gjøre prosessen litt enklere ved først å lage et opplegg i et program som heter fritzing. Fritzing gjør det enklere å gjenskape ledningene dine i virkeligheten, og du får et klart bilde av hva du lager.

Trinn 4: Boliger

Boliger
Boliger
Boliger
Boliger
Boliger
Boliger

Det første trinnet er å kutte treverket i formene som vist på tegningen. Jeg gjorde det via laserskjæring, men en vanlig sag vil fungere like bra. Etter det vil du male treet svart for å få asfaltfargen. Når malingen er tørr, kan du male de hvite stripene for å få følelsen av parkeringsplassen. For gjerdet sprayet jeg malte sugerør for å se ut som staver. Til selve gjerdet festet jeg noen goaer til polene. Barrieren er laget av paer maché som jeg spraymalt senere.

Trinn 5: Koding

Koding
Koding
Koding
Koding
Koding
Koding

Backend: Projektets backend er skrevet i Python og TSQL. Den leser opp alle dataene til sensorene og skriver den bort til databasen vi opprettet litt tidligere. Den kjører også en webserver, slik at vi kan koble frontenden til den. Jeg skrev koden som trengs for backend i pycharm, men selvfølgelig kan du bare bruke hva du vil.

Du finner koden for backend her:

Frontend: Frontend er skrevet i HTML, CSS og Javascript. Jeg brukte en kombinasjon av visuell studiokode og phpstorm for å skrive koden. Koden skriver i utgangspunktet hele nettstedet, og i javascript -filene kan du finne koden som trengs for å få dataene fra backend.

Du finner koden for frontend her:

Anbefalt: