Autor Tema: ESCAPE ROOM - Que protocolo de comunicacion usar?  (Leído 924 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Marttyn

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1835
    • IDEAA
ESCAPE ROOM - Que protocolo de comunicacion usar?
« en: 05 de Julio de 2022, 08:56:18 »
Hola!
Me planteo crear un pequeño escape room  :police:
Rapidamente y para el que no sepa lo que es: un escape room es una sala/habitacion en la que te quedas encerrado y tienes que conseguir escapar con ingenio resolviendo diferentes puzzles y enigmas hasta conseguir desbloquear la puerta de salida. Todo en un tiempo determinado.

Mi idea es que haya varios retos y puzzles electronicos que al resolverse activen algo (una puerta, una luz, etc). Cada puzzle es "autonomo", es decir, puede desbloquar o activar algo por si mismos (abrir una trampilla por ejemplo). Pero tambien quiero que estos se puedan controlar desde un sistema central (un PC o una raspberry), y que tambien se puedan comunicar entre si.
Por ejemplo si al presionar una combinacion de botones en un teclado numerico se enciende una luz, pero esta luz puede estar en la otra punta de la sala, y en vez de cablearlo directamente, quiero que el "modulo del teclado" se comunique con el "modulo de la luz", a la vez que el sistema central tenga feedback del estado de cada modulo y poder activarlos tambien.

Me pregunto cual seria el mejor sistema para comunicar diferentes sistema entre si.
He investigado un poquito y he pensado que un CAN bus podria valer por ser sencillo de usar e implementar, ademas de solo necesitar 2 hilos de conexion y ser inmune al ruido.
Tambien he pensado en sistemas de domotica cableado como KNX o x10. Incluso me he planteado DMX...

La verdad es que nunca he usado ninguno de estos protocolos mencionados. Pero me imagino que habra librerias para poder usar facilmente. Mi intencion es escoger el mas simple de implementar tanto a nivel hardware como software.

Que me aconsejan?  :-/
La gente ve las cosas que existen y se pregunta por qué.
Yo prefiero imaginar lo que no existe y preguntarme por qué no.

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5883
    • Picuino

Desconectado Marttyn

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1835
    • IDEAA
Re:ESCAPE ROOM - Que protocolo de comunicacion usar?
« Respuesta #2 en: 05 de Julio de 2022, 10:44:24 »
Muy interesante LIN, no tenia conocimiento!
Pero por lo que veo es un master y hasta 16 slaves.
Esto me permitiria comunicar slaves entre ellos?
Como iniciaria un slave la comunicacion con otro si es el master el que dice quien habla y quien no?
Por ultimo, que tipo de cable se usa para una comunicacion LIN de unos cuantos metros?
La gente ve las cosas que existen y se pregunta por qué.
Yo prefiero imaginar lo que no existe y preguntarme por qué no.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re:ESCAPE ROOM - Que protocolo de comunicacion usar?
« Respuesta #3 en: 05 de Julio de 2022, 11:55:24 »
Marttyn, ¿y porqué no pones un ESP8266 en cada dispositivo y te olvidas de cablearlos?
Con una red wifi lo tendrías.
Y de hecho podrías actualizar el firmware en remoto sin tener que tocar ni un tornillo cada vez que quieras, lo que te permitiría cambiar las claves o las condiciones de apertura de las puertas a tu antojo.

Desconectado Marttyn

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1835
    • IDEAA
Re:ESCAPE ROOM - Que protocolo de comunicacion usar?
« Respuesta #4 en: 05 de Julio de 2022, 12:36:06 »
Siendo sincero, no controlo mucho de comunicacion inalambrica, y me da miedo que interferencias o que uno pierda la conexion me mande todo al traste.
Ademas la configuracion inicial y la programacion me parecen mas complejas... Quizas me equivoque, pero con un bus CAN, solo tengo que decir a quien va dirigido el paquete y sus datos para que todo funcione. Casi como una memoria I2C. Nunca me he metido con bus CAN, igual no es tan simple como creo  :D

Si quieres ofrecer soporte y estas convencido de que un ESP8266 / ESP32 pueden ser fiables, estaria encantado de contratarte como asesor :)
La gente ve las cosas que existen y se pregunta por qué.
Yo prefiero imaginar lo que no existe y preguntarme por qué no.

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1937
    • Sicoy
Re:ESCAPE ROOM - Que protocolo de comunicacion usar?
« Respuesta #5 en: 05 de Julio de 2022, 13:19:55 »
Siendo sincero, no controlo mucho de comunicacion inalambrica, y me da miedo que interferencias o que uno pierda la conexion me mande todo al traste.
Ademas la configuracion inicial y la programacion me parecen mas complejas... Quizas me equivoque, pero con un bus CAN, solo tengo que decir a quien va dirigido el paquete y sus datos para que todo funcione. Casi como una memoria I2C. Nunca me he metido con bus CAN, igual no es tan simple como creo  :D

Si quieres ofrecer soporte y estas convencido de que un ESP8266 / ESP32 pueden ser fiables, estaria encantado de contratarte como asesor :)

TCP/IP sobre Ethernet y/o WiFi, esa creo que sería la mejor opción.
Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado tsk

  • PIC18
  • ****
  • Mensajes: 257
Re:ESCAPE ROOM - Que protocolo de comunicacion usar?
« Respuesta #6 en: 05 de Julio de 2022, 13:38:05 »
Como te dicen, lo más fácil es TCP/IP, si te preocupa que puedan existir interferencias, podrías agregar redundancia.

El protocolo que te serviría para desacoplar cada uno de los componentes sería el MQTT, el que además tiene la capacidad de saber cuando un elemento se ha desconectado.

Además, si tienes en cuenta que los ESP32 cuenta con Bluetooth, si colocas varios podrías conocer la ubicación aproximada de un dispositivo.

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5883
    • Picuino
Re:ESCAPE ROOM - Que protocolo de comunicacion usar?
« Respuesta #7 en: 05 de Julio de 2022, 14:35:00 »
Pero lo más cómodo es cablear la alimentación de los dispositivos. Los ESP8266 consumen bastante corriente y habría que estar cambiando baterías cada poco tiempo.
Hay soluciones inalámbricas de menor consumo, como los módulos NRF24L01.
https://descubrearduino.com/nrf24l01/
https://www.mouser.com/datasheet/2/297/nRF24L01_Product_Specification_v2_0-9199.pdf
« Última modificación: 05 de Julio de 2022, 14:48:38 por Picuino »

Desconectado Kid_Bengala

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 490
Re:ESCAPE ROOM - Que protocolo de comunicacion usar?
« Respuesta #8 en: 17 de Julio de 2022, 08:21:48 »
Pero lo más cómodo es cablear la alimentación de los dispositivos. Los ESP8266 consumen bastante corriente y habría que estar cambiando baterías cada poco tiempo.
Hay soluciones inalámbricas de menor consumo, como los módulos NRF24L01.
https://descubrearduino.com/nrf24l01/
https://www.mouser.com/datasheet/2/297/nRF24L01_Product_Specification_v2_0-9199.pdf

Hola

Yo tambien apuesto por el nrf24l01, los he usado y son muy robustos, además tienes mucha documentación al respecto sobre como usarlos, programarlos, etc.

Saludos
Anto

Desconectado Marttyn

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1835
    • IDEAA
Re:ESCAPE ROOM - Que protocolo de comunicacion usar?
« Respuesta #9 en: 18 de Julio de 2022, 11:38:12 »
Gracias por todas las respuestas!
Un NRF20L01 puede hacer una comunicacion entre 2 dispositivos, pero puedo crear una red de forma simple?
La solucion de usar ESP8266 y un router creo que simplifica bastante todo, aunque no es la opcion mas barata. Pero creo que de cara al futuro va a ser la mejor opcion. Lo que dice Noc es cierto, una vez este todo cableado, no quiero tener que abrirlo para reprogramar uno de los dispositivos. Un flasheo OTA es lo ideal.
La gente ve las cosas que existen y se pregunta por qué.
Yo prefiero imaginar lo que no existe y preguntarme por qué no.

Desconectado Fer_TACA

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4069
Re:ESCAPE ROOM - Que protocolo de comunicacion usar?
« Respuesta #10 en: 18 de Julio de 2022, 12:15:24 »
Yo creo que con los NF24L01 si se puede crear una red.
Basta con identificar cada uno con un número de ID distinto
Es como si tuvieras un maestro y muchos esclavos.
Evidentemente el maestro deberá ir cambiando el número ID según con el el NFR que se quiera hablar


F.
Todos los días se aprende algo nuevo.

Desconectado Kid_Bengala

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 490
Re:ESCAPE ROOM - Que protocolo de comunicacion usar?
« Respuesta #11 en: 20 de Julio de 2022, 08:28:10 »
Gracias por todas las respuestas!
Un NRF20L01 puede hacer una comunicacion entre 2 dispositivos, pero puedo crear una red de forma simple?
La solucion de usar ESP8266 y un router creo que simplifica bastante todo, aunque no es la opcion mas barata. Pero creo que de cara al futuro va a ser la mejor opcion. Lo que dice Noc es cierto, una vez este todo cableado, no quiero tener que abrirlo para reprogramar uno de los dispositivos. Un flasheo OTA es lo ideal.

Hola!

Si se puede hacer un maestro-esclavo como en sistemas cableados, solo es el maestro el que pregunta cada x tiempo a los esclados y estos responden solo cuando les pregunten, etc. Aqui tienes algun ejemplo https://forum.arduino.cc/t/simple-nrf24l01-2-4ghz-transceiver-demo/405123

Yo el tema del wifi no te lo recomiendo salvo que tengas pocos dispositivos o tengas un router muy bueno, me paso como a ti que tenia mis dudas y mi jefe/amigo me demostro como los routers/puntos de acceso normalitos se saturan cuando el numero de clientes empieza a crecer. Te comento por si empiezas a integrar y desarrollar todo, te das cuenta despues que algunas cosas no comunican, se cae las conexiones, etc; por ahi van los tiros.

Saludos
Anto

Desconectado Marttyn

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1835
    • IDEAA
Re:ESCAPE ROOM - Que protocolo de comunicacion usar?
« Respuesta #12 en: 20 de Julio de 2022, 14:22:20 »
Gracias por el dato! Tendre que buscar un buen router entonces.
Pero lo prefiero a tener que desarrollar un maestro funcionando como router.
La gente ve las cosas que existen y se pregunta por qué.
Yo prefiero imaginar lo que no existe y preguntarme por qué no.


 

anything