estimados tengo un proyecto con arduino mega y un nodeMCU como servidor y cliente, el arduino envía comandos AT al nodeMCU y así se comunican, logré que el arduino apagara un LED desde un comando GET hacia el nodeMCU, el problema es que no encuentro como responder a este GET, es decir que cuando se realice desde un computador o smartphone el servidor devuelva una respuesta como OK o algo parecido, sólo he encontrado como hacerlo con la librería wifi, pero esta al parecer solo funciona usando el nodeMCU sin un arduino, es así?
ojalá me puedan ayudar, ya que los pines del nodeMCU no son suficientes para mi proyecto. Gracias desde ya
Bueno no se para que quieres reinventar la rueda habiendo librerías que resuelven eso en todos los sentidos posibles pero no con comandos AT sino tratando al Nodemcu como un Arduino.
Te recomiendo este tutorial. Tienes varios niveles, cuando instales lo requerido para programar el nodemcu como arduino verás las opciones que tienes, para usarlo como Servidor, AP, CLiente, comunicación serie, I2C, SPI etc etc.
Sin comandos AT que solo te frenan para trabajar.
Si el tutorial no te gusta, hay muchos mas.. Arduino ESP8266 tutorial y encontrás muchas opciones.
La comunicación con el MEGA la sigues haciendo por Serial asi que nada cambia.
Gracias por responder estimado, segun lo que entiendo tendría que cargar todo el codigo en el nodeMCU , comunicarme con el mega solo para utilizar sus pines, cambiarles el estado para manejar relays y para obtener datos "creo" que me alcanzan los del nodeMCU...
resumiendo seria algo como nodeMCU maestro y Mega esclavo, si es eso a lo que te refieres no se como hacerlo, asi que me hará falta ver algun tuto.
No pretendo descartar lo que dices, de hecho le echaré una mirada, pero ya tengo el proyecto armado solo con comandos AT, hacer lo otro seria empezar casi de 0 y en otras palabras reinventar mi rueda, lo unico que me falta es obtener una respuesta al GET y habría terminado la parte arduino de mi proyecto, claro que si no es posible hacerlo con comanfos AT, no me quedará de otra jeje
Bueno si y no...
Cada cosa en su tarea. Porque cambias el sentido de que hace cada micro?
Nodemcu se comunica por internet y pasa lo que tenga que decir al MEGA y el MEGA que siga como esta o como lo habias hecho.
Lo unico que cambias es el modo de trabajar, en lugar de usar comandos AT, ahora te comunicas en español con el MEGA.
Bueno al parecer no era tanto más como pensaba el hacer la comunicación entre mega y nodemcu, aun no lo hago pero vi un video y parece no ser complicado asi que me animé a hacerlo con la libreria y de la forma que me sugeriste estimado.
Ahora tengo un pequeño inconveniente con el response que envia el nodemcu al cliente al hacerle peticiones, y es que como es otro dominio no consigo mostrar lo que responde nodemcu en la pagina, puedo hacerlo mediante navegador ingresando la ip, puerto y comanfo pero no en el servidor que uso, estoy investigando como hacerlo pero aun no lo consigo.
por si no se entiende bien, tengo arrendado un servidor php en godaddy, quiero que al presionar un botón este haga un ajax, get o lo que sea para enviar una url al nodemce y que este devuelva datos. Hasta ahora se ejecuta la accion, pero no me devuleve lo que envia nodemcu
Okay entonces primero te pones con el Nodemcu y dialogas con el como Arduino usando las librerías.
Resuelves todo lo que tenga que ver con tu interfaz PHP y cuando lo tengas solo te queda interactuar con el MEGA lo que el MEGA deba dialogar con el Nodemcu.
Si lo haces separado te pierdes. Se comprende?
Asi que en esa dirección publica que tienes hecho con el Nodemcu sea basado en un ejemplo o como quieras.
bueno estoy haciendo la parte de la comunicación entre mega y nodemcu y tal como dijiste me perdí un poco, estoy intentando mediante Serial echando a andar unos ejempos que hay en internet pero si estan conectados los pines rx y tx del nodemcu al mega y este envia algo por serial es todo lo que muestra la serial del nodemcu, es decir nodemcu deja de imprimir los mensajes que envio a Serial.print y solo imprime lo que envia el mega, es esto correcto o habré hecho algo mal?
y antes de seguir intentando me gustaría saber si es posible realizar comunicación bidireccional entre ambos micros, o solo es posible hacerlo unidireccional con serial? de ser este el caso existe alguna manera de comunicacion bidireccional?
si claro, aqui dejo una imagen mas ilustrativa, el node mcu sera el intermediario solamente, cuando la pagina le dice que encienda el led, este lo comunica al arduino, y el arduino por su parte envia la informacion de la temperatura al node mcu para que este la envie a la pagina por metodo get
No, esta en un servidor comercial, el nodemcu esta en modo cliente-servidor y responde a las llamadas al acceder a su ip local, asi es como quiero encender el led