Hola, les cuento que acabo de terminar un prototipo de mi página web donde todo el que quiera puede desarrollar el telemonitoreo y el telecontrol.
En el fondo es un microcontrolador que conectas al PC a través del puerto USB y al registrarte puedes comandar tu dispositivo desde cualquier parte del mundo que tenga internet.
Por el momento cuenta con 5 entradas digitales y 5 salidas digitales, pero pronto espero aumentarlas para tener un mayor alcance, además de agregar entradas análogas.
Se requiere un minimo de conocimiento en microcontroladores para poder interactuar con la interface.
La página es
www.toolsdistance.com, cualquier duda escribanme a mi correo alcarruz@gmail.com.
El código del PIC, que puede ser modificado para usar cualquier otro microcontrolador incluso de otra marca, es el siguiente:
#include <16f88.h>
#fuses HS,NOPROTECT,WDT,NOLVP
#use delay(clock=20000000)
#use rs232(baud=9600, xmit=PIN_B5,rcv=PIN_B2,ERRORS)
static char k[20],e[20];
char cadena;
signed int m,n=0;
int an0;
#int_rda
void serial_rda()
{
cadena=getc();
if (cadena=='A') m=0;
if (cadena=='Z') n=1;
if(n!=1) k[m]=cadena;
putc(e[m]);
m++;
if(m>=20) m=1;
//printf("%s",e);
n=1;
}
main()
{
setup_wdt(WDT_1152MS);
enable_interrupts(GLOBAL);
enable_interrupts(int_rda);
e[0]=10;
e[6]=13;
//setup_adc( ADC_CLOCK_INTERNAL );
//setup_adc_ports(sAN0);
//set_adc_channel(0);
while(1)
{
restart_wdt();
//enable_interrupts(int_rda);
//printf("%s",e);
if(n==1){
//disable_interrupts(int_rda);
if(m==7&&k[0]=='A'){
//if(k[0]=='A'){
if(k[1]=='s') output_high(PIN_B0);
if(k[1]=='n') output_low(PIN_B0);
if(k[2]=='s') output_high(PIN_B1);
if(k[2]=='n') output_low(PIN_B1);
if(k[3]=='s') output_high(PIN_B3);
if(k[3]=='n') output_low(PIN_B3);
if(k[4]=='s') output_high(PIN_B4);
if(k[4]=='n') output_low(PIN_B4);
if(k[5]=='s') output_high(PIN_B6);
if(k[5]=='n') output_low(PIN_B6);
}
n=0;
}
//an0=read_adc();
if(input(PIN_A0)) e[1]='s';
else e[1]='n';
if(input(PIN_A1)) e[2]='s';
else e[2]='n';
if(input(PIN_A2)) e[3]='s';
else e[3]='n';
if(input(PIN_A3)) e[4]='s';
else e[4]='n';
if(input(PIN_A4)) e[5]='s';
else e[5]='n';
//delay_ms(500);
}
}
Saludines