desarrollosconsejeria/placaSiatic/1.0-0/main.cpp @ b9655064
b9655064 | Elisa | #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;
|
|||
}
|