Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

14/06/2009 #121

Avatar de Meta

Moyano Jonathan dijo:
Está perfecto meta, lo has puesto con contraseña la página ? El tema del puerto controlado sería mucho mejor con USB pero si lo haces con el puerto serie no importa.

Si, si importa, me centro en el puerto serie ahora ya que lo domino y acabo antes para un manual, el otro manual ya sería sólo para USB que por supuesto lo haré.

Lo de la contraseña a la página hay que ponerlo, por eso uso el MySQL, porque es bueno en ello y se usa mucho. Lo que tengo que diseñar la página, entrada de login y password, etc.



Una idea sería que tu programa buscara todos los puertos COM disponibles en la máquina servidor y largarnos una lista y que una vez conectado el microcontrolador nos mande una cadena de respuesta.
En ese caso si se podría utilizar USB ya que se implementaría la emulación CDC.

Lo se, te pogo el código abajo.
Código:
private System.Windows.Forms.ComboBox comboBox1;

private System.IO.Ports.SerialPort PuertoSerie;

 

public Form1()

{

InitializeComponent();

      this.comboBox1 = new System.Windows.Forms.ComboBox();

      // comboBox1

      this.comboBox1.FormattingEnabled = true;

      this.comboBox1.Name = "comboBox1";

      this.Controls.Add(this.comboBox1);

}

 

private void Form1_Load(object sender, EventArgs e)

{
      // GetPortNames, nos devuelve un array con los nombres

      // de los puertos instalados en nuestro equipo

String[] Ports = System.IO.Ports.SerialPort.GetPortNames();

      this.comboBox1.Items.AddRange(Ports);

}

 

// En el evento SelectedIndexChanged… del ComboBox1

{     

      // ... Por ejemplo
      PuertoSerie.Close();

      PuertoSerie.PortName = this.comboBox1.SelectedItem.ToString();

      PuertoSerie.Open();

}
Me respondieron hace un tiempo en:
http://msmvps.com/blogs/peplluis/arc...vb-y-en-c.aspx
14/06/2009 #122

Avatar de Moyano Jonathan

Si ese código lo ví y lo estoy utilizando en un par de programas. El tema del puerto serie si importa yo me refería a que lo hagas por ahora con el puerto serie y despues cuando adquieras los conocimientos lo hagas con el puerto USB.

un saludo
14/06/2009 #123

Avatar de Meta

Ok.

Lo de USB lo haré y si me sale bien es gracias a ti.
Vamos a ver como poco a poco crece tu manual.

Mientras tanto, ahora estoy a ver si hago una mini web bajo PHP con su login y password.
Imágenes Adjuntas
Tipo de Archivo: jpg tabla06_178.jpg (12,1 KB (Kilobytes), 138 visitas)
Archivos Adjuntos
Tipo de Archivo: rar mysql03_387.rar (4,9 KB (Kilobytes), 21 visitas)
14/06/2009 #124

Avatar de Moyano Jonathan

Muy bueno tus avances yo estoy por las 63 páginas y avanzando pero toda la traducción al español de algunas cosa se está volviendo lento ya que el inglés no es precisamente lo mio.
Felicitaciones por tus logros.
14/06/2009 #125

Avatar de Meta

A mi tampoco se me da el Inglés, irás lento pero no pausado con lo que sognifica que avanzas y no te detienes.

Tu manual está de lujo, cuando lo acabes haré pruebas con él y lo pasamos a otros lenguajes, claro que primero debo probarlo de arriba abajo.

Voy a diseñar ya la base en sólo html la web para que los vean a ver como queda, después lo paso a php si es posible.

Saludo.
15/06/2009 #126

Avatar de Meta

Primeras interfaz bajo PHP.


Es mejorable, poco a poco se irá mejorando...
15/06/2009 #127

Avatar de Don Barredora



Eso es lo que te vengo pidiendo que hagas desde hace rato !

Te quedo muy bueno! Felicitaciones

Saludos!
15/06/2009 #128

Avatar de Meta

La demanda por lo que veo aquí, prefieren la mayoría por vía Web. También lo estoy haciendo de escritorio para aquellos que usen en modo local.

Vamos a ver como les interesa al final la gente sobre el control de PIC por vía Web. En este caso uso Apache, PHP, MySQL. También puedes usarlo en servidores externos como Lycos.

Se me ocurrió hacer logger de fecha y hora en cada modificación de estado y guardarlo en un abase de datos.
15/06/2009 #129

Avatar de Moyano Jonathan

Exelente meta !! Veo que le vas agarrando la mano ya la interfaz te ha quedado increible
16/06/2009 #130

Avatar de Meta

Hola:

Chico3001:

Antes de subir el servidor la interfaz de php, me tienes que decir el puerto de la base de datos y la dirección.

Crea una base de datos e inserta estos datos en l atabla.

Código:
--
-- Base de datos: `prueba01`
--

