Բովանդակություն:

Ամբողջական Arduino- ի վրա հիմնված մեքենայի GPS+GPRS հակագողության համակարգ. 5 քայլ (նկարներով)
Ամբողջական Arduino- ի վրա հիմնված մեքենայի GPS+GPRS հակագողության համակարգ. 5 քայլ (նկարներով)

Video: Ամբողջական Arduino- ի վրա հիմնված մեքենայի GPS+GPRS հակագողության համակարգ. 5 քայլ (նկարներով)

Video: Ամբողջական Arduino- ի վրա հիմնված մեքենայի GPS+GPRS հակագողության համակարգ. 5 քայլ (նկարներով)
Video: Կառավարեք AC լամպը Arduino AC Dimmer- ով 2024, Հուլիսի
Anonim
Image
Image
Սարքավորումը
Սարքավորումը

Բարեւ բոլորին!

Ես ցանկանում էի կառուցել ամբողջական լուծում GPS մեքենայի հակագողության սարքի համար, որը կլիներ.

հնարավորինս էժան

հնարավորինս ամբողջական

քանի որ այն պարզապես աշխատում է, հնարավորինս այլ բան չկա անել

Այսպիսով, ես ավարտեցի Arduino- ի վրա հիմնված լուծման կառուցումը, որն ինձ արժեցավ ընդհանուր առմամբ 25 $, քիչ թե շատ:

Ինչպես տեսնում եք տեսանյութից, այն պարզապես աշխատում է: Դուք սկսում եք մեքենան, ձեր բջջային հեռախոսում ստանում եք ծանուցում, որ մեքենան շարժվում է, այնուհետև բացում եք բջջային հավելվածը և տեսնում եք, որ մեքենան շարժվում է իրական ժամանակում (թարմացման 10 վայրկյան հետաձգմամբ):

Այս ձեռնարկը ձեզ կառաջնորդի բոլոր քայլերը ՝ հաշվի առնելով, որ լուծման մեջ կան մի քանի բաղադրիչներ.

1) ապարատային սարք (Arduino- ի հիման վրա)

2) ծրագրակազմ (Arduino ծրագիր)

3) ավելի շատ ծրագրակազմ (սերվերի կողմից GPS- ի տեղադրությունների ընդունում)

4) նույնիսկ ավելի շատ ծրագրակազմ (բջջային հավելված)

Եկ սկսենք..

Քայլ 1: Սարքավորումը

Սարքավորումը
Սարքավորումը

Գնումների ցուցակ.

1) Arduino Uno R3 կամ կլոնավորում: Ես օգտագործեցի «DCcEle DCcduino uno» կլոնը, որը կարծես արդեն հասանելի չէ: Ահա համարժեքը. Aliexpress- ում `3.75 $

2) GPS միավոր Arduino- ի համար (GY-NEO6MV2 նոր GPS մոդուլ Flight Control Flight Control EEPROM MWC APM2.5 մեծ անտենայով NEO6MV2): Ես օգտագործել եմ սա ՝ Aliexpress- ում ՝ 6,66 $

3) GPRS / GSM միավոր Arduino- ի համար (SIM800L V2.0 5V անլար GSM GPRS MODULE քառանիստ W / ալեհավաքի մալուխի կափարիչ): Ես օգտագործել եմ սա ՝ Aliexpress- ում ՝ 6,71 $

4) Պահեստային dupont մալուխներ, ինչպիսիք են `Aliexpress- ում` 0.89 $

5) IoT տվյալների SIM քարտ (կամ ցանկացած այլ SIM քարտ ՝ տվյալների կապով): Ես օգտագործել եմ սա ՝ Hologram.io- ից: Ես ունեմ անվճար ծրագրավորող, միայն վճարովի առաքում `7.50 դոլար

Ընդհանուր ՝ 25.51 $, բայց ես արդեն ունեի մալուխներ, ուստի այն 25 $ -ից պակաս է:

Երկու նկարները ցույց են տալիս բաղադրիչները հավաքելուց առաջ և վերջնական արտադրանքը: Այն կապերը, որոնք դուք պետք է ստեղծեք, հետևյալն են.

Arduino - SIM800L

10 - Վերականգնել

GND - GND (2 -ը)

5 վ - 5 վ

7 - SIM_TXD

8 - SIM_RXD

Arduino-GY-NEO6MV2

GND - GND

5v - VCC

3 - RX

4 - TX

