Obtener datos de Arduino a una página web (3 / 5 paso)

Paso 3: Preparación de la base de datos y el bosquejo del proceso de

Una de las primeras cosas que siempre hago es construir un archivo de conector de base de datos para reducir el código de la escritura en los archivos principales y debe incluirse en el directorio principal.

My Archivo de conector de base de datos SQL: db_connect.php

Este es el archivo de procesamiento es el caballo de batalla del proyecto! Hacer tres cosas en este archivo que me ayudará a visualizar lo que está sucediendo. Inicialmente veo mis datos en la ventana de dibujo (draw) y luego imprimir los datos en serie con él ha de la etiqueta antes de envíe a la base de datos MySql pero esto es sólo para la solución de problemas y pueden omitirse una vez que tengas lo funcione correctamente. Te darás cuenta que desintegración los datos en una matriz antes de enviarlo a la base de datos MySql. También dejé en el código para enviar a un archivo CSV o archivo de texto simplemente cambiando el ".txt" a extensión ".csv" y añadir la instrucción "output.print" a los elementos de la matriz. Una vez dejé el MySql funcionando correctamente ya no necesitaba crear el archivo csv o txt. Usted también notará el uso de la biblioteca de De.Bezier MySql en la que he añadido un enlace a y deben instalarse en orden para este bosquejo trabajar.

http://Bezier.de/Processing/libs/SQL/

Dibujo de procesamiento: mysql_write_1.pde archivo


Este es un fichero modificado originalmente escrito por Tom Igoe

He modificado el código para cumplir con mi solicitud.

Tom si ves esto, gracias! por su gran ejemplo.

Import processing.serial.*;

importación Java.util;

Import java.text.*;

Import de.bezier.data.sql.*;

PrintWriter salida;

FnameFormat DateFormat = nuevo SimpleDateFormat("yyMMdd_HHmm");

DateFormat timeFormat = nuevo SimpleDateFormat("hh:mm:ss");

String fileName;

Serie myPort; El puerto serie

InString cadena; Cadena de entrada de puerto serie

int lf = 10; Salto de línea ASCII

PFont fuente;

Dbconnection MySQL;

void setup() {}

Size(600,100);

println(serial.List());

myPort = serie nueva (este, Serial.list() [1], 9600);

myPort.clear();

La mesa de base de datos

Usuario de cadena = "root";

Paso de cadena = "";

Cadena = "myurov";

DbConnection = MySQL nuevo (este, "localhost", base de datos, usuario, pass);

Si (dbconnection.connect()) {}

DbConnection.Query ("aptc truncado"); borrar todos los datos de la tabla

DbConnection.Close();

}

Fecha ahora = new Date();

nombre de archivo = fnameFormat.format(now);

nombre de archivo = "lecturas";

salida = createWriter (fileName + ".txt"); Guarde el archivo en la carpeta de dibujo formato "CSV" o ".txt"

myPort.bufferUntil(lf);

}

void draw() {}

Background(0);

texto ("recibido:" + inString, 10,50);

}

void serialEvent(Serial p) {}

Delay(1000);

inString = p.readString();

TimeString de String = timeFormat.format (new Date());

output.Print(timeString);

output.Print(",");

output.println(inString);

Aquí tampoco de salida el código en un archivo o a la pantalla

Para ir al archivo añado "salida." al inicio de las declaraciones de "println"

También tomar los datos en serie y romper para arriba y crear una matriz de los datos.

println ("Mensaje recibido" + timeString + ":");

println(inString);

String lectura = (inString);

Lista de cadena [] = split (lecturas, ',');

println ("presión barométrica =" lista [0] + "inHg");

println ("temperatura =" lista [1] + "\u00B0 F");

println ("altitud =" lista [2] + "Pies");

println ("magnetómetro crudo X Axis =" + lista [3] + "");

println ("magnetómetro crudo el eje Y =" + lista [4] + "");

println ("magnetómetro crudo eje de Z =" + lista [5] + "");

println ("magnetómetro escalar X Axis =" + lista [6] + "");

println ("magnetómetro escalar el eje Y =" + lista de [7] + "");

println ("magnetómetro escalar el eje de Z =" + lista de [8] + "");

println ("magnetómetro encabezado =" + lista [9] + "");

println ("magnetómetro partida grados =" lista [10] + "\u00B0 grados");

caracteres especiales para grados "www.ascii-code.com/" u00XX = HEX / /

Nota: la última línea de las declaraciones println hará una línea de alimentación después de la variable de la lista.

println();

Usuario de cadena = "root";

Paso de cadena = "";

Base de datos de cadena = "myurov";

conectar a la base de datos del servidor "localhost"

DbConnection = MySQL nuevo (este, "localhost", base de datos, usuario, pass);

Si (dbconnection.connect()) {}

enviar datos a la base de datos

DbConnection.Execute ("Inserte en aptc (presión, temperatura, altitud, rxaxis, ryaxis, rzaxis, sxaxis, syaxis, szaxis, partida, hddegrees) valores ('" + list[0]+"','"+list[1]+"','"+list[2]+"','"+list[3]+"','"+list[4]+"','"+list[5]+"','"+list[6]+"','"+list[7]+"','"+list[8]+"','"+list[9]+"','"+list[10]+"');");

DbConnection.Close(); sin que por ello recibí un error "demasiadas conexiones" después de 4 minutos.

Hay varias formas de controlar los errores de la persistencia de la base de datos es simple.

}

}

{} void keyPressed()

output.Flush(); Escribe los datos restantes en el archivo

output.Close(); Termina el archivo

Exit(); Se detiene el programa

}

Artículos Relacionados

Actualizar datos de MySql en una página Web

Actualizar datos de MySql en una página Web

En mi primer Instructable "Arduino conseguir datos a una página web" hablé acerca de actualizar los datos mediante el comando Meta para refrescar el contenido de datos de MySQL. El problema con esto es que se actualiza la página entera y posible
Conducir a una página web en tiempo real usando Arduino, SensorMonkey y Processing.js

Conducir a una página web en tiempo real usando Arduino, SensorMonkey y Processing.js

visualización remota de datos en tiempo real.Este tutorial describe detalladamente cómo utilizar el servicio gratuito de SensorMonkey para datos de los sensores en tiempo real push desde un Arduino a una página web para la visualización con Processin
Página Web de raspado desde/hacia una página web.

Página Web de raspado desde/hacia una página web.

El objetivo del proyecto es tomar el mando como archivos por lotes y hacerlos accesibles desde la web. Podrás hacer tu propia página web y no tener que depender de alguien para preparar para usted. Web para raspar de nuevo a la web la página otra vez
Cómo incrustar vídeos en una página web usando HTML5

Cómo incrustar vídeos en una página web usando HTML5

este tutorial le mostrará cómo poner cualquier video en un sitio web usando HTML5 y la nueva etiqueta. Mediante el uso de HTML5 puede tener videos en su sitio de Internet sin necesidad de algún plugin como Adobe Flash, y se puede reproducir en dispos
Controlar las luces a través de una página web!

Controlar las luces a través de una página web!

Después de jugar con los controladores de RF por un tiempo, me di cuenta de una importante desventaja es la necesidad de disponer de un transmisor para enviar una señal al receptor. ¿No sería agradable si podía usar mi teléfono como emisor? Bueno, es
Cómo hacer una página web

Cómo hacer una página web

Aprende a crear tu propia página web usando HTML!Paso 1: Introducción:La columna vertebral de cualquier página web se compone de archivos de Hyper Text Markup Language (HTML). Esta guía le mostrará cómo crear una sencilla página web utilizando su últ
Cómo cambiar una página web dentro del navegador web Google Chrome

Cómo cambiar una página web dentro del navegador web Google Chrome

este instructable le mostrará cómo cambiar una página web usando el navegador Chrome.Todo lo que necesitas es el navegador de Google Chrome y un ordenador.Paso 1: Abra una página web Abra el navegador de Google Chrome y abrir cualquier página web que
Guardar una página web con todo lo que en XP (NO requiere INTERNET!)

Guardar una página web con todo lo que en XP (NO requiere INTERNET!)

En este instructable, voy a mostrarte cómo guardar una página web utilizando internet explorer, Microsoft Windows XP Pro. y una conexión a internet. Al hacer esto, requiere una conexión a internet para cargar la página web, pero no a ver cuando se gu
PSD a HTML5 conversión: agregar un Slider HTML5 a una página web - parte 1

PSD a HTML5 conversión: agregar un Slider HTML5 a una página web - parte 1

hace ya más de un año HTML5 hizo su manera en la industria web. Pero aún queda mucha gente, generalmente incluyendo los principiantes y los intermedios, resulta difícil hacer un Slider HTML5 para una página web. Así que con este PSD a tutorial de con
Cómo divertir a una página web-Cool

Cómo divertir a una página web-Cool

Cómo divertir a una página web - ver los mejores video clips aquí usar este truco para desviar ejemplo de dirección de la Página Web... Si entras a google.com en la url, inmediatamente se desvían en el metacafe o cualquier sitio web que configuró sig
Cómo crear iWeb de una página web usando Apple

Cómo crear iWeb de una página web usando Apple

queremos mostrarte cómo crear una página web con aplicación de iWeb de Apple. Que enseñarle cómo hacerlo en 5 pasos!Paso 1: Paso 1: abrir y elegir temaDesde la pantalla principal, haga clic en la carpeta de aplicaciones o la plataforma de lanzamiento
¿Video Tutorial: Como crear una página Web con los productos SliceMaker?

¿Video Tutorial: Como crear una página Web con los productos SliceMaker?

Este es un video tutorial de productos SliceMaker. En este video tutorial te enseñamos cómo crear una página web completa con la ayuda de productos SliceMaker.No necesita escribir los códigos manualmente al crear una página web con los productos Slic
¿Slicemaker Tutorial: Cómo crear una página Web con SliceMaker productos?

¿Slicemaker Tutorial: Cómo crear una página Web con SliceMaker productos?

SliceMaker Soft seguirá proporcionándole nuevos tutoriales de vídeo sobre cómo usar sus productos. Este es uno de los video tutoials de productos SliceMaker. A través de este tutorial, aprenderás fácilmente cómo crear una página web con los productos
¿Cómo crear una página web sin conocimientos de programación?

¿Cómo crear una página web sin conocimientos de programación?

a través de este tutorial, usted puede crear fácilmente una página web dentro de varios pasos en lugar de escribir los códigos web complicadas.