Taula de continguts:
- Pas 1: Materials: què necessiteu
- Pas 2: cablejat
- Pas 3: base de dades mitjançant MySQL
- Pas 4: Codificació
- Pas 5: Habitatge
Vídeo: Inici_X: 5 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:15
Sóc estudiant de Howest Kortrijk que estudia nous mitjans de comunicació i tecnologia de comunicació (NMCT).
Tots havíem de fer un projecte basat en el gerd i / o l’Arduino. Vam haver d’utilitzar sensors i bases de dades per mostrar les dades en un lloc web, i va ser llavors quan vaig tenir la idea de crear una mini casa intel·ligent.
Amb la casa intel·ligent, podreu veure totes les lectures del sensor al lloc web.
En aquest instructiu us guiaré a través de cada pas perquè pugueu recrear aquest projecte per vosaltres mateixos.
Pas 1: Materials: què necessiteu
- Raspberry Pi
- DHT22
- Grove - Sensor de qualitat de l'aire
- Grove - Sensor de gas (MQ2)
- Taula de pa
- Cobbler Raspberry Pi T.
- Filferros de pont masculí / femení
- LED de 5 mm
- Resistències
- Fusta i eines
- Servomotor
- GrovePi +
Podeu comprar aquests articles en línia (Ali express, Amazon, kiwi electrònica …) o a les botigues locals.
A la llista de materials es mostra una llista detallada de les peces amb un enllaç a les botigues.
Pas 2: cablejat
Vaig utilitzar Fritzing per al cablejat per tenir una bona visió general de com s’hauria de fer el cablejat. Jo mateix vaig utilitzar un GrovePi + per a 2 dels meus sensors. Si teniu previst fer-ho sense un GrovePi +, seguiu l’esquema Fritzing. Els sensors I no funcionen per a vosaltres, proveu d'utilitzar diferents pins.
Podeu trobar el fitxer Fritzing a continuació.
Pas 3: base de dades mitjançant MySQL
Una de les tasques més essencials que vam haver d’implementar va ser la connexió amb una base de dades MySQL.
Cada vegada que un sensor obté lectures o s’encén un llum, veureu aquests canvis a la base de dades.
A continuació, la base de dades envia aquestes dades al lloc web perquè l'usuari també les pugui veure allà.
A continuació podeu trobar el meu fitxer.xml, on teniu una visió general del funcionament de la base de dades, però primer heu d’instal·lar MySQL i el matràs al Raspberry Pi.
La codificació dels sensors es va fer mitjançant pycharm, així que assegureu-vos que també estigui instal·lat (al vostre ordinador).
Primer heu de comprovar si hi ha actualitzacions i instal·lar paquets, com aquest:
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
Ara utilitzarem un entorn virtual:
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
Us hauria de dir que mariadb.service està actiu.
Ara, a pycharm, aneu a VCS> Importa des del control de versions> GitHub en clone
A continuació, configureu la configuració de desplegament per al directori que acabeu de fer, per exemple. / home / jo / projecte1.
Un cop fet això, aneu a la configuració de l'intèrpret i configureu l'entorn virtual que acabeu de crear, per exemple. / home / jo / projecte / env / bin / python. També s’ha d’emplenar el mapatge de camins.
Si heu fet tot això, la base de dades ja hauria d'executar-se.
sudo systemctl estat mysql
Ara hem de crear usuaris per a la nostra base de dades, així:
sudo mariadb
CREA USUARI 'project-admin' @ 'localhost' IDENTIFICAT PER 'adminpassword'; CREA USUARI 'project-web' @ 'localhost' IDENTIFICAT PER 'webpassword'; CREA USUARI 'project-sensor' @ 'localhost' IDENTIFICAT PER 'sensorpassword'; Projecte CREATE DATABASE;
CONCEDIU TOTS ELS PRIVILEGIS DEL projecte. * A 'project-admin' @ 'localhost' AMB OPCIÓ DE CONCESSIÓ; CONCESSIÓ DE SELECCIÓ, INSERIMENT, ACTUALITZACIÓ, SUPRIMIT del projecte. * A 'project-web' @ 'localhost'; CONCESSIÓ DE SELECCIÓ, INSERT, ACTUALITZACIÓ, SUPRIMIT del projecte. * A 'project-sensor' @ 'localhost'; PRIVILEGIS DE FLUSH;
Ara per veure la nostra base de dades a pycharm hem de fer una connexió.
Ho podem fer anant a Veure> Eina Windows> Base de dades i fent clic al botó verd "més".
Font de dades> MySQL i feu clic (si n'hi ha) al botó Descarregar controlador que apareix.
A continuació, aneu a SSH / SSL i comproveu SSH. Empleneu l’amfitrió / usuari / contrasenya per al pi i utilitzeu el port 22 si encara no l’heu emplenat.
Si voleu que pycharm recordi la vostra contrasenya, marqueu la casella de selecció "Recorda la contrasenya".
A la pestanya "General", empleneu localhost a l'amfitrió, projecteu a Base de dades i utilitzeu project-admin amb la contrasenya per poder provar la connexió.
Per fer ara la base de dades utilitzable, cal que executeu el fitxer.sql que col·loqueu a continuació. Proveu d'utilitzar l'opció d'importació; si no podeu importar un fitxer de bolcat, heu d'afegir les taules manualment.
Un cop fet això, heu de trobar el directori conf amb els dos fitxers.service. Allà canvieu cada seb que trobeu amb el nom de l'usuari que utilitzeu al vostre pi. A més, el grup ha de ser www-data.
El següent pas és iniciar aquests serveis al vostre pi, així:
sudo cp conf / project - *. service / etc / systemd / system /
sudo systemctl daemon-recoad
sudo systemctl iniciar el projecte- *
sudo systemctl status project- *
Hauríeu de veure dos serveis actius quan tot vagi d’acord amb el previst.
L'últim pas és habilitar nginx.
Primer comproveu si hi ha apache2 al vostre pi, si teniu instal·lat, suprimiu-lo o desactiveu-lo.
Al fitxer nginx primer heu de canviar uwsgi_pass i després executar aquestes ordres.
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 reinicieu nginx.service
sudo systemctl status nginx.service
Nginx hauria d’estar actiu i en execució. Si tot és correcte, ara podeu navegar al vostre pi. Al principi veureu "Hello world", però encara heu de canviar el contingut d'aquest fitxer amb el meu codi a continuació.
Podeu habilitar els serveis perquè s'executin automàticament quan s'iniciï el pi.
Quan ho feu, assegureu-vos de posar almenys 1 casa amb adreça a la base de dades. Podeu fer-ho amb una senzilla inserció a.
Pas 4: Codificació
Podeu descarregar el codi a través de Github:
github.com/NMCT-S2-Project-I/project-i-Tib…
El codi dels sensors s'inclou al fitxer sensor.py.
No oblideu canviar el meu nom pel vostre (o per l'usuari del que utilitzeu al vostre pi) als fitxers de servei perquè puguin funcionar correctament i col·locar el meu codi als fitxers ja existents al vostre Pycharm.
Pas 5: Habitatge
Vaig fer un dibuix ràpid de com volia casa meva, però la vostra pot semblar completament diferent. Només heu d’assegurar-vos que teniu un tot perquè el servo pugui obrir i tancar una finestra.
He utilitzat principalment un trepant petit i una serra per tallar la fusta. També em vaig assegurar que les parets fossin prou gruixudes com per poder col·locar el meu servo a l'interior.
Quan hàgiu acabat el disseny i el servo estigui al seu lloc, només cal que connecteu els sensors i que col·loqueu el pi a l'interior de la casa i ja estigueu a punt.
Com he esmentat abans, la vostra casa pot semblar exactament igual que la meva, només heu de deixar lloc al servo i a la finestra.
Finalment, heu acabat amb el projecte. Espero que aquesta guia sigui prou clara perquè vosaltres també pugueu fer una casa intel·ligent fantàstica com jo.
Molta sort.
Recomanat:
Disseny de jocs en Flick en 5 passos: 5 passos
Disseny de jocs en Flick en 5 passos: Flick és una manera molt senzilla de fer un joc, sobretot com un trencaclosques, una novel·la visual o un joc d’aventures
Detecció de cares a Raspberry Pi 4B en 3 passos: 3 passos
Detecció de cares a Raspberry Pi 4B en 3 passos: en aquest manual, farem la detecció de cares a Raspberry Pi 4 amb Shunya O / S mitjançant la biblioteca Shunyaface. Shunyaface és una biblioteca de reconeixement / detecció de cares. El projecte té com a objectiu aconseguir una velocitat de detecció i reconeixement més ràpida amb
Com fer un comptador de passos ?: 3 passos (amb imatges)
Com fer un comptador de passos ?: Jo solia tenir un bon rendiment en molts esports: caminar, córrer, anar en bicicleta, jugar a bàdminton, etc. M’encanta viatjar poc després. Bé, mireu el meu ventre corpulent … Bé, de totes maneres, decideixo tornar a començar a fer exercici. Quin equip he de preparar?
Mirall de vanitat de bricolatge en passos senzills (amb llums de tira LED): 4 passos
Mirall de vanitat de bricolatge en passos senzills (amb llums de tires LED): en aquest post vaig crear un mirall de vanitat de bricolatge amb l'ajut de les tires LED. És molt genial i també heu de provar-les
Arduino Halloween Edition: pantalla emergent de zombis (passos amb imatges): 6 passos
Arduino Halloween Edition: pantalla emergent de zombis (passos amb imatges): voleu espantar els vostres amics i fer soroll a Halloween? O simplement voleu fer una bona broma? Aquesta pantalla emergent de Zombies ho pot fer! En aquest instructiu us ensenyaré a fer zombis fàcilment amb Arduino. L'HC-SR0