Inhoudsopgave:

Slimme parkeerplaats met Raspberry Pi - Ajarnpa
Slimme parkeerplaats met Raspberry Pi - Ajarnpa

Video: Slimme parkeerplaats met Raspberry Pi - Ajarnpa

Video: Slimme parkeerplaats met Raspberry Pi - Ajarnpa
Video: Slimme meter uitlezen met Raspberry Pi Zero W #092 [Mei-2020] 2024, November
Anonim
Slimme parkeerplaats met Raspberry Pi
Slimme parkeerplaats met Raspberry Pi

In deze instructables zullen we een volledig automatisch parkeersysteem maken dat is verbonden met een webinterface. Je kunt zien welke plek wordt ingenomen, beslissen wie erin gaat en wie eruit gaat en het is uitgerust met een automatisch verlichtingssysteem.

Benodigdheden

Hardware

  • 2x Ultrasone sensoren
  • 1x servomotor
  • 4x witte LED's
  • 1x Lichtafhankelijke weerstand
  • 1x 2*16 LCD-scherm

computergebruik

  • 1x Raspberry Pi 3 B+
  • 1x SD-kaart (8-16GB de keuze is aan jou)
  • 1x Adafruit I2S 3W Klasse D versterker Breakout - MAX98357A
  • 1x MCP3008
  • 1x Weerstand 2.2K Ohm
  • 9x Weerstanden 1K Ohm

Verscheidene

  • Doorverbindingsdraden
  • Breadboard
  • UTP-kabel
  • Adapter voor je Raspberry Pi
  • Een vel multiplex (je kunt elk soort materiaal gebruiken dat je wilt voor de behuizing)
  • Een lijmpistool

Software

  • Stopverf
  • Software om code te bewerken (je kunt gebruiken wat je wilt zolang het ondersteunt: Python, HTML, CSS en javascript)
  • Win32 Schijfimager
  • Raspbian OS-afbeelding
  • VNC-viewer (optioneel)

Stap 1: RPI instellen

Voordat we aan de slag gaan met het bedraden van de hardware, schrijven de

software en maak de behuizing die we nodig hebben om uw PI in te stellen met de benodigde software die u nodig heeft om het project te laten lopen.

U hebt een afbeelding van Raspbian nodig om op uw SD-kaart te plaatsen en deze naar de SD-kaart Win32 Disk Imager te schrijven. Links naar beide vind je hieronder.

- Win32 Disk Imager:

- Raspbian-afbeelding:

De installatie

  1. Open Win32 Disk Imager

    1. Selecteer de afbeelding die je zojuist hebt gedownload via het mappictogram
    2. Selecteer uw SD-kaart via de vervolgkeuzelijst
    3. Klik op schrijven
    4. Wanneer het proces is voltooid, zal uw computer u waarschijnlijk vragen of u de SD-kaart wilt formatteren, doe dit niet

Als u klaar bent met deze stappen, moet u nog wat extra dingen doen om toegang te krijgen tot de software van uw PI.

  1. Open de SD-kaart in je verkenner
  2. Open het bestand "cmdline.txt"
  3. U ziet aan het einde een lange regel tekst toevoegen: ip=169.254.10.1
  4. Bewaar het bestand
  5. Maak een bestand aan met de naam ssh zonder extensie (als je niet weet hoe je dit moet doen, klik dan op nieuw bestand, selecteer een nieuw tekstbestand verwijder de extensie en noem het ssh)
  6. De laatste stap van dit onderdeel is om de SD-kaart veilig uit te werpen en in de Raspberry PI te plaatsen

Verbinden

Wanneer u klaar bent met het uitvoeren van de vorige stappen, is het tijd om voor de eerste keer verbinding te maken met uw pi. Eerst moet je je UTP-kabel aansluiten, het ene uiteinde in je computer en het andere in je pi (het is belangrijk dat je de LAN-kabel aansluit voordat je hem aansluit).

  1. Putty installeren:
  2. Nadat u het hebt geïnstalleerd, opent u het en voert u 169.254.10.1 in het IP-vak in
  3. Selecteer SSH en vul poort 22 in
  4. Klik op openen
  5. Vul de gebruikersnaam in: pi en het wachtwoord raspberry dit is de standaard login op een gloednieuwe afbeelding

Raspi-config

Voordat we verder gaan, moet je nogal wat instellingen in het raspi-config-menu wijzigen om het te openen met:

sudo raspi-config

1. Schakel I2C en SPI in onder opties in de categorie interfaces

2. Kies uw WIFI-land via de lokalisatiecategorie

3. Stel de Desktop/CLI-instelling in de categorie opstartopties in op Desktop Autologin.

4. Kies onder Geavanceerde opties voor A1 Expand Filesystem (dit zorgt ervoor dat je de ruimte van de hele SD-kaart gebruikt)

5. Sluit nu af en sudo reboot

Wifi

Nu is het tijd om je wifi-verbinding in te stellen. Natuurlijk heb je de inloggegevens van je wifi nodig.

Ga eerst naar de root-modus door deze opdracht uit te voeren

Sudo -i

Nu heb je de benodigde rechten om deze opdrachten uit te voeren:

Zorg ervoor dat u SSID wijzigt in uw wifi-naam en PASWOORD in uw wifi-wachtwoord

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

Voer de WPA-client in door deze opdracht uit te voeren:

wpa_cli

Selecteer de interface

Interface wlan0

Herlaad de configuratie

Opnieuw configureren

Last but not least controleren of het werkte. Dit doe je door in te vullen:

ip a

Hier kun je controleren of je een ip hebt onder WLAN0-interfaces, zo niet sudo reboot (nooit mislukt (:).

Als je het niet prettig vindt om het via de opdrachtregel te doen, kun je het altijd doen via de GUI van Raspbian, die wat gebruiksvriendelijker is.

  1. Installeer VNC-viewer hier:
  2. Klik op bestand, nieuwe verbinding en voer in de IP-adresbalk in: 169.254.10.1 en kies de gewenste naam
  3. Vul de gebruikersnaam in: pi en het wachtwoord raspberry
  4. Klik op het wifi-pictogram en maak op die manier verbinding

Pakketjes

Nu we verbonden zijn met internet, kunnen we de pakketten installeren die we nodig hebben om alle code uit te voeren.

Eerst moeten we de pakketlijst vernieuwen naar de nieuwste door het volgende uit te voeren:

sudo apt update

sudo apt-upgrade

Apache-webserver

We hebben een webserver nodig om onze webapplicatie te draaien. We kunnen dit bereiken door apache-webserver te installeren door deze opdracht uit te voeren:

sudo apt installeer apach2 -y

Python-pakketten

Om alles te laten werken hebben we nogal wat pakketten nodig. Dit zijn degenen die we nodig gaan hebben.

  • Kolf
  • Kolf-Cors
  • Kolf-extensie
  • Kolf-MySQL
  • Kolf-SocketIO
  • Python-socketio

U kunt ze installeren door deze opdracht uit te voeren:

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

Stap 2: Database

Database
Database

MariaDB

Voer de volgende opdracht uit om MariaDB te installeren. Dit is het databasesysteem dat nodig is om alle gegevens bij te houden die de sensoren inlezen.

sudo apt install mariadb-server

Nu moeten we onze installatie beveiligen

Mysql_secure_installation

Nadat je het commando hebt uitgevoerd, zal het ons vragen om een root-wachtwoord dat we nog niet hebben, dus druk gewoon op enter.

Nu zal het je vragen of je er een wilt om veiligheidsredenen, we willen er een, dus druk op Y op je toetsenbord en kies het gewenste wachtwoord.

Nu zal het je nog een paar vragen blijven stellen, beantwoord ze gewoon allemaal met Y

Oké, nu we zover zijn, moeten we naar de SQL-shell gaan.

Om dit te doen, moeten we eerst opnieuw root worden om ons de privileges te geven om dit te doen door dit commando opnieuw in te voeren:

sudo -i

Voer nu de mysql-shell in

mysql

Nu gaan we een gebruiker maken, plaats de gewenste naam tussen de aanhalingstekens voor de @ en het wachtwoord dat u wilt na geïdentificeerd door

Nu moeten we de machtigingentabel leegmaken door deze opdracht uit te voeren:

SPOEL VOORRECHTEN;

Nadat u deze stappen hebt voltooid, kunt u het db-schema opnieuw maken op basis van de bovenstaande afbeelding. Helaas kan ik u geen dump van de database geven omdat ik een aantal softwarefouten ervaar.

Stap 3: Bedrading

Bedrading
Bedrading
Bedrading
Bedrading
Bedrading
Bedrading

Nu is het tijd om de bedrading van het project te doen. Om het proces een beetje makkelijker te maken door eerst een schema te maken in een programma met de naam fritzing. Fritzing maakt het gemakkelijker om uw bedrading in het echt na te maken en u krijgt een duidelijk beeld van wat u maakt.

Stap 4: Huisvesting

huisvesting
huisvesting
huisvesting
huisvesting
huisvesting
huisvesting

De eerste stap is om het hout te zagen in de vormen zoals te zien op de tekening. Ik deed het via lasercutting, maar een normale zaag zal net zo goed werken. Daarna wil je het hout zwart schilderen om de asfaltkleur te krijgen. Zodra de verf droog is, kun je de witte strepen schilderen om dat parkeerplaatsgevoel te krijgen. Voor het hek heb ik geverfde rietjes gespoten om op palen te lijken. Voor de omheining zelf heb ik een paar goa's aan de palen vastgemaakt. De barrière is gemaakt van paer maché dat ik later heb gespoten.

Stap 5: Coderen

codering
codering
codering
codering
codering
codering

Backend: De backend van het project is geschreven in Python en TSQL. Het leest alle gegevens van de sensoren uit en schrijft het weg naar de database die we iets eerder hebben gemaakt. Het heeft ook een webserver, zodat we onze frontend ermee kunnen verbinden. Ik heb de code die nodig is voor de backend in pycharm geschreven, maar je kunt natuurlijk gewoon gebruiken wat je wilt.

De code voor de backend vind je hier:

Frontend: De frontend is geschreven in HTML, CSS en Javascript. Ik heb een combinatie van visuele studiocode en phpstorm gebruikt om de code te schrijven. De code schrijft in feite de hele website en in de javascript-bestanden kun je de code vinden die nodig is om de gegevens uit de backend te halen.

De code voor de frontend vind je hier:

Aanbevolen: