Alguien ha realizado algún proyecto Arduino/ X10 en España?
Según tengo entendido el X10 es mucho más caro en Europa que en USA.
Me he leído los posts de “BroHogan” en el foro de ingles donde explica cómo realizarlo, pero parece ser que en Europa no tenemos los mismos nombres de los dispositivos y me preguntaba si los que venden en USA son compatibles con Europa.(cm17a, psc05,tm751, etc)
Agradecería si compartierais vuestras experiencias de Arduino-X10.
Nunca he probado el X10 bajo arduino pero hay multitud de enlaces de proyectos usando este protocolo. A mi particularmente no me gusta porque se averían los esclavos con mucha facilidad. Prefiero hacer una red con can bus o rs485 antes que con X10.
Gracias por tu respuesta, mi intención es usar el X10 para control de la iluminación, está claro que la tecnología X10 presenta algunos fallos pero en el caso de una vivienda ya construida es un poco difícil romper tabiques y cablear nuevamente, como es para iluminación no importa que exista un poco de lag.
Estoy con flico, yo hize algo con x10 hace tiempo en mi antigua casa, y salí muy escaldado, si la sinusoide de la red no es pura o viene con picos, se fastidian los módulos que da gusto, por no decir el ruido que mete ya el protocolo de x10 en la red.
Es mas, puedes preguntar a cualquier técnico de domótica de verdad a ver que opina sobre x10.
Al final me decanté por rs485, bus que interconecta todos los módulos para que 'hablen entre ellos' y la instalación en los mismos tubos de la casa, ahora eso si, si no tienes motores de persiana y los pones pues hay que rozar como es lógico.
De todas maneras, en el foro de solo lectura he visto bastante info sobre x10 por si quieres buscar.
DRicote cuantas verdades hay en tus palabras, jejej X10 es la versión barata al mas estilo americano para hacer de tu casa un hogar inteligente. Si realmente quieres comunicar dispositivos puedes optar por varias soluciones, desde 1-wire a modbus RTU (RS485), este ultimo tiene un byte de checksum para saber que los telegramas que llegan o envías están correctos. Igor R. tiene un código muy bueno.
Mirar si es facil... ni declarar variables es necesario para empezar!!!
#include <CAN.h>
void setup()
{
Serial.begin(115200);
Serial.println("Empezamos...");
CAN.begin(1); // 1 Mbps
}
void loop()
{
//Preparo el mensaje a enviar
CAN_TxMsg.id=0x100;
CAN_TxMsg.header.rtr=0;
CAN_TxMsg.header.length=8;
CAN_TxMsg.data[0]=0x01;
CAN_TxMsg.data[1]=0x02;
CAN_TxMsg.data[2]=0x03;
CAN_TxMsg.data[3]=0x04;
CAN_TxMsg.data[4]=0x05;
CAN_TxMsg.data[5]=0x06;
CAN_TxMsg.data[6]=0x07;
CAN_TxMsg.data[7]=0x08;
//Envio mensaje
if( CAN.send(&CAN_TxMsg) )
{
}
// Hay mensaje nuevo?
if ( CAN.CheckNew() )
{
// Leo el mensaje almacenado en el buffer del controlador CAN externo
if ( CAN.ReadFromDevice(&CAN_RxMsg) )
{
//Saco por puerto serie la trama leida
Serial.print("ID: ");
Serial.println(CAN_RxMsg.id,HEX);
Serial.print("RTR: ");
Serial.println(CAN_RxMsg.header.rtr,DEC);
Serial.print("Length: ");
Serial.println(CAN_RxMsg.header.length,DEC);
Serial.print("DATA: ");
Serial.print(CAN_RxMsg.data[0],HEX);
Serial.print(",");
Serial.print(CAN_RxMsg.data[1],HEX);
Serial.print(",");
Serial.print(CAN_RxMsg.data[2],HEX);
Serial.print(",");
Serial.print(CAN_RxMsg.data[3],HEX);
Serial.print(",");
Serial.print(CAN_RxMsg.data[4],HEX);
Serial.print(",");
Serial.print(CAN_RxMsg.data[5],HEX);
Serial.print(",");
Serial.print(CAN_RxMsg.data[6],HEX);
Serial.print(",");
Serial.println(CAN_RxMsg.data[7],HEX);
Serial.println("-------------------");
}
}
}
Acabo de probarlo despues los ultimos retoques, y funciona a las mil maravillas!!!
Cuanto aguantare sin desarmar mi coche en busca del bus de traccion?? ] ]
Creo que por donde van los tiros de PLC (Power Line Communication) es por protocolos sobre OFDM que llevan una tecnología parecida a los routers de ADSL. Según me comentaba una persona de Maxim, las espadas entaban en alto porque había varios fabricantes y tal que ofrecían diferentes tecnologías, y España había optado por una, los frances por la solución de maxim,.... Estos protocolos tienen la ventaja que son capaces de saltar subestaciones electricas y demás.
En fin, creo que si te apetece conocer algo más de asunto, mirate estos dos chips:
Uno es el modem y el otro el Analog Front End, pero para ser sinceros está chungo ni siquiera conseguir muestras, porque son proyectos que aún no se han puesto a disposición del gran público, porque andan copn licitaciones y con historias para llevarse proyectos internacionales, y no les interesa nada más que ofrecerlo a grandes empresas.
Este otro, es la evolución de los dos anteriores
Un saludo!
P.D. hay más soluciones tipo la de MAX, pero no las conozco.....pero andan por ahi
Ey!! veo algun "quemao" de F1 por el foro.....ja,ja,ja
Si, SECU viene de Standard ECU que es como se llama a la centralita unica en F1.... (algo mas potente que un atmega168 de 8 bits... :D)
No me esperaba que la gente lo supiera lo de SECU.... XD Eso esta muy bien!!!
Igor R. , eres mi idolo, jejejej. Tengo una placa para bus CAN llamada arcan que funciona bien pero tengo que decir que la libreria es un poco mas dificil de digerir que la tuya.
Me puedes pasar eza pedazo de libreria?
Arcan usa un clock de 8Mhz, por lo que los bit timing son diferentes para el controlador CAN (MCP2515). Hay que hacer modificaciones en el codigo porque la libreria esta preparada para el MCP2515 a 16 MHz.... =(
Por otro lado, de momento va hard+libreria todo en un paquete....
La libreria usa C/C++ en vez de comandos Arduino, para ser compatible con cualquier micro Atmel (y mas rapido que digitalWrite).
Esta basada en el trabajo de kreatives-chaos.com » Ansteuerung des MCP2515 (Tutorial), pero encapsulado en una clase; anyadido buffer en Arduino (como el de Serial), autodeclaracion de 2 mensajes de tipo CAN (Tx y Rx) y la propia variable de la clase para que sea mas facil para el usuario; modificado el tema de leer cada vez un buffer del dispostivo (MCP2515 dispone de 2 buffer de recepcion) y en ese codigo de la pagina siempre tiene prioridad el buffer 0. Esto ultimo es algo que arrastran casi todas las librerias que se encuentrar por la red, porque todas usan dicho codigo como base.
A parte se puede utilizar con cualquier placa Arduino (por una parte el soft lo permite, y el hard al ser tipo "brick" en vez de shield).
Intentare ir anyadiendo info para quitarle el miedo al bus CAN ....
Con ejemplos de como cablear el bus, que es la resistencia terminadora, que es el formato intel/motorola normalmente usado en automocion, mascaras, .....