Sommario:
- Forniture
- Passaggio 1: configurazione
- Passaggio 2: installazione dello specchio
- Passaggio 3: configurazione
- Passaggio 4: API
- Passaggio 5: il calendario
- Passaggio 6: API di Google
- Passaggio 7: il design dello specchio
- Passaggio 8: eseguire il cablaggio
- Passaggio 9: avvio del codice
- Passaggio 10: eseguire lo specchio
Video: Specchio intelligente multiutente con Google Calendar: 10 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
In questo tutorial creeremo uno specchio intelligente integrato con Google Calendar. Ho realizzato questo progetto perché trovo gli specchi intelligenti davvero fantastici, sono una manna dal cielo al mattino. Ma ho deciso di farne uno da zero perché tutti gli altri hanno 1 difetto. Sono troppo avanzati e disordinati. Ho deciso di mantenere questo semplice.
Forniture
Prima
inizieremo queste sono le cose di cui avrai sicuramente bisogno per costruire uno Specchio come il mio. Queste forniture costeranno da 250 a 350 euro a seconda della regione e dei prezzi correnti.
Hardware
Sensori
- Un sensore di temperatura a filo
- RWCL 0516 (Sensore di movimento a microonde)
- Potenziometro morbido (Touchstrip di Sparkfun)
informatica
e IC
- Altoparlante (3,2 W a 4 O 1,8 W a 8)
- MCP3008
- Adafruit I2S 3W Amplificatore Classe D Breakout - MAX98357A
- Raspberry Pi 3 B+
- Scheda SD (8 GB va bene)
- Resistenza 4,7K Ohm
Varie
- Ponticelli
- tagliere
- Specchio bidirezionale acrilico (trasmissione luminosa 15%)
- Monitor IPS (la dimensione dipende da quanto grande lo vuoi)
- Cavo HDMI
- Legna
Software
- PuTTY
- Editor di codice (Notepad++ è sufficiente)
- Imager disco Win32
- Immagine del sistema operativo Raspbian
Passaggio 1: configurazione
Per iniziare, dovremo prima configurare il tuo Pi per il codice che ho creato.
Avrai bisogno di due cose:
- Win32 Disk Imager da
- Immagine del sistema operativo Raspbian da
Scarica il file ZIP ed estrailo dove vuoi.
L'installazione
- Seleziona la tua immagine tramite l'icona della cartella
- Seleziona la tua scheda SD tramite il menu a discesa
- Clicca su scrivi
Ora dovremo fare qualche ritocco extra con alcune impostazioni in modo da poter accedere al Pi.
- Vai alla directory di avvio della scheda SD
- Apri il file "cmdline.txt"
- Aggiungi ip=169.254.10.1 Alla fine della lunga riga di testo separata da uno spazio (sulla stessa riga).
- Salva il file.
- Crea un file chiamato ssh senza estensione nella stessa directory
Ora puoi espellere la scheda SD e inserirla nel tuo Pi.
Collegamento
Ora dovremo configurare il software.
Innanzitutto collega un cavo LAN, un'estremità nel desktop/laptop e l'altra nel Pi.
Ora avvia il Raspberry Pi.
- Installa Putty da
- Immettere 169.254.10.1 nella casella IP.
- Assicurati che SSH sia selezionato e che la porta 22 sia compilata.
- Fare clic su Apri
- Inserisci il nome utente: pi
- Inserisci la password: lampone
Raspi-config
Apri l'utility Raspi-config usando:
sudo raspi-config
Abilita le seguenti opzioni nella categoria interfacce
- 1-filo
- SPI
Scegli il tuo paese WiFi tramite la categoria di localizzazione.
Quindi, disabilita le seguenti opzioni nella categoria delle opzioni di avvio
Schermata iniziale
Infine, imposta l'impostazione Desktop/CLI nella categoria delle opzioni di avvio su Desktop Autologin.
Wifi
Per il mirror abbiamo bisogno di una connessione wifi quindi assicurati di avere le tue credenziali wifi vicine.
Vai in modalità root
sudo -i
Incolla questa riga ma assicurati che SSID e Password siano entrambi compilati
wpa_passphrase "SSID" "PASSWORD" >> /etc/wpa_supplicant/wpa_supplicant.conf
Entra nel client WPA.
wpa_cli
Seleziona l'interfaccia
interfaccia wlan0
Ricarica la configurazione
riconfigurare
Assicurati di essere connesso correttamente digitando…
ip a
…e vedere se hai un IP sulle interfacce WLAN0.
Pacchetti
Ora che siamo connessi a Internet dovremo installare alcuni pacchetti.
Per prima cosa dovremo aggiornare gli elenchi dei pacchetti per l'ultimo.
sudo apt update
Pitone
Obbligheremo Raspbian a usare Python 3
update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
update-alternatives --install /usr/bin/python python /usr/bin/python3 2
Maria DB
Incolla la seguente riga per installare il database.
sudo apt install mariadb-server
Quindi dovremo rendere sicura la nostra installazione.
mysql_secure_installation
Ci chiederà la password di root corrente poiché non ne abbiamo una, basta premere invio.
Successivamente viene chiesto se vogliamo un tipo di password di root in y poiché ne vogliamo uno.
Per le prossime domande basta inserire Y.
Infine creeremo un utente che potremo usare per il mirror.
Entra nella shell mysql facendo:
Elevarci alla radice
sudo -i
Entra nella shell di mysql
mysql
Sostituisci con il tuo nome utente e lo stesso con
concedere tutti i privilegi su mirror.* a ''@'%' identificato da '';
Ora svuotiamo la tabella dei permessi.
PRIVILEGI DI SCARICO;
Server Web Apache
Per installare il Webserver eseguire la riga sottostante.
sudo apt install apache2 -y
Pacchetti Python
Stiamo per installare questi pacchetti
- Borraccia
- Flask-Cors
- Flask-MySQL
- Flask-SocketIO
- PyMySQL
- Pallone-talismano
- Gevent
- Gevent-websocket
- Google-api-python-client
- Google-auth
- Google-auth-httplib2
- Google-auth-oauthlib
- Httplib2
- calendario
- Icalevents
- Oauthlib
- Python-socketio
- Richieste
- Wsaccel
- Ujson
Facendo
pip install Flask Flask-Cors Flask-MySQL Flask-SocketIO PyMySQL Flask-Talisman gevent gevent-websocket google-api-python-client google-auth google-auth-httplib2 google-auth-oauthlib httplib2 icalendar icalevents oauthacceio python richiestej
Configurazione degli altoparlanti
curl -sS https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/i2samp.sh | bash
Ora dobbiamo riavviare, quindi premi y.
Riesegui lo script
curl -sS https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/i2samp.sh | bash
Ora dobbiamo riavviare una seconda volta
sudo reboot
Schermo (monitor)
A seconda di come desideri l'orientamento dello schermo, potresti voler ruotare lo schermo.
Per ruotare lo schermo dobbiamo accedere alle opzioni di avvio facendo:
sudo nano /boot/config.txt
E poi incollando una di queste righe nel file di configurazione:
display_rotate=0
display_rotate=1
display_rotate=2
display_rotate=3
Il primo, 0, è la configurazione normale. 1 sarà di 90 gradi, 2 è di 180 gradi e l'ultimo sarà di 270 gradi.
Quindi riavviare.
sudo reboot
Passaggio 2: installazione dello specchio
Ora imposteremo un posto dove scaricare il mio codice.
cd /home/pi/
git clone https://github.com/nielsdewulf/Mirror MirrorProject cd MirrorProject
Ora copieremo alcune cartelle nella destinazione corretta
sudo cp -R frontend/mirror/ /var/www/html/mirror/
sudo cp -R frontend/dashboard/ /var/www/html/ Sudo cp -R backend/ /home/pi/Mirror/
L'installazione del database è un passaggio necessario per realizzare il progetto.
sudo mysql -u root -p << CREATEDATABASE.sql
Passaggio 3: configurazione
Il file di configurazione si trova in:
sudo nano /home/pi/Mirror/resources/config.ini
Immettere l'utente e la password MYSQL.
Questo deve essere l'utente mysql che abbiamo appena creato.
Le altre impostazioni che esamineremo più avanti in questa istruzione.
Passaggio 4: API
Ora che abbiamo terminato l'installazione del Pi tratteremo alcuni argomenti che potresti voler fare.
Cielo scuro
Crea una chiave API Darsky tramite
Quando ti sarai registrato vedrai la tua chiave API sulla Dashboard.
Inserisci questa chiave nel file di configurazione del progetto mirror che hai installato in precedenza.
Il calendario
Per impostazione predefinita sarai in grado di utilizzare solo gli URL ical da cui visualizzare il tuo calendario. Ma questa parte riguarderà come collegare il tuo mirror all'ecosistema di Google. Questo è un processo generalmente più lungo e più doloroso.
Cose di cui avrai sicuramente bisogno
Un nome di dominio
Queste sono le cose che imposteremo durante questa parte
- Account CloudFlare
- Account sviluppatore Google
- Progetto per sviluppatori Google
- Imposta l'API del calendario
Passaggio 5: il calendario
Cloudflare
Configura un account cloudflare da https://cloudflare.com e segui la procedura guidata per trasferire il tuo nome di dominio a Cloudflare DNS.
Non c'è bisogno di creare un record A che punti al lampone pi. Il mio codice Mirror lo farà per te. Poiché nella maggior parte dei wifi domestici gli IP non sono statici, quindi dopo il riavvio potrebbe non funzionare più. Per fare in modo che il mio codice aggiorni automaticamente l'ip, sarà necessaria la chiave API del tuo account.
- Fai clic sul pulsante Ottieni la tua chiave API nella dashboard sul lato destro. [Foto 1]
- Scorri verso il basso e visualizza la tua chiave API globale. [Foto 2]
Inserisci questa chiave nel file di configurazione del progetto mirror che hai installato in precedenza.
Creazione del certificato SSL
Google ci richiede di avere una connessione SSL. Per iniziare questa sezione assicurati di aver configurato correttamente il DNS di Cloudflare.
Per prima cosa aggiungi il repository.
sudo add-apt-repository ppa:certbot/certbot
Aggiorna l'elenco dei pacchetti.
sudo apt-get update
Installa CertBot
sudo apt install python-certbot-apache
Avvia la creazione del certificato. Anche in questo caso dovrai inserire il nome di dominio corretto.
sudo certbot --apache -d esempio.com -d www.esempio.com
Dopo la creazione ti chiederà se deve reindirizzare tutte le connessioni a SSL. Scegli reindirizzamento.
Ora ti dirà che ha creato con successo un certificato per il tuo dominio. Assicurati di salvare i 2 percorsi che ti dà.
- /etc/letsencrypt/live/example.com/cert.pem
- /etc/letsencrypt/live/example.com/privkey.pem
Ora vai alla cartella con i certificati in via:
Assicurati di cambiare example.com con l'host giusto.
cd /etc/letsencrypt/live/example.com/
Ora copiamo quei contenuti nella nostra cartella del progetto.
cp cert.pem /home/pi/Mirror/resources/certs/cert.pem
e
cp privkey.pem /home/pi/Mirror/resources/certs/privkey.pem
Connetti Apache con il tuo dominio
Per configurare correttamente Apache con il tuo dominio dovremo creare un file di configurazione. Assicurati di inserire il tuo nome di dominio, ad esempio funergydev.com.
sudo nano /etc/apache2/sites-enabled/example.com.conf
Quindi incollalo nel file. Sostituisci example.com con il tuo nome di dominio.
Assicurati che il tuo certificato e la chiave privata siano il percorso corretto. Impostali sul percorso che hai salvato in precedenza quando li abbiamo creati, quindi tramite certbot.
DocumentRoot "/var/www/html/" SSLEngine on SSLCertificateFile /home/pi/Mirror/resources/certs/cert.pem SSLCertificateKeyFile /home/pi/Mirror/resources/certs/privkey.pem # Altre direttive qui Opzioni Indici FollowSymLinks AllowOverride Tutto richiede tutto concesso
Ora dobbiamo abilitare alcune modifiche e quindi forzare Apache a ricaricare la configurazione facendo:
sudo a2enmod ssl
sudo a2enmod riscrivi
sudo systemctl ricarica apache2
Ora dovresti essere in grado di andare tramite il tuo nome di dominio al tuo pi e vedere la pagina di apache predefinita.
Passaggio 6: API di Google
Vai alla console per sviluppatori tramite
Parte 1
Crea il tuo primo progetto facendo clic accanto al logo API di Google e facendo clic sul pulsante NUOVO PROGETTO. Inserisci un nome di progetto appropriato e fai clic sul pulsante Crea. [Foto1]
Parte 2
Ora arriverai a questa pagina. Fare clic sul pulsante della libreria. [Foto2]
Questo è un lungo elenco di tutte le API che potresti utilizzare, ma cercheremo l'API di Google Calendar. Fare clic su di esso e premere ABILITA. [Foto3]
Raggiungerai quindi una panoramica dell'API del calendario. Fai clic sul logo delle API di Google per tornare al tuo progetto. [Foto4]
Parte 3
Per impostare tutto correttamente clicca sulla categoria credenziali e scegli la scheda Verifica dominio.
Qui dovrai verificare il tuo nome di dominio.
- Fare clic su AGGIUNGI DOMINIO
- Compila il tuo dominio
- Ti chiederà quindi di verificare il tuo dominio. Fare clic su Procedi.
- Scegli il tuo provider di nomi di dominio. [Foto5]
- Segui il processo
- Ora sarai in grado di aggiungerlo all'elenco di verifica del dominio sulla console API di Google in questo modo. Assicurati che il tuo dominio sia selezionato. [Foto6]
Parte 4
Ora scegli la scheda della schermata di consenso OAuth. [Foto7]
Compila il nome dell'applicazione
Successivamente aggiungeremo ambiti alla schermata di consenso. Ciò significa che chiederemo all'utente nella schermata di consenso se desidera condividere le informazioni del proprio calendario con il mirror.
- Fare clic su aggiungi ambito e cercare il calendario.
- Controlla../auth/calendar.readonly e premi aggiungi. [Foto8]
Compila un dominio autorizzato. Questo dovrebbe essere il dominio che hai appena verificato. [Foto9]
Ora fai clic sul grande pulsante di salvataggio sotto il modulo.
Parte 5
Infine dobbiamo creare le credenziali. Poiché abbiamo premuto il pulsante di salvataggio, siamo stati reindirizzati alla scheda delle credenziali. Fare clic su Crea credenziali e scegliere ID client OAuth. [Foto10]
Scegli Tipo di applicazione: Applicazione Web e assegnagli un nome.
Inserisci il seguente link negli URI di reindirizzamento autorizzato e inserisci il dominio corretto.
example.com:5000/api/v1/setup/calendar/response
Fare clic su Crea. Questo ti mostrerà un popup, fai clic su OK. Ora premi il pulsante di download sulle credenziali che hai appena creato
Parte 6
Ora apri il file JSON e copia il contenuto.
sudo nano /home/pi/Mirror/resources/credentials/credentials.json
Incollali qui.
Parte 7
Ora dobbiamo definire il nostro dominio nella configurazione facendo:
sudo nano /home/pi/Mirror/resources/config.ini
Passaggio 7: il design dello specchio
La progettazione del tuo specchio dipende da come lo vuoi. Effettua misurazioni accurate del display LCD e lascia uno spazio di 2 centimetri su un lato dello specchio poiché il sensore di movimento a microonde sarà posizionato lì. Non può essere dietro a nessun metallo.
Ho collegato 4 assi di legno insieme. Questi sono stati fresati per avere una bella parte anteriore pulita dello specchio. Sulla parte superiore ho anche praticato un paio di fori per far passare il suono dell'altoparlante. Sul lato opposto dello specchio, quello in basso, ho ritagliato un piccolo rettangolo in modo da poter fare facilmente i collegamenti elettrici. [Foto1]
Questi sono 2 pezzi di legno scadente su cui si appoggierà il monitor. Dato che ho detto che avremmo avuto bisogno di uno spazio di circa 2 centimetri tra lo specchio e la custodia. Ho anche aggiunto 3 piccoli pezzi di legno e li ho avvitati su quei pezzi di riposo. Quindi il monitor rimarrebbe al suo posto. [Foto2]
Alla fine sembrava così. Avevo uno spazio di circa 3 mm tra quei pezzi di riposo e la parte anteriore della custodia dello specchio. Quanto basta per poter inserire lo specchio bidirezionale da 3 mm di spessore. [Foto3]
Passaggio 8: eseguire il cablaggio
Assicurati di seguire correttamente uno di questi schemi.
Una volta fatto il cablaggio l'ho incollato sul retro dello schermo con del nastro biadesivo. Dato che se mai volessi smontare lo specchio e usarlo per altri progetti potrei rimuoverlo facilmente. Se sei sicuro puoi usare una pistola per colla a caldo e incollarla sul retro dello specchio.
Passaggio 9: avvio del codice
LXSession
Creiamo prima un paio di cartelle
mkdir -p /home/pi/.config/lxsession/LXDE-pi/
Ora creeremo un file in cui specificheremo un paio di parametri/comandi di avvio.
sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart
Incolla quanto segue nel file.
@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi @xscreensaver -no-splash @point-rpi @sh /home/pi/Mirror/init_mirror.sh @xset s noblank @xset s off @xset -dpms
Aggiorneremo lo script dello schermo mirror di avvio in modo che corrisponda al nostro host.
sudo nano /home/pi/Mirror/init_mirror.sh
Scegli localhost se non stai utilizzando Google Calendar e un dominio.
#!/bin/bash
sleep 15 chromium-browser --incognito --kiosk
Se lo stai usando, inserisci il tuo host.
#!/bin/bash
sleep 15 chromium-browser --incognito --kiosk
Servizio
Ora imposteremo l'esecuzione automatica del codice Mirror.
Creeremo un servizio che avvia automaticamente il codice per noi.
Vai a:
sudo nano /etc/systemd/system/mirror.service
E incollalo nel file
[Unità]
Description=Mirror Backend After=network.target mariadb.service [Service] Type=semplice Utente=root ExecStart=/bin/sh /home/pi/Mirror/init.sh [Install] WantedBy=multi-user.target
Ora dovremo ricaricare il demone systemd facendo:
sudo systemctl demone-reload
E abiliteremo anche l'avvio automatico del servizio all'avvio.
sudo systemctl abilita mirror
Ora spegneremo.
sudo poweroff
Le impostazioni finali
Infine dobbiamo rimuovere il nostro IP APIPA in modo che funzioni solo su WiFi.
- Vai alla directory di avvio della scheda SD sul tuo PC.
- Apri il file "cmdline.txt"
- Rimuovi ip=169.254.10.1 Alla fine della lunga riga di testo.
Passaggio 10: eseguire lo specchio
Visita l'ip che si trova sullo schermo mirror o se hai impostato il calendario di Google, inserisci il nome del dominio.
Ora sarai in grado di configurare il tuo specchio!
Se ricevi un errore SSL sul tuo mirror, potresti voler aggiungere i tuoi certificati all'archivio certificati di Chromium.
Consigliato:
Come costruire uno specchio intelligente con Raspberry Pi 4: 10 passaggi
Come Costruire uno Smart Mirror con Raspberry Pi 4: In questa guida vedremo come costruire uno smartmirror utilizzando pezzi di riciclo come una cornice, un vecchio monitor e un vetrino. Per i componenti elettronici ho acquistato da qui www.lcsc .com
Come realizzare uno specchio intelligente fai da te: 12 passaggi (con immagini)
Come realizzare uno specchio intelligente fai-da-te: uno "specchio intelligente" è uno specchio a due vie con un display dietro che viene generalmente utilizzato per visualizzare informazioni utili come l'ora e la data, il tempo, il calendario e ogni sorta di altre cose! Le persone li usano per tutti i tipi di scopi
Specchio intelligente semplice: 7 passaggi (con immagini)
Specchio intelligente semplice: Wow! è passato parecchio tempo che ho caricato qualcosa, sono stato impegnato a lavorare su così tante cose e ho capito che devo lasciare qualcosa per i miei follower come dice il proverbio, "ha sempre un progetto su cui lavorare" haha forse sono solo io, comunque torniamo al lavoro
Specchio Magico Intelligente Galleggiante dal Vecchio Computer Portatile con Riconoscimento Vocale Alexa: 6 Passaggi (Illustrato)
Specchio magico intelligente galleggiante dal vecchio laptop con riconoscimento vocale Alexa: iscriviti al mio corso "Elettronica in poche parole" qui: https://www.udemy.com/electronics-in-a-nutshell/?couponCode=TINKERSPARK Dai un'occhiata anche al mio canale youtube qui per altri progetti e tutorial di elettronica: https://www.youtube.com/channel/UCelOO
Specchio intelligente con tablet Android rotto: 5 passaggi (con immagini)
Specchio intelligente con tablet Android rotto: qualche tempo fa ho accidentalmente lasciato cadere il mio tablet Android sulla faccia. Il vetro si è rotto, ma il resto funzionava ancora bene. A rischio di essere chiamato ancora una volta un accaparratore dal mio compagno, l'ho messo in pareggio, sperando di trovarne un uso un giorno. Quella