MPL3115A2 (Language C) Linux MySQL (Banana Pi/Raspberry Pi)
The MPL3115A2 is a compact piezoresistive absolute pressure sensor with an I2C interface. MPL3115A2 has a wide operating range of 20 kPa to 110 kPa, a range that covers all surface elevations on earth. The fully internally compensated MEMS in conjunction with an embedded high resolution 24-bit equivalent ADC provide accurate pressure (Pascals)/altitude (meters) and temperature (°C) data.(see DataSheet, AN4481, AN4519)
Direct reading:
— Pressure: 20-bit measurement (Pascals)
— Altitude: 20-bit measurement (meters)
— Temperature: 12-bit measurement (°C)
MPL3115A2 |
CREATE DATABASE sensor;
CREATE TABLE sensor.samples(
sampleId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
sampleDate DATE,
sampleTime TIME,
sampleTemperature DOUBLE,
sampleAltitude DOUBLE,
samplePressure DOUBLE) default character set utf8;
Download source code
MYSQL *conn;
MYSQL_RES *res;
//MYSQL_ROW fila;
char *server = "localhost";
char *user = "sydbernard";
char *password = "secreto";
char *database = "sensor";
conn = mysql_init(NULL);
// Connect to database //
if (!mysql_real_connect(conn, server,
user, password, database, 0, NULL, 0)) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
...
/* send SQL query */
if (mysql_query(conn, buffer)) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
To Compile:$ gcc -Wall -c main.c MPL3115A2.c
$ gcc -Wall -o mpl main.o MPL3115A2.o -l wiringPi -lmysqlclient
wiringBPi |
Table MySQL |
MySQL |
PostgreSQL
PostgreSQL is an object-relational SQL database management system.
Header files and static library for compiling C programs to link with the libpq library in order to communicate with a PostgreSQL database backend.
sudo apt-get install libpq-dev
____________________________
create table samples(
sampleId SERIAL PRIMARY KEY,
sampleTemperature DOUBLE precision,
sampleAltitude DOUBLE precision,
samplePressure DOUBLE precision
);
PGresult *res;
PGconn *pgConn = PQconnectdb("dbname=sensor hostaddr=127.0.0.1 \
user=sydbernard password=snoopy");
if (PQstatus(pgConn) != CONNECTION_OK)
{
fprintf(stderr, "Connection to database failed: %s",
PQerrorMessage(pgConn));
}
...
sprintf(buffer,"INSERT INTO samples (sampleTemperature,sampleAltitude,samplePressure) \
VALUES (%.2f, %.2f, %.2f);",temperature, altitude, pressure);
/* send SQL query */
res = PQexec(pgConn, buffer);
if (PQresultStatus(res) != PGRES_COMMAND_OK)
{
fprintf(stderr, ">%s", PQerrorMessage(pgConn));
PQclear(res);
}
Source Code Download
postgreSQL |
No hay comentarios:
Publicar un comentario