Բովանդակություն:
- Քայլ 1: Նախադրյալներ
- Քայլ 2: Հիմնական հասկացություն
- Քայլ 3: SIM800L մոդուլ
- Քայլ 4: Ublox Neo 6 մ
- Քայլ 5: Շղթա
- Քայլ 6: Կոդ
- Քայլ 7: Վեբ սերվեր
- Քայլ 8: Ավարտում/Փորձ
Video: Տնական իրական ժամանակի GPS հետևիչ (SIM800L, Ublox NEO-6M, Arduino) ՝ 8 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:50
Այսպիսով, դուք ունե՞ք GSM մոդուլ, որը պառկած է ինձ պես: Նաև GPS- որոնիչ:
Մենք նույնն ենք կարծում!
Այս ուսանելի նյութերում ես կփորձեմ ուղղորդել ձեզ, թե ինչպես հասնել ձեր նպատակին նորեկի տեսանկյունից:
Քանի որ ես չունեի էլեկտրատեխնիկայի նախկին գիտելիքներ (ճիշտն ասած, նախագծին այդքան էլ պետք չէ, այլ ոչ), և գաղափար չունեի, թե ինչպես սարք սարքել, որը տվյալները իրական ժամանակում մղում է վեբ սերվեր, ես բախվեցի բազմաթիվ խնդիրների: Այդուհանդերձ, վերջիվերջո ինձ հաջողվեց գործերը գործի դնել:
Այսպիսով, այս ձեռնարկում ես ուզում եմ ընդգծել այն սխալները, որոնք կարող է թույլ տալ սկսնակ գործիչը և համապատասխանաբար կառուցել նախագիծը:
Հիշեք. Էլեկտրականությամբ աշխատելիս միշտ զգույշ եղեք:
Նշում. Ես պրոֆեսիոնալ չեմ: Կոդը կարող է բավականաչափ բարդ չլինել ձեր բոլոր կարիքների համար: Նախագիծը մտադիր է լինել «հոբբի նախագիծ», բայց! ինձ մոտ աշխատեց: Եվ եթե դա աշխատեր ինձ համար, այն կաշխատեր նաև ձեզ համար:
Քայլ 1: Նախադրյալներ
GSM ՄՈԴՈLEԼ - SIM800L
- Բավականին փոքր, հեշտ օգտագործման համար
- Բջջային ինտերնետից օգտվելու ունակություն (GPRS)
- Էժան
GPS մոդուլ - Ublox NEO6M
- Նաև փոքր
- Շատ լավ է կատարում իր աշխատանքը
Միկրոկոնտրոլեր - կարող է լինել ամեն ինչ, կարող եք օգտագործել հայտնի Arduino Uno- ն կամ Nano- ն ՝ որոշակի տարածք ազատելու համար:
Մարտկոց - Ես օգտագործել եմ 18650 բջիջ ՝ որպես հիմնական և միակ էներգիայի աղբյուր (անվանական 3.7 Վ)
Մարտկոցի սեփականատեր - ինչու: - քանի որ 18650 մարտկոցը զոդելը բավականին վտանգավոր է շոգի պատճառով:
DC -DC Boost Converter Step Up մոդուլ 5V - Պետք է ունենա, քանի որ օգտագործած Arduino- ին անհրաժեշտ է 5V
Գործիքներ, հիմնական իրեր, որոնք կարող են օգտակար լինել.
Հաղորդալարեր, եռակցման սարք, փորձարկման համար նախատեսված տախտակ
Քայլ 2: Հիմնական հասկացություն
Համակարգի հիմնական հայեցակարգը հետևյալն է.
Այն բաղկացած է 3 մասից.
- Սարքը, որն ունի համապատասխան GPS կոորդինատներ և կարող է հեռակա կարգով միանալ սերվերին և տվյալներ ուղարկել նրան
- Վեբ սերվեր - որը կարող է ստանալ մուտքային տվյալներ - պահել դրանք - և սպասարկել այլ հաճախորդների
- Հարթակը, որտեղ մենք կարող ենք դիտել կոորդինատները. Իդեալում, այն այժմ պետք է լինի բջջային հավելված կամ կայք
Քայլ 3: SIM800L մոդուլ
Ես դժվարին ժամանակներ ունեցա մոդուլի հետ:
Ես կցանկանայի սկսել որոշ բնութագրերով և հղումներով:
Ըստ տվյալների թերթիկի.
- Այն աշխատում է 3.4V - 4.4V միջակայքում
- Այն կարող է SMS ուղարկել, ձայնային զանգեր կատարել այլ հեռախոսների և նույնիսկ միանալ ինտերնետին:
- Մենք կարող ենք դրա հետ հաղորդակցվել AT- հրամանների միջոցով:
- Պիկ ժամերին այն կարող է օգտագործել մինչև 2 Ա: Նշում. Հավանաբար չեք կարողանա այն չափել բազմիմետրով `նմուշառման ցածր տեմպերի պատճառով
Իմ փորձն այն է, որ 3.8 Վ -ից ցածր SIM800L- ը իրականում չի աշխատում:
Լրացուցիչ տեղեկությունների համար այցելեք ՝ տվյալների թերթիկ
Այսպիսով, ձեր աշխատանքն է `ապահովել մոդուլին առնվազն 3.8 Վ (իդեալականը` 4 Վ), էներգիա, որը թողարկում է առնվազն 2 Ա:
Նախքան մոդուլը վերջնական սարքում օգտագործելը, ես առաջարկում եմ կապ հաստատել ձեր SIM800L- ի և ձեր համակարգչի հետ `համոզվելու համար, որ ձեր սարքը ճիշտ է աշխատում:
Առաջին հերթին, միացրեք SIM քարտը, ինչպես վերևում պատկերված է:
Այն ձեր համակարգչի հետ միացնելու համար կարող եք օգտագործել USB- ից TTL փոխարկիչ կամ Arduino:
Հիմա, ես գնում եմ Արդուինոյի հետ:
Միացրեք SIM800L VCC- ն և GND- ը ձեր էներգիայի աղբյուրի տերմինալներին:
Միացրեք TX- ը Arduino 10 -րդ թվային քորոցին, RX- ը arduino 11 -րդ թվային քորոցին:
Ներբեռնեք կոդը, ես կապեցի այս քայլին:
Կոդի միջոցով դուք կարող եք հրամաններ ուղարկել և դրանք հետ ստանալ ձեր Սերիական մոնիտորի վրա:
Որոշ պարզ հրամաններ.
AT- ը վերադառնում է OK, եթե կապը կարգին է:
ATD+123456789; Callանգահարեք տվյալ հեռախոսահամարով: Նշում. Մի մոռացեք այն ավարտել ստորակետով:
AT+CPIN? Վերադարձնում է SIM քարտի կարգավիճակը (կողպված է, թե ոչ)
Եթե ցանկանում եք SMS ուղարկել, ապա պետք է ավարտեք ձեր մուտքագրումը հատուկ նիշով, դա կարելի է անել '$' խորհրդանիշով:
Հետագա հետաքրքիր հրամանների համար առաջարկում եմ կարդալ սա:
Կան տարբեր հրամաններ, ծանոթացեք դրանց հետ, դրանք իսկապես օգտակար են:
Կա կարմիր կարգավիճակի LED, որը ձեզ հուշում է, թե SIM800L- ն ինչ գործողության մեջ է:
64 MS ON - 800MS OFF - SIM800L գրանցված չէ ցանցում:
64 MS ON - 3000MS OFF - SIM800L գրանցված է ցանցում:
64 MS ON - 300MS OFF - SIM800l- ը GPRS ռեժիմում է
Եթե SIM800L- ը շարունակում է վերագործարկվել մոտ 8-10 անգամ թարթելուց հետո, դա կարող է պայմանավորված լինել էներգիայի արդյունավետ մատակարարման բացակայությունից:
Եթե AT- ից հետո լավ չեք զգում, ստուգեք լարերը: Եթե ունեք բազմաչափ, ստուգեք լարերի շարունակականությունը:
Ստուգեք լարերի և զոդերի միացումները: Մոդուլը կաշխատի միայն թարթելիս:
Քայլ 4: Ublox Neo 6 մ
Որոշ բնութագրեր
- Առավելագույն լարումը `3.6 Վ
- Առավելագույն ընթացիկ խաղարկությունը 67 մԱ է, այնպես որ կարող եք սնուցել այն arduino- ից
- Temերմաստիճանի միջակայքը `-40-85 Celsius (ենթադրում եմ, որ դա ձեզ կհամապատասխանի)
Իմ պատվիրած միավորը եկավ նկարի վրա տեսած ալեհավաքով, ես պարզապես այն միացնում եմ համապատասխան բնիկին:
Սարքը, երբ ազդանշաններ ունի, թարթում է կապույտ LED- ով:
Նախ, ստուգեք, թե ինչպես է GPS- ն աշխատում այստեղ, եթե չգիտեք:
Երբ սարքը միացված է և գտնում է 3 արբանյակ, այն բազմաթիվ ստորակետներով առանձնացված արժեքներ է ուղարկում Arduino- ին, ինչպես վերևում:
Մեր աշխատանքին օգնելու համար մենք կարող ենք օգտագործել որոշ արտաքին գրադարաններ ՝ այս տվյալները վերլուծելու համար ՝ ավելի մարդկային ընթեռնելի լինելու համար:
Դուք կարող եք օգտագործել TinyGps գրադարանը կամ NeoGPS գրադարանը: Ես օգտագործեցի երկրորդը, քանի որ դա ավելի թեթև է:
Փորձարկման համար դուք պետք է հոսանքի կապերը միացնեք arduino 3.3V- ին և GND- ին:
Ներբեռնեք այս կոդը և օգտագործեք այն ձեր GPS- ով: RX Թվային կապում 10, TX Թվային կապում 11
Նշում. Մի մոռացեք մոդուլը օգտագործել դրսում, ցանկալի է, երբ ամպ չկա:
Կես րոպեից հետո սարքը պետք է թարթել և թողնել ձեր GPS կոորդինատները::)
Մի անգամ, երբ գիտեք, որ ձեր SIM800L և GPS մոդուլները աշխատում են համարժեք, կարող եք անցնել հաջորդ քայլին:
Քայլ 5: Շղթա
Շղթան այնպես է, ինչպես նկարում:
Այսպիսով, 3.4V - 4.2V 18650 մարտկոցը էներգիայի հիմնական աղբյուրն է: Sim800L էներգիան ստանում է անմիջապես դրանից: Շրջանի կայունությունը բարելավելու համար նրանց միջև կա պարունակող կոնդենսատոր:
Երբ ընտրում եք կոնդենսատոր, դուք պետք է ընտրեք ցածր ESR հզորություն:
Մեկ 5V ուժեղացուցիչ փոխարկիչը մարտկոցի լարումը հասցնում է 5V- ի (ir- ն անհրաժեշտ է, քանի որ Arduino- ն աշխատում է 5V- ով):
5V հոսանքի երկաթուղին այստեղ միացված է Նանոյին: Sim800L- ը և Neo6m- ը կապված են Նանոյի հետ, ինչպես նկարում: (Sim Tx-D10, SimRx-D11; NeoTX-D3, NeoRX-D4)
D12- ը միացված է RST- ին, այնպես որ մենք ի վիճակի ենք ծրագրված կերպով վերագործարկել համակարգը (բացի SIM800L- ից): ՈEՇԱԴՐՈԹՅՈՆ. Այս վերագործարկման մեթոդը կարող է լավագույն փորձը չլինել)
Եվ վերջապես, երկու LEDS միացված են NANO- ին, այնպես որ մենք կարող ենք օգտվողին ասել, եթե որևէ սխալ տեղի է ունենում:
Քայլ 6: Կոդ
Կոդը կցված է Instructables- ին կամ դիտեք github- ը:
Դուք կարող եք փոփոխել այն ՝ ձեր կարիքների համար ճիշտ աշխատելու համար, կամ կարող եք օգտագործել ուրիշների ծածկագիրը, եթե ցանկանում եք:
waitUntilResponse (); օգնականի գործառույթը վերցված է նրա ծածկագրից: Ստուգեք նրա աշխատանքը և ծածկագիրը նույնպես:
Մի խոսքով, կարգավորման գործառույթում մենք պետք է միացնենք մեր SIM800L մոդուլի GPRS կապը: Մենք գիտենք, արդյոք այն հաջող է, եթե LED- ն արագորեն թարթում է: (setupGPRSC միացում ())
Օղակի գործառույթում `յուրաքանչյուր 15 վայրկյան ուղարկվում է sendData () գործառույթը, որն ունի HTTP հարցում
Ես օգտագործել եմ հարցման տողեր ՝ այս ձևաչափով վեբ սերվեր փոխանցելու համար.
ip adress/file.php? key = value & key = value օր.
Եթե որևէ սխալ տեղի ունենա, համապատասխան LED լուսավորվում է: (SIM, GPS)
Քայլ 7: Վեբ սերվեր
Մեր օգտագործման համար բավական է պարզ թեթև վեբ սերվեր:
Կան որոշ տարբերակներ, որոնցից կարող եք ընտրել.
- Դուք կարող եք օգտագործել ընկերության հեռակա սերվեր, որի համար հավանաբար պարբերաբար պետք է վճարեք:
- Դուք կարող եք օգտագործել ձեր սեփական համակարգիչը: Ես այն առաջարկում եմ միայն փորձարկման համար, այն իսկապես արդյունավետ չէ 24/7 աշխատելը, էներգիայի վատնման, անվտանգության խնդիրների պատճառով:
- Դուք կարող եք օգտագործել մի փոքրիկ համակարգիչ, ինչպիսին է Raspberry PI- ն: Թեթև, էժան, մեծ էներգիա չի սպառում:
Փորձեցի 2 -րդ, 3 -րդ տարբերակը, լավ աշխատեցին: Դե, հիմնական նպատակը ոչ թե այս հրահանգների սերվերներն են, այլ ձեզ հուշում եմ որոշ խորհուրդներ:
Եթե դուք օգտագործում եք համակարգիչ, ապա հավանաբար օգտագործում եք Windows: Եթե ես լինեի ձեր փոխարեն, ես դրա վրա կտեղադրեի Apache կամ XAMPP սերվեր:
XAMPP- ն արդեն ունի PHP, բացի այդ այն գալիս է նաև HTML- ով, Perl- ով և տվյալների շտեմարանի կառավարման համակարգով: PHP- ի միջոցով կարող եք դինամիկ սերվեր պատրաստել: Եթե ցանկանում եք օգտագործել աշխարհի ցանկացած վայրից ձեր պատրաստած տեղական սերվերը, ապա ձեր համակարգչին պետք է ստատիկ IP նշանակեք և մի քանի նավահանգիստ կատարեք: Ստատիկ IP- ի համար օգտակար ձեռնարկ.
Եվ ամբողջ նավահանգիստը.
Եթե դուք ունեք ազնվամորի, ապա դա լավ պրակտիկա է այն օգտագործել: Դուք կարող եք ծանոթանալ Linux- ի հրամաններին և գործարկել ձեր սեփական սերվերը 24/7 ռեժիմով:
ՕՀ -ն Raspbian Jessie- ն էր ՝ առանց գլխի տեղադրման (առանց ստեղնաշարի, մոնիտորի) - ես այն վերահսկում էի իմ համակարգչով ՝ SSH կապով:
Ես օգտագործեցի tyեփամածիկ ՝ իմ Ազնվամորի մտնելու համար: Մի մոռացեք փոխել ձեր հաշվի գաղտնաբառը, որպեսզի ուրիշները չկարողանան մուտք գործել ձեզ Pi: Լռելյայն է ՝ pi, passw: ազնվամորի:
Տեղադրեցի lighttpd վեբ սերվեր sqlite3- ով: Լավ ձեռնարկը գտնվել է այստեղ.
Ես հիմնականում օգտագործել եմ PHP սերվերի ծածկագրում: PHP- ի միջոցով կարող եք ստանալ տվյալներ, կարդալ/գրել տվյալների շտեմարաններ - հարցումը կոդավորել json ձևաչափով և այլն … Այս ձեռնարկը ձեզ շատ կօգնի, թե ինչպես կառավարել ձեր տվյալների բազան PHP- ով:
Դուք կարող եք իմ կոդը դիտել նաև github- ում ՝ server_files պանակում:
Եվ, իհարկե, դուք պետք է միացնեք ձեր Pi- ին դեպի ձեր երթուղիչին portforwarding- ը, եթե ցանկանում եք դրան մուտք գործել հեռակա կարգով:
Քայլ 8: Ավարտում/Փորձ
Anանկապատը դեռ պետք է պատրաստվի:
Իմ փորձն այն է, որ համակարգը ոչ այնքան վատ է աշխատում: Բայց կայունության բարելավումներ են սպասվում:
Եթե որոնիչը չի աշխատել իմ կցած ծածկագրով, մի անհանգստացեք: Փորձեք համոզվել, որ SIM800L- ը և NEO 6M- ն աշխատում են այնպես, ինչպես պետք է: Դուք կարող եք ազատորեն փոփոխել իմ կոդը կամ փնտրել ավելի լավը: Ես պարզապես հույս ունեմ, որ կարող էի ձեզ ցույց տալ մի օրինակ, թե ինչպես կարող եք ավարտել այս նախագիծը:
Ես ընդունում եմ ցանկացած խորհուրդ, ուղղում մեկնաբանություններից: Ազատ զգալ հարցրեք:
Խորհուրդ ենք տալիս:
Ինչպես կատարել խոնավության և ջերմաստիճանի իրական ժամանակի տվյալների գրանցիչ Arduino UNO- ի և SD- քարտի միջոցով: - DHT11 Տվյալների գրանցման մոդելավորում Proteus- ում. 5 քայլ
Ինչպես կատարել խոնավության և ջերմաստիճանի իրական ժամանակի տվյալների գրանցիչ Arduino UNO- ի և SD- քարտի միջոցով DHT11 Տվյալների գրանցման մոդելավորում Proteus- ում. Ներածություն. Բարև, սա Liono Maker- ն է, ահա YouTube- ի հղումը: Մենք ստեղծում ենք ստեղծագործական նախագիծ Arduino- ի հետ և աշխատում ներկառուցված համակարգերի վրա: Data-Logger: Տվյալների գրանցիչ (նաև տվյալների գրանցիչ կամ տվյալների գրանցիչ) էլեկտրոնային սարք է, որը ժամանակի ընթացքում գրանցում է տվյալները
Իրական ժամանակի ժամացույց Arduino- ով `3 քայլ
Իրական ժամանակի ժամացույց Arduino- ով. Այս նախագծում մենք Arduino- ի և RTC մոդուլի օգնությամբ ժամացույց կպատրաստենք: Ինչպես գիտենք, Arduino- ն չի կարող ցուցադրել իրական ժամանակը, այնպես որ մենք կօգտագործենք RTC մոդուլը `LCD- ում ճիշտ ժամանակը ցուցադրելու համար: Ուշադիր կարդացեք բոլոր քայլերը, դա կօգնի ձեզ
Օգտագործելով DS1307 և DS3231 Իրական ժամանակի ժամացույցի մոդուլներ Arduino- ով. 3 քայլ
Օգտագործելով DS1307 և DS3231 Իրական ժամանակի ժամացույցների մոդուլներ Arduino- ի հետ. Մենք շարունակում ենք հարցում ստանալ, թե ինչպես օգտագործել իրական ժամանակի DS1307 և DS3231 ժամացույցների մոդուլները Arduino- ով `տարբեր աղբյուրներից, ուստի սա դրանցից օգտվելու երկու մասից բաղկացած առաջին ձեռնարկն է: Arduino- ի այս ձեռնարկի համար մենք ունենք իրական ժամանակի ժամացույցի երկու մոդուլ
DS1307 Իրական ժամանակի ժամացույց RTC Arduino- ով. 4 քայլ
DS1307 Իրական ժամանակի ժամացույց RTC Arduino- ի հետ. Այս ձեռնարկում մենք կիմանանք իրական ժամանակի ժամացույցի (RTC) և այն մասին, թե ինչպես է Arduino & Իրական ժամանակի ժամացույց IC DS1307- ը միասին դրված է որպես ժամանակացույցի սարք: Իրական ժամանակի ժամացույցը (RTC) օգտագործվում է ժամանակի մոնիտորինգի և օրացույցի պահպանման համար: RTC- ի օգտագործման համար w
Ինչպես պատրաստել իրական ժամանակի ժամացույց Arduino- ի և TFT ցուցադրման միջոցով - Arduino Mega RTC 3.5 դյույմանոց TFT էկրանով. 4 քայլ
Ինչպես պատրաստել իրական ժամանակի ժամացույց Arduino- ի և TFT ցուցադրման միջոցով | Arduino Mega RTC 3.5 դյույմանոց TFT էկրանով. Այցելեք իմ Youtube ալիքը: Ներածություն. 2560 և DS3231 RTC մոդուլ