Turinys:

Pilna „Arduino“transporto priemonės GPS+GPRS apsaugos nuo vagystės sistema: 5 žingsniai (su nuotraukomis)
Pilna „Arduino“transporto priemonės GPS+GPRS apsaugos nuo vagystės sistema: 5 žingsniai (su nuotraukomis)

Video: Pilna „Arduino“transporto priemonės GPS+GPRS apsaugos nuo vagystės sistema: 5 žingsniai (su nuotraukomis)

Video: Pilna „Arduino“transporto priemonės GPS+GPRS apsaugos nuo vagystės sistema: 5 žingsniai (su nuotraukomis)
Video: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, Lapkritis
Anonim
Image
Image
Aparatūra
Aparatūra

Sveiki visi!

Norėjau sukurti išsamų GPS transporto priemonių apsaugos nuo vagystės sprendimą, kuris būtų toks:

kuo pigiau

kuo išsamiau

kaip tik veikia-nėra ką veikti

Taigi aš galiausiai sukūriau „Arduino“pagrįstą sprendimą, kuris man iš viso kainavo 25 USD, daugiau ar mažiau.

Kaip matote iš vaizdo įrašo, tai tiesiog veikia! Užvedę automobilį, mobiliajame telefone gausite pranešimą, kad automobilis juda, tada atidarote programėlę mobiliesiems ir galite matyti, kaip automobilis juda realiu laiku (su 10 sekundžių atnaujinimo vėlavimu).

Ši pamoka padės jums atlikti visus veiksmus, turint omenyje, kad sprendime yra keli komponentai:

1) aparatinė įranga (pagrįsta „Arduino“)

2) programinė įranga („Arduino“programa)

3) daugiau programinės įrangos (GPS vietų gavimas serverio pusėje)

4) dar daugiau programinės įrangos (mobilioji programa)

Pradėkime..

1 žingsnis: Aparatūra

Aparatūra
Aparatūra

Prekių sąrašas:

1) „Arduino Uno R3“arba klonas. Aš naudojau „DCcEle DCcduino uno“kloną, kurio, atrodo, nebėra. Štai atitikmuo: „Aliexpress“- 3,75 USD

2) „Arduino“GPS įrenginys (naujas GY-NEO6MV2 GPS modulis su skrydžio valdymo skrydžio valdymu EEPROM MWC APM2.5 didelė antena NEO6MV2). Aš naudoju tai: „Aliexpress“- 6,66 USD

3) GPRS / GSM įrenginys, skirtas „Arduino“(SIM800L V2.0 5V belaidis GSM GPRS MODULIS Keturių juostų W / antenos kabelio dangtelis). Aš naudoju tai: „Aliexpress“- 6,71 USD

4) Atsarginiai dupontiniai kabeliai: „Aliexpress“- 0,89 USD

5) „IoT“duomenų SIM kortelė (arba bet kuri kita SIM kortelė su duomenų ryšiu). Aš naudoju tai: iš Hologram.io. Turiu nemokamą kūrėją, tik mokamas pristatymas - 7,50 USD

Iš viso: 25,51 USD, bet aš jau turėjau laidus, taigi mažiau nei 25 USD!

Dvi nuotraukos rodo komponentus prieš surinkimą ir galutinį produktą. Ryšiai, kuriuos turite padaryti, yra šie:

„Arduino“- SIM800L

10 - NUSTATYTI

GND - GND (2 iš jų)

5v - 5v

7 - SIM_TXD

8 - SIM_RXD

„Arduino“-GY-NEO6MV2

GND - GND

5v - VCC

3 - RX

4 - TX

Prijunkite visus kabelius ir antenas ir įsitikinkite, kad įjungiate „Arduino“iš šaltinio, galinčio duoti 2A smailę. Kompiuterio USB beveik nėra gerai (aš naudoju „MacBook Pro“), „atsitiktinio“telefono įkroviklio nepakaks. Daugelio automobilių USB lizdai taip pat yra mažesni nei 1A. Jei taip yra, jums taip pat reikia 12 V automobilio 5 V maitinimo šaltinio, kurio įtampa ne mažesnė kaip 2 A.

Įdėkite sim kortelę. Jei naudojate „Hologram.io“sim kortelę, būtinai užsiregistruokite jų prietaisų skydelyje ir suaktyvinkite sim kortelę (tai užtrunka kelias minutes / valandas).

2 veiksmas: programinė įranga („Arduino“programa)

Programinė įranga („Arduino“programa)
Programinė įranga („Arduino“programa)

Manau, kad esate susipažinęs su „Arduino“programavimu. Priešingu atveju pradėkite nuo šio vadovo: „Instructables“.

Jums reikia tik vienos išorinės bibliotekos, aš turėjau ją įdiegti rankiniu būdu. Eikite čia: „TinyGPS“, eksportuokite biblioteką ir įdiekite ją į vietinį „Arduino“aplanką.

