Funda Smart: Sensor Hall y GPS sensor para ubicación geo (5 / 9 paso)

Paso 5: Obtener el código listo

Abajo se encuentra un snipet de código utilizado. Tenga en cuenta que también es un LED y botón en el código junto con la integración con bases avanzadas.

Completo código para el GPS, sensor de pasillo y LEDs sus en https://github.com/tsmilesagain/safety_holster

#include "mraa.hpp"

#include "UdpClient.hpp"

#include < grove.h >

#include < signal.h >

#include < ublox6.h >

#include < a110x.h >

#include < stdio.h >

#include < curl/curl.h >

#include < iostream >

#include < sstream >

#include < cadena >

uso de espacio de nombres upm; usar namespace std;

const size_t bufferLength = 256;

definir el nodo "localhost"
#define servicio "41234"

#define COMP_NAME "temperatura"

int main() {}

Crear el objeto Grove LED usando pin GPIO 4

UPM::GroveLed * LEDPlataforma = new upm::GroveLed(4);

UPM::GroveLed * LEDUFO = nuevo upm::GroveLed(3);

crear un objeto de entrada analógico de MRAA usando pin A0

MRAA::AIO * a_pin = new mraa::Aio(0);

Crear el objeto de botón mediante pin GPIO 8

UPM::GroveButton * botón = nuevo upm::GroveButton(8);

Crear una instancia de un dispositivo de Ublox6 en el uart 0.

UPM::Ublox6 * nmea = nuevo upm::Ublox6(0);

int gunDrawn = 100;

int magFieldAvg = 0;

int magFieldCurrent = 0;

int magField [10];

int tempIndex = 0;

int numSamples = 2;

tempData cadena;

comprobar que estamos corriendo en Galileo o Edison

plataforma de mraa_platform_t = mraa_get_platform_type();

Si ((plataforma! = MRAA_INTEL_GALILEO_GEN1) & & (plataforma! = MRAA_INTEL_GALILEO_GEN2) & & (plataforma! = MRAA_INTEL_EDISON_FAB_C))

{std::cerr << "Plataforma no soportado, saliendo" << std::endl;

volver MRAA_ERROR_INVALID_PLATFORM; }

Leer datos del sensor hall

Si (a_pin == NULL)

{std::cerr << "No puede crear el objeto mraa::Aio, salir" << std::endl;

volver MRAA_ERROR_UNSPECIFIED; }

Instalación GPS

Asegúrese de que el puerto se inicializa correctamente. 9600 baudios es la opción predeterminada.

Si (! nmea -> setupTty(B9600))

{cerr << "Error de parámetros de configuración tty puerto" << endl;

retorno 1; }

Instalación de rizo

siguió este ejemplo rizo: http://curl.haxx.se/libcurl/c/http-post.html

CURL * curl;

Res de CURLcode;

En windows, esto será init lo winsock

curl_global_init(CURL_GLOBAL_ALL);

obtener un identificador de enrollamiento

Curl = curl_easy_init();

En primer lugar configurar la URL que está a punto de recibir nuestros correos. Esta URL puede

al igual que un http://curl.haxx.se/libcurl/c/http-post.html si eso es lo que debe recibir el

datos.

curl_easy_setopt (Rizo, CURLOPT_URL, "https://flickering-inferno-5440.firebaseio.com/data.json");

Esto sólo se pretende recoger los datos NMEA y no procesarlo

debe ver la salida en consola

char nmeaBuffer [bufferLength];

while(1)

{uint16_t pin_value = a_pin -> read();

magFieldAvg = 0;

magField [magFieldCurrent ++] = pin_value;

Si (magFieldCurrent > = numSamples)

{magFieldCurrent = 0;}

para (int i = 0; i < numSamples; i ++

{magFieldAvg += magField [i];}

magFieldAvg = numSamples;

Sleep(1);

if(magFieldAvg < gunDrawn)

{LEDPlataforma -> off();

LEDUFO -> on(); }

Else {}

Si (nmea -> {dataAvailable())}

int rv = nmea -> readData (nmeaBuffer, bufferLength);

Si (rv > 0) {}

escribir (1, nmeaBuffer, rv);

macros << nmeaBuffer << std::endl; }

Else {}

algunos especie de lectura error de

cerr << "Lee puerto" error. << endl;

rotura;

}

curl_easy_setopt (Rizo, CURLOPT_POSTFIELDS, "{\"gunDrawn\":\"true\ "}");

Realizar la solicitud, res obtendrá el código de retorno

res = curl_easy_perform(curl);

Comprobación de errores

Si (res! = CURLE_OK)

fprintf (stderr, "error de curl_easy_perform(): %s\n", curl_easy_strerror(res));

}

Añadir algunos LED

LEDPlataforma -> on();

LEDUFO -> off(); }

Si (botón -> value() == 1)

{break;}

}

Eliminar el objeto Grove LED

LEDUFO -> off();

LEDPlataforma -> off();

eliminar LEDUFO;

eliminar LEDPlataforma;

eliminar a_pin;

eliminar botón;

eliminar nmea;

volver MRAA_SUCCESS; }

Artículos Relacionados

Aplicaciones de IoT industrial - cómo utilizar sensores para la gestión de recursos hídricos, alertas de inundación y detección de agua

Aplicaciones de IoT industrial - cómo utilizar sensores para la gestión de recursos hídricos, alertas de inundación y detección de agua

** Actualización: El siguiente artículo es de nuestra aplicación Android obsoleta! Valarm es Industrial IoT. Ayudaremos a sus equipos y su empresa con aplicaciones de IoT Industrial utilizando Herramientas de nube de Valarm.Echa un vistazo a nuestra
Barato y fácil tacómetro (RPM Sensor) para motores DC cepillado

Barato y fácil tacómetro (RPM Sensor) para motores DC cepillado

sólo surgió una muy simple, fácil de implementar y muy barata manera para controlar las RPM de los motores cepillados de la C.C..  También funcionaría en los motores sin cepillo pero hay formas mejores para ellos (contando fase los cambios) por lo qu
Registrador de datos GPS bricolaje para le próximo disco/sendero

Registrador de datos GPS bricolaje para le próximo disco/sendero

Se trata de un registrador de datos GPS que puede utilizar para múltiples fines, digamos si usteddesea iniciar su largo viaje que tomó el fin de semana para comprobar hacia fuera los colores del otoño.o tienes un sendero favorito que visites durante
Esponja de sensores para Scratch

Esponja de sensores para Scratch

la esponja sensor funciona como una resistencia variable-electricidad pasa a través de una esponja húmeda.Como la esponja es más o menos aplastada agua permite más o menos electricidad pase a través.Hice esto para jugar con la resistencia y el sonido
Línea de sensores para Robots baratos

Línea de sensores para Robots baratos

¡ Bienvenido de nuevo a todo el mundo que está siguiendo junto con mi serie de Robots baratos! Para aquellos de ustedes que no están tan familiarizados con lo que he hecho aquí, para Robots baratos es una serie que estoy haciendo en Instructables tod
Usando los botones y sensores para hacer música con el Edison de Intel

Usando los botones y sensores para hacer música con el Edison de Intel

ObjetivosSentirse cómodo con el Edison al prototipo de un proyecto de hardwareConstruir una sencilla aplicación de Node.jsJugar con el poder de WebSockets y redes de tiempo realAprovechar de Cylon.js fácil de usar interfaz con botones y sensoresExplo
VDO Oilpressure sensor para Arduino

VDO Oilpressure sensor para Arduino

la Idea es hacer una lectura de sensor 7.0 pulgadas TFT (800 X 480) instrumento para mi pequeño bote.Tiene un a bordo Yanmar 3gm 30 3 cilindros diesel. El motor es tan simple como se pone.Hay sólo dos indicadores a bordo (combustible y á medidor RPM)
Control de FlappyBird con un globo, cómo utilizar el barómetro Arduino Sensor para la entrada de

Control de FlappyBird con un globo, cómo utilizar el barómetro Arduino Sensor para la entrada de

en este instructable crearemos un botón de presión como entrada para los juegos, que es similar a un botón digital regular pero en vez de escribir 1 o 0 que va escribiendo la variación en la presión como nos Presione o liberar los pájaros flappy salt
Seguridad alarma Laser detector o sensor para arduino para principiantes

Seguridad alarma Laser detector o sensor para arduino para principiantes

Hola, chicos hoy me y todos vamos a hacer un detector de láser trabajan con un Arduino y piezo.Cómo funciona. Cuando el láser está bloqueado por el jefe de módulo el piezoalarma para arriba.permite así iniciar. :):):):):):):):):):):):):):):):):):):):
Adición de un micrófono para el sistema de GPS Omnitech para reconocimiento de voz

Adición de un micrófono para el sistema de GPS Omnitech para reconocimiento de voz

al mismo tiempo trasteando con mi unidad he encontrado una forma fácil y rápida de añadir un micrófono a esta unidad sorda. Con un micrófono, usted será capaz de tomar ventaja de reconocimiento de voz para la navegación. Incluirá una pequeña cantidad
Marketing con dispositivos simples de IoT

Marketing con dispositivos simples de IoT

Este instructable cubrirá la creación de Inno, un madera robot ídolo, que sirve como un medio de marketing de IoT, de una nueva iniciativa educativa en el programa de ingeniería de Software y gestión, en la Universidad de Gotemburgo. Que se basa este
Registrador de datos geo: Arduino + GPS + SD + acelerómetro para registrar, sello de tiempo y datos del sensor geo-tag

Registrador de datos geo: Arduino + GPS + SD + acelerómetro para registrar, sello de tiempo y datos del sensor geo-tag

versiones17 de octubre de 2013: he publicado una guía sobre el uso de tu teléfono Android para llevar a cabo una tarea similar al aprovechar tu Android dispositivo de construido en GPS y sensores.06 de febrero de 2013: Aparece en GeoAwesomeness http:
Uso de GPS, sensor de pasillo, LEDs y bases avanzadas con el Edison

Uso de GPS, sensor de pasillo, LEDs y bases avanzadas con el Edison

El siguiente instructivo describe cómo conectar su Edison de Intel utilizando el sensor GPS de Grove, sensor Hall y el escudo de la Base (por favor tenga en cuenta que el GPS de Grove no vienen de serie en el Gove Starter Kit Plus).El código y el dis
SensoDuino: Convertir su teléfono Android en un concentrador de sensores inalámbricos para Arduino

SensoDuino: Convertir su teléfono Android en un concentrador de sensores inalámbricos para Arduino

Actualizaciones23 de noviembre de 2013: SensoDuino 0.160 obtiene una cara izquierda.19 de noviembre. 2031: opinión: la increíble sinergia entre Arduino y Android.19 de noviembre de 2013: SensoDuino 0.159 está hacia fuera. Fecha teléfono Android (y, m