[size=24]
Avances:[/size]
- Por fin de tanto tiempo de hacer un triggers para un monitoreo o auditoría ya funciona.
En futuras mejoras.
- Me falta crear código necesario para la lectura del monitoreo desde C#.
- Diseñar una buena interfaz algo parecido a la imagen de abajo.
- Cuando nos pongamos de acuerdo como les interesa el modelo de Interfaz tanto de Visual C# y PHP, empiezo a la programación del puerto serie
(junto con el puerto paralelo depende de lo que ustedes prefieran y más en el futuro por USB, que aprenderé con los manuales de Moyano). Haré varios diseños y ustedes eligen el más que les gusten.
Les dejo la base de datos creada junto con el triggers.
-- phpMyAdmin SQL Dump
-- version 3.2.0.1
-- http://www.phpmyadmin.net
--
-- Servidor: localhost
-- Tiempo de generación: 13-07-2009 a las 05:28:43
-- Versión del servidor: 5.1.36
-- Versión de PHP: 5.2.10
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- Base de datos: `prueba01`
--
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `datos`
--
CREATE TABLE IF NOT EXISTS `datos` (
`ID` INT(11) NOT NULL AUTO_INCREMENT,
`RELE_1` tinyint(4) NOT NULL,
`RELE_2` tinyint(4) NOT NULL,
`RELE_3` tinyint(4) NOT NULL,
`RELE_4` tinyint(4) NOT NULL,
`FECHA_HORA` datetime NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci AUTO_INCREMENT=1 ;
--
-- Volcar la base de datos para la tabla `datos`
--
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `dispositivos`
--
CREATE TABLE IF NOT EXISTS `dispositivos` (
`ID` INT(11) NOT NULL,
`nombre` VARCHAR(30) NOT NULL,
`estado` tinyint(3) NOT NULL DEFAULT '0',
`descripcion` VARCHAR(200) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- (Evento) desencadenante `dispositivos`
--
DROP TRIGGER IF EXISTS `prueba01`.`logestado`;
DELIMITER //
CREATE TRIGGER `prueba01`.`logestado` AFTER UPDATE ON `prueba01`.`dispositivos`
FOR EACH ROW BEGIN
DECLARE Rele1 INT;
DECLARE Rele2 INT;
DECLARE Rele3 INT;
DECLARE Rele4 INT;
SET Rele1 = (SELECT estado
FROM dispositivos
WHERE nombre LIKE 'RELE 1');
SET Rele2 = (SELECT estado
FROM dispositivos
WHERE nombre LIKE 'RELE 2');
SET Rele3 = (SELECT estado
FROM dispositivos
WHERE nombre LIKE 'RELE 3');
SET Rele4 = (SELECT estado
FROM dispositivos
WHERE nombre LIKE 'RELE 4');
INSERT INTO datos (RELE_1, RELE_2, RELE_3, RELE_4, FECHA_HORA)
VALUES (Rele1, Rele2, Rele3, Rele4, NOW());
END
//
DELIMITER ;
--
-- Volcar la base de datos para la tabla `dispositivos`
--
INSERT INTO `dispositivos` (`ID`, `nombre`, `estado`, `descripcion`) VALUES
(1, 'RELE 1', 0, 'Motor 1'),
(2, 'RELE 2', 0, 'Motor 2'),
(3, 'RELE 3', 0, 'Alarma'),
(4, 'RELE 4', 0, 'WebCam');
Los que quieran hacer pruebas sólo con bases de datos.- Si quieres descargar el MySQL 5.1.36 para x86 (32 Bits):
DESCARGAR- Connector / .net 6.0.4:
DESCARGAR- El gestor de MySQL muy bueno, fácil y libre EMS SQL Manager for MySQL Freeware (full installation package) 4.5.0.4:
DESCARGAR- Manual sobre instalación de MySQL en la página 312 de este manual en PDF.
DESCARGAR- Manual puerto serie y Visual C#.
DESCARGAR