Taula de continguts:

SmartHome amb Raspberry Pi: 5 passos
SmartHome amb Raspberry Pi: 5 passos

Vídeo: SmartHome amb Raspberry Pi: 5 passos

Vídeo: SmartHome amb Raspberry Pi: 5 passos
Vídeo: System For Advanced Electricity Measurement Electricity Meater Video 2024, De novembre
Anonim
SmartHome amb Raspberry Pi
SmartHome amb Raspberry Pi

Per a aquest projecte he creat un SmartHome que pot ser operat per un lloc web i un mòbil. Per a això faig servir el Raspberry PI com a base de dades i servidor web.

Subministraments

Si voleu començar això, necessiteu diverses coses:

  • 5 leds blancs (5 mm)
  • 1 sensor de temperatura d'un fil
  • 1 LDR (resistència dependent de la llum)
  • 2 servomotors
  • 1 microSD (per a Raspberry Pi)
  • 1 Alimentació de taulers de pa
  • 1 Raspberry Pi 3 Model B +
  • 3 plaques d'escuma
  • 1 motor pas a pas (5V)
  • 1 lector RFID-RC522
  • 8 resistències (220 Ohm)
  • 1 resistència (10K Ohm)
  • 2 taules de pa
  • 2 paquets de ponts
  • 1 pantalla LCD de 16x2
  • 1 PCF8574AN
  • 4 petites finestres (impreses en 3D)
  • 1 porta (imprès en 3D)
  • 2 grans finestrals (impresos en 3D)
  • 1 porta de garatge (impresa 3D)

Si necessiteu tot això per comprar, el cost màxim rondarà els 150 €

Pas 1: cablejat

Cablejat
Cablejat
Cablejat
Cablejat
Cablejat
Cablejat

La manera més senzilla d’iniciar és mitjançant el cablejat perquè ja tingueu els conceptes bàsics, amb aquest mètode podeu comprovar fàcilment si tot funciona quan escriviu el codi.

D’aquesta manera, podeu veure si teniu prou pins al Raspberry Pi per connectar-ho tot. En aquest cas, he utilitzat el PCF8574AN per controlar la meva pantalla LCD amb menys pins GPIO.

Per dibuixar l’esquema he utilitzat Fritzing. És un programa pràctic on podeu veure el cablejat d’una manera ben organitzada.

Com podeu veure a la segona foto, hi ha molts cables, de manera que encara heu de treballar de manera organitzada.

Pas 2: habitatge

Habitatge
Habitatge
Habitatge
Habitatge
Habitatge
Habitatge
Habitatge
Habitatge

Per a la carcassa he utilitzat taules d’escuma com a parets. Vaig utilitzar un ganivet per tallar les taules amb les formes desitjades. Les finestres, les portes i la porta del garatge estan impreses en 3D. Per descomptat, vaig dibuixar la casa amb antelació per saber quines dimensions havia d’utilitzar.

Vaig fer servir SketchUp per dibuixar la casa. Vaig fer servir una pistola de cola per mantenir les parets rectes i mantenir-les juntes. Si es pot veure a les fotos, la finestra i la porta del garatge s’uneixen amb cola perquè quedin prou fortes. a la 3a foto hi ha una capsa que transportava perquè tot quedés intacte

Pas 3: base de dades

Base de dades
Base de dades

Primer de tot, heu de dissenyar la base de dades mitjançant Mysql Workbench. Si s’aconsegueix, cal instal·lar la base de dades Mysql al Raspberry Pi.

El primer element bàsic que feu és comprovar si el vostre Pi és d'actualització. Podeu utilitzar l'ordre següent:

sudo apt-get update

i

sudo apt-get upgrade

Ara podeu instal·lar el servidor Mysql:

sudo apt-get install mysql-server

Si el servidor Mysql està instal·lat, instal·leu el client Mysql

sudo apt-get install mysql-client

Si ara mireu el servidor sql mitjançant l'ordre:

sudo mysql

Ara podeu importar el codi de la vostra base de dades obrint el fitxer.mwb amb l’enginyer sql workbench and forward. Copieu el codi i enganxeu-lo al mysql des del gerd. La base de dades està feta.

Perquè l'usuari obtingui tots els permisos, només cal que afegiu el vostre nom d'usuari a la taula

concedeix tots els privilegis a smarthome. * a "yourname" @ "%" identificat per "yourname";

Per descomptat, cal actualitzar la taula ara

PRIVILEGIS DE FLUSH;

Per comprovar-ho, simplement intenteu:

utilitzar smarthome;

select * from historiek;

A la taula d'usuaris, els noms dels usuaris s'uneixen amb la seva insígnia, aquí podeu afegir usuaris nous. A la taula de dispositius es poden trobar tots els sensors actius amb el seu identificador. La taula historiek mostra tot el que està passant com el sensor de temperatura, la insígnia amb l’estat de la porta del garatge i molt més.

Pas 4: Configuració

Per configurar la imatge al Raspberry Pi, podeu utilitzar Putty, aquest és un programa gratuït. Podeu trobar el fitxer d'imatge base aquí:

Interfícies

Per descomptat, cal habilitar algunes interfícies al Pi. Primer aneu a la pàgina de configuració.

sudo raspi-config

Ara podeu anar a les categories 1-Wire i Spi i totes dues les activen. Els necessitareu per al sensor de temperatura.

Wifi

Seguiu els passos següents per obtenir wifi al Pi.

Primer inicieu la sessió com a root

sudo-i

A continuació, empleneu el nom i la contrasenya de la vostra xarxa wifi

wpa_passphrase = "contrasenya" de wifiname ">> /etc/wpa_supplicant/wpa_supplicant.conf

A continuació, introduïu el client WPA

wpa_cli

seleccioneu la interfície

interfície wlan0

Ara torneu a carregar la configuració

reconfigurar

I ara podeu comprovar si esteu connectat

ip a

Paquets

El primer que cal fer és actualitzar les darreres versions

actualització sudo apt

Per a Python instal·lem i ens assegurem que el Pi triï la versió correcta

actualització-alternatives --install / usr / bin / python python /usr/bin/python2.7 1update-alternatives --install / usr / bin / python python / usr / bin / python3 2

Perquè el servidor web executi el lloc, hem d’instal·lar Apache2

sudo apt install apache2 -y

També cal instal·lar alguns paquets Python

  • Flascó
  • Flask-Cors
  • Flask-MySQL
  • Flask-SocketIO
  • PyMySQL
  • Python-socketIO
  • sol·licituds
  • pip
  • gpio
  • Gevent
  • Gevent-websocket

si hi ha problemes amb un paquet que no es troba, feu clic dret sobre ell i deixeu-lo instal·lar.

Pas 5: Codi

Codi
Codi
Codi
Codi

backend

Per al dorsal, escrivim el codi en python i utilitzem pycharm per escriure. Les rutes des del dorsal són possibles de comprovar-les amb el carter. Amb aquesta aplicació podeu utilitzar els mètodes POST i GET. Al dorsal he utilitzat multithreading perquè tot funcioni en segon pla i pugui funcionar junt. Per configurar la imatge al Raspberry Pi, podeu utilitzar Putty, aquest és un programa gratuït.

frontend

Al frontal hi ha uns quants botons que poden encendre els llums, obrir el port i la porta del garatge. En utilitzar javascript i CSS, l'estil dels botons canvia quan estan actius. També hi ha una temperatura viva i un gràfic amb les temperatures passades. A la pàgina d’usuari podeu veure els diferents usuaris, també podeu afegir un usuari a la base de dades i hi ha un historial d’usuaris on podeu veure qui va obrir o tancar la porta del garatge com a última vegada.

Podeu trobar el codi per al frontend i el backend a

github.com/NMCT-S2-Project-1/nmct-s2-proje…

Recomanat: