Sommario:

Parcheggio intelligente con Raspberry Pi: 5 passaggi
Parcheggio intelligente con Raspberry Pi: 5 passaggi

Video: Parcheggio intelligente con Raspberry Pi: 5 passaggi

Video: Parcheggio intelligente con Raspberry Pi: 5 passaggi
Video: Riconoscimento facciale con Raspberry e integrazione in Home Assistant 2024, Dicembre
Anonim
Parcheggio intelligente con Raspberry Pi
Parcheggio intelligente con Raspberry Pi

In questo tutorial creeremo un sistema di parcheggio completamente automatico collegato a un'interfaccia web. Potrai vedere quale spot viene preso, decidere chi entra e chi esce ed è dotato di un sistema di illuminazione automatico.

Forniture

Hardware

  • 2x sensori a ultrasuoni
  • 1x servomotore
  • 4x LED bianchi
  • 1x resistenza dipendente dalla luce
  • Display LCD 1x 2*16

informatica

  • 1x Raspberry Pi 3 B+
  • 1x scheda SD (8-16 GB la scelta è tua)
  • 1x Adafruit I2S 3W Classe D Amplificatore Breakout - MAX98357A
  • 1x MCP3008
  • 1x resistenza 2.2K Ohm
  • 9x resistori 1K Ohm

