Inhoudsopgave:
- Benodigdheden
- Stap 1: RPI instellen
- Stap 2: Database
- Stap 3: Bedrading
- Stap 4: Huisvesting
- Stap 5: Coderen
Video: Slimme parkeerplaats met Raspberry Pi - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:16
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
-
Open Win32 Disk Imager
- Selecteer de afbeelding die je zojuist hebt gedownload via het mappictogram
- Selecteer uw SD-kaart via de vervolgkeuzelijst
- Klik op schrijven
- 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.
- Open de SD-kaart in je verkenner
- Open het bestand "cmdline.txt"
- U ziet aan het einde een lange regel tekst toevoegen: ip=169.254.10.1
- Bewaar het bestand
- 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)
- 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).
- Putty installeren:
- Nadat u het hebt geïnstalleerd, opent u het en voert u 169.254.10.1 in het IP-vak in
- Selecteer SSH en vul poort 22 in
- Klik op openen
- 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.
- Installeer VNC-viewer hier:
- Klik op bestand, nieuwe verbinding en voer in de IP-adresbalk in: 169.254.10.1 en kies de gewenste naam
- Vul de gebruikersnaam in: pi en het wachtwoord raspberry
- 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
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
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
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
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:
Slimme bureaulamp - Slimme verlichting met Arduino - Neopixels-werkruimte: 10 stappen (met afbeeldingen)
Slimme bureaulamp | Slimme verlichting met Arduino | Neopixels-werkruimte: tegenwoordig brengen we veel tijd thuis door, studeren en werken virtueel, dus waarom zouden we onze werkruimte niet groter maken met een aangepast en slim verlichtingssysteem op Arduino en Ws2812b-leds. Hier laat ik u zien hoe u uw Smart LED bureaulamp die
Garduino – de slimme tuin met Arduino: 4 stappen (met afbeeldingen)
Garduino – de slimme tuin met Arduino: tegenwoordig is niemand onschuldig. Is er iemand die niet per ongeluk een plant heeft gedood???Het is moeilijk om je planten in leven te houden. Je koopt een nieuwe plant en in het ergste geval vergeet je hem gewoon water te geven. In het betere geval onthoud je dat het bestaat, maar je doet
Een slimme spiegel bouwen met Raspberry Pi 4: 10 stappen
Hoe een slimme spiegel te bouwen met Raspberry Pi 4: In deze gids zullen we zien hoe we een slimme spiegel kunnen bouwen met behulp van gerecyclede onderdelen zoals een fotolijst, een oude monitor en een fotoglas. Voor de elektronische componenten die ik hier heb gekocht www.lcsc .com
DIY slimme weegschaal met wekker (met wifi, ESP8266, Arduino IDE en Adafruit.io): 10 stappen (met afbeeldingen)
DIY Slimme Weegschaal Met Wekker (met Wi-Fi, ESP8266, Arduino IDE en Adafruit.io): In mijn vorige project ontwikkelde ik een slimme weegschaal met Wi-Fi. Het kan het gewicht van de gebruiker meten, het lokaal weergeven en naar de cloud sturen. U kunt hier meer informatie over krijgen op onderstaande link: https://www.instructables.com/id/Wi-Fi-Smart-Scale-wi
IoT-portemonnee (slimme portemonnee met Firebeetle ESP32, Arduino IDE en Google Spreadsheet): 13 stappen (met afbeeldingen)
IoT Wallet (slimme portemonnee met Firebeetle ESP32, Arduino IDE en Google Spreadsheet): Eerste prijs in Instructables Pocket-Sized Contest!:DAls je wat geld hebt geïnvesteerd in cryptocurrencies, weet je waarschijnlijk al dat ze zeer volatiel zijn. Ze veranderen van de ene op de andere dag en je weet maar nooit veel 'echt' geld dat je nog in je portemonnee hebt