Caja de seguridad en Sandbox (3 / 5 paso)

Paso 3: Añadir el código de Arduino en el IDE de Arduino

Caja de seguridad en Sandbox
Archivos de encabezado necesarios

Si no está disponible, asegúrese de encontrar en los repositorios Github

#include "LGPRS.h"

#include "LGPRSClient.h"

#include "LGPRSServer.h"

#include "LGPS.h"

#include "HttpClient.h"

#include "LTask.h"

#include "LWiFi.h"

#include "LWiFiClient.h"

#include "LDateTime.h"

Personalizar los datos necesarios según sus especificaciones

#define WIFI_AP "tu nombre de wifi"

#define WIFI_PASSWORD "tu contraseña wifi"

#define DEVICEID "tu id de dispositivo"

#define DEVICEKEY "su clave de dispositivo"

#define SITE_URL "api.mediatek.com"

#define WIFI_AUTH LWIFI_WPA

#define por 50

#define per1 3

información de gpsSentenceInfoStruct; buff de Char [256]; latitud doble; longitud doble; spd doble; char buffer_latitude [8]; char buffer_longitude [8]; char buffer_spd [8]; char buffer_sensor [8]; Static unsigned char getComma (unsigned char num, const char * str) {unsigned char i, j = 0; int len=strlen(str); para (i = 0; me < len; me ++) {si (str [i] == ',') j ++; if(j == num) volver i + 1;} return 0;} estática doble getDoubleNumber (const char * s) {char buf [10]; unsigned char i doble rev; me = getComma (1, s); me = i - 1; strncpy (buf s, i); buf [i] = 0; Rev=atof(BUF); volver rev; } estática doble getIntNumber (const char * s) {char buf [10]; unsigned char i doble rev; me = getComma (1, s); i = i - 1; strncpy (buf, s, i); buf [i] = 0; rev=atoi(buf); return rev;} //Esssential parte del código //GPS informática //Determining cantidades latitud, longitud y velocidad nula parseDPAS (const char * DPASstr) {int tmp, hora, minuto, segundo, num; si (DPASstr [0] == '$') {tmp = getComma (1 DPASstr); hora = (DPASstr [tmp + 0] - '0') * 10 + (DPASstr [tmp + 1] - '0'); minutos = (DPASstr [tmp + 2] - '0') * 10 + (DPASstr [tmp + 3] - '0'); en segundo lugar = (DPASstr [tmp + 4] - '0') * 10 + (DPASstr [tmp + 5] - '0'); sprintf (buff, "UTC temporizador % 2d-2d-% 2d", hora, minuto, segundo); tmp = getComma (2, DPASstr); latitud = getDoubleNumber(&DPASstr[tmp])/100.0; int latitude_int=floor(latitude); latitude_decimal doble =(latitude-latitude_int) *100.0/60.0; latitud = latitude_int + latitude_decimal; tmp = getComma (4, DPASstr); longitud = getDoubleNumber(&DPASstr[tmp])/100.0; int longitude_int=floor(longitude); longitude_decimal doble =(longitude-longitude_int) *100.0/60.0; longitud = longitude_int + longitude_decimal; sprintf (buff, "latitude = % .4f 10, longitud = %10.4f", latitud, longitud); tmp = getComma (7, DPASstr); SPD = getDoubleNumber (& DPASstr[tmp]); sprintf (buff, "velocidad = %F", spd); } else {Serial.println ("no obtener datos");}} void recdat() {LGPS.getData (e información); //Serial.println ((char*) info. DPAS); parseDPAS ((const char*) información. DPAS); } //AP conexión void AP_connect() {Serial.print ("conectando a AP..."); mientras que (0 == LWiFi.connect (WIFI_AP, LWiFiLoginInfo (WIFI_AUTH, WIFI_PASSWORD))) {Serial.print("."); delay(500);} Serial.println("Success!"); Serial.Print ("conexión sitio...");

mientras (! drivepar.connect (SITE_URL, 80)) {Serial.print("."); delay(500);} Serial.println("Success!"); Delay(100); } void getconnectInfo() {drivepar.print ("GET /mcs/v2/devices /"); drivepar.print(DEVICEID); drivepar.println ("/connections.csv HTTP/1.1"); drivepar.print ("Host:"); drivepar.println(SITE_URL); drivepar.Print ("deviceKey:"); drivepar.println(DEVICEKEY); drivepar.println ("conexión: cerrar"); drivepar.println(); Delay(500); int errorcount = 0; Serial.Print ("en espera de respuesta HTTP..."); mientras (! drivepar.available()) {Serial.print("."); errorcount += 1; delay(150);} Serial.println(); int err = http.skipResponseHeaders(); int bodyLen = http.contentLength(); char c; int ipcount = 0; int cuenta = 0; separador de int = 0; mientras (drivepar) {int v = (int)drivepar.read(); si (v! = -1) {c = v; / / Serial.print(c); connection_info [ipcount] = c; separador de if(c==',') = ipcount; ipcount ++;} else {Serial.println ("no más contenido, desconectar"); drivepar.stop();}} int i; para (i = 0; i} void connectTCP() {c.stop(); Serial.Print ("conexión a TCP..."); mientras que (0 == c.connect (ip, portnum)) {Serial.println ("volver a conectar a TCP"); delay(1000);} c.println(tcpdata); c.println(); Serial.println("Success!"); } void heartBeat() {Serial.println ("envío TCP del latido del corazón"); c.println(tcpdata); c.println();} void uploadstatus() {mientras que (! drivepar.connect (SITE_URL, 80)) {Serial.print("."); delay(500);} delay(100); if(digitalRead(13)==1) upload_led = "ENGINE_MODE_DISPLAY,, 1"; else upload_led = "ENGINE_MODE_DISPLAY,, 0"; int thislength = upload_led.length(); HttpClient http(drivepar); drivepar.Print ("POST /mcs/v2/devices /"); drivepar.Print(DEVICEID); drivepar.println ("/datapoints.csv HTTP/1.1"); drivepar.Print ("Host:"); drivepar.println(SITE_URL); drivepar.Print ("deviceKey:"); drivepar.println(DEVICEKEY); drivepar.Print ("Content-Length:"); drivepar.println(thislength); drivepar.println ("tipo de contenido: texto/csv"); drivepar.println ("conexión: cerrar"); drivepar.println(); drivepar.println(upload_led); Delay(500);

int errorcount = 0; mientras (! drivepar.available()) {Serial.print("."); delay(100);} int err = http.skipResponseHeaders(); int bodyLen = http.contentLength(); mientras (drivepar) {int v = drivepar.read(); if (v! = -1) {Serial.print(char(v));} else {Serial.println ("no más contenido, desconectar"); drivepar.stop();}} Serial.println(); } //Data streaming a Mediatek nube Sandbox void transdat() {mientras que (! drivepar.connect (SITE_URL, 80)) {Serial.print("."); delay(500);} delay(100); sensor de flotador = analogRead(A0); Serial.printf("Latitude=%.4f\tlongitude=%.4f\tspd=%.4f\tsensor=%.4f\n",Latitude,longitude,SPD,sensor); Si (latitud > -90 & & latitud < = 90 & & longitud > = 0 & & longitud < 360) {sprintf (buffer_latitude, "%.4f", latitud) sprintf (buffer_longitude, "%.4f", longitud); sprintf (buffer_spd, "%.4f", spd) sprintf (buffer_sensor, "%.4f", sensor);} String upload_GPS = "GPS,,"+String(buffer_latitude)+","+String(buffer_longitude)+","+String(buffer_spd)+","+String(buffer_sensor)+","+"0"+"\n"+"LATITUDE,,"+buffer_latitude+"\n"+"LONGITUDE,,"+buffer_longitude+"\n"+"SPEED,,"+buffer_spd+"\n"+"STEERING_ANGLE,,"+buffer_sensor; int GPS_length = upload_GPS.length(); HttpClient http(drivepar); drivepar.Print ("POST /mcs/v2/devices /"); drivepar.Print(DEVICEID); drivepar.println ("/datapoints.csv HTTP/1.1"); drivepar.Print ("Host:"); drivepar.println(SITE_URL); drivepar.Print ("deviceKey:"); drivepar.println(DEVICEKEY); drivepar.Print ("Content-Length:"); drivepar.println(GPS_length); drivepar.println ("tipo de contenido: texto/csv"); drivepar.println ("conexión: cerrar"); drivepar.println(); drivepar.println(upload_GPS); Delay(500);

int errorcount = 0; mientras (! drivepar.available()) {Serial.print("."); delay(100);} int err = http.skipResponseHeaders(); int bodyLen = http.contentLength(); mientras (drivepar) {int v = drivepar.read(); if (v! = -1) {Serial.print(char(v));} else {Serial.println ("no más contenido, desconectar"); drivepar.stop();}} Serial.println(); } LGPRSClient c; unsigned int rtc; unsigned int lrtc; unsigned int rtc1; unsigned int lrtc1; carbón puerto [4] = {0}; char connection_info [21] = {0}; char ip [15] = {0}; int portnum; int val = 0; String tcpdata = String(DEVICEID) + "," + String(DEVICEKEY) + ", 0"; String tcpcmd_led_on = "ENGINE_MODE_CONTROL, 1"; String tcpcmd_led_off = "ENGINE_MODE_CONTROL, 0"; String upload_led; LGPRSClient drivepar; HttpClient http(drivepar); Configuración void setup() {pinMode (13, salida); LTask.begin(); LWiFi.begin(); Serial.Begin(115200); LGPS.powerOn(); AP_connect(); getconnectInfo(); connectTCP(); Serial.println("...");} Bucle void loop() {String tcpcmd = ""; mientras que (c.available()) {int v = c.read(); if (v! = -1) {Serial.print((char)v); tcpcmd += (char) v; si (tcpcmd.substring(40).equals(tcpcmd_led_on)) {digitalWrite (13, HIGH); Serial.Print ("encender LED"); tcpcmd = ""; } else if(tcpcmd.substring(40).equals(tcpcmd_led_off)) {digitalWrite (13, bajo); Serial.Print ("apagar LED"); tcpcmd = ""; }}} LDateTime.getRtc(&rtc); Si ((rtc-lrtc) > = por) {heartBeat(); lrtc = rtc;} LDateTime.getRtc(&rtc1); Si ((rtc1-lrtc1) > = per1) {uploadstatus(); recdat(); transdat(); lrtc1 = rtc1;}}

Artículos Relacionados

Cómo hacer un reloj de alarma solar K'nex con construido en pequeña electrónica cargador y caja de seguridad.

Cómo hacer un reloj de alarma solar K'nex con construido en pequeña electrónica cargador y caja de seguridad.

Here it is. El primer reloj de alarma solar KVG. Esto me ha llevado más de un mes para diseñar, construir, reconstruir, perfeccionar y hacer las instrucciones. De hecho quedó sin piezas y tuvo que tomar varias cosas para terminarlo.De todas formas es
Cómo romper en cajas de seguridad digitales

Cómo romper en cajas de seguridad digitales

cómo romper en cajas de seguridad digitalesEste tutorial le muestra cómo entrar en una caja de seguridad digital. La técnica utiliza un piso de diseño en las cajas de seguridad a menudo se encuentran en hoteles o casas. Esto funciona en muchas cajas
Caja de seguridad de Arduino

Caja de seguridad de Arduino

caja de ArduinoEste proyecto crea un sistema de seguridad para una caja o contenedor. Coloque el LDR en un recipiente oscuro. Cuandoabrir el envase el zumbador sonará dejándole saber que el contenedor ha sido abierto a todo el mundoSi el contenedor s
Madera caja de seguridad con clave de acceso

Madera caja de seguridad con clave de acceso

