Cinquena / Sisena Setmana

Últimes setmanes de projecte, en aquest període finalitzarem les últimes tasques pendents i enllaçarem tots els scripts al gestor web per tal de poder treballar conjuntament.

L’objectiu era unificar la mesura de la temperatura, el nivell d’il·luminació del local, el control de l’alarma i la reproducció d’arxius media a la raspberry.

A la setmana anterior erem capaços de fer cada cosa per separat, alguna mitjançant scripts, altres a través de comandes a la consola de la RPi. La nostra tasca final ha set el cridar els diferents scripts que executen funcions especifiques desde php externs.

També en quant a php tenim el principal que s’encarrega de cridar altres php externs quan és necessari, tot i això sempre treballarem amb una interface principal i no ens mourem d’aquesta, ja que l’objectiu és fer-ho el més intuitiu i fàcil d’utilitzar possible. Per aquest motiu, tots els php externs es redireccionen al principal.

A continuació adjuntem els scripts i php utilitzats al sistema:

Script temperatura

temperaturapy

El que fem en aquest script és connectar amb la base de dades, llegir la temperatura i emmagatzemar-la.

Scripts llum

Aquests scripts són els mateix l’únic que variem és la comanda a enviar pel port sèrie. Ho hem dividit en diferents scripts ja que hem fet diferents botons per variar el nivell de llum, d’aquesta manera cridarem un script per botó.

Nivell llum baix

llum1py

Nivell llum mitjà

llum2py

Nivell llum alt

llum3py

Apagar llum

apagarllumpy

Un cop l’arduino rep la comanda pel port sèrie interpreta el número rebut i actua variant el nivell de PWM de la sortida.

Gestor web (PHP)

Index.php (pàgina principal)

A l’índex principal tenim tota la disposició i organització de la web creada per controlar totes les comandes. Hi ha funcions que criden scripts directament des de l’índex principal i d’altres que s’executen a través d’un php secundari degut a la seva complexitat.

Funció temperatura:

Trobem l’apartat de la temperatura a l’índex:

partindextemp

Un cop feta la consulta i mostrada la temperatura de la base de dades executem un php extern per cridar l’script en el qual llegirem i emmagatzemarem la temperatura a la BD:

temperaturaphp

temperatura

Funció il·luminació:

Depenent del botó que seleccionem es cridarà el php extern corresponent i a la vegada aquest executarà l’script per seleccionar el nivell de llum correcte:

partindexilum

Exemple de php extern que crida script (cas llum 1 – Nivell mínim):

llum1php

il%c2%b7luminacio

Funció alarma:

Aquesta funció executa l’script directament pel que no tenim php extern

alarmindex1alarmindex2

alarma

Funció media:

Tenim dos botons tipus “upload” per seleccionar els fitxers del nostre PC i un recuadre en el qual insertarem la url del vídeo de youtube que vulguem reproduir. Quan polsem qualsevol dels altres botons verds cridarem un php extern que s’encarregarà d’executar l’script pertinent per actuar sobre l’arxiu o la url.

Cal dir que quan pugem un arxiu a la RPi el guardem internament en una carpeta, a l’executar l’script vam decidir executar una comanda per eliminar els arxius d’aquesta carpeta i carregar només el desitjat, d’aquesta manera no tindrem arxius innecessaris i no anirem omplint la memòria de la nostra controladora. Al ser ràpida la càrrega no ens suposa cap problema.

mediaindex1mediaindex2

Php càrrega i reproducció de música i vídeo

uploadphpaudiovideo

Php càrrega i reproducció d’imatges

uploadimgphp

Php parar reproducció media

botopararphp

media

PHP index final sencer:

1234567

 

Interfície final

interficie

 

 

 

Anuncios