Sommario:
- Passaggio 1: materiali: di cosa hai bisogno?
- Passaggio 2: cablaggio
- Passaggio 3: database utilizzando MySQL
- Passaggio 4: codifica
- Passaggio 5: alloggio
Video: Home_X: 5 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
Sono uno studente di Howest Kortrijk che studia New Media and Communication Technology (NMCT).
Abbiamo tutti dovuto realizzare un progetto basato su lampone e/o Arduino. Dovevamo utilizzare sensori e database per mostrare i dati in un sito Web, ed è allora che mi è venuta l'idea di creare una mini casa intelligente.
Con la casa intelligente, sarai in grado di vedere tutte le letture dei sensori sul sito web.
In questo tutorial ti guiderò attraverso ogni passaggio in modo che tu possa ricreare questo progetto per te stesso.
Passaggio 1: materiali: di cosa hai bisogno?
- Lampone Pi
- DHT22
- Grove - Sensore di qualità dell'aria
- Grove - Sensore di gas (MQ2)
- tagliere
- Cobbler al lampone Pi T
- Cavi jumper maschio/femmina
- LED da 5 mm
- resistori
- Legno e strumenti
- Servomotore
- GrovePi+
Puoi acquistare questi articoli online (Ali express, amazon, kiwi electronics…) o presso i tuoi negozi locali.
Un elenco dettagliato delle parti con un collegamento ai negozi è riportato di seguito nella distinta base.
Passaggio 2: cablaggio
Ho usato Fritzing per il cablaggio per avere una bella panoramica di come dovrebbe essere fatto il mio cablaggio. Io stesso ho usato un GrovePi+ per 2 dei miei sensori. Se hai intenzione di farlo senza GrovePi+ segui lo schema Fritzing. I sensori non ti funzionano, prova a usare pin diversi.
Puoi trovare il file Fritzing qui sotto.
Passaggio 3: database utilizzando MySQL
Uno dei compiti più essenziali che dovevamo implementare era la connessione con un database MySQL.
Ogni volta che un sensore ottiene letture o si accende una luce, vedrai questi cambiamenti nel database.
Il database invia quindi questi dati al sito Web in modo che l'utente possa vederli anche lì.
Di seguito puoi trovare il mio file.xml dove hai una panoramica di come funziona il database, ma prima devi installare MySQL e flask sul Raspberry Pi.
La codifica dei sensori è avvenuta tramite pycharm quindi assicurati che sia installato anche quello (sul tuo computer).
Per prima cosa devi controllare gli aggiornamenti e installare i pacchetti, in questo modo:
sudo apt-get update && sudo apt-get upgrade
sudo apt install -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3
Ora useremo un ambiente virtuale:
me@my-rpi:~ $ python3 -m pip install --upgrade pip setuptools wheel virtualenvme@my-rpi:~ $ mkdir project1 && cd project1 me@my-rpi:~/project1 $ python3 -m venv --system- site-packages env me@my-rpi:~/project1 $ source env/bin/activate (env)me@my-rpi:~/project1 $ python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib
Dovrebbe dirti che mariadb.service è attivo.
Ora, in pycharm vai su VCS> Importa da Controllo versione> GitHub e clone
Quindi configura la configurazione di distribuzione per la directory appena creata, ad es. /home/io/progetto1.
Fatto ciò, vai alle impostazioni dell'interprete e configura l'ambiente virtuale che hai appena creato, ad es. /home/me/progetto/env/bin/python. Anche la mappatura del percorso deve essere compilata.
Se hai fatto tutto questo, il database dovrebbe essere già in esecuzione.
sudo systemctl status mysql
Ora dobbiamo creare utenti per il nostro database, in questo modo:
sudo mariadb
CREA UTENTE 'project-admin'@'localhost' IDENTIFICATO DA 'adminpassword'; CREA UTENTE 'project-web'@'localhost' IDENTIFICATO DA 'webpassword'; CREA UTENTE 'project-sensor'@'localhost' IDENTIFICATO DA 'sensorpassword'; progetto CREA DATABASE;
Concedi TUTTI I PRIVILEGI SUL progetto.* a 'project-admin'@'localhost' CON L'OPZIONE DI CONCESSIONE;CONCEDI SELEZIONA, INSERISCI, AGGIORNA, ELIMINA SUL progetto.* A 'progetto-web'@'localhost'; GRANT SELECT, INSERT, UPDATE, DELETE ON project.* TO 'project-sensor'@'localhost'; PRIVILEGI DI SCARICO;
Ora per vedere il nostro database in pycharm dobbiamo effettuare una connessione.
Possiamo farlo andando su Visualizza > Finestre degli strumenti > Database e facendo clic sul pulsante verde "più".
Origine dati > MySQL e fare clic (se presente) sul pulsante Scarica driver visualizzato.
Quindi vai su SSH/SSL e controlla SSH. Compila host/utente/password per il pi e usa la porta 22 se non ancora compilata.
Se vuoi che pycharm ricordi la tua password seleziona la casella di controllo "Ricorda la password".
Nella scheda "Generale", inserisci localhost in host, project in Database e usa project-admin con la password per poter testare la connessione.
Per rendere ora utilizzabile il database è necessario eseguire il file.sql che inserisco qui sotto. Prova a utilizzare l'opzione di importazione, se non riesci a importare un file di dump, devi aggiungere le tabelle manualmente.
Fatto ciò, devi trovare la directory conf con i due file.service. Lì cambia ogni seb che trovi con il nome dell'utente che usi sul tuo pi. Inoltre, il gruppo deve essere www-data.
Il prossimo passo è avviare questi servizi sul tuo pi, in questo modo:
sudo cp conf/project-*.service /etc/systemd/system/
sudo systemctl demone-reload
sudo systemctl start project-*
sudo systemctl status progetto-*
Dovresti vedere due servizi attivi quando tutto va secondo i piani.
L'ultimo passaggio consiste nell'abilitare nginx.
Per prima cosa controlla la presenza di apache2 sul tuo pi, se lo hai installato, eliminalo o disabilitalo.
Nel file nginx devi prima modificare uwsgi_pass, quindi eseguire questi comandi.
sudo cp conf/nginx /etc/nginx/sites-available/project
sudo rm /etc/nginx/sites-enabled/default
sudo ln -s /etc/nginx/sites-available/project1/etc/nginx/sites-enabled/project
sudo systemctl riavvia nginx.service
sudo systemctl status nginx.service
Nginx dovrebbe essere attivo e in esecuzione. Se tutto è corretto, ora puoi navigare sul tuo pi. All'inizio vedrai "Hello world" ma devi ancora modificare il contenuto di quel file con il mio codice qui sotto.
Puoi abilitare i servizi in modo che vengano eseguiti automaticamente all'avvio di pi.
Quando hai fatto tutto questo, assicurati di inserire almeno 1 casa con indirizzo nel database. Puoi farlo con un semplice inserimento in.
Passaggio 4: codifica
Puoi scaricare il codice tramite Github:
github.com/NMCT-S2-Project-I/project-i-Tib…
Il codice per i sensori è incluso nel file sensor.py.
Non dimenticare di cambiare il mio nome nel tuo (o l'utente che usi sul tuo pi) nei file di servizio in modo che possano funzionare correttamente e inserire il mio codice nei file già esistenti nel tuo Pycharm.
Passaggio 5: alloggio
Ho fatto un rapido disegno di come volevo la mia casa, ma la tua può sembrare completamente diversa. Devi solo assicurarti di avere un intero in modo che il servo possa aprire e chiudere una finestra.
Ho usato principalmente un piccolo trapano e una sega per tagliare il legno. Mi sono anche assicurato che le pareti fossero abbastanza spesse da poter posizionare il mio servo al loro interno.
Quando hai finito con il tuo progetto e il servo è a posto, devi solo collegare i sensori e posizionare il pi all'interno della casa e sei pronto per partire.
Come ho detto prima, la tua casa può sembrare esattamente uguale alla mia, devi solo fare spazio al servo e alla finestra.
Finalmente hai finito con il progetto. Spero che questa guida sia abbastanza chiara in modo che anche tu possa realizzare una fantastica smarthouse come ho fatto io.
Buona fortuna.
Consigliato:
Come realizzare un'antenna doppia biQuade 4G LTE Semplici passaggi: 3 passaggi
Come realizzare un'antenna doppia biQuade 4G LTE Semplici passaggi: La maggior parte delle volte che ho affrontato, non ho una buona potenza del segnale per i miei lavori quotidiani. Così. Cerco e provo diversi tipi di antenna ma non funziona. Dopo aver perso tempo ho trovato un'antenna che spero di realizzare e testare, perché è principio costruttivo non
Rilevamento del volto su Raspberry Pi 4B in 3 passaggi: 3 passaggi
Rilevamento del volto su Raspberry Pi 4B in 3 passaggi: In questo Instructable eseguiremo il rilevamento del volto su Raspberry Pi 4 con Shunya O/S utilizzando la libreria Shunyaface. Shunyaface è una libreria di riconoscimento/rilevamento facciale. Il progetto mira a raggiungere la massima velocità di rilevamento e riconoscimento con
Specchio per il trucco fai-da-te in semplici passaggi (usando le strisce luminose a LED): 4 passaggi
Specchio per il trucco fai-da-te in semplici passaggi (usando le strisce luminose a LED): in questo post, ho realizzato uno specchio per il trucco fai-da-te con l'aiuto delle strisce LED. Sono davvero fantastici e devi provarli anche tu
Gioca a Doom sul tuo iPod in 5 semplici passaggi!: 5 passaggi
Gioca a Doom sul tuo iPod in 5 semplici passaggi!: una guida passo passo su come eseguire il dual-boot di Rockbox sul tuo iPod per giocare a Doom e a dozzine di altri giochi. È qualcosa di veramente facile da fare, ma molte persone rimangono stupite quando mi vedono giocare a doom sul mio iPod e si confondono con le istruzioni
Come installare plugin in WordPress in 3 passaggi: 3 passaggi
Come installare plugin in WordPress in 3 passaggi: In questo tutorial ti mostrerò i passaggi essenziali per installare il plugin wordpress sul tuo sito web. Fondamentalmente puoi installare i plugin in due modi diversi. Il primo metodo è tramite ftp o tramite cpanel. Ma non lo elencherò perché è davvero completo