Iš ten mes „pavogsime“tam tikrą kodą iš jų pagrindinio pavyzdžio ir pakeisime jį pagal savo tikslus.

Tada mes „pavogsime“iš šio vadovo ir dar kartą pakeisime kodą pagal savo tikslus.

Rezultatas - pridedama.ino programa.

Yra keletas dalykų, kuriuos galite ir turite pataisyti:

„SECONDS“ir „SERVER“.

SECONDS nustatiau į 10 ir štai kodėl: „Hologram.io“kūrėjų programa suteikia jums 1 MB nemokamų duomenų per mėnesį. Tai reiškia, kad norime sumažinti siunčiamų baitų skaičių, bet taip pat turime taip dažnai atnaujinti savo poziciją. Mes naudojame standartines AT modemo komandas, norėdami siųsti UDP paketus į mūsų serverį, gaunančius pranešimus, su lat/lon, kiekvienas naudodamas 4 baitus, o greitis - 1 baitą. Taigi bendras GPS atnaujinimas yra 20 baitų (IP antraštė) plius 8 baitai (UDP antraštė) plius 9 baitai (naudingoji apkrova). Tai yra 37 baitai. Darant prielaidą, kad mano automobilis yra aktyvus ne ilgiau kaip 2 valandas per dieną, galiu sau leisti atnaujinti kas 10 sekundžių ir sunaudoti tik 806 kb per mėnesį (31 dieną). Tai suteikia man 218 kb važiavimo laiko, palyginti su mano, tai yra automobilio vagimi. Tai suteikia man 16,76 valandų GPS stebėjimą ne vairavimo metu, po vieną atnaujinimą kas 10 sekundžių.

Dabar šie UDP paketai turi kažkur eiti. Aš naudoju „Ubuntu“serverį, priglobtą „CloudAtCost“debesyje, kurį nusipirkau už 8 USD su 80% nuolaida ir kuris man tarnauja kitais tikslais, todėl į sąnaudų apskaičiavimą neįeina. Jei nenorite mokėti už serverį, 12 mėnesių galite gauti nemokamą „Amazon AWS“egzempliorių ir jame įdiegti „Ubuntu“. Nustatę serverį (žr. Kitą veiksmą), gaukite jo statinį IP adresą ir padėkite jį šalia SERVER apibrėžimo.

3 veiksmas: daugiau programinės įrangos (GPS vietų gavimas serverio pusėje)

Tiek „CloudAtCost“, tiek „Amazon“yra iš anksto sukonfigūruotas „Ubuntu“vaizdas („CloudAtCost“yra „Ubuntu 14.04“). Taigi aš neatliksiu „Ubuntu“diegimo veiksmų, kaip jums nereikės. Jei naudojate „CloudAtCost“, galbūt norėsite naujovinti į „Ubuntu 16.04“, tai daroma naudojant

sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade

Tada turite įdiegti LAMP (žr. Šį vadovą: čia), nors mes nenaudosime PHP.

Įdiekite „Python“naudodami

sudo apt-get install python-minimal pip

Tada pridėkite porą modulių:

pip install -vartotojo urllib3 užklausos

Turime nustatyti /var /www, kurį galite rašyti jūs, todėl padarykime:

sudo adduser YOUR_USER www-datasudo chown -R www-data: www-data /var /www

sudo chmod -R g+rwX /var /www

Dabar mums reikia „serverio“, kad i) gautume UDP paketus, ii) sukurtume takelį, iii) atsiųstume pranešimą į mūsų mobilųjį telefoną, ir „serverio“, kuris aptarnautų sukurtą GPS takelį (tai bus apache).

Pirmajam serveriui nukopijuokite pridėtą „Python“kodą. Turite sukonfigūruoti šiuos dalykus:

iftttuser = "JŪSŲ IFTTT NAUDOTOJAS"

iftttpass = "JŪSŲ IFTTT Slaptažodis"

iftttappletid = "JŪSŲ IFTTT PRANEŠIMO APPLĖTAS"

iftttkey = "JŪSŲ IFTTT RAKTAS"

iftttevent = "JŪSŲ IFTTT ĮVYKIS"

Kaip jau spėjote atspėti, mes naudojame IFTTT realaus laiko pranešimų serveriams į savo mobiliuosius telefonus. Vadovaukitės šiuo vadovu: čia, o ne pasirinkę „siųsti man SMS“, pasirinkite „siųsti programos pranešimą“. Gaukite savo programėlės ID (slinkite apačios programėlės konfigūracijos apačioje, kad pamatytumėte) ir naudokite jį aukščiau. Taip pat naudokite taip sukurtą raktą aukščiau esančiuose nustatymuose. IFTTT renginys yra jūsų programėlės pavadinimas, aš jam daviau „carmoving“.

Dabar nėra realaus laiko pranešimų platformų nemokamai, AFAIK. Jei žinote vieną, praneškite man. IFTTT turi vėlavimą. Šį uždelsimą galima sumažinti iki kelių sekundžių, jei naudojate el. Pašto aktyviklį. Deja, tai nėra patikima. Ką tik sukurtas žiniatinklio kablys vėluoja 15 minučių. Bet mes nenorime laukti 15 minučių, kad sužinotume, jog mūsų automobilis yra vogtas, tiesa? Tai slaptažodis, kuriuo prašoma nustatyti visus aukščiau nurodytus nustatymus. Jei slinkite „Python“kodą, matote, kad yra keletas eilučių, būtent 45–53, kad būtų automatizuota IFTTT „patikrinkite dabar“funkcija, kuri verčia staiga patikrinti aktyviklius ir suaktyvina pranešimą per mažiau nei 1 sekundę! Prašom:)

Kai kur nors sukonfigūruosite savo „python“kodą, tiesiog paleiskite jį. Jei esate profesionalus vartotojas, pradėkite nuo serverio įkrovos. Žr. Daugybę nemokamų vadovų internete, kaip tai padaryti, pavyzdžiui, šį.

4 žingsnis: dar daugiau programinės įrangos (programa mobiliesiems)

Dar daugiau programinės įrangos (programa mobiliesiems)
Dar daugiau programinės įrangos (programa mobiliesiems)
Dar daugiau programinės įrangos (programa mobiliesiems)
Dar daugiau programinės įrangos (programa mobiliesiems)
Dar daugiau programinės įrangos (programa mobiliesiems)
Dar daugiau programinės įrangos (programa mobiliesiems)
Dar daugiau programinės įrangos (programa mobiliesiems)
Dar daugiau programinės įrangos (programa mobiliesiems)

Mums reikia greito ir paprasto būdo tiesiog vizualizuoti GPS takelį, kurį ankstesnio veiksmo serveris nuolat atnaujina. Galbūt jis turi veikti su visais išmaniaisiais telefonais.

Tada naudokime kelių platformų mobiliųjų programų rinkinį, pvz., „Ionic“/„Cordova“. Aš naudoju „Ionic v1“, nepainiokite jo su „Ionic Native“arba „Ionic v2“, tai visai kas kita.

Norėdami pradėti savo pirmąjį „Ionic“projektą, atlikite šiuos labai paprastus veiksmus: čia.

Tada turite pradėti naują projektą, pagrįstą „Google maps sdk“, pavyzdžiui:

joniniai paleidimo myapp žemėlapiai

Eikite į aplanką „ištekliai“ir nukopijuokite didelį automobilio vaizdą čia kaip „icon.png“. Vietoj to įkelkite mažas piktogramas kaip „car2.png“ir „start.png“kur nors savo serveryje, pvz., Http: //yourserver/car2.png. Tai jums reikės kaip žymekliai programoje.

Naudokite pridėtus failus index.html (pervardykite index.html.txt į index.html), directives.js ir controllers.js failus ir įdėkite juos į www (index.html), www/js (visus js).

pridėkite savo platformą taip:

joninis pridėkite „Android“plaformą

statyti taip:

joninės konstrukcijos „Android“

tada „ionic“jums pasakys, kur sukūrė jūsų.apk, kurį galite įdiegti savo mobiliajame telefone.

Norėdami sukurti „iOS“, jums reikės „Mac“ir „Xcode“. „ionic“gali išsaugoti „Xcode“projektą, kurį galite atidaryti „Xcode“ir sukurti savo telefonui. Jei neturite „iOS“kūrėjo paskyros, turėsite prijungti telefoną prie „Xcode“ir nustatyti, kad telefonas būtų sukurtas, kad galėtumėte ten įdiegti programą. Tai nepatenka į šios instrukcijos taikymo sritį.

Įvairiuose „js“failuose turėsite rasti eilutes, atitinkančias „car2.png“ir „start.png“, ir jas modifikuoti pagal savo vaizdų kelią. Tas pats ir „plan.json“.

Viskas!!

5 žingsnis: būsimas darbas

1) Sudėjau viską į kartoninę dėžę, kurią galiu paslėpti bet kur prie USB lizdo. Geriausias dalykas būtų sumontuoti geresnį dėklą po automobilio gaubtu, naudojant 12v-> 5v keitiklį.

2) Naudodami „Bluetooth“jutiklį iš tikrųjų galėtumėte „nujausti“, jei esate automobilyje, todėl GPS sistema neįsijungs.

3) Tiesiog sumokėkite už sim duomenų planą ir nustatykite SECONDS į 1, kad galėtumėte mėgautis stebėjimu realiuoju laiku:)

Tikiuosi, kad jums patiko šis pirmasis mano pamokymas!

Rekomenduojamas: