Indholdsfortegnelse:

Smart parkeringsplads ved hjælp af Raspberry Pi: 5 trin
Smart parkeringsplads ved hjælp af Raspberry Pi: 5 trin

Video: Smart parkeringsplads ved hjælp af Raspberry Pi: 5 trin

Video: Smart parkeringsplads ved hjælp af Raspberry Pi: 5 trin
Video: BlitzWolf BW-IS22 - Alarm, wi-fi + GSM, Tuya Smart, integration og kontrol i Home Assistant 2024, November
Anonim
Smart parkeringsplads ved hjælp af Raspberry Pi
Smart parkeringsplads ved hjælp af Raspberry Pi

I denne instruks skaber vi et fuldautomatisk parkeringssystem, der er forbundet til en webgrænseflade. Du vil være i stand til at se, hvilket sted der tages, bestemme hvem der går ind og hvem der går ud, og det er udstyret med et automatisk belysningssystem.

Forbrugsvarer

Hardware

  • 2x ultralydssensorer
  • 1x servomotor
  • 4x hvide LED’er
  • 1x Lysafhængig modstand
  • 1x 2*16 LCD -skærm

Computing

  • 1x Raspberry Pi 3 B+
  • 1x SD-kort (8-16 GB valget er dit)
  • 1x Adafruit I2S 3W klasse D forstærker breakout - MAX98357A
  • 1x MCP3008
  • 1x modstand 2.2K Ohm
  • 9x modstande 1K Ohm

Forskellige

  • Jumper ledninger
  • Brødbræt
  • UTP-kabel
  • Adapter til din hindbær pi
  • Et ark multiplex (du kan bruge hvilken som helst slags materiale, du ønsker til huset)
  • En limpistol

