Go Down

Topic: Comunicar varios arduinos por wireless (Read 1 time) previous topic - next topic

Arduastur

Estoy pensando en poder capturar varios valores de distintos lugares de casa, para ello necesito un arduino con cada sensor-sensores y que mande los datos a un arduino maestro (por decirlo así). Lo que necesito es tener varios transmisores y un receptor, pero, ¿cuales usar?

- Bluetooth lo descarto
- Xbee saldría algo caro
-¿RF que me decís?

He visto estos módulos pero no se si puedo tener 4 y comunicarlos entre si:

http://www.ebay.es/itm/APC220-Wireless-Communication-Module-for-Arduino-USB-Converter-ge-/251283067955?pt=LH_DefaultDomain_0&hash=item3a81a35433&_uhb=1

Lo que digo es poner uno de receptor y tres de transmisores.

A ver que me podéis decir sobre este tema.

Un saludo  ;)

Arduastur

He encontrado esto a ver que me podeis decir:

Los módulos nrf24l01 y si que estan baratos:

http://www.ebay.es/itm/2PCS-Arduino-NRF ... ab4&_uhb=1

¿Se les puede poner una antena externa? tipo:

http://www.ebay.es/itm/NEW-2-4G-Wireles ... 396&_uhb=1

O lo mejor comprar algo así ya montado y con mas alcance:

http://www.ebay.es/itm/NEW-350m-Distanc ... 776&_uhb=1

Según tengo entendido a mayor frecuencia menor alcance con lo cual mejor utilizar los últimos ¿no?, no porque vaya a necesitar enviar señales a 300m si no para que lleguen mejor a 20m por ejemplo contando con los obstáculos que te puedas encontrar, paredes y suelos sobre todo.

Un saludo  ;)

maxid

no es tan asi, que a mas frecuencia menor alcance. Lo que sucede es que al subir la frecuencia se torna mas lineal las ondas electromagneticas, y los rebotes aumentan con los obstaculos que no puede atravezar.
Tu router wifi y tu celular usan altas frecuencias y baja potencia e igual tienes señal, pero en algunas partes tienes mas y en otros menos.
los nrf24l01 son buenos y muy practicos porque son digitales pero la ventaja es que son transceptores, tambien puedes usar los transmisores y receptores por separado en 433Mhz o 315Mhz que te dan la misma distancia de alcance.
El que pregunta aprende, el que responde aprende a responder.

Arduastur


no es tan asi, que a mas frecuencia menor alcance. Lo que sucede es que al subir la frecuencia se torna mas lineal las ondas electromagneticas, y los rebotes aumentan con los obstaculos que no puede atravezar.
Tu router wifi y tu celular usan altas frecuencias y baja potencia e igual tienes señal, pero en algunas partes tienes mas y en otros menos.
los nrf24l01 son buenos y muy practicos porque son digitales pero la ventaja es que son transceptores, tambien puedes usar los transmisores y receptores por separado en 433Mhz o 315Mhz que te dan la misma distancia de alcance.


Te refieres a algo de este tipo:

http://www.ebay.com/itm/5pcs-433Mhz-RF-transmitter-and-receiver-kit-for-Arduino-ARM-MCU-WL-/370800682991?#shId

¿Esos transmisores y receptores van en parejas o puedo poner los cinco transmisores al mismo receptor?

Por lo que he visto hasta ahora saco estas conclusiones:

- SI se pueden poner los cinco transmisores al mismo receptor hay que dar un orden de envío de datos ya que no creo que pueda leer todos a la vez el receptor.
- Si se ponen por separado puedo poner los cinco receptores en un mismo arduino y conectar cada receptor a un pin y cada transmisor me envía datos a ese pin y así evito "el orden" en los envíos.

Un saludo  ;)

maxid

en teoria si se puede salvo que alguno este fuera de sintonia, pero generalmente todos estan a la misma frecuencia porque es una banda comercial.
Si estan fuera de sintonia se ajustan, pero mejor no probar.
Con cualquier sistema inalambrico tienes que enviar una cosa a la vez, incluso los nrf24l01 no pueden recibir los 2 a la vez, solo queda registrado que hay otro intentando mandar datos, para consultarlo despues.
Es igual que 10 personas hablen a la vez, el que escucha solo puede entender partes de cada conversación, no todas.
El que pregunta aprende, el que responde aprende a responder.

giltesa

Creo que lo mejor sería que todos los esclavos no enviasen información salvo a petición del maestro, de modo que este cuando necesitara los datos de un sensor enviara una petición con un ID, entonces el esclavo que tenga ese ID asignado entendería que necesitan sus datos, los enviaría y al terminar se pondría a la espera de su siguiente solicitud. Mientras tanto el maestro va pidiendo datos a cada esclavo uno a uno.
Haciéndolo así no deberías de tener problemas en las comunicaciones, aunque tienes la necesidad de que la comunicación sea bidireccional o no funcionaría ese planteamiento.

Saludos!
giltesa.com Mi blog personal sobre informática, electrónica, Arduino, bricolaje, etc.

Arduastur


en teoria si se puede salvo que alguno este fuera de sintonia, pero generalmente todos estan a la misma frecuencia porque es una banda comercial.
Si estan fuera de sintonia se ajustan, pero mejor no probar.
Con cualquier sistema inalambrico tienes que enviar una cosa a la vez, incluso los nrf24l01 no pueden recibir los 2 a la vez, solo queda registrado que hay otro intentando mandar datos, para consultarlo despues.
Es igual que 10 personas hablen a la vez, el que escucha solo puede entender partes de cada conversación, no todas.


Entendido  ;)


Creo que lo mejor sería que todos los esclavos no enviasen información salvo a petición del maestro, de modo que este cuando necesitara los datos de un sensor enviara una petición con un ID, entonces el esclavo que tenga ese ID asignado entendería que necesitan sus datos, los enviaría y al terminar se pondría a la espera de su siguiente solicitud. Mientras tanto el maestro va pidiendo datos a cada esclavo uno a uno.
Haciéndolo así no deberías de tener problemas en las comunicaciones, aunque tienes la necesidad de que la comunicación sea bidireccional o no funcionaría ese planteamiento.

Saludos!



No lo había pensado desde ese punto de vista, de esta manera puedo ir haciendo un "barrido" de peticiones desde el maestro a cada uno de los receptores con un intervalo de tiempo entre uno y otro para evitar solapamientos.

Gracias a ambos  ;)  ;)

Forbelaw

por qué 868MHz? Está permitido en España y Europa.
Revise este enlace, compatible con 868MHz y arduino
http://www.appconwireless.com/PRODUCTS/showproduct.php?lang=en&id=7

surbyte

No te compliques con modulos que dicen que se puede cambiar la frecuencia y luego resulta que no como hay un post que yo respondí en este foro.
Usa el nRF24L01, son bellisimos, con 2Mbits/seg de transferencia máxima. Muy buen alcance sin antena, 300 a 400mts con antena.
Una librería que he guardado habla de poder conectar hasta 6000, dime como superas eso?
Ademas son muy baratos. En argentina compro dos modulos nRF24L01 x cada par RF 433 o cualquier otra variante
Asi que la comparación 2 a 1 debe ser la misma en cualquier parte.

Velocidad, costo, facilidad de uso, facil configuración, y ademas puedes armar una RED MESH que va creciendo a tu gusto.

max_saeta

Saludos.
También te recomiendo usar el NRF24L01P en transmisión recepción es lo mejor que he probado teniendo en cuenta el precio 5 por 7 dólares en Amazon. Y hasta en menos.

ehrja

#10
Oct 11, 2014, 02:13 pm Last Edit: Oct 11, 2014, 02:21 pm by ehrja Reason: 1
Yo he probado los dos y creo que el NRF24L01 es el mejor, porque es barato y consume menos energía que el RF-433, si se compara en distancia y cantidad de datos a transmitir, ademas que en este caso probablemente necesitaras una batería recargable o algo así.  

No se si han visto en Internet un modulo que anda rondando por ahí, parecido al NRF24L01, este anda alrededor de $5 a 6 dolares, y se conecta a la red wifi, parece que tiene dos GPIO entre otras cosas pero me parece buena idea para utilizarlo en casa, ya que en casa hay una red wifi a la que tenemos acceso y se puede acceder desde la computadora o el celular.

ESP8266, comprare un para averiguar de que se trata.


surbyte

No se conecta a la red Wifi, yo lei eso también y se presta a confusión, pero luego leí otro artículo que dice que las frecuencias son similares pero no es posible interactuar ya que los protocolos son diferentes.

ehrja

No amigo, no estoy hablando del  NRF24L01, el cual efetivamente utiliza la misma frecuencia y no es compatible con el wifi.

Yo me refiero al ESP8266, el modulo se llama Wi07c lo pueden buscar en google o en ebay de cualquier forma.

Mira lo que dice en las especificaciones:

Code: [Select]

  802.11 b / g / n
  WIFI @ 2.4 GHz, supports WPA / WPA2 security mode
  Ultra-small size module 11.5mm * 11.5mm
  Built-in 10 bit precision ADC
  Built-in TCP / IP protocol stack
  Built-in TR switch, balun, LNA, power amplifier and matching network
  Built-in PLL, voltage regulator and power management components
  802.11b mode + 19.5dBm output power
  Supports antenna diversity
  Off leakage current is less than 10uA
  Built-in low-power 32-bit CPU: can double as an application processor
  SDIO 2.0, SPI, UART
  STBC, 1x1 MIMO, 2x1 MIMO
  The guard interval A-MPDU, the polymerization of the A-MSDU and 0.4 s of
  Within 2ms of the wake, connect and transfer data packets
  Standby power consumption is less than 1.0mW (DTIM3)
  Operating temperature range -40 ~ 125 ?


Los comandos se mandan por el serial. por lo tanto no hace falta una libreria, solo le dices que hacer al modulo con una linea y el lo hace, por ejemplo para conectarse al router:

Serial.println("AT+CWLAP"); - Busca las redes existentes
Serial.println("AT+CWJAP='ssid','password'"); - se conecta al router
Serial.println("AT+CWJAP=?"); - verifica si se ha conectado.

Incluso creo que solo, sin el arduino, podría funcionar.
el enlace esta aquí abajo por si alguien quere checarlo.

http://www.electrodragon.com/w/Wi07c#Firmware_uploading_tool

surbyte

#13
Oct 13, 2014, 04:12 pm Last Edit: Oct 13, 2014, 04:42 pm by surbyte Reason: 1
Hermoso dispositivo, gracias por contarnos de el. Es lo que aprecio justamente de este foro.
Oye que este dispositivo tiene un AD de 10 bits o sea, puede prescindir de un NANO en un equipo que justamente usa uno con un nRF24L01 y comunicarme via Router. increible.
Bueno esto lo escribí al verlo, ya lei su datasheet y veo que puede trabajar solo programándolo con el SDK.
Tiene ademas 16 IOs.  
Es como digo, basta que alguien tenga una idea, la plasme en un módulo y sale a la venta algo que te revoluciona todo lo que conoces.

Bueno una de cal y una de arena. Imposible tener todo sin un costo.
consume 240mA transmitiendo...guauu pero lo bueno es que luego puedes poner a dormir.
aca la hoja de datos
https://docs.google.com/file/d/0B9hyK_DA6VIiSWNRZ29sdG1UOVU/edit?pli=1

Ya vi que en Argentina no está disponible aun. Mala suerte. Ya esaba pidiendo 3 o 4. Pobre mi nRF24L01, parece que quedaré de lado.
Power down leakage current of <10uA

Esta también es muy bueno,
Wake up and transmit packets in < 2ms
Solo en menos de 2 mseg se despierta, transmite y podemos volver a dormirlo!!!
Tenemos un caballito de batalla maravilloso. Ya velo la casa plagada de estos sin limites ya que el limite es una ip.

6.99 dolares en SeedStudio
4 dolares en China.. por dios, no puedo creer el precio de algo tan potente.


ehrja

#14
Today at 06:30 am Last Edit: Today at 06:37 am by ehrja
Hola soy yo otra vez y traigo información importante sobre este modulo que tiene que ver con su compra.

A ver empiezo por decirles que existen dos versiones de este modulo, una anterior  que se esta vendiendo a precio casi regalado, que dicen tiene muchos problemas, esta  versión no tiene pines GPIO(0,2), necesarios para actualizar el software del modulo, el micro controlador ESP8266 es una versión vieja y solo tiene un led, no tengo uno de estos módulos a la mano pero al parecer tiene problemas al conectarse dando falsos positivos y errores como respuesta.
La ultima versión de este modulo es la mas pulida, no tiene tantos problemas y si los tuviera se puede actualizar su firmware gracias al pin GPIO0 que esta disponible entre los pines del modulo; los dos módulos son muy parecidos en su diseño incluso se encuentran de el mismo color y con los dos integrados en el mismo sitio.


Lo único que se puede diferenciar entre estos dos módulos son los LED's, la versión antigua con un único LED ubicado cerca de los pines de VCC y GND(inferior izquierda); la versión mas actual tiene dos LED's justo por debajo de la antena(superior derecha), Tengan cuidado con las publicaciones en ebay.
En la gran mayoría de las publicaciones que he visto no se puede distinguir que chip tiene, son muy claras pero en la parte del chip no se puede leer nada o casi nada, por lo general en las imágenes de estas publicaciones se ve claramente que se trata del modulo con un solo LED cerca del VCC, en cambio las publicaciones que presentan imágenes nítidas se pueden ver dos LED's por debajo de la antena y se puede distinguir claramente el nombre del chip ESP8266EX y si no en todo caso este chip es el que esta mas pulido.

Para terminar, mmm, no recomiendo que compren estos módulos por ahora ya que casi no se sabe nada de el y tanto el viejo como el nuevo tiene problemas que no se han documentado, amenos claro que se quieran aventurar a averiguar que se puede rescatar de el y compartir con la comunidad cuales son las fallas y capacidades que tiene y así estaremos mas documentados por lo menos aquí en el Español.
Yo por lo pronto compre uno de cada uno y ya contare lo que paso (en 40 días).

Saludos, que estén bien.
P.D. que bien se ve el nuevo estilo del foro, apoco no?

Go Up