Proyecto

General

Perfil

Descargar (5,24 KB) Estadísticas
| Rama: | Revisión:
#include <QCoreApplication>
#include "redrelaylibrary.h"
#include "relayportdefinitions.h"
#include <QFile>
#include <QDebug>
#include <QThread>


RedRelayLibrary *redRelayDevice;
void cierraCorrientePuntoAcceso()
{
redRelayDevice->SetRelayState(OFF, (RelayPort) WIFI_PORT);
QThread::msleep(1000);


}
void abreCorrientePuntoAcceso()
{
redRelayDevice->SetRelayState(ON, (RelayPort) WIFI_PORT);
QThread::msleep(1000);


}

void reiniciaCorrientePuntoAcceso()
{
redRelayDevice->SetRelayState(OFF, (RelayPort) WIFI_PORT);
QThread::msleep(2000);
redRelayDevice->SetRelayState(ON, (RelayPort) WIFI_PORT);
QThread::msleep(1000);
}

void cierraCorrienteProyector()
{
redRelayDevice->SetRelayState(OFF, (RelayPort) PROJECTOR_PORT);
QThread::msleep(1000);


}
void abreCorrienteProyector()
{
redRelayDevice->SetRelayState(ON, (RelayPort) PROJECTOR_PORT);
QThread::msleep(1000);


}

void reiniciaCorrienteProyector()
{
redRelayDevice->SetRelayState(OFF, (RelayPort) PROJECTOR_PORT);
QThread::msleep(2000);
redRelayDevice->SetRelayState(ON, (RelayPort) PROJECTOR_PORT);
QThread::msleep(1000);
}

void cierraCorrienteSonido()
{
redRelayDevice->SetRelayState(OFF, (RelayPort) SOUND_PORT);
QThread::msleep(1000);


}
void abreCorrienteSonido()
{
redRelayDevice->SetRelayState(ON, (RelayPort) SOUND_PORT);
QThread::msleep(1000);


}

void reiniciaCorrienteSonido()
{
redRelayDevice->SetRelayState(OFF, (RelayPort) SOUND_PORT);
QThread::msleep(2000);
redRelayDevice->SetRelayState(ON, (RelayPort) SOUND_PORT);
QThread::msleep(1000);
}

void cierraCorrienteMotor()
{
redRelayDevice->SetRelayState(OFF, (RelayPort) MOTOR_PORT);
QThread::msleep(200);
redRelayDevice->SetRelayState(OFF, (RelayPort) MOTOR_UP_PORT);
QThread::msleep(200);
redRelayDevice->SetRelayState(OFF, (RelayPort) MOTOR_DOWN_PORT);
QThread::msleep(200);


}
void abreCorrienteMotor()
{
redRelayDevice->SetRelayState(ON, (RelayPort) MOTOR_PORT);
QThread::msleep(200);
redRelayDevice->SetRelayState(ON, (RelayPort) MOTOR_UP_PORT);
QThread::msleep(200);
redRelayDevice->SetRelayState(ON, (RelayPort) MOTOR_DOWN_PORT);
QThread::msleep(200);


}

void reiniciaCorrienteMotor()
{
cierraCorrienteMotor();
QThread::msleep(1000);
abreCorrienteMotor();
QThread::msleep(1000);

}

int main(int argc, char *argv[])
{

QCoreApplication a(argc, argv);
QString textoParmaetros="Nombre o número de parámetros incorrectos. Los parámetros deben ser sonido up|down|reboot, motor up|down|reboot, pa up|down|reboot o proyector up|down|reboot";
QString usuario =getenv("USER");
if (usuario != "root"){
qDebug() <<"Sólo el root puede usar la aplicación";
return 1;
}
QStringList args = a.arguments();

if (args.count() != 3)
{
qDebug() <<textoParmaetros;
return 1;
}
redRelayDevice = new RedRelayLibrary();
if (! redRelayDevice->ConnectRelay()){
qDebug() <<"Error al conectar con la placa del siatic";
delete redRelayDevice;
return -1;
}
QString dispositivo= argv[1];
QString accion= argv[2];
if (dispositivo =="pa"){
if (accion=="up"){
qDebug() <<"Abriendo la corriente eléctrica punto acceso";
abreCorrientePuntoAcceso();
}else if(accion=="down"){
qDebug() <<"Cerrando la corriente eléctrica punto acceso";
cierraCorrientePuntoAcceso();
}else if(accion=="reboot"){
qDebug() <<"reinciando punto acceso";
reiniciaCorrientePuntoAcceso();
} else {
qDebug() << textoParmaetros;
return 1;
}
}else if (dispositivo =="sonido"){
if (accion=="up"){
qDebug() <<"Abriendo la corriente eléctrica sonido";
abreCorrienteSonido();
}else if(accion=="down"){
qDebug() <<"Cerrando la corriente eléctrica sonido";
cierraCorrienteSonido();
}else if(accion=="reboot"){
qDebug() <<"reinciando sonido";
reiniciaCorrienteSonido();
} else {
qDebug() << textoParmaetros;
}
}else if (dispositivo =="motor"){
if (accion=="up"){
qDebug() <<"Abriendo la corriente eléctrica motor";
abreCorrienteMotor();
}else if(accion=="down"){
qDebug() <<"Cerrando la corriente eléctrica motor";
cierraCorrienteMotor();
}else if(accion=="reboot"){
qDebug() <<"reinciando motor";
reiniciaCorrienteMotor();
} else {
qDebug() << textoParmaetros;
}
}else if (dispositivo =="proyector"){
if (accion=="up"){
qDebug() <<"Abriendo la corriente eléctrica proyectro";
abreCorrienteProyector();
}else if(accion=="down"){
qDebug() <<"Cerrando la corriente eléctrica proyector";
cierraCorrienteProyector();
}else if(accion=="reboot"){
qDebug() <<"reinciando proyector";
reiniciaCorrienteProyector();
} else {
qDebug() << textoParmaetros;
return 1;
}
}else {
qDebug() <<textoParmaetros;
return 1;
}


delete redRelayDevice;
return 0;

}

(1-1/6)