Varie

  • Ponticelli
  • tagliere
  • Cavo UTP
  • Adattatore per il tuo lampone pi
  • Un foglio di multiplex (puoi usare qualsiasi tipo di materiale tu voglia per l'involucro)
  • Una pistola per colla

Software

  • PuTTY
  • Software per modificare il codice (puoi usare quello che vuoi purché supporti: Python, HTML, CSS e script java
  • Imager disco Win32
  • Immagine del sistema operativo Raspbian
  • Visualizzatore VNC (opzionale)

Passaggio 1: configurazione dell'RPI

Prima di iniziare con il cablaggio dell'hardware, scrivendo il

software e realizzare l'involucro di cui avremo bisogno per impostare il tuo PI con il software necessario che ti servirà per eseguire il progetto.

Avrai bisogno di un'immagine di Raspbian da inserire sulla tua scheda SD e per scriverla sulla scheda SD Win32 Disk Imager. Puoi trovare i link ad entrambi in basso.

- Win32 Disk Imager:

- Immagine Raspbian:

L'installazione

  1. Apri Win32 Disk Imager

    1. Seleziona l'immagine appena scaricata tramite l'icona della cartella
    2. Seleziona la tua scheda SD tramite il menu a discesa
    3. Clicca su scrivi
    4. Al termine del processo, il tuo computer probabilmente ti chiederà se desideri formattare la scheda SD non farlo

Quando hai finito con questi passaggi, dovrai fare alcune cose extra in modo da poter accedere al software del tuo PI.

  1. Apri la scheda SD nel tuo explorer
  2. Apri il file "cmdline.txt"
  3. Vedrai una lunga riga di testo alla fine aggiungi: ip=169.254.10.1
  4. Salva il file
  5. Crea un file chiamato ssh senza estensione (se non sai come farlo fai clic su nuovo file, seleziona nuovo file di testo elimina l'estensione e chiamalo ssh)
  6. L'ultimo passaggio di questa parte è espellere in sicurezza la scheda SD e inserirla nel Raspberry PI

Collegamento

Quando hai finito di eseguire i passaggi precedenti, è il momento di connetterti al tuo pi per la prima volta. Per prima cosa dovrai collegare il cavo UTP, un'estremità nel computer e l'altra nel pi (è importante collegare il cavo LAN prima di collegarlo).

  1. Installa Putty:
  2. Una volta installato, aprilo e inserisci 169.254.10.1 nella casella IP
  3. Seleziona SSH e compila la porta 22
  4. Fare clic su Apri
  5. Inserisci il nome utente: pi e la password raspberry questo è il login standard su un'immagine nuova di zecca

Raspi-config

Prima di andare avanti dovrai modificare alcune impostazioni nel menu raspi-config aprilo usando:

sudo raspi-config

1. Abilita I2C e SPI nelle opzioni nella categoria delle interfacce

2. Scegli il tuo paese WIFI tramite la categoria di localizzazione

3. Impostare l'impostazione Desktop/CLI nella categoria delle opzioni di avvio su Desktop Autologin.

4. In Opzioni avanzate scegli A1 Espandi filesystem (questo assicura di utilizzare lo spazio dell'intera scheda SD

5. Ora esci e sudo riavvia

Wifi

Ora è il momento di configurare la tua connessione wifi, ovviamente avrai bisogno delle credenziali del tuo wifi.

Per prima cosa vai in modalità root eseguendo questo comando

sudo-i

Ora hai i diritti necessari per eseguire questi comandi:

Assicurati di cambiare SSID con il tuo nome wifi e PASSWORD con la tua password wifi

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

Accedi al client WPA eseguendo questo comando:

wpa_cli

Seleziona l'interfaccia

Interfaccia wlan0

Ricarica la configurazione

Riconfigurare

Ultimo ma non meno importante, controlla se ha funzionato. Puoi farlo inserendo:

IP a

Qui puoi controllare se hai un IP sotto le interfacce WLAN0 se non sudo reboot (non fallisce mai (:).

Se non ti senti a tuo agio tramite la riga di comando, puoi sempre farlo tramite la GUI di Raspbian che è un po' più user friendly.

  1. Installa il visualizzatore VNC qui:
  2. Fai clic su file, nuova connessione e inserisci nella barra dell'indirizzo IP: 169.254.10.1 e scegli il nome che desideri
  3. Inserisci il nome utente: pi e la password lampone
  4. Fai clic sull'icona Wi-Fi e connettiti in questo modo

Pacchetti

Ora che siamo connessi a Internet possiamo installare i pacchetti di cui abbiamo bisogno per eseguire tutto il codice.

Per prima cosa dovremo aggiornare l'elenco dei pacchetti a quello più recente eseguendo:

sudo apt update

sudo apt upgrade

Server Web Apache

Avremo bisogno di un server web per eseguire la nostra applicazione web. Possiamo ottenere ciò installando il server web apache eseguendo questo comando:

sudo apt install apach2 -y

Pacchetti Python

Per far funzionare tutto avremo bisogno di alcuni pacchetti. Questi sono quelli di cui avremo bisogno.

  • Borraccia
  • Flask-Cors
  • Flask-Extension
  • Flask-MySQL
  • Flask-SocketIO
  • Python-socketio

Puoi installarli eseguendo questo comando:

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

Passaggio 2: banca dati

Banca dati
Banca dati

Maria DB

Esegui il seguente comando per installare MariaDB, questo è il sistema di database necessario per tenere traccia di tutti i dati letti dai sensori.

sudo apt install mariadb-server

Ora dovremo rendere sicura la nostra installazione

Mysql_secure_installation

Una volta eseguito il comando, ci chiederà una password di root, non ne abbiamo ancora una, quindi premi invio.

Ora ti chiederà se ne vuoi uno per motivi di sicurezza, ne vogliamo uno, quindi premi Y sulla tastiera e scegli la password che desideri.

Ora continuerà a farti qualche altra domanda, rispondi Y a tutte

Bene, ora che siamo arrivati a questo punto, dobbiamo entrare nella shell SQL.

Per fare ciò dobbiamo prima diventare di nuovo root per concederci i privilegi per farlo inserendo nuovamente questo comando:

sudo -i

Ora entra nella shell mysql

mysql

Ora creeremo un utente mettendo il nome che vuoi tra le virgolette prima della @ e la password che vuoi dopo identificata da

Ora dobbiamo svuotare la tabella dei permessi eseguendo questo comando:

PRIVILEGI DI SCARICO;

Dopo aver completato questi passaggi, puoi ricreare lo schema db dall'immagine sopra. Sfortunatamente non posso darti un dump del database perché sto riscontrando alcuni errori software.

Passaggio 3: cablaggio

Cablaggio
Cablaggio
Cablaggio
Cablaggio
Cablaggio
Cablaggio

Ora è il momento di eseguire il cablaggio del progetto. Per rendere il processo un po' più semplice, creare prima uno schema in un programma chiamato fritzing. Fritzing rende più facile ricreare il cablaggio nella vita reale e ottenere un'immagine chiara di ciò che stai realizzando.

Passaggio 4: alloggio

alloggiamento
alloggiamento
alloggiamento
alloggiamento
alloggiamento
alloggiamento

Il primo passo è tagliare il legno nelle forme come si vede nel disegno. L'ho fatto tramite taglio laser, ma una normale sega funzionerà altrettanto bene. Dopodiché vorrai dipingere il legno di nero per ottenere il colore dell'asfalto. Una volta che la vernice è asciutta, puoi dipingere le strisce bianche per ottenere quella sensazione di parcheggio. Per la recinzione ho spruzzato cannucce dipinte per sembrare dei pali. Per la recinzione stessa ho attaccato dei goas ai pali. La barriera è in cartapesta che ho verniciato a spruzzo in seguito.

Passaggio 5: codifica

codifica
codifica
codifica
codifica
codifica
codifica

Backend: il backend del progetto è scritto in Python e TSQL. Legge tutti i dati dei sensori e li scrive nel database che abbiamo creato poco prima. Esegue anche un server web in modo che possiamo connettere il nostro frontend ad esso. Ho scritto il codice necessario per il backend in pycharm ma ovviamente puoi usare quello che vuoi.

Puoi trovare il codice per il backend qui:

Frontend: il frontend è scritto in HTML, CSS e Javascript. Ho usato una combinazione di codice Visual Studio e phpstorm per scrivere il codice. Il codice scrive fondamentalmente l'intero sito web e nei file javascript puoi trovare il codice necessario per ottenere i dati dal backend.

Puoi trovare il codice per il frontend qui:

Consigliato: