No me queda claro qué es exactamente lo que quieres. Creo que es como el siguiente: tiene un número de líneas que un microcontrolador tendrá que interconectar, y este microcontrolador envía una señal a una computadora. La computadora procesa esta señal.
Para la parte del microcontrolador, puede usar un chip con Ethernet integrado como PIC18F67J60 Olin mencionado También puede utilizar un chip más pequeño (más fácil de programar) con un chip externo de Ethernet como ENC28J60 . Puede escribir software para el microcontrolador utilizando pila TCP / IP de Microchip , pila TCP / IP de Olin Lathrop (consulte en "Networking Example Firmware") o la implementación de Matthew Schinkel en Jalv2 .
Dado que el microcontrolador envía una señal a la computadora, es más fácil hacer que la computadora sea el servidor y el microcontrolador el cliente. Eso significaría que necesitas algún tipo de servidor en la computadora. Te recomiendo que vayas a un servidor HTTP, porque hay la mayor cantidad de información disponible para él. Para Linux, puede usar un servidor LAMP : para Windows, use WAMP o XAMPP.
Tendrá que hacer algún script del lado del servidor que procese la solicitud del cliente. El cliente tiene que llamar a ese script. Por ejemplo, puede hacer que la solicitud del cliente /button.php?button=17
cuando se presione el botón número 17. Luego, el script del lado del servidor podría ser así:
<?php
if (!isset($_GET['button'])) { // Check if ?button exists
die('The button variable is mandatory.'); // If not, quit
}
$button = (int) $_GET['button']; // Cast ?button to an integer
if ($button == 0) { // Check if it was an integer
die('Invalid button number.'); // If not, quit
}
// Do stuff with $button
Aquí hay un esquema de bloque:
Déjame explicarte esto.
-
Los botones & otra IO forma la entrada para el microcontrolador que va a utilizar. Estos serían los botones con los que se conectará la interfaz, pero también podrían ser otras cosas, como dispositivos I2C / SPI, o lo que sea.
-
Puede obtener información de este IO con la programación básica de chips . El chip tiene que leer los valores de las entradas.
-
El chip (podría ser un PIC) con ethernet (podría estar integrado) procesa la información de entrada y la transmite a la IP del servidor , por ejemplo, 192.168.0.10.
-
Para esto, debe enviarse al enrutador en la IP 192.168.0.1 primero utilizando la pila TCP / IP . Usted no notará esto en el chip. Es como si te contactaras directamente con el servidor .
-
El enrutador procesa el paquete y lo envía al servidor en 192.168.0.10. No tienes que hacer esto, el enrutador lo hace por sí mismo.
-
El servidor obtiene una solicitud HTTP y necesita procesarla. Envía una respuesta al enrutador en 192.168.0.10, que la reenvía al chip. Esto no se muestra en el esquema de bloque porque no es necesario en esta aplicación: los datos deben enviarse desde el chip al servidor , pero no a la parte posterior.
-
Los datos del chip pueden ser utilizados por el servidor para mostrarlos en una pantalla, almacenarlos en un archivo o hacer algo más con ellos . Eso depende totalmente de usted.
También puede, como sugiere Olin en los comentarios, usar un servidor TCP en lugar de un servidor HTTP. Esto es posible y más eficiente (lo cual es un pro teórico, no lo notarás). Recomiendo un arranque en redes para ir con un servidor HTTP. Hay mucha información sobre el tema y es muy fácil comenzar. Si ya sabes cosas sobre redes, también puedes construir un servidor TCP. Ninguno de los dos servidores sería más complejo de implementar en el lado del cliente.