Smart hölster: Hall Sensor och GPS sensor för geo plats (5 / 9 steg)

Steg 5: Redo koden



Nedan är en snipet för den kod som används. Observera att det också finns en LED och knappen som används i koden tillsammans med integration med FireBase.

Fullständiga koden för GPS, Hall sensor och lysdioder dess på 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 < sträng >

med hjälp av namnområdet upm; genom att använda namespace std;

CONST size_t bufferLength = 256;

definiera nod "localhost"
#define SERVICE "41234"

#define COMP_NAME "temperatur"

int main () {

Skapa den Grove LED objekt med GPIO stift 4

UPM::GroveLed * ledRed = ny upm::GroveLed(4);

UPM::GroveLed * ledGreen = ny upm::GroveLed(3);

skapa en analog ingång objekt från MRAA med hjälp av pin A0

mraa::AIO * a_pin = ny mraa::Aio(0);

Skapa den knappobjekt med GPIO stift 8

UPM::GroveButton-knappen = nya upm::GroveButton(8);

Instansiera en Ublox6 GPS-enhet på uart 0.

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

int gunDrawn = 100;

int magFieldAvg = 0;

int magFieldCurrent = 0;

int magField [10].

int tempIndex = 0;

int numSamples = 2;

sträng tempData;

Kontrollera att vi kör på Galileo eller Edison

mraa_platform_t plattform = mraa_get_platform_type();

om ((plattform! = MRAA_INTEL_GALILEO_GEN1) & & (plattform! = MRAA_INTEL_GALILEO_GEN2) & & (plattform! = MRAA_INTEL_EDISON_FAB_C))

{std::cerr << "Plattform som inte stöds, spännande" << std::endl;

återvända MRAA_ERROR_INVALID_PLATFORM; }

Läs i hall sensordata

om (a_pin == NULL)

{std::cerr << "Kan inte skapa mraa::Aio objekt, spännande" << std::endl;

återvända MRAA_ERROR_UNSPECIFIED; }

GPS Setup

Kontrollera att porten initieras ordentligt. 9600 baud är standard.

om (! nmea -> setupTty(B9600))

{cerr << "Misslyckades med att inställningsparametrar tty port" << oä;

tillbaka 1. }

Curl setup

följde denna curl exempel: http://curl.haxx.se/libcurl/c/http-post.html

CURL * curl;

CURLcode res;

I windows, kommer detta att init winsock grejer

curl_global_init(CURL_GLOBAL_ALL);

få en curl handtag

curl = curl_easy_init();

Ange den URL som är på väg att få vår POST. Denna URL kan

lika bra vara en http://curl.haxx.se/libcurl/c/http-post.html om det är vad bör få den

data.

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

Detta är endast avsett att samla in NMEA data och inte behandla det

bör se ut på konsol

char nmeaBuffer [bufferLength];

While(1)

{uint16_t pin_value = a_pin -> read();

magFieldAvg = 0;

magField [magFieldCurrent ++] = pin_value;

om (magFieldCurrent > = numSamples)

{magFieldCurrent = 0;}

för (int jag = 0; jag < numSamples; i ++

{magFieldAvg += magField [i];}

magFieldAvg = numSamples;

Sleep(1);

IF(magFieldAvg < gunDrawn)

{ledRed -> off();

ledGreen -> on (); }

annat {

om (nmea -> dataAvailable()) {

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

om (rv > 0) {

skriva (1, nmeaBuffer, rv);

std::Cout << nmeaBuffer << std::endl; }

annat {

några läst slags fel uppstod

cerr << "Port läsa fel" << oä;

bryta;

}

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

Utföra begäran, res får returkod

Res = curl_easy_perform(curl);

Sök efter fel

om (res! = CURLE_OK)

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

}

Lägg till några lysdioder

ledRed -> on ();

ledGreen -> off(); }

om (knapp -> value() == 1)

{bryta;}

}

Ta bort objektet Grove LED

ledGreen -> off();

ledRed -> off();

ta bort ledGreen;

ta bort ledRed;

ta bort a_pin;

ta bort knappen;

ta bort nmea;

återvända MRAA_SUCCESS; }

Se Steg
Relaterade Ämnen

Användning av GPS, hall sensor, lysdioder och Firebase med Edison

Följande instructable beskrivs hur du ansluter din Intel Edison med Grove GPS-sensorn, Hall sensor och Base sköld (Observera att Grove GPS inte kommer standard i Gove Starter Kit Plus).Kod och design var en del av Los Angeles Intel IoT Roadshow.Steg...

Med Smart telefon som Motion Sensor Alarm

Idag vi lever i en värld där smarta telefoner blir allt billigare, grundläggande Android telefon kosta bara runt $60 i delen av världen där jag bor i. Oavsett märke och modell av OS kommer nästan alla smarta telefonen med flera maskin- och sensorer s...

Borstlösa DC elmotor (med hall sensor)

DCelmotor projektet använder en Hall sensorn upptäcka placera av rotoren och slå på elektromagnet i ögonblicket.Steg 1: Översikt över enhet Steg 2: Kopplingsschema & huvudkomponenterSensor: UGN-3503-U hall sensorIC1: LM358N (dubbla OP amp)IC2: CD4001...

Programmera Linker Hall Sensor på pcDuino med Python

Linker Hall Sensor Modulen är en Hall sensor.En Hall effekt sensor är en givare som varierar sitt utspänning som svar på ett magnetfält. Hall effekt sensorer används för närhet växla, positionering, hastighet upptäckt och aktuella miljöavkänning appl...

Grove Hall Sensor - Arduino

Efter att publicera ett par tutorials på instructables, jag fick några grove sensorer så jag tänkte jag skulle skriva om det, så ett par instructables jag kommer använda grove sensorer. Seeed Studio har en mängd olika sensorer, men jag kommer att skr...

Styra Hall Sensor av Java

Hall effekt av halvledare är mycket bättre än metallen. Många Hall element är komma ut av detta fenomen och ofta används i automatiska branschteknik, testa teknik och informationsbehandling, etc. Hall effekt är den grundläggande metoden att studera u...

Hatt-monterad klocka med flera timezone stöd och GPS-funktionalitet

Jag ville ha en klocka. Men inte bara en klocka! Jag ville att det skulle kunna ändra den timezone visas på luckan en strömbrytare. Och jag ville också använda den på Burning Man, för att visa min plats inte i tid, men i urtavlan adressering systemet...

En DIY telefon att rädda dina barn, hund, familj, husdjur, morföräldrar,.... Mini modulsystem för GPRS och GPS

Detta instructable är för telefon tävling sponsras SeeedStudio.Jag vill visa dig mitt projekt. Jag tror det är något som alla har tänkt.När vi är på en fest eller en plats med många människor, sportevenemang, stranden, fester, etc. vi är alltid rädd...

Smart Home-styrenhet med Sensorflare och Spark kärna av partikel: Läs din sensor värden på Sensorflare

Hej alla! Detta instructable visar dig hur du kan kontrollera din smartenheter med Sensorflare och partikel kärna. Möjligheterna är många... Du kan använda partikel core - lite Wi-Fi utveckling styrelsen för att ansluta din hårdvara (t.ex. givare, st...

Smart babymonitor med Intel Edison och Ubidots

Intellekten Edison är liten nog för kläder. Det ger stor flexibilitetför utvecklare genom språk och programmeringsmiljö det erbjuder och den har integrerat Wi-Fi och Bluetooth som gör det perfekt för en bärbar. Nu för tiden finns det många kläder på...

Arduino Uno och Visuino: kontrollera Smart Car Robot med Joystick och L298N motorn förarens

Smart Car anger i kombination med L298N Motor drivrutinsmoduler, erbjuder en av de enklaste sätten att göra roboten bilar. L298N Motor Driver modul är lätt att kontrollera med Arduino, och med hjälp av Visuino kan du programmera din bil i sekunder.I...

DIY kreditkort telefon och GPS stå

jag var uttråkad idag, så jag tog min utgångna sjukförsäkringskortet och gjorde en telefon stå ut från det, som kan användas som en mini tablett eller GPS stå att titta på videor. Jag kommer för att berätta hur du kan göra din egen. Jag tror att om d...

Mätning av avstånd (och mer) enhet använder Arduino och GPS

i min tidigare Instructable, visade jag hur du få grundläggande uppgifter från en bärbar GPS, Holux M-1000 och konvertera UTC till lokal tid. I morse (Nov. 3: e), slutade i sommartid. Jag vände på enheten när jag vaknade upp i morse för att se om tid...

Smart Home-styrenhet med Sensorflare och Spark kärna av partikel: styra power enheter med Sensorflare

Hej alla! Detta instructable visar hur du kan kontrollera din smarta enheter med Sensorflare och partikel kärna. Möjligheterna är många... Du kan använda partikel core - lite Wi-Fi utveckling styrelsen för att ansluta din hårdvara (t.ex. givare, stäl...

DIY: Dörr larm med Hall enheten och Arduino Uno

detta är en dörr larmsystem som enkelt kan byggas och installerat. Den använder den grundläggande principen som skisserats av Arduino Uno Designers som är att använda sensorn, mikro-controller och manöverdonet. I denna design sensorn är Hall-effekt e...

Mobiltelefon hållare hållare för cykel/bicyle-med lätthet hörlurar förlängning hacka, kamera hacka och gps (bonusmaterial!)

Detta instructible visar hur man gör en mobiltelefonhållare för din cykel/cykel/cyklar (oavsett u kallar det! lol)... denna så kallade-'hacka' bonusfunktioner är många!1. trött av att hålla telefonen i fickan med chansen att det faller ner när du går...

Spåra din väg! (med arduino, microSD card sköld och GPS)

Använda Arduino Mega, MT3329 MediaTek GPS, Arduino MicroSD data logga sköldoch ett par 9V batterier, göra en liten enhet som kan gå någonstans och sedan mappa resan i ett enkelt steg.Steg 1: Hårdvara behövs Micro SD cardMicroSD kort sköldArduino Mega...

En trådlös Smart Home (var: hem simulator och larm med Arduino eller Atmega328 (Uppdaterad maj 2016))

Obs: det nu är en android bluetooth kontroll app ibble för detta projektObs: Även om det började som ett projekt simulera min närvaro i hemmet, det har vuxit till ett smart hem, därav titeln jag detta InstructableNär folk är på semester, eller ibland...

433MHz Smart hem Controller med Sensorflare och en RaspberryPi

I detta instructable visar vi hur du använder en 433 Mhz sändare styra ditt hem RF enheter dock Sensorflare med en RaspberryPi.Komponenter som krävs:433 Mhz sändarmodulRaspberryPi (alla modeller)Hoppare ledningarnågon RF kontrollerad enhetaktivt kont...