Cómo conectarse con software a hardware a través de internet

Los procesadores ARM en Beaglebone Black o Raspberry Pi tienen pines de E / S que puede conectar directamente al hardware (aunque el voltaje es bajo y las entradas pueden dañarse, por lo que una buena idea es un poco de almacenamiento en búfer de hardware). Pero hay muchos ejemplos de software para E / S. El Beaglebone viene con scripts web para que pueda usar un navegador web, suponiendo que haya puesto el dispositivo en línea con, por ejemplo, reenvío de puertos.

También he usado un dispositivo de creación de prototipos USB (varios pines de E / S en una placa pequeña que se conecta a un puerto USB) y en equipos de escritorio más antiguos, los pines del puerto paralelo y los pines de control RS232 para E / S simples. No hice una interfaz de internet pero sería bastante simple; Usaría un script CGI en un servidor web solo porque estoy familiarizado con eso, o un programa de línea de comandos y lo ejecutaría a través de ssh y usaría la seguridad incorporada. En general, se podría crear un servidor que escuche en un puerto en particular y acepte comandos arbitrarios, de modo que se pueda hacer un programa muy compacto, pero a menudo es más fácil aprovechar las aplicaciones existentes, incluso si son mucho más grandes y lentas de lo que se podría hacer con Una aplicación personalizada. El protocolo de Internet en Linux se maneja mediante llamadas de biblioteca socket () y open ().

Bluetooth utiliza diferentes mecanismos del protocolo de internet; No he escrito nada para eso y no parece posible simplemente intercambiar llamadas de red como, por ejemplo, cambiar IPv4 a IPv6.

El hardware debe tener una CPU integrada con una pila TCP / IP y una interfaz de red adecuada. Supongo que esta sería una buena aplicación para un proyecto Arduino.