Միացրեք բոլոր մալուխներն ու ալեհավաքները և համոզվեք, որ դուք միացնում եք Arduino- ն այն աղբյուրից, որը կարող է ձեզ տալ 2A գագաթնակետ: Համակարգչի USB- ը հազիվ լավ է (ես օգտագործում եմ MacBook Pro), հեռախոսի «պատահական» լիցքավորիչը բավարար չի լինի: Մեքենաների USB վարդակների մեծ մասը նույնպես 1 Ա -ից պակաս են: Եթե դա ձեր դեպքում է, ապա ձեզ հարկավոր է նաև 12 վ մեքենայի 5 վ էլեկտրամատակարարում առնվազն 2 Ա հզորությամբ:

Տեղադրեք SIM քարտը: Եթե դուք օգտագործում եք Hologram.io SIM քարտը, համոզվեք, որ գրանցված եք նրանց վահանակում և ակտիվացնում եք SIM քարտը (դա տևում է մի քանի րոպե / ժամ):

Քայլ 2. Softwareրագրակազմ (Arduino ծրագիր)

Softwareրագրակազմ (Arduino ծրագիր)
Softwareրագրակազմ (Arduino ծրագիր)

Ես ենթադրում եմ, որ դուք ծանոթ եք Arduino ծրագրավորմանը: Հակառակ դեպքում, խնդրում ենք սկսել այս ուղեցույցով `Instructables- ում:

Ձեզ անհրաժեշտ է միայն մեկ արտաքին գրադարան, ես ստիպված էի այն ձեռքով տեղադրել: Գնացեք այստեղ ՝ TinyGPS, արտահանեք գրադարանը և տեղադրեք այն ձեր տեղական Arduino թղթապանակում:

Այնտեղից մենք պատրաստվում ենք «գողանալ» դրանց հիմնական օրինակից ինչ -որ ծածկագիր և փոփոխել այն մեր նպատակներին համապատասխան:

Հետո մենք պատրաստվում ենք «գողանալ» այս ուղեցույցից և նորից փոփոխել ծածկագիրը ՝ մեր նպատակներին համապատասխան:

Արդյունքը կցված է.ino ծրագրին:

Կան մի քանի բան, որոնք կարող եք և պետք է շտկեք.

սահմանում են «ՎԱՅՐՆԵՐ» -ը, իսկ սահմանում ՝ «ERԱՌԱՅՈԹՅՈՆԸ»:

SECONDS- ը սահմանել եմ 10 և ահա թե ինչու. Hologram.io ծրագրավորողի ծրագիրը ձեզ տալիս է ամսական 1 ՄԲ անվճար տվյալներ: Դա նշանակում է, որ մենք ցանկանում ենք նվազագույնի հասցնել ուղարկված բայթերը, բայց նաև պետք է այնքան հաճախակի թարմացնել մեր դիրքորոշումը: Մենք մտադիր ենք օգտագործել AT մոդեմի ստանդարտ հրամաններ ՝ UDP փաթեթներ ուղարկելու մեր սերվեր ՝ ստանալով հաղորդագրություններ, lat/lon, որոնցից յուրաքանչյուրը օգտագործում է 4 բայթ, իսկ արագությունը ՝ օգտագործելով 1 բայթ: Այսպիսով, GPS- ի ընդհանուր թարմացումը կազմում է 20 բայթ (IP վերնագիր) գումարած 8 բայթ (UDP վերնագիր) գումարած 9 բայթ (բեռնվածություն): Դա 37 բայթ է: Ենթադրելով, որ իմ մեքենան ակտիվ է օրական ոչ ավելի, քան 2 ժամ, ես կարող եմ թույլ տալ թարմացնել յուրաքանչյուր 10 վայրկյանը մեկ և սպառել ամսական ընդամենը 806 կբ (31 օր): Դա ինձ տալիս է 218kb իմ սեփական, այսինքն ՝ մեքենայի գողը վարելու ժամանակի համար: Ինչն ինձ տալիս է 16,76 ժամ gps- ի մոնիտորինգ իմ վարման ժամանակից դուրս, յուրաքանչյուր 10 վայրկյանը մեկ մեկ թարմացումով:

Այժմ, այս UDP փաթեթները պետք է ինչ -որ տեղ գնան: Ես օգտագործում եմ Ubuntu սերվեր, որը տեղակայված է CloudAtCost ամպի վրա, որը ես գնել եմ 8 դոլարով 80% զեղչով, և որն ինձ ծառայում է այլ նպատակների համար, ուստի չի մտնում ծախսերի հաշվարկների մեջ: Եթե չեք ցանկանում վճարել սերվերի համար, կարող եք 12 ամիս անվճար Amazon AWS օրինակ ստանալ և տեղադրել Ubuntu- ն դրա վրա: Ձեր սերվերի կարգավորումն ավարտելուց հետո (տես հաջորդ քայլը), ստացեք նրա ստատիկ IP հասցեն և տեղադրեք այն SERVER- ի սահմանման կողքին:

Քայլ 3. Լրացուցիչ ծրագրակազմ (սերվերի կողմից GPS- ի տեղադրությունների ընդունում)

Ինչպես CloudAtCost- ը, այնպես էլ Amazon- ը գալիս են նախապես կազմաձևված Ubuntu պատկերով (CloudAtCost- ը Ubuntu 14.04-ում է): Այսպիսով, ես չեմ անցնում Ubuntu- ի տեղադրման քայլերը, ինչպես դուք ստիպված չեք լինի: Եթե օգտագործում եք CloudAtCost- ը, գուցե ցանկանաք արդիականացնել Ubuntu 16.04 -ին, դա արվում է

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

Այնուհետև պետք է տեղադրել LAMP (հղում կատարեք այս ուղեցույցին ՝ այստեղ), չնայած մենք չենք պատրաստվում օգտագործել PHP:

Տեղադրեք Python- ը

sudo apt-get տեղադրել python-minimal pip

Այնուհետև ավելացրեք մի քանի մոդուլ.

pip install --user urllib3 հարցումներ

Մենք պետք է սահմանենք /var /www գրելիք ձեր կողմից, ուստի եկեք անենք.

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

sudo chmod -R g+rwX /var /www

Այժմ մեզ պետք է «սերվեր» ՝ i) UDP փաթեթները ստանալու համար, ii) ուղին կառուցելու համար, iii) ծանուցում ուղարկելու մեր բջջային հեռախոսին, և ստեղծված «սերվերը» ՝ GPS- ի հետքերը սպասարկելու համար (սա կլինի apache):

Առաջին սերվերի համար պատճենեք կցված պիթոնի ծածկագիրը: Դուք պետք է կազմաձևեք հետևյալ բաները.

iftttuser = "ՁԵՐ IFTTT Օգտվողը"

iftttpass = "ՔՈ IFTTT գաղտնաբառ"

iftttappletid = "ՔՈ ԻՖՏՏՏ NOTանուցման ծրագրին"

iftttkey = "ՔՈ ԻՖՏՏՏ Բանալին"

iftttevent = "ՔՈ ԻՖՏՏՏ ՄԻENTՈԱՌՈՄԸ"

Ինչպես երևի կռահեցիք, մենք օգտագործում ենք IFTTT ՝ մեր բջջային հեռախոսների իրական ժամանակի ծանուցումները սերվերի համար: Հետևեք այս ուղեցույցին. Այստեղ, բայց «ուղարկեք ինձ SMS» ընտրելու փոխարեն, ընտրեք «ուղարկել ծրագրի ծանուցում»: Ստացեք ձեր ապլետի ID- ն (ոլորեք այն հավելվածի կազմաձևի ներքևում ՝ այն տեսնելու համար) և օգտագործեք այն վերևում: Օգտագործեք նաև ստեղծված ստեղնը վերը նշված պարամետրերում: IFTTT միջոցառումը այն անունն է, որը դուք տվել եք ձեր ապլետին, ես այն տվել եմ «մեքենաշինություն»:

Այժմ, իրական ժամանակում անվճար ծանուցումների հարթակ չկա, AFAIK: Եթե դուք որևէ մեկի մասին գիտեք, տեղեկացրեք ինձ: IFTTT- ն ունի ուշացում: Այս հետաձգումը կարող է հասցվել մի քանի վայրկյանի, եթե օգտագործում եք էլ. Unfortunatelyավոք, սա վստահելի չէ: Հենց ստեղծված վեբհուքն ունի 15 րոպե ուշացում: Բայց մենք չենք ուզում սպասել 15 րոպե, որպեսզի իմանանք, որ մեր մեքենան գողանում են, այնպես չէ՞: Դա այն գաղտնաբառն է, որը խնդրում է ձեզ տեղադրել բոլոր վերը նշված կարգավորումները: Եթե ոլորում եք պիթոնի ծածկագիրը, տեսնում եք, որ կան մի քանի տողեր, այն է ՝ 45-53, IFTTT- ի «ստուգել հիմա» գործառույթը ավտոմատացնելու համար, որը ստիպում է գործարկիչների հանկարծակի ստուգումը և ծանուցումը միացնում 1 վայրկյանից պակաս ժամանակում: Կրկին համեցեք:)

Երբ ինչ -որ տեղ տեղադրեք ձեր python կոդը, պարզապես գործարկեք այն: Եթե դուք պրոֆեսիոնալ օգտվող եք, ապա այն սկսեք սերվերի բեռնման ժամանակ: Անդրադառնացեք տոննա անվճար ուղեցույցներին, թե ինչպես դա անել, օրինակ ՝ այս մեկը:

Քայլ 4: Նույնիսկ ավելի շատ ծրագրակազմ (բջջային հավելված)

Նույնիսկ ավելի շատ ծրագրակազմ (բջջային հավելված)
Նույնիսկ ավելի շատ ծրագրակազմ (բջջային հավելված)
Նույնիսկ ավելի շատ ծրագրակազմ (բջջային հավելված)
Նույնիսկ ավելի շատ ծրագրակազմ (բջջային հավելված)
Նույնիսկ ավելի շատ ծրագրակազմ (բջջային հավելված)
Նույնիսկ ավելի շատ ծրագրակազմ (բջջային հավելված)
Նույնիսկ ավելի շատ ծրագրակազմ (բջջային հավելված)
Նույնիսկ ավելի շատ ծրագրակազմ (բջջային հավելված)

Մեզ պետք է արագ և պարզ միջոց ՝ պարզապես պատկերացնելու gps- ի հետքը, որը նախորդ քայլի սերվերը արդիական է պահում: Հավանաբար, այն պետք է աշխատի բոլոր տեսակի սմարթֆոնների վրա:

Եկեք այնուհետև օգտագործենք միջմոլորակային բջջային հավելվածների փաթեթ, ինչպես Ionic/Cordova- ն: Ես օգտագործում եմ Ionic v1, մի շփոթեք այն Ionic Native- ի կամ Ionic v2- ի հետ, դա այլ բան է:

Հետևեք այս շատ պարզ քայլերին ՝ Ionic- ում ձեր առաջին նախագիծը սկսելու համար. Այստեղ.

Այնուհետեւ, դուք պետք է սկսեք նոր նախագիծ ՝ հիմնված google maps sdk- ի վրա, ինչպես սա է.

ionic start myapp քարտեզներ

Մտեք «ռեսուրսներ» թղթապանակ և պատճենեք մեքենայի մեծ պատկերն այստեղ որպես «icon.png»: Փոխարենը վերբեռնեք փոքր պատկերակները որպես «car2.png» և «start.png» ձեր սերվերի վրա ինչ -որ տեղ, օրինակ ՝ https://yourserver/car2.png: Ձեզ հարկավոր կլինեն դրանք որպես նշիչներ ձեր հավելվածում:

Օգտագործեք կցված index.html (վերանվանել index.html.txt- ին index.html), directives.js և controllers.js ֆայլերը և դրանք տեղադրեք www (index.html), www/js (բոլոր js) մեջ:

ավելացրեք ձեր հարթակը հետևյալ կերպ.

ionic ավելացնել plaftorm android

կառուցել այսպես.

ionic build android

ապա ionic- ը ձեզ կասի, թե որտեղ է այն կառուցել ձեր.apk- ը, որը կարող եք տեղադրել ձեր բջջային հեռախոսի վրա:

IOS- ի համար կառուցելու համար ձեզ հարկավոր է Mac և Xcode: ionic- ն այնուհետև կարող է պահպանել Xcode նախագիծը, որը կարող եք բացել Xcode- ում և կառուցել ձեր հեռախոսի համար: Եթե դուք չունեք iOS ծրագրավորողի հաշիվ, ապա ստիպված կլինեք ձեր հեռախոսը կցել Xcode- ին և տեղադրել ձեր հեռախոսը զարգացման համար, որպեսզի կարողանաք ծրագիրը տեղադրել այնտեղ: Սա դուրս է այս հրահանգի շրջանակներից:

Տարբեր js ֆայլերում դուք պետք է գտնեք «car2.png» - ին և «start.png» - ին համապատասխանող տողերը և դրանք փոխեք ձեր պատկերների ճանապարհով: Նույնը «plan.json» - ի համար:

Վերջ !!

Քայլ 5: Ապագա աշխատանք

1) Ես ամեն ինչ դրել եմ ստվարաթղթե տուփի մեջ, որը կարող եմ թաքցնել USB վարդակի մոտակայքում: Ամենալավ բանը կլինի ավելի լավ պատյան տեղադրել մեքենայի գլխարկի տակ ՝ 12v-> 5v փոխարկիչով:

2) Bluetooth սենսորով դուք իրականում կարող եք «զգալ», եթե մեքենայում եք, այնպես որ gps համակարգը չի միանա:

3) Պարզապես վճարեք SIM տվյալների պլանի համար և SECONDS- ը սահմանեք 1 ՝ վայելելու սուպեր-իրական ժամանակում հետևելը:)

Հուսով եմ, որ ձեզ դուր եկավ այս առաջին իմ խրատը:

Խորհուրդ ենք տալիս: