Innehållsförteckning:

Smart parkeringsplats med Raspberry Pi: 5 steg
Smart parkeringsplats med Raspberry Pi: 5 steg

Video: Smart parkeringsplats med Raspberry Pi: 5 steg

Video: Smart parkeringsplats med Raspberry Pi: 5 steg
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, November
Anonim
Smart parkeringsplats med Raspberry Pi
Smart parkeringsplats med Raspberry Pi

I denna instruktion kommer vi att skapa ett helautomatiskt parkeringssystem anslutet till ett webbgränssnitt. Du kommer att kunna se vilken plats som tas, bestämma vem som går in och vem som går ut och den är utrustad med ett automatiskt belysningssystem.

Tillbehör

Hårdvara

  • 2x ultraljudssensorer
  • 1x servomotor
  • 4x vita lysdioder
  • 1x ljusberoende motstånd
  • 1x 2*16 LCD -skärm

Datoranvändning

  • 1x Raspberry Pi 3 B+
  • 1x SD-kort (8-16 GB valet är ditt)
  • 1x Adafruit I2S 3W klass D förstärkare Breakout - MAX98357A
  • 1x MCP3008
  • 1x motstånd 2.2K Ohm
  • 9x motstånd 1K Ohm

Olika

  • Bygelkablar
  • Bakbord
  • UTP-kabel
  • Adapter för din hallon pi
  • Ett ark med multiplex (du kan använda vilken typ av material du vill ha för höljet)
  • En limpistol

programvara

  • Spackel
  • Programvara för att redigera kod (du kan använda vad du vill så länge den stöder: Python, HTML, CSS och java script
  • Win32 Disk Imager
  • Raspbian OS -bild
  • VNC Viewer (tillval)

Steg 1: Konfigurera RPI

Innan vi börjar med att koppla in hårdvaran skriver vi

programvara och göra höljet kommer vi att behöva konfigurera din PI med den nödvändiga programvaran du behöver för att få projektet att köra.

Du behöver en bild av Raspbian för att sätta på ditt SD -kort och skriva det till SD -kortet Win32 Disk Imager. Du hittar länkar till båda nedan.

- Win32 Disk Imager:

- Raspbian -bild:

Installationen

  1. Öppna Win32 Disk Imager

    1. Välj bilden du just laddade ner via mappikonen
    2. Välj ditt SD -kort via rullgardinsmenyn
    3. Klicka på skriv
    4. När processen är klar kommer din dator förmodligen att fråga dig om du vill formatera SD -kortet, gör inte detta

När du är klar med dessa steg måste du göra några extra saker så att du kan komma åt programvaran för din PI.

  1. Öppna SD -kortet i din explorer
  2. Öppna filen "cmdline.txt"
  3. Du kommer att se en lång rad text i slutet lägga till: ip = 169.254.10.1
  4. Spara filen
  5. Skapa en fil som heter ssh utan tillägg (om du inte vet hur du gör detta klickar du bara på ny fil, välj ny textfil, radera tillägget och namnge det ssh)
  6. Det sista steget i denna del är att säkert mata ut SD -kortet och sätta det i Raspberry PI

Ansluter

När du är klar med de föregående stegen är det dags att ansluta till din pi för första gången. Först måste du ansluta din UTP -kabel, den ena änden i din dator den andra i din pi (det är viktigt att du ansluter LAN -kabeln innan du ansluter den).

  1. Installera kitt:
  2. När du har installerat det öppnar du det och anger 169.254.10.1 i rutan IP
  3. Välj SSH och fyll i port 22
  4. Klicka på öppna
  5. Fyll i användarnamnet: pi och lösenordet hallon detta är standardinloggningen på en helt ny bild

Raspi-config

Innan vi går vidare måste du ändra en hel del inställningar i menyn raspi-config öppna den med:

sudo raspi-config

1. Aktivera I2C och SPI under alternativ i kategorin gränssnitt

2. Välj ditt WIFI -sätt via lokaliseringskategorin

3. Ställ in Desktop/CLI -inställningen i kategorin startalternativ till Desktop Autologin.

4. Under Avancerade alternativ väljer du A1 Expand Fil System (detta gör att du använder hela SD -kortets utrymme

5. Avsluta nu och sudo omstart

Wifi

Nu är det dags att konfigurera din wifi -anslutning självklart, du kommer att behöva dina wifi -uppgifter.

Gå först till rotläge genom att köra det här kommandot

Sudo -i

Nu har du de rättigheter som krävs för att köra dessa kommandon:

Se till att ändra SSID till ditt wifi -namn och LÖSENORD till ditt wifi -lösenord

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

Ange WPA -klienten genom att köra det här kommandot:

wpa_cli

Välj gränssnittet

Gränssnitt wlan0

Ladda om konfigurationen

Konfigurera om

Sist men inte minst kolla om det fungerade. Du kan göra detta genom att ange:

Ip a

Här kan du kontrollera om du har en ip under WLAN0 -gränssnitt om inte sudo reboot (misslyckas aldrig (:).

Om du inte är bekväm med att göra det via kommandoraden kan du alltid göra det via GUI för Raspbian som är lite mer användarvänligt.

  1. Installera VNC-viewer här:
  2. Klicka på fil, ny anslutning och ange i IP-adressfältet: 169.254.10.1 och välj vilket namn du vill
  3. Fyll i användarnamnet: pi och lösenordet hallon
  4. Klicka på wifi -ikonen och anslut på det sättet

Paket

Nu när vi är anslutna till internet kan vi installera paketen vi behöver för att köra hela koden.

Först måste vi uppdatera paketlistan till den senaste genom att köra:

sudo apt uppdatering

sudo apt uppgradering

Apache webbserver

Vi behöver en webbserver för att köra vår webbapplikation. Vi kan uppnå detta genom att installera apache -webbserver genom att köra detta kommando:

sudo apt installera apach2 -y

Python -paket

För att få allt att fungera kommer vi att behöva en hel del paket. Det är de vi kommer att behöva.

  • Flaska
  • Kolv-Cors
  • Kolvförlängning
  • Kolv-MySQL
  • Flask-SocketIO
  • Python-socketio

Du kan installera dem genom att köra det här kommandot:

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

Steg 2: Databas

Databas
Databas

MariaDB

Kör följande kommando för att installera MariaDB detta är databassystemet som krävs för att hålla reda på alla data som sensorerna läser in.

sudo apt installera mariadb-server

Nu måste vi säkra vår installation

Mysql_secure_installation

När du har kört kommandot kommer det att be oss om ett rotlösenord, vi har inte ett ännu, så tryck bara på enter.

Nu kommer den att fråga dig om du vill ha en av säkerhetsskäl, vi vill ha en så tryck på Y på tangentbordet och välj vilket lösenord du vill ha.

Nu kommer det att fortsätta att ställa dig några fler frågor, bara svara på Y till dem alla

Okej nu när vi har nått den här punkten måste vi gå in i SQL -skalet.

För att göra detta måste vi först bli rot igen för att ge oss privilegierna att göra det genom att ange detta kommando igen:

sudo -i

Ange nu mysql -skalet

mysql

Nu ska vi skapa en användare som sätter det namn du vill ha mellan citattecken före @ och det lösenord du vill ha efter identifierat med

Nu måste vi spola behörighetstabellen genom att köra detta kommando:

FLUSH PRIVILEGER;

När du har slutfört dessa steg kan du återskapa db -schemat från bilden ovan. Tyvärr kan jag inte ge dig en dumpning av databasen eftersom jag upplever några programvarufel.

Steg 3: Kabeldragning

Kabeldragning
Kabeldragning
Kabeldragning
Kabeldragning
Kabeldragning
Kabeldragning

Nu är det dags att göra projektledningen. För att göra processen lite enklare genom att först göra ett schema i ett program som heter fritzing. Fritzing gör det så lättare att återskapa dina ledningar i verkliga livet och du får en klar bild av vad du gör.

Steg 4: Bostäder

Hus
Hus
Hus
Hus
Hus
Hus

Det första steget är att skära träet i formerna som visas på ritningen. Jag gjorde det via laserskärning men en vanlig såg fungerar lika bra. Därefter vill du måla träet svart för att få asfaltfärgen. När färgen är torr kan du måla de vita ränderna för att få den där parkeringen. För staketet sprayade jag målade sugrör för att se ut som stolpar. För själva fäktningen fästade jag några goa på stolparna. Barriären är gjord av paer maché som jag spraymålade senare.

Steg 5: Kodning

Kodning
Kodning
Kodning
Kodning
Kodning
Kodning

Backend: Projektets backend är skriven i Python och TSQL. Den läser upp all data från sensorerna och skriver bort den till databasen vi skapade lite tidigare. Den kör också en webbserver så att vi kan ansluta vår frontend till den. Jag skrev koden som behövs för backend i pycharm men självklart kan du bara använda vad du vill.

Du hittar koden för backend här:

Frontend: Frontend är skriven i HTML, CSS och Javascript. Jag använde en kombination av visuell studiokod och phpstorm för att skriva koden. Koden skriver i princip hela webbplatsen och i javascript -filerna kan du hitta koden som behövs för att få data från backend.

Du hittar koden för frontend här:

Rekommenderad: