(06-06-2015, 05:07 PM)libre escribió: eso es alo que le temia , mi idea es hacer un arduino central que sea capas de controlar ,sensores de puertas,ventanas,precensia,botones(para el encendido y apagado manual de luces) de gas natural y sensore de humo ,talvez un arduino mini o un cable de red seria factible en la cosina
que haciendo cuentas serian muchos modulos inalambricos
gracias Antonio una perspectiva diferente activa nuevas ideas
En la comunicacion serial por cable se pueden usar velocidades de 9600 baudios con una limitacion de alcance de unos 15 metros. Existen muchas posibilidades para comunicación inalámbrica. A mi me interesan las opciones más baratas porque con un buen software se pueden hacer cosas que podrían interesar a mucha gente.
Tal como hemos venido diciendo podemos usar BlueTooth con el módulo HC-05, que es el planteamiento actual, pro también existe la posibilidad de usar una conexión WiFi con un módulo ESP8266. En realidad, se pueden utilizar una amplia variedad de alternativa inalámbricas, pero con estas dos disponemos de dos opciones muy económicas y flexibles para el proyecto CAO, y tienen algunas cosas en común.
Tanto el estándar Bluetooth, como el WiFi, utilizan la técnica FHSS (Frequency Hopping Spread Spectrum, en español Espectro ensanchado por saltos de frecuencia). Consiste en dividir la banda de frecuencia de 2.402 - 2.480 GHz en 79 canales (denominados saltos) de 1 MHz de ancho cada uno y, después, transmitir la señal utilizando una secuencia de canales que sea conocida tanto para la estación emisora como para la receptora. Por lo tanto, al cambiar de canales con una frecuencia de 1600 veces por segundo, se puede paliar las interferencias con otras señales de radio.
Ambos módulos se pueden configurar mediante el uso de una serie de comandos AT. Esto se puede hacer de varias forma, pero básicamente consiste en usar un protocolo de comunicación serie con el módulo acorde a lo que se establezca en las especificiones técnicas. Un programa que puede servir para ello es miniterm.py pero hay unos cuantos. Tanto ESP8266 como HC-05, para su configuracion mediante comandos AT necesitan transmisiones con datos de 8 bits sin paridad y con un bit de stop. Además los comandos deben terminar en “\r\n” (NL + CR).
El módulo Bluetooth HC-05 tiene un alcance de 10 metros. El módulo ESP8266 no sé cuanto alcanza, pero nos permititiría acceder a Internet.
Al igual que en el caso del módulo Bluetooth HC-05, la relación calidad precio del módulo WiFi ESP8266 es buenísima. Muy barato y muy pequeñito. Este módulo teóricamente permitiría un acceso remoto a nuestra red controladora de acuarios desde cualquier punto del planeta. La contrapartida es que necesitaremos bastante más trabajo para configurar las comunicaciones. Os comento a grandes rasgos cuales son las dificultades.
Las conexiones domésticas usan direcciones dinámicas para salir a Internet porque la concesion de una IP fija es una opción más cara. Para poder dar servicio en Internet usando este tipo de conexiones se suele recurrir a un servicio NO-IP. Este entre otras cosas necesita de una configuración de nuestro router para que este sepa cual es el nodo de nuestra red local que saldrá a Internet. Hay mucha información en Internet de como configurar estos servicios y el procedimiento puede variar algo dependiendo del router que tengamos.
Lo que no podemos hacer tan fácilemente es que varios nodos de nuestra red salgan a Internet por el mismo router. Si usáramos un auténtico servidor WEB desde un PC quizás se podría programar algo que desde luego no sería trivial y que yo no sabría ni como empezar a hacerlo. El problema es que el modulito ESP8266 no da para tanto.
El módulo ESP8266 puede negociar su dirección IP usando el protocolo HTCP. Viene pensado para eso, lo hace solito. De hecho hace muchas cosas solito, pero aunque pueda simular la respuesta de un servidor contestando páginas web programadas en Arduino, no es un servidor WEB. A la hora de recibir, limpia todo el empaquetado TCPIP y nos envía por su puerto serie los datos limpios. Eso nos ahorra tener que hacer esa limpieza y nos permite olvidarnos de la gestión del TCPIP y de otros detalles, pero no tenemos la funcionalidad de un servidor WEB.
En realidad, no tenemos siquiera la funcionalidad de una verdadera conexión WiFi ya que no tenemos acceso al stack o al socket IP.
ESP8266 solo permite intercambiar peticiones sencillas. Por ello, tampoco podemos implementar un servidor seguro (https), ni permite el uso de POST method, ni otra serie de recursos útiles para tener una conexión a prueba de ataques, porque no no es un auténtico servidor web. Pese a su sencillez, no descarto que sea capaz de gestionar una red localmente, aunque es un tema que yo no he investigado.
Lo que puedo decir a ese respecto es que existe un comando AT para configurar varios modos de funcionamiento. Concretamente el comando "AT+CWMODE" establece el modo de funcionamiento WiFi del módulo y hay tres modos disponibles:
(1) estación o cliente (por ejemplo un PC con conexion Wifi),
(2) punto de acceso (PA) a veces denominados zonas locales de cobertura (tipicamente un router)
(3) mixto: punto de acceso y estación. Posiblemente se use en el denominado modo ad hoc (para distinguirlos de los dos anteriores denominados modos infraestructura). En modo ad hoc los equipos cliente inalámbricos (estaciones) se conectan entre sí para formar una red punto a punto, es decir, una red en la que cada equipo actúa como cliente (estación) y como punto de acceso (router) simultáneamente.
Yo no descarto usar en un futuro este modulito, pero son demasiados temas los que habría que resolver para poderlo usar en una red de nodos Arduino. Para usarlo con un único controlador CAO la cosa sería bastante más sencilla aunque tendríamos limitaciones relativas a la seguridad. No podríamos usar conexiones seguras y habría que limitar su uso a la monitorización o hacer alguna chapuza para evitar minimizar la posibilidad de ataques.
No tendría gracia que alguien te toque la configuración de tu controlador de acuario.