Cómo conectar Arduino a la base de datos MySQL

Podría compilar y adaptar el código del libmysqlclient a Arduino (y su pila de red). No sé lo difícil que es y no sé si encaja dentro de Arduino.

Una solución más simple (generalizando la respuesta de Sam Hirsch a esta pregunta) sería definir algunos e implementar algún protocolo de red basado en texto entre su Arduino y algún código de servidor (que se ejecuta en alguna caja de Linux, preferiblemente cerca del Arduino, quizás lo mismo que MySQL servidor). Ese protocolo podría ser algo de HTTP (como lo sugirió Sam Hirsch, pero probablemente sea excesivo), algún protocolo ad-hoc cuidadosamente diseñado por usted (¡asegúrese de documentar el protocolo! Estudie HTTP y SMTP en busca de inspiración ), o algo así como JSONRPC.

Supongo que el espacio de código en Arduino podría ser una limitación. También debe estar familiarizado con la programación en C. Y eso incluye la asignación de memoria dinámica C (para el código similar al “servidor”, que se ejecuta en la computadora hablando con su Arduino). Sin embargo, el código del servidor se puede programar en cualquier idioma (por ejemplo, Ocaml, Python, C ++, …) con alguna API para la creación de redes.

De lo contrario, considere usar en su lugar algunos RaspBerryPi. Luego simplemente codifica una aplicación cliente de Linux. Asegúrese de leer la Programación avanzada de Linux antes de diseñar y codificar su software.

Hagas lo que hagas, no olvides razonar a nivel de protocolo de aplicación, porque tu Arduino está conectado a otra computadora en la red (si esa red no es segura, por ejemplo, si la otra computadora está muy lejos en Internet, ten cuidado Piense en problemas de seguridad). Así que defínalo y documentalo correctamente. Tenga en cuenta que el RDBMS (probablemente MySQL o MariaDb en su caso) debería ejecutarse en una computadora similar a un servidor (que incluso podría ser RaspberryPi)

A menos que esté listo para escribir una biblioteca de comandos SQL DB para el boceto del servidor web Arduino (en Ejemplos-> Ethernet), recomendaría comprar algo de espacio de alojamiento fuera del sitio y usar HTTP para publicar la información:



Y luego procesarlo en example.org/index.php:

incluir ‘connectToDatbase.php’; // Asumo mysqli

if ($ db-> query (“INSERTAR EN ESTE VALOR {$ _POST [‘myField’]}”)) {
//éxito
} más {
//error
}
?>

Por supuesto, desinfecte sus cadenas y use una contraseña cifrada y cifrada para asegurarse de que el usuario correcto publique información en su secuencia de comandos. ¡Que te diviertas!

Hay una biblioteca que lo permite. Puede consultar directamente las bases de datos.

ChuckBell / MySQL_Connector_Arduino

More Interesting

¿Por qué los desarrolladores de Linux están tan obsesionados con sus archivos de configuración de Vim?

¿Cómo mantiene un equipo los estándares y principios de codificación (como DRY y TDD) mientras lidia con la presión y los plazos?

Cómo saber qué hará hacer clic en cierta cosa en una página web mirando 'inspeccionar elemento'

Cómo cargar un archivo HTML directamente a un sitio o señalarme un sitio de alojamiento HTML

Cómo poner en línea un sitio web alojado localmente

¿Cuándo y por qué es mejor usar AngularJS para su sitio web en comparación con la programación del sitio utilizando, por ejemplo, HTML, CSS y PHP?

¿Cómo se convirtió Omkar Mishra de NIT Jamshedpur en un experto en desarrollo web?

¿La Búsqueda de Google reduce la clasificación de la página de su sitio si coloca anuncios en su sitio?

¿Cuáles son algunos buenos recursos para aprender sobre .NET, desarrollo web (CSS, HTML5) o programación Ruby?

¿Es posible que alguien se convierta en diseñador web a tiempo completo a través de cursos en línea (y sin un título universitario)? En caso afirmativo, ¿cómo hacerlo?

¿Qué debe saber un desarrollador de Node.js sobre las funciones principales de Node.js?

¿Qué tan importante es aprender Python? ¿Cuáles son algunas razones por las que debería aprender Python?

¿Cuáles son las ventajas y desventajas del estilo CGI OO y el estilo CGI orientado a funciones en Perl?

¿Todas las páginas de un sitio web deben estar representadas en la navegación global?

Cómo integrar un motor de reservas de hoteles B2B