Software

  • PuTTY
  • Software til at redigere kode (du kan bruge hvad du vil, så længe den understøtter: Python, HTML, CSS og java script
  • Win32 Disk Imager
  • Raspbian OS -billede
  • VNC Viewer (valgfrit)

Trin 1: Opsætning af RPI

Inden vi går i gang med at tilslutte hardwaren, skriver vi

software og lave kabinettet, skal vi konfigurere dit PI med den nødvendige software, du skal bruge til at få projektet til at køre.

Du skal bruge et billede af Raspbian for at sætte dit SD -kort og skrive det til SD32 Win32 Disk Imager. Du kan finde links til begge nedenunder.

- Win32 Disk Imager:

- Raspbian -billede:

Installationen

  1. Åbn Win32 Disk Imager

    1. Vælg det billede, du lige har downloadet, via mappeikonet
    2. Vælg dit SD -kort via rullemenuen
    3. Klik på skriv
    4. Når processen er færdig, vil din computer sandsynligvis spørge dig, om du vil formatere SD -kortet, ikke gør dette

Når du er færdig med disse trin, skal du gøre nogle ekstra ting, så du kan få adgang til softwaren på dit PI.

  1. Åbn SD -kortet i din explorer
  2. Åbn filen "cmdline.txt"
  3. Du vil se en lang tekstlinje i slutningen tilføje: ip = 169.254.10.1
  4. Gem filen
  5. Opret en fil med navnet ssh uden udvidelse (hvis du ikke ved, hvordan du gør dette, skal du bare klikke på ny fil, vælge ny tekstfil, slette udvidelsen og navngive den ssh)
  6. Det sidste trin i denne del er at skubbe SD -kortet sikkert ud og sætte det i Raspberry PI

Tilslutning

Når du er færdig med at udføre de foregående trin, er det tid til at oprette forbindelse til din pi for første gang. Først skal du tilslutte dit UTP -kabel, den ene ende i din computer den anden i dit pi (det er vigtigt, at du tilslutter LAN -kablet, før du tilslutter det).

  1. Installer Putty:
  2. Når du har installeret det, skal du åbne det og indtaste 169.254.10.1 i feltet IP
  3. Vælg SSH, og udfyld port 22
  4. Klik på Åbn
  5. Udfyld brugernavnet: pi og adgangskoden hindbær dette er standard login på et helt nyt billede

Raspi-konfiguration

Inden vi går videre, bliver du nødt til at ændre en del indstillinger i menuen raspi-config for at åbne den ved hjælp af:

sudo raspi-config

1. Aktiver I2C og SPI under valgmulighederne kategorien grænseflader

2. Vælg din WIFI -coutry via lokaliseringskategorien

3. Indstil Desktop/CLI -indstillingen i kategorien boot -indstillinger til Desktop Autologin.

4. Under Avancerede indstillinger skal du vælge A1 Udvid filsystem (dette sikrer, at du bruger pladsen på hele SD -kortet

5. Afslut nu og sudo genstart

trådløst internet

Nu er det tid til at konfigurere din wifi -forbindelse selvfølgelig, du skal bruge legitimationsoplysningerne for din wifi.

Gå først i rodtilstand ved at køre denne kommando

Sudo -i

Nu har du de nødvendige rettigheder til at køre disse kommandoer:

Sørg for at ændre SSID til dit wifi -navn og PASSORD til dit wifi -kodeord

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

Indtast WPA -klienten ved at køre denne kommando:

wpa_cli

Vælg grænsefladen

Grænseflade wlan0

Genindlæs konfigurationen

Omkonfigurer

Sidst men ikke mindst tjek om det fungerede. Du kan gøre dette ved at indtaste:

Ip a

Her kan du kontrollere, om du har en ip under WLAN0 -grænseflader, hvis ikke sudo genstart (mislykkes aldrig (:).

Hvis du ikke er fortrolig med at gøre det via kommandolinjen, kan du altid gøre det via GUI for Raspbian, som er lidt mere brugervenlig.

  1. Installer VNC-viewer her:
  2. Klik på fil, ny forbindelse, og indtast i IP-adresselinjen: 169.254.10.1, og vælg det navn, du vil have
  3. Udfyld brugernavnet: pi og adgangskoden hindbær
  4. Klik på wifi -ikonet, og tilslut den måde

Pakker

Nu hvor vi har forbindelse til internettet, kan vi installere de pakker, vi har brug for for at køre hele koden.

Først skal vi opdatere pakkelisten til den nyeste ved at køre:

sudo apt opdatering

sudo apt opgradering

Apache webserver

Vi skal bruge en webserver til at køre vores webapplikation. Vi kan opnå dette ved at installere apache webserver ved at køre denne kommando:

sudo apt installere apach2 -y

Python pakker

For at få alt til at fungere skal vi bruge en del pakker. Det er dem, vi får brug for.

  • Kolbe
  • Kolbe-Cors
  • Kolbe-forlængelse
  • Kolbe-MySQL
  • Kolbe-SocketIO
  • Python-socketio

Du kan installere dem ved at køre denne kommando:

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

Trin 2: Database

Database
Database

MariaDB

Kør følgende kommando for at installere MariaDB, dette er det databasesystem, der kræves for at holde styr på alle de data, sensorerne læser ind.

sudo apt installer mariadb-server

Nu skal vi sikre vores installation

Mysql_secure_installation

Når du har kørt kommandoen, vil den bede os om en root -adgangskode, vi har ikke en endnu, så tryk bare på enter.

Nu vil den spørge dig, om du vil have en af sikkerhedsmæssige årsager, vi vil have en, så tryk på Y på dit tastatur og vælg den adgangskode, du vil have.

Nu vil det fortsætte med at stille dig et par flere spørgsmål, bare svar Y til dem alle

Okay nu, da vi er nået til dette punkt, skal vi gå ind i SQL -skallen.

For at gøre dette skal vi først blive rod igen for at give os privilegierne til at gøre det ved at indtaste denne kommando igen:

sudo -i

Indtast nu mysql -skallen

mysql

Nu skal vi oprette en bruger, sætte det ønskede navn mellem anførselstegnene før @ og den adgangskode, du vil have efter identificeret ved

Nu skal vi skylle tilladelsestabellen ved at køre denne kommando:

FLUSH -PRIVILEGER;

Når du har gennemført disse trin, kan du genskabe db -skemaet fra billedet ovenfor. Desværre kan jeg ikke give dig en dump af databasen, fordi jeg oplever nogle softwarefejl.

Trin 3: Ledningsføring

Ledninger
Ledninger
Ledninger
Ledninger
Ledninger
Ledninger

Nu er det tid til at foretage ledningsføring af projektet. For at gøre processen lidt lettere ved først at lave en ordning i et program ved navn fritzing. Fritzing gør det så lettere at genskabe dine ledninger i virkeligheden, og du får et klart billede af, hvad du laver.

Trin 4: Boliger

Boliger
Boliger
Boliger
Boliger
Boliger
Boliger

Det første trin er at skære træet i formerne som vist på tegningen. Jeg gjorde det via laserskæring, men en normal sav vil fungere lige så godt. Derefter vil du gerne male træet sort for at få asfaltfarven. Når malingen er tør, kan du male de hvide striber for at få den fornemmelse af parkeringspladsen. Til hegnet sprøjtede jeg malte sugerør for at ligne stænger. Til selve indhegningen satte jeg nogle goaer på polerne. Barrieren er lavet af paer maché, som jeg spraymalede senere.

Trin 5: Kodning

Kodning
Kodning
Kodning
Kodning
Kodning
Kodning

Backend: Projektets backend er skrevet i Python og TSQL. Det læser alle dataene fra sensorerne op og skriver det væk til den database, vi har oprettet lidt tidligere. Det kører også en webserver, så vi kan forbinde vores frontend til det. Jeg skrev den nødvendige kode til backend i pycharm, men selvfølgelig kan du bare bruge, hvad du vil.

Du kan finde koden til backend her:

Frontend: Frontend er skrevet i HTML, CSS og Javascript. Jeg brugte en kombination af visuel studiekode og phpstorm til at skrive koden. Koden skriver dybest set hele webstedet, og i javascript -filerne kan du finde den kode, der er nødvendig for at få dataene fra backend.

Du kan finde koden til frontend her:

Anbefalede: