This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
CONSULTA Red esp8266 esp32 wifi. Más de 50 dispositivos
#1
Buenos días a todos, desde un nuevo forero y proyectista con micros. Senior en Arduino y junior en esp8266/32

Tras el nacimiento del esp8266 abandoné los "hilos" (arduino) en pos de la comunicación wifi.

Tengo ahora un proyecto entre manos: "Domotizar" totalmente la casa. Con el coste del esp8266, pretendo hacer un proyecto 0-hilos. Totalmente sin cables. Allá donde tenga corriente poner un esp8266 (con una minifuente 220Vac-3.3Vdc tipo HLK-PM03), aprovechando el cableado ya instalado (220V) (cada enchufe, cada bombilla, cada interruptor, cada caja de conexiones, en termostatos, en la caldera, en el aire acondicionado, etc..). -En su día hice una red con arduinos conectados por i2c (con un extensor de i2c) a una raspberry-.
Esto implica crear una red de unos 50 esp8266/esp32.

Ahora tengo la disyuntiva de qué protocolo de comunicación usar. 
Cuento con un server online (dispongo de un servidor dedicado que trasteo continuamente con él: linus, php, mysql, html5, python, etc).
El propósito es poder tener el control tanto en red local como desde el exterior.

¿Cuál es la jerarquía/topología/estructura que me recomendáis y qué protocolo para tantos dispositivos?
Los dispositivos los hay que pueden ser solo pasivos (sensores) que pueden mandar datos de manera programada cada X tiempo, o consultarles cada X tiempo o bajo demanda y que respondan. Otros son "activos" como interruptores, por lo que al actuar, inmediatamente tienen que comandar alguna acción en otro dispositivo (con la menor latencia posible, como pudiera ser pulsar un interruptor y que se encienda una bombilla. Ej: el pin de un esp se pone a 1, y el pin de otro esp se pone a 1 para comandar un relé que enciende una bombilla, o un pin ADC se pone al 30% y el pin PWM de otro esp se pone al 30%). Otros son los actuadores, que están siempre en "escucha" y cuando les llega una orden actúan. Y otros son combinaciones de estos 3 tipos.
En definitiva todos deberían ser "esclavos/maestros" ¿?.

Estoy barajando varias ideas, pero no se cual es la mejor tanto por límite de conexiones, como por velocidad de comunicación y respuesta:
Topología:
a) Servidor dedicado en Internet, en casa un equipo (esp32/raspberry pi) conectado a mi router de Internet como cliente del dedicado y server de todos los demás repartidos por toda la casa.
    Cuando estoy en casa me conecto en local a la ip del esp32 y fuera de casa al dominio del dedicado y que sea totalmente transparente para mí si estoy en casa o fuera.
b) Servidor dedicado en Internet y todos los dispositivos individualmente conectados al router y como clientes del servidor. Cada uno con su conexión individual al dominio del servidor dedicado.
c) Crear más ramificaciones. 
c1) Servidor dedicado en Internet, equipo central en casa (esp32/raspberry pi) conectado a mi router de Internet y luego, por ejemplo, un dispositivo por estancia y de ese cuelgan los demás dispositivos (uno en cada enchufe, en cada bombilla, en cada caja de conexiones, en cada ventana)
c2) Servidor dedicado en Internet, y luego, un dispositivo por estancia cada uno de ellos conectado directamente al servidor pasando por el router y de ese cuelgan los demás dispositivos

¿Con la opción b) no "petaré" mi router? ¿con la c2? ¿qué opción pensáis que será la más óptima?

Protocolo:
Tengo en la cabeza varias opciones que conozco:
MQTT, esp-now, websocket.

¿Cual sería la mejor opción? ¿quizás una combinación entre ellas según el nivel de la estructura? ¿se os ocurre otra manera?

Muchas gracias por leerme la parrafada y aportar vuestras ideas.

PD.: Perdón también de antemano si he incumplido alguna norma del foro (tipo o lugar de publicación, etc)
  Responder
#2
Tienes un buen proyecto entre manos. Echale un ojo al contenido que genera giltesa sobre mysensors. El se esta haciendo todo el hardware y le esta quedando genial, aunque el usa modulos nrf24l01 como comunicacion. Esta opcion puede ahorrarte mucho trabajo.

Si te vas a meter de 0 con esp, usa protocolo mqtt, es bidireccional.

Monta una raspberry a modo de servidor y AP, no uses tu router porque petara.

Con los esp de serie puede que tengas problemas de cobertura, quizas los nodos mas alejdos del AP no lleguen a el, tendrias que usar antenas.
  Responder


Posibles temas similares…
Tema Autor Respuestas Vistas Último mensaje
Fotografía CONSULTA Error "timed out waiting for packet header" en ESP32 rod203 1 203 21-03-2023, 11:48 PM
Último mensaje: asesorplaza1
  ESP8266 queda inaccesible juandavid8a 4 2,671 16-02-2023, 07:40 AM
Último mensaje: ruben2023
  CONSULTA Clones ESP32 y ESP8266 Anje 5 1,758 15-11-2020, 11:14 AM
Último mensaje: grafisoft
  [SOLUCIONADO]Raspberry Pi no ve mensaje ESP8266 silth 9 2,301 24-04-2020, 07:30 PM
Último mensaje: grafisoft
  [SpainLabsIoT2018] Caso real: Nodos ESP8266 grafisoft 78 26,394 09-04-2020, 03:33 PM
Último mensaje: grafisoft