-- --------------------------------------------------------

--
-- 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) unsigned NOT NULL DEFAULT '0',
  `descripcion` varchar(200) NOT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

--
-- Volcar la base de datos para la tabla `dispositivos`
--

INSERT INTO `dispositivos` (`ID`, `nombre`, `estado`, `descripcion`) VALUES
(1, 'RELE 1', 1, 'Motor 1'),
(2, 'RELE 2', 1, 'Motor 2'),
(3, 'RELE 3', 1, 'Alarma'),
(4, 'RELE 4', 1, 'WebCam');
16/06/2009 #131
Moderador

Avatar de Chico3001

Ya esta creada la base de datos, las claves para accesar te las mande por privado...
16/06/2009 #132

Avatar de Meta

Gracias por responder.

Ahora si es posible, crea esta otra base de datos y tabla que es una prueba del programa C#.

Código:
--
-- Base de datos: `prueba01`
--

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `tabla01`
--

CREATE TABLE IF NOT EXISTS `tabla01` (
  `RELE_1` tinyint(1) DEFAULT NULL,
  `RELE_2` tinyint(1) DEFAULT NULL,
  `RELE_3` tinyint(1) DEFAULT NULL,
  `RELE_4` tinyint(1) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci;

--
-- Volcar la base de datos para la tabla `tabla01`
--

INSERT INTO `tabla01` (`RELE_1`, `RELE_2`, `RELE_3`, `RELE_4`) VALUES
(1, 1, 0, 0);
Ya me avisarás. Por ahora esto es todo.

Saludo.
16/06/2009 #133
Moderador

Avatar de Chico3001

Creada la tabla mundosel_webinte2 y añadidos los datos...

los datos para accesar son los mismos que mundosel_webinter
17/06/2009 #134
Moderador

Avatar de Chico3001

Ando revisando tu codigo PHP para subirlo al server y no entiendo bien como estas logrando la comunicacion entre las 2 computadoras... me puedes aclarar un poco el tema para ayudarte en la parte del server?
17/06/2009 #135

Avatar de Meta

Hola:

- Falta el programa hecho con Visual C#.
- Tanto PHP y Visual C# leen los valores de la base de datos MySQL.
- PHP modifica los valores de On/Off de la base de datos.
- Visual C#, los lee y los interpreta al mismo tiempo envía órdenes al PIC por puerto serie (También recibir datos).

Un cordial saludo.
17/06/2009 #136
Moderador

Avatar de Chico3001

No podriamos modificar de algun modo el PHP del servidor y el SQL para que se comuniquen entre ellos? asi podriamos eliminar el problema de tener que permitir el acceso por IP....

Estoy investigando de que manera se puede abrir y cerrar un socket en PHP....
17/06/2009 #137

Avatar de Meta

PHP siempre se comunica al SQL. Lo de la IP ya que cosa del servidor Web y hay muchos, el más usado es el Apache y dirige PHP y la IP. El router de tu casa debe tener acceso libre al exterior o Internet, sobre todo los nuevos.

No se si PHP puede abrir y cerrar sockect, voy a investigar.
18/06/2009 #138
Moderador

Avatar de Chico3001

Esto puede servir de mucho... si logramos la comunicacion por medio de sockets podemos reducir muchisimo los requerimientos

http://www.php.net/sockets
http://www.php.net/manual/es/sockets.examples.php
http://www.elguruprogramador.com.ar/...ets-en-php.htm
http://theseismo.wordpress.com/2007/...ockets-en-php/
http://www.arrakis.es/~dmrq/beej/theory.html

Pero segun lo que tengo entendido PHP solo se puede conectar como cliente a un servidor.... y necesitamos que sea alrevez... a menos que pongamos la computadora de la casa en modo servidor corriendo un programa en C a esperar una conexion desde internet.....
18/06/2009 #139

Avatar de Meta

No se exactamente para que quieres los sockes si solo controla puerto de entrada y salida de programas hacia internet como HTTP que es el 80 y 8080 por defecto, 21 del FTP, nada de ello controla el puerto seire, por eso lo hago con Visual C# (puede ser otro lenguaje) que haga de intermediario que si lo puede controlar.
19/06/2009 #140
Moderador

Avatar de Chico3001

Segun he leido la manera mas sencilla de mandar datos de una computadora a otra es por medio de sockets.... lo unico que se hace es abrir la conexion desde el cliente, procesar los datos en el servidor (para este ejemplo manipular el puerto serie) y devolver el resultado al cliente

El lenguaje de programacion mas comun en internet es php y para una PC casera es C, en ambos lenguajes es bien facil manipular un socket, pero ademas de eso se presenta una ventaja extra.... como un socket es comunicacion de red a nivel mas basico podriamos conectar el PIC a un controlador Ethernet y recibir los datos directamente de internet sin pasar por la PC....
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.