Bien, bien, voy tomando nota de vuestras sugerencias y consejos. Creo, ahora, que os debo una explicación un poco más en profundidad sobre lo que tengo planteado y las distintas soluciones que estoy barajando.
Bueno, el caso es, como os dije, que ahora tenemos una serie de equipos que sólo tienen interface serie, unos
RS232 y otros
RS232 y/o
RS485. A éstos se les van a sumar más diseños que tienen que "hablar" entre ellos e imagino que también lo harán por algún tipo de estos serie a niveles
RSxxx, nunca a
TTL ya que es posible que entre ellos haya unos cuantos metros, tampoco mucho pero si lo suficiente como para que el
TTL a 5V les pille demasiado lejos.
Uno de los servicios que damos a nuestros clientes es el de configurar y/o ajustar nuestros equipos de forma remota vía
Internet y deseamos seguir haciéndolo, aunque cada día se nos va complicando más la cosa ya que cada vez tenemos más equipos distintos en una misma instalación y cada uno de ellos debe ser configurado/ajustado o accedido para descargar información de ellos y almacenarla en bases de datos remotas.
Hasta ahora hemos estado usando un módulo que nos hacía de puente entre dichos equipos
RSxxx e
Internet. Dicho módulo está construido alrededor de un
Tibbo RJ203A que nos proporciona la parte
Ethernet y un
ATMega128A con su
MAX232/SN75176B que nos proporciona la parte Serial del asunto. Al principio, muy al principio, el
ATMega128A sólo se dedicaba a hacer de puente entre ambas interfaces, iba holgado y sobrado y la mayoría del tiempo tan sólo se dedicaba a tener dos interrupciones de tipo
RDA y lo que recibía por una
USART lo enviaba por la otra y viceversa.
Esta simplicidad lleva aparejada un complicación externa insoslayable: Conforme va aumentando el número de equipos que deben ser accedidos va aumentando el número de puentes
Ethernet-Serie que hay que montar, ocupando "bocas" de su red y conexiones con su
Router, una por cada
Ethernet-Serie, y lo que es peor cobrarle al cliente por cada
modulito de marras, al que además hay que
enrutar para que acepte conexiones entrantes, ocupando puertos y entradas en la tabla
NAT de su router de Internet.
Pero las cosas se van complicando aún más. El original módulo que sólo hacía de puente ahora ya va asumiendo funciones más complejas. Por ejemplo, ahora el ATMega "
emula" a un navegador de Internet y envía, a un Servidor nuestro, cada cierto tiempo una petición
POST en
HTML con su identificador único para que las reciba un script
PHP y con esto conseguimos registrar qué modulo habla desde qué
IP pública.Y ahora le hemos dado una nueva vuelta de tuerca al puñetero módulo. Ya no solo acepta conexiones externas para hacer de puente y hace actualizaciones hacia afuera para "
registrarse" sino que de forma autónoma "
habla" con distintos dispositivos por el canal serie y si tiene datos que "
subir" abre una conexión con nuestro servidor y manda los datos ...
Como veis poco a poco el trabajo al
ATMega128A se le va complicando y ya le está viniendo más largo y ancho de lo que le conviene.
Y si esto fuese todo pues bueno, ya está hecho, funciona y no se le podría pedir más nada pero el caso es que seguimos creciendo, en equipos a conectar, en funciones a realizar y en prestaciones más complejas que atender y contemplar.
Así que tanto el
ATMega128, por prestaciones, y el
Tibbo RJ203A, por precio, están dejando de ser una opción válida. Y tengo la necesidad de imaginar otra solución más elegante, potente y barata. Es por ello por lo que estoy explorando otras vías. De alguna forma debo dar servicio con un único módulo escalable a varios problemas simultáneos y superpuestos: Brindar conexionado entrante y saliente vía
Internet, a ser posible de forma centralizada, desde una única conexión
UDP/TCP/IP, y debo dar conexionado y servicio a tantos equipos serie
RS232/RS485 como sea posible, haciendo puente tanto entre la parte
Ethernet y cualquiera de ellos como entre ellos mismos haciendo posible que unos hablen con los otros sin salir a la red exterior. Y para rematar la faena debo hacer que el dichoso módulo sea capaz de "hablar" de forma autónoma con algunos de los equipos conectados a él y configurarlos o descargarle información de forma automática o semi-automática.
Lo primero que pensé fué en lo que puse en este hilo, un
PIC18F67J60 que me de la parte
Ethernet de forma barata y ¿eficiente? y ya por el otro lado vería como ponerle puertos
COM a mansalva, o
USART´s apilables y o ya vería como. Es una opción y como tal la estoy estudiando, es la más directa y la más accesible para mis conocimientos, herramientas y ejemplos. De ahí lo de el
STACK TCP/IP de
Microchip, que tengo, y el
CCS que también tengo, a ver si alguno de los dos me puede servir de base para trabajar en este tema ...
P.D.: Por otro lado, estoy trabajando en hacer un "
Core" (para otro diseño, para otro cliente) que tiene una problemática distinta pero para el que también me hacen falta conectividades
Ethernet/Internet y varios
COM RS232 entre otras cosas más suculentas ... pero ahí estoy metiendo una
Raspberry-Pi-3 programada en PHP y Python, y la verdad es que estoy encantado ... y cuesta menos que un puñetero
Tibbo RJ203A que él sólo no sabe hacer ni la O con un canuto mientras que la Pi-3 tiene hasta MySQL montada dentro
Continuamos para bingo.