Paso 3: Conectar a Internet con WiFly
Ahora tenemos que enviar ID de etiqueta para el servidor por lo que puede hacer un seguimiento de quién está escuchando música en cada dispositivo. Nos escribió una librería de Arduino para hacer solicitudes web mucho, mucho más fácil que vamos a utilizar. Usted puede encontrar todo el código que debe aquí y explicaremos el código línea por línea a continuación. Si no quiere leer la explicación, sólo asegúrese de que usted cambie la información de autenticación de red para que la WiFly pueda conectar a internet.Hemos hecho algunas adiciones en el anterior RFID lectura de códigos. Echemos un vistazo a las nuevas incorporaciones en la parte superior del archivo:
wifiSerial.begin(9600); Serial.println("Connecting WiFly..."); // Setup network connection. if (!connectWifi(&wifiSerial, mySSID, myPassword)) { Serial.println("Failed to join network."); } else { Serial.println("Joined wifi network."); } // Create an object to send http requests api = JSONAPI(host, "", LIFEGRAPH_BUFFER, LIFEGRAPH_BUFFER_SIZE);
Añadimos las librerías WiFlyHQ y Lifegraph para hacer la conexión a internet más fácil. El módulo WiFly debe tener un puerto serie para comunicarse con el Arduino con el que creamos en las patillas 9 y 10. Entonces nos cree una instancia de una API JSON (parte de la biblioteca de Lifegraph) que termina llamadas HTTP en unos cuantos métodos simples. Nosotros proveeremos nuestras credenciales de red para que pueda conectarse el WiFly. El propietario es nuestros propios servidores de música de fiesta que maneja todo el tráfico http. La última línea define el deviceId que se puede hacer. Determinará la URL de tu grupo de música tan más único hace, la gente menos probable al azar conectará a tu grupo de música.
Ahora echemos un vistazo en el nuevo código en la función de configuración:
// Start using the wifi serial so we can sent a request wifiSerial.listen(); // Send the next post to the tap endpoint api.post("/tap"); // Add the device Idparam api.form("deviceId", deviceId); // Convert the pId from uint8_t to a char so the server can understand it Lifegraph.stringifyTag(pId, pIdLength, pIdString); // Add the pId param api.form("pId", pIdString); // Send the request and get a response int response = api.request(); // Print out the response Serial.println("Server response: " + String(response)); if (response == 404 || response == 406) { Serial.println(F("Go to lifegraphconnect.com to sync device")); } else if (response == 200 || response == 0) { Serial.print(F("Go to http://musicparty.herokuapp.com/")); Serial.print(deviceId); Serial.println(F("/party")); }
En este trozo de código, estamos creando la comunicación serie de WiFly y conectar al WiFi. Luego creamos un objeto API para manejar nuestras peticiones HTTP a los servidores de grupo de música.
Ahora echemos un vistazo a la adición al código del bucle:
Connecting WiFly... Joined wifi network. Requesting Firmware Version to make sure comm is working... Found Version Data. Comm is working. Waiting for an RFID Card ... Got a tag! Length: 4, ID: 0x88 0x04 0x16 0x34 open musicparty.herokuapp.com 80 Server response: 404 Go to lifegraphconnect.com to sync device
Una vez que recibimos un toque acertado de un dispositivo NFC/RFID, comenzar a comunicarse con la placa de WiFI en lugar de la Junta RFID (wifiSerial.listen()). Luego, fijamos el punto final vamos a golpear (que será siempre ser ' tap') y añadir el deviceId como parámetro de la petición. Entonces convertimos nuestro pId de una matriz de uint_8 que se ve como basura cuando se imprime, en caracteres con el método stringifyTag. Finalmente, enviamos la solicitud y comprobar la respuesta.
Colocar el código en su Arduino, abrir el monitor de serie y verificar que está enviando una solicitud. Debe imprimir algo como esto:
Genial, ahora está listo para sincronizar su ID digital y física!