Innholdsfortegnelse:
- Trinn 1: Maskinvaren
- Trinn 2: Programvaren (Arduino -programmet)
- Trinn 3: Mer programvare (servermottak av GPS-stedene)
- Trinn 4: Enda mer programvare (mobilappen)
- Trinn 5: Fremtidig arbeid
Video: Komplett Arduino-basert kjøretøy GPS+GPRS tyverisikringssystem: 5 trinn (med bilder)
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:25
Hei alle sammen!
Jeg ønsket å bygge en komplett løsning for en tyverisikringsenhet for GPS-kjøretøyer, som ville være:
så billig som mulig
så komplett som mulig
som det-bare-fungerer-det er-ingenting-annet-å-gjøre som mulig
Så jeg endte opp med å bygge en Arduino-basert løsning som kostet meg totalt 25 $, mer eller mindre.
Som du kan se fra videoen, fungerer det bare! Du starter bilen, du får et varsel på mobiltelefonen om at bilen beveger seg, så åpner du mobilappen og du kan se bilen bevege seg i sanntid (med 10 sekunders oppdateringsforsinkelse).
Denne opplæringen vil guide deg gjennom alle trinnene, og husk at det er flere komponenter i løsningen:
1) maskinvaren (Arduino -basert)
2) programvaren (Arduino -programmet)
3) mer programvare (servermottak av GPS-stedene)
4) enda mer programvare (mobilappen)
La oss begynne..
Trinn 1: Maskinvaren
Handleliste:
1) Arduino Uno R3 eller klon. Jeg brukte klonen "DCcEle DCcduino uno", som ikke ser ut til å være tilgjengelig lenger. Her er en ekvivalent: på Aliexpress - 3,75 $
2) GPS-enhet for Arduino (GY-NEO6MV2 ny GPS-modul med Flight Control Flight Control EEPROM MWC APM2.5 stor antenne NEO6MV2). Jeg brukte dette: på Aliexpress - 6,66 $
3) GPRS / GSM-enhet for Arduino (SIM800L V2.0 5V Trådløs GSM GPRS-MODUL Quad-Band W / antenne kabeldeksel). Jeg brukte dette: på Aliexpress - 6,71 $
4) Reserve dupont -kabler som disse: på Aliexpress - 0,89 $
5) IoT data sim -kort (eller et annet simkort med datatilkobling). Jeg brukte dette: fra Hologram.io. Jeg har en gratis utvikler, bare betalt frakt - 7,50 $
Totalt: 25,51 $, men jeg hadde kablene allerede, så det er mindre enn 25 $!
De to bildene viser komponentene før montering, og sluttproduktet. Tilkoblingene du må gjøre er:
Arduino - SIM800L
10 - NULLSTILL
GND - GND (2 av dem)
5v - 5v
7 - SIM_TXD
8 - SIM_RXD
Arduino-GY-NEO6MV2
GND - GND
5v - VCC
3 - RX
4 - TX
Koble til alle kabler og antenner, og sørg for at du slår på Arduino fra en kilde som kan gi deg topper på 2A. Datamaskinen usb er knapt fin (jeg bruker en MacBook Pro), en "tilfeldig" telefonlader vil ikke være nok. De fleste usb -uttak for biler er også mindre enn 1A. Hvis det er ditt tilfelle, trenger du også en 12v bil 5v strømforsyning med minst 2A.
Sett inn sim -kortet. Hvis du bruker Hologram.io -simkortet, må du registrere deg på dashbordet og aktivere sim -kortet (det tar noen minutter / timer).
Trinn 2: Programvaren (Arduino -programmet)
Jeg kommer til å anta at du er kjent med Arduino -programmering. Ellers kan du begynne med denne veiledningen: om instrukser.
Du trenger bare ett eksternt bibliotek, jeg måtte installere det manuelt. Gå hit: TinyGPS, eksporter biblioteket og installer det i din lokale Arduino -mappe.
Derfra skal vi "stjele" noen kode fra deres grunneksempel, og endre den til våre formål.
Vi skal deretter "stjele" fra denne guiden og endre koden igjen til våre formål.
Resultatet er det vedlagte.ino -programmet.
Det er et par ting du kan og MÅ justere:
"SECONDS" definerer, og "SERVER" definerer.
Jeg har satt SECONDS til 10, og her er grunnen: Hologram.io utviklerprogram gir deg 1 MB gratis data per måned. Det betyr at vi ønsker å minimere bytes som er sendt, men vi må også oppdatere posisjonen vår så ofte. Vi skal bruke standard AT -modemkommandoer til å sende UDP -pakker til serveren vår som mottar meldingene, med lat/lon, hver bruker 4 byte, og hastigheten bruker 1 byte. Så den totale GPS -oppdateringen er 20 byte (IP -topptekst) pluss 8 byte (UDP -topptekst) pluss 9 byte (nyttelast). Det er 37 byte. Forutsatt at bilen min er aktiv ikke mer enn 2 timer per dag, har jeg råd til en oppdatering hvert 10. sekund og bruker bare 806 kb i måneden (31 dager). Det gir meg 218 kb for kjøretiden over min egen, det vil si biltyven. Noe som gir meg 16,76 timers GPS -overvåking utenfor kjøretiden min, med en oppdatering hvert 10. sekund.
Nå må disse UDP -pakkene gå et sted. Jeg bruker en Ubuntu -server som er vert på en CloudAtCost -sky, som jeg kjøpte for 8 $ med 80% rabatt, og som tjener meg andre formål, og går derfor ikke inn i kostnadsberegningene. Hvis du ikke vil betale for en server, kan du få en gratis Amazon AWS -forekomst i 12 måneder, og installere Ubuntu på den. Når du har konfigurert serveren din (se neste trinn), får du den statiske IP -adressen og legger den ved siden av SERVER -definisjonen.
Trinn 3: Mer programvare (servermottak av GPS-stedene)
Både CloudAtCost og Amazon kommer med et forhåndskonfigurert Ubuntu-bilde (CloudAtCost er på Ubuntu 14.04). Så jeg går ikke gjennom trinnene for å installere Ubuntu, da du ikke trenger det. Hvis du bruker CloudAtCost, kan det være lurt å oppgradere til Ubuntu 16.04, det er gjort med en
sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
Deretter må du installere LAMP (se denne guiden: her), selv om vi ikke kommer til å bruke PHP.
Installer Python med
sudo apt-get install python-minimal pip
Legg deretter til et par moduler:
pip install --user urllib3 forespørsler
Vi må angi /var /www som kan skrives av deg, så la oss gjøre:
sudo adduser YOUR_USER www-datasudo chown -R www-data: www-data /var /www
sudo chmod -R g+rwX /var /www
Nå trenger vi en "server" for å i) motta UDP -pakkene, ii) bygge sporet, iii) sende et varsel til mobiltelefonen vår, og en "server" for å betjene det opprettede GPS -sporet (dette blir apache).
For den første serveren, kopier den vedlagte pythonkoden. Du må konfigurere følgende ting:
iftttuser = "DIN IFTTT -BRUKER"
iftttpass = "DITT IFTTT PASSORD"
iftttappletid = "DIN IFTTT MELDINGSAPPLETT"
iftttkey = "DIN IFTTT -NØKKEL"
iftttevent = "DIN IFTTT EVENT"
Som du kanskje har gjettet, bruker vi IFTTT til å varsle sanntidsvarsler til mobiltelefonene våre. Følg denne veiledningen: her, men i stedet for å velge "send meg en sms", velg "send en appvarsel". Skaff deg applet -ID -en din (bla nederst i applets konfigurasjon for å se den) og bruk den ovenfor. Bruk også den så opprettede nøkkelen i innstillingene ovenfor. IFTTT -hendelsen er navnet du ga til appleten din, jeg ga den "carmoving".
Nå er det ingen varslingsplattformer i sanntid gratis, AFAIK. Hvis du vet om en, gi meg beskjed. IFTTT har en forsinkelse. Denne forsinkelsen kan minimeres til noen få sekunder hvis du bruker e -postutløseren. Dessverre er dette ikke pålitelig. Den nettopp opprettede webhooken har en forsinkelse på 15 minutter. Men vi vil ikke vente i 15 minutter for å vite at bilen vår blir stjålet, ikke sant? Det er passordet for å be deg om å konfigurere alle innstillingene ovenfor. Hvis du blar i python-koden, ser du at det er noen få linjer, nemlig 45-53, for å automatisere "sjekk nå" -funksjonaliteten til IFTTT, noe som tvinger til en plutselig kontroll av utløserne og utløser varselet på mindre enn 1 sekund! Værsågod:)
Når du har konfigurert python -koden et sted, bare kjør den. Hvis du er en pro -bruker, må du starte den ved oppstart av serveren. Se tonnevis med gratis guider på nettet om hvordan du gjør det, for eksempel denne.
Trinn 4: Enda mer programvare (mobilappen)
Vi trenger en rask og enkel måte å bare visualisere GPS -sporet som serveren på forrige trinn holder seg oppdatert. Mulig det må fungere på alle slags smarttelefoner.
La oss deretter bruke en mobilapp-pakke på tvers av plattformer, som Ionic/Cordova. Jeg bruker Ionic v1, ikke forveksle det med Ionic Native eller Ionic v2, det er en annen ting.
Følg disse veldig enkle trinnene for å starte ditt første prosjekt i Ionic: her.
Deretter må du starte et nytt prosjekt basert på google maps sdk, slik:
ionisk start myapp -kart
Gå inn i "ressurser" -mappen og kopier det store bilbildet her som "icon.png". Last opp de små ikonene i stedet som "car2.png" og "start.png" et sted på serveren din, for eksempel https://yourserver/car2.png. Du kommer til å trenge disse som markører i appen din.
Bruk vedlagte index.html (gi nytt navn til index.html.txt til index.html), directives.js og controllers.js -filer, og legg dem inn i www (index.html), www/js (alle js).
legg til plattformen din slik:
ionic add plaftorm android
bygge slik:
ionisk bygge android
da vil ionic fortelle deg hvor den.apk bygde den som du kan installere på mobiltelefonen.
For å bygge for iOS trenger du en Mac og Xcode. ionic kan deretter lagre et Xcode -prosjekt, som du kan åpne i Xcode og bygge for telefonen. Hvis du ikke har en iOS -utviklerkonto, må du deretter koble telefonen til Xcode og konfigurere telefonen for utvikling for å kunne installere appen der. Dette er utenfor omfanget av denne instruksen.
I de forskjellige js -filene må du finne linjene som tilsvarer "car2.png" og "start.png" og endre dem med banen til bildene dine. Samme for "plan.json".
Det er det!!
Trinn 5: Fremtidig arbeid
1) Jeg har lagt alt i en pappeske som jeg kan skjule hvor som helst i nærheten av usb -uttaket. Den beste tingen å gjøre ville være å montere et bedre etui under panseret på bilen, med en 12v-> 5v omformer.
2) Med en bluetooth -sensor kan du faktisk "føle" om du er i bilen, slik at gps -systemet ikke slås på.
3) Bare betal for en sim-dataplan og sett SECONDS til 1 for å nyte sporing i sanntid:)
Håper du likte denne første instruksen min!
Anbefalt:
Kompakt værsensor med GPRS (SIM -kort) datalink: 4 trinn
Kompakt værsensor med GPRS (SIM-kort) datalink: Prosjektoppsummering Dette er en batteridrevet værsensor basert på en BME280 temperatur/trykk/fuktighetssensor og en ATMega328P MCU. Den går på to 3,6 V litiumtionyl AA -batterier. Den har et ekstremt lavt søvnforbruk på 6 µA. Det sender det
A9G Opplæring i GPS og GPRS -modul - Ai-Tinker - AT -kommandoer: 7 trinn
A9G Opplæring i GPS og GPRS -modul | Ai-Tinker | AT -kommandoer: Hei, hva skjer, gutter! Akarsh her fra CETech. I dag skal vi gå gjennom A9G GPS-, GSM- og GPRS -modul fra AI Thinker. Det er også flere andre moduler, for eksempel A9 og A6 fra AI Thinker som har lignende GSM- og GPRS -evner, men
Arduino Security 3G/GPRS e -postkamera med bevegelsesdeteksjon: 4 trinn
Arduino Security 3G/GPRS e -postkamera med bevegelsesdeteksjon: I denne håndboken vil jeg fortelle om en versjon av å bygge et sikkerhetsovervåkingssystem med en bevegelsesdetektor og sende bilder til postkassen via 3G/GPRS -skjold. Denne artikkelen er basert på andre instruksjoner: instruksjon 1 og instruksjon
Arduino og SIM900 GSM GPRS 3G Temperatur- og fuktighetslogging, mobilstatistikk: 4 trinn
Arduino og SIM900 GSM GPRS 3G Temperatur- og fuktighetslogging, mobile statistikker: Med Arduino UNO R3, SIM900 Shield OG DHT22 kan du logge temperatur- og fuktighetsdata utenfor, i rom, drivhus, laboratorium, kjølerom eller andre steder helt gratis. Dette eksemplet vil vi bruke til å logge romtemperatur og fuktighet. Enheten vil
TCP/IP -tilkobling via GPRS: Slik sender du data til server ved hjelp av SIM900A -modul: 4 trinn
TCP/IP -tilkobling via GPRS: Slik sender du data til server ved hjelp av SIM900A -modul: I denne opplæringen skal jeg fortelle deg hvordan du sender data til TCP -server ved hjelp av sim900 -modul. Vi vil også se hvordan vi kan motta data fra server til klient (GSM -modul)