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

Հավելված - քարտեզագրում + ծանուցման համակարգ. 9 քայլ
Հավելված - քարտեզագրում + ծանուցման համակարգ. 9 քայլ

Video: Հավելված - քարտեզագրում + ծանուցման համակարգ. 9 քայլ

Video: Հավելված - քարտեզագրում + ծանուցման համակարգ. 9 քայլ
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Հունիսի
Anonim
Հավելված - քարտեզագրում + ծանուցման համակարգ
Հավելված - քարտեզագրում + ծանուցման համակարգ

Գիշերային մեքենա վարելը բավականին զվարճալի է: Բայց հաճախ պարզվում է, որ դա մղձավանջ է ՝ ճանապարհը հատող կենդանիների տեսքով (հատկապես այն թափառող կատուներն ու շները, որոնք սպասում են, որ դու քշես նրանց մոտ, որպեսզի նրանք անցնեն !!): Այսպիսով, ես մտածեցի մի բան պատրաստել, որը ձեզ զգուշացնում է, երբ մոտենում եք այս խոցելի վայրերին, որպեսզի կարողանաք ավելի զգույշ վարել:

Համակարգն ունի երկու մաս ՝ տվյալների հավաքագրում և տվյալների որոնում: Առաջին մասը վերցնում է տեղադրության տվյալները, այն վայրերն են, որտեղ կենդանիների հատման ավելի մեծ հավանականություն կա: Այս տվյալները պետք է ձեռքով ավելացվեն և թարմացվեն քարտեզի վրա: Վերջին մասը վերցնում է մեր ընթացիկ գտնվելու վայրը, այնուհետև այն համեմատում հավաքված տվյալների հետ և տրվում համապատասխան ծանուցումներ կամ նախազգուշացումներ:

Պարագաներ

Օգտագործված սարքավորում

ESP8266 WiFi զարգացման տախտակ

Ublox NEO-6M GPS մոդուլ

LED- ները

Մեկ ակնթարթ սեղմող կոճակ

Օգտագործված ծրագրակազմ

Arduino IDE

Javaանկացած JavaScript խմբագիր

Firebase (տվյալների պահպանման և որոնման համար)

Քայլ 1: Սարքավորման միավոր

Սարքավորումը պահանջվում է աշխատել երկու եղանակով (ռեժիմներ). 1) Տեղակայումը պահել տվյալների բազայում. GPS մոդուլով ստացված վայրը ուղարկվում է firebase տվյալների բազային ՝ ESP8266 WiFi զարգացման տախտակի միջոցով:

2) Նավիգացիայի ընթացքում տրամադրեք ծանուցումներ. Նավիգացիայի ընթացքում ընթացիկ վայրը վերցվում և ուղարկվում է տվյալների բազա: Տեղադրության յուրաքանչյուր թարմացումից հետո ընթացիկ գտնվելու վայրի և այդ վայրերի միջև հեռավորությունը (որոնք պահվել են տվյալների հավաքման գործընթացում) հաշվարկվում և վերականգնվում է ESP8266 մոդուլով, որն այնուհետև զգուշացնում է օգտագործողին `համաձայն պահված վայրերից օգտվողի մոտ լինելու:

Ես ավելացրել եմ երեք LED ՝ ռեժիմների փոփոխության մասին տեղեկացնելու համար, ինչպես նաև տվյալների բազայի հաջող թարմացում և նախազգուշական լամպ ՝ օգտագործողի մտերմությունը պահվող վայրին տեղեկացնելու համար:

Կոճակը օգտագործվում է գտնվելու վայրը մեկ սեղմումով պահելու համար (խանութ/տվյալների հավաքման ռեժիմում) և նաև այս ռեժիմների միջև փոխվելու համար:

Սնուցող

Սկզբում օգտագործվում էր 3.7V 300mAh Lipo մարտկոց, բայց դա որոշ խնդիրներ առաջացրեց: Հիմնական խնդիրը ESP8266- ի վերակայումն էր (գուցե պայմանավորված է ընթացիկ թռիչքներով): Բացի այդ, մարտկոցը շատ չծառայեց: Վերջապես ինձ օգնության հասավ powerbank- ը:

Քայլ 2: Շղթա

Շրջան
Շրջան

Քայլ 3: Firebase- ի մասին

Firebase- ի մասին
Firebase- ի մասին
Firebase- ի մասին
Firebase- ի մասին
Firebase- ի մասին
Firebase- ի մասին
Firebase- ի մասին
Firebase- ի մասին

Firebase- ը բջջային և վեբ ծրագրերի մշակման հարթակ է, որը պատկանում է Google- ին: Այն ունի բազմաթիվ հնարավորություններ, բայց այստեղ ես օգտագործում եմ դրանցից միայն երկուսը ՝ Realtime Database և Cloud գործառույթներ:

Firebase- ով աշխատելու համար ՝

1. Նախ գնացեք firebase կայք:

2. Այժմ նավարկեք դեպի մխիթարել և կտտացրեք ստեղծել նոր նախագիծ:

3. Նախագիծ ստեղծելու համար անհրաժեշտ է տրամադրել ծրագրի անվանումը `այլ մանրամասների հետ միասին:

4. Նախագծի ստեղծումից հետո կտտացրեք տվյալների բազայի տարբերակին կողային պատուհանից `նոր տվյալների բազա ստեղծելու համար:

5. Նույնը արեք գործառույթների համար:

Սրանք ընդհանուր քայլեր են ՝ նախագիծ ստեղծելու համար, firebase- ը լավ փաստաթղթավորված է, և սկսնակների համար կան բազմաթիվ youtube վիդեո շարքեր: Սիրով անցեք ավելի շատ հասկանալու համար:

Քայլ 4: Իրական ժամանակի տվյալների շտեմարան

Իրական ժամանակի տվյալների շտեմարան
Իրական ժամանակի տվյալների շտեմարան
Իրական ժամանակի տվյալների շտեմարան
Իրական ժամանակի տվյալների շտեմարան

Տվյալների բազան ստեղծելուց հետո հաջորդ քայլը տեսնելն է, թե ինչպես են տվյալների բազայում պահվող տվյալները և որոնց հասանելի լինելը: Տվյալների բազա գրելու կամ կարդալու համար անհրաժեշտ է կարգավորել տվյալների բազայի կանոնները: Purposeարգացման նպատակով մենք կարող ենք օգտագործել բաց կանոն, որպեսզի տվյալների բազայի հղում ունեցող ցանկացած անձ կարողանա կարդալ/գրել, բայց կանոնները կազմաձևելիս զգույշ լինել: տվյալների բազա: Դուք կարող եք ավելացնել երեխայի հանգույցները ՝ օգտագործելով «+» նշանը, բայց հանգույցները կարող են նաև ծրագրավորվել: «Տվյալների պահման» ռեժիմում տվյալների հավաքագրման բոլոր տվյալները (հավաքված վայրը պահվում է) այստեղ պահվում են որպես առանձին հանգույցներ, մինչդեռ «ծանուցման» ռեժիմում (նավարկության ժամանակ տվյալների առբերում) տվյալները ամեն անգամ թարմացվում են (ստուգեք պատկերը):

Քայլ 5: Firebase գործառույթների կարգավորում

Firebase գործառույթների կարգավորում
Firebase գործառույթների կարգավորում
Firebase գործառույթների կարգավորում
Firebase գործառույթների կարգավորում
Firebase գործառույթների կարգավորում
Firebase գործառույթների կարգավորում

Մեզ անհրաժեշտ է ինչ -որ բան ՝ ներկայիս գտնվելու վայրի մոտիկությունը պահված վայրերին հաշվարկելու համար, և ֆոնային տվյալների բազայի գործարկած գործառույթները մեր գործը կանեն: Գործառույթները գրված են javascript- ով և պետք է տեղակայվեն firebase- ում:

Դուք պետք է ձեր համակարգչում տեղադրեք node.js:

1) Այժմ ներբեռնեք firebase հրամանի տողի միջերեսը ՝ օգտագործելով ձեր հրամանի տողում «npm install -g firebase -tools» հրահանգը

2) Այժմ դուք պետք է մուտք գործեք firebase ՝ օգտագործելով «firebase log» հրահանգը (դուք պետք է նշեք ձեր gmail- ի մուտքի գաղտնաբառը, եթե դեռ մուտք չեք գործել)

3) Դրանից հետո անցեք ձեր ծրագրի գրացուցակին և գործարկեք գործառույթը «firebase init» հրամանով: Դուք պետք է ընտրեք «գործառույթներ» տարբերակը ՝ ձեր նախագծի համար firebase գործառույթներ սկսելու համար:

4) Այժմ դուք պետք է գնաք «գործառույթներ» թղթապանակը ձեր ծրագրի գրացուցակում և գտնեք «index.js» ֆայլը:

5) Խմբագրել ֆայլը տեքստային խմբագրիչով և խմբագրել ֆայլը/փոխարինել ֆայլը mappifier_function.txt- ով: (Սա արդյունավետ կլինի մեր գործառույթը)

6) Վերջապես տեղակայեք ձեր գործառույթը ՝ օգտագործելով «firebase տեղակայումը» հրամանի տողում:

Կարող եք ստուգել, թե արդյոք գործառույթը տեղակայված է ձեր firebase վահանակի գործառույթի ընտրացանկի տակ

Քայլ 6: Կոդ

Կոդ
Կոդ
Կոդ
Կոդ
Կոդ
Կոդ

ESP8266- ի համար

Տախտակը միանում է WiFi- ին և Firebase- ին ՝ օգտագործելով հավատարմագրերը և սպասում է սեղմել կոճակին: Կոճակի սեղմման տևողության համաձայն ՝ սկսվում են տարբեր ռեժիմներ: Տվյալների հավաքման ռեժիմում (եկեք սա անվանենք «պահեստ» ռեժիմ), կոճակների յուրաքանչյուր սեղմում կհանգեցնի ընթացիկ դիրքի տվյալների բազային, իսկ տվյալների որոնման ռեժիմում («ծանուցման ռեժիմ») ՝ ընթացիկ գտնվելու վայրը տվյալների բազային: և հեռավորությունը ինքնաբերաբար վերցվում է տվյալների բազայից: Ես ավելացրել եմ լուսադիոդներ նախազգուշացումների համար (նշվող վայրի մոտիկություն) և ծանուցման համար (օրինակ ՝ GPS ուղղում, WiFi կապ, տվյալների բազայի հաջող գրառում, ռեժիմի փոփոխություն և այլն):

Firebase գործառույթի համար

Այս գործառույթը ստուգում է տվյալների բազայի «ընթացիկ տեղադրության» հանգույցի գրառումը և հաշվարկում տվյալների բազայի և ընթացիկ գտնվելու վայրի միջև եղած հեռավորությունը, այնուհետև գտնում է ամենափոքր հեռավորությունը, որն այնուհետև գրվում է տվյալների բազայի «հեռավորության» հանգույցին:

Հիշեք, որ ձեր ծրագիրը վերբեռնելուց առաջ ավելացրեք ձեր wi -fi հավատարմագրերը և firebase- ի հեղինակային տվյալները: (Խնդրում ենք դիտել նկարները): Բացի այդ, եթե դուք նորեկ եք ESP8266- ում և դրանք ծածկագրում եք Arduino IDE- ով, նշեք դրանք:

Քայլ 7: Ընտրովի քայլ (պարիսպ կառուցելը)

Լրացուցիչ քայլ (պարիսպ կառուցելը)
Լրացուցիչ քայլ (պարիսպ կառուցելը)
Լրացուցիչ քայլ (պարիսպ կառուցելը)
Լրացուցիչ քայլ (պարիսպ կառուցելը)
Լրացուցիչ քայլ (պարիսպ կառուցելը)
Լրացուցիչ քայլ (պարիսպ կառուցելը)
Լրացուցիչ քայլ (պարիսպ կառուցելը)
Լրացուցիչ քայլ (պարիսպ կառուցելը)

Որպեսզի ապարատային մասը կոմպակտ լինի, որպեսզի այն տեղադրվի, ես պատրաստեցի մի փոքրիկ պատյան, որը դրանք տեղավորեց ներսում: Մի քանի անցք արվեց LED- ները տեղադրելու և USB մալուխը միացնելու համար: Բայց վերջնական պարիսպը գերազանցեց իմ սպասելիքները !! Այն հիանալի տեղավորվեց ափիս ներսում, և այն շատ հեշտությամբ տեղադրելի էր ցիկլի բռնակի և ղեկի վրա:

Քայլ 8: Գործողության մեջ…

Ահա մի փոքրիկ տեսանյութ, որը ցուցադրում է երկու ռեժիմները (պահեստավորում և ծանուցում) `նախազգուշացման և ծանուցման LED- ներով:

Քայլ 9: Առաջ շարժվել…

Առաջ շարժվելով…
Առաջ շարժվելով…

Այս համակարգը կարող է օգտագործվել տարբեր նպատակների համար, օրինակ ՝ հաշվի առնելով ներկա սցենարը, եթե դուք կարողանաք ձեռք բերել հիվանդության տարածման վայրերը և պահել այն տվյալների բազայում, այս համակարգի կողմից նախազգուշացումներ կտրվեն, երբ այդ վայրերին ավելի մոտ լինեք: Բայց ես լրջորեն մտածում եմ ամբողջ աշխարհից ստանալ կենդանիների խաչմերուկի տվյալները, որպեսզի վարորդները լինեն զգուշավոր և շատ կենդանիներ փրկվեն դժբախտ պատահարներից: Ես կազմել եմ մի պարզ վեբ էջ (բայց դեռ հյուրընկալված չէ), որն ունի իմ հավաքած բոլոր տվյալները: Սրանք այն տվյալներն են, որոնք ես հավաքել եմ զբոսանքի կամ հեծանվավազքի ժամանակ (երբ ճամփեզրին կատու կամ շուն եմ գտնում, քանի որ նրանք ավելի հակված են հատման), բայց դա իրականացնելու համար մեզ շատ ավելի շատ տվյալներ են պետք:

Ես բավականին նոր եմ վեբ էջեր պատրաստում (հիմնականում javascript) և այլ նյութեր և կցանկանայի ունենալ ձեր առաջարկություններն ու փորձը:)

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