link del Video es en la parte inferior de la página.Paso 1: Reunir piezas Parts:1 x interruptor de llave1 x botón momentáneo interruptor1 x tire tipo actuador linealde 2 x pila de 9vclips 2 x pila de 9vregulador de voltaje 1 x 5v (7805 de RadioShack)
Caja de seguridad para proyectos de alta tensión

Caja de seguridad para proyectos de alta tensión

este cuadro de actos como un tercero entre la salida en la pared y cualquier voltaje alto o peligroso proyecto que está haciendo. Para que la electricidad al fluir a su proyecto de la caja que necesita ser presionado un botón, que sirve el doble prop
Arduino powered ahorcado caja de regalo/caja de seguridad

Arduino powered ahorcado caja de regalo/caja de seguridad

un de tamaño mediano caja que requiere el usuario tener éxito en un juego de hombre de colgar para acceder al contenido de la caja.  Regalo Gran Idea!!!!!!mi sketch de Arduino se incluirán en este instructiblelo siento por las fotos de mala calidad!y
Bicicleta de montaña de oso-caja de seguridad.

Bicicleta de montaña de oso-caja de seguridad.

Recientemente comencé a ciclismo de montaña y el amor para explorar los bosques boreales, alpine y valles del río de Yukon en bicicleta. Esto significa que a menudo viajo en país del oso.Tengo un respeto saludable por los osos negros y grizzly que vi
Arduino controla caja de bloqueo con solenoide y RFID

Arduino controla caja de bloqueo con solenoide y RFID

La caja de la cerradura RFID combina Arduino, RFID y un solenoide para hacer su propio personal seguro! La caja de la cerradura se abre sólo a las tarjetas de clave que haya programado en el sistema, cierre todos los demás fuera.Esta guía mostrará có
Luces de bicicleta de seguridad de la inducción magnética. Batería y el diseño casi invisible, barato, resistente al agua gratis!

Luces de bicicleta de seguridad de la inducción magnética. Batería y el diseño casi invisible, barato, resistente al agua gratis!

Este sistema de luz de seguridad parpadea como ahora la rueda gira: más rápido gira, ritmo más rápido que los leds parpadeen. Es sin contacto, así que aquí no está absolutamente ninguna fricción. Utiliza la inducción magnética de batería y mantenimie
Sistema de seguridad de inicio de SMS

Sistema de seguridad de inicio de SMS

¿Se preocupó de los objetos de valor que tienen en su hogar cuando usted está hacia fuera en un viaje o en tu oficina? Si sí, entonces este proyecto es sólo para ti! Un sistema de seguridad que al detectar la presencia de un ser humano en su casa de
Crack y reiniciar una caja fuerte electrónica

Crack y reiniciar una caja fuerte electrónica

cuento largo, si he quitado el contenido de la caja fuerte de un amigo, pude conservar la caja fuerte... por qué no darle un tiro.Paso 1: decidir cómo iniciar había sé había un rojo restablece botón dentro de la caja de seguridad y cómo se utiliza, p
Caja de Control de ignición de pirotecnia

Caja de Control de ignición de pirotecnia

Hola,Este instructable le mostrará cómo hacer una caja de control simple para encender fuegos de patio trasero. He hecho éste con capacidad para 100 encendidos independientes. No es necesario que muchos pueden simplemente escalar esta abajo (o arriba
DIY caja fuerte con cerradura modelo escudo

DIY caja fuerte con cerradura modelo escudo

Este proyecto simplemente es un DIY seguro utilizando Arduino y 1Sheeld.Uno de los escudos más reciente de 1Sheeld usé su escudo patrón. Patrón escudo convierte tu smartphone a un escudo de armario secreto patrón para que Arduino puede tomar medidas
Cómo construir una cámara de seguridad Simple seguro

Cómo construir una cámara de seguridad Simple seguro

cámaras, parecen estar en todas partes estos días. Están por todas partes que el ojo a veces simplemente no notarlos. Paso por al menos una o dos cámaras cada vez que recorro los pasillos de una clase a otra. Gran hermano está mirando siempre. Alguna