Բովանդակություն:
- Քայլ 1: Սարքավորումը
- Քայլ 2. Softwareրագրակազմ (Arduino ծրագիր)
- Քայլ 3. Լրացուցիչ ծրագրակազմ (սերվերի կողմից GPS- ի տեղադրությունների ընդունում)
- Քայլ 4: Նույնիսկ ավելի շատ ծրագրակազմ (բջջային հավելված)
- Քայլ 5: Ապագա աշխատանք
Video: Ամբողջական Arduino- ի վրա հիմնված մեքենայի GPS+GPRS հակագողության համակարգ. 5 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:51
Բարեւ բոլորին!
Ես ցանկանում էի կառուցել ամբողջական լուծում 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 ծրագիր)
Ես ենթադրում եմ, որ դուք ծանոթ եք 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 ՝ վայելելու սուպեր-իրական ժամանակում հետևելը:)
Հուսով եմ, որ ձեզ դուր եկավ այս առաջին իմ խրատը:
Խորհուրդ ենք տալիս:
Եղանակի կոմպակտ սենսոր GPRS (SIM քարտ) տվյալների հղումով ՝ 4 քայլ
Եղանակի կոմպակտ սենսոր GPRS (SIM քարտ) տվյալների հղումով. Նախագծի ամփոփում Սա մարտկոցով աշխատող եղանակային տվիչ է, որը հիմնված է BME280 ջերմաստիճանի/ճնշման/խոնավության սենսորի և ATMega328P MCU- ի վրա: Այն աշխատում է երկու 3.6 Վ լիթիում թիոնիլ AA մարտկոցով: Ունի ծայրահեղ ցածր քնի սպառումը ՝ 6 μA: Այն ուղարկում է տվյալներ
A9G GPS & GPRS մոդուլի ձեռնարկ - Այ-մտածող - AT հրամաններ ՝ 7 քայլ
A9G GPS & GPRS մոդուլի ձեռնարկ | Այ-մտածող | AT հրամաններ. Հեյ, ինչ կա, տղերք: Աքարշ այստեղ CETech- ից: Այսօր մենք պատրաստվում ենք անցնել A9G GPS, GSM և GPRS մոդուլներ AI Thinker- ից: Կան մի քանի այլ մոդուլներ, ինչպես նաև A9 և A6 AI Thinker- ից, որոնք ունեն նման GSM և GPRS հնարավորություններ, բայց
Arduino Security 3G/GPRS էլ. Փոստի տեսախցիկ `շարժման հայտնաբերմամբ. 4 քայլ
Arduino Security 3G/GPRS էլ. Փոստի տեսախցիկ `շարժման հայտնաբերմամբ. Այս ձեռնարկում ես կցանկանայի պատմել շարժման դետեկտորով անվտանգության հսկողության համակարգի կառուցման և լուսանկարներ փոստարկղ ուղարկելու մասին 3G/GPRS վահանի միջոցով: Այս հոդվածը հիմնված է այլ ցուցումներ ՝ հրահանգ 1 և հրահանգ
Arduino և SIM900 GSM GPRS 3G ջերմաստիճանի և խոնավության գրանցում, բջջային վիճակագրություն. 4 քայլ
Arduino և SIM900 GSM GPRS 3G ջերմաստիճանի և խոնավության գրանցում, բջջային վիճակագրություն. Arduino UNO R3, SIM900 Shield AND DHT22- ով դուք կարող եք մուտքագրել ջերմաստիճանի և խոնավության տվյալները դրսում, սենյակում, ջերմոցում, լաբորատորիայում, հովացման սենյակում կամ որևէ այլ վայրում ՝ բոլորովին անվճար: Այս օրինակը մենք կօգտագործենք սենյակի ջերմաստիճանը և խոնավությունը գրանցելու համար: Սարքը
TCP/IP միացում GPRS- ի միջոցով. Ինչպես ուղարկել տվյալներ սերվերին `օգտագործելով SIM900A մոդուլը. 4 քայլ
TCP/IP միացում GPRS- ի միջոցով. Ինչպես ուղարկել տվյալներ սերվերին `օգտագործելով SIM900A մոդուլը. Այս ձեռնարկում ես ձեզ կասեմ, թե ինչպես կարելի է տվյալներ ուղարկել TCP սերվերին` օգտագործելով sim900 մոդուլը: Նաև կտեսնենք, թե ինչպես կարող ենք տվյալներ ստանալ սերվերից հաճախորդին (GSM մոդուլ)