Բովանդակություն:
- Պարագաներ
- Քայլ 1: Սարքավորման միավոր
- Քայլ 2: Շղթա
- Քայլ 3: Firebase- ի մասին
- Քայլ 4: Իրական ժամանակի տվյալների շտեմարան
- Քայլ 5: Firebase գործառույթների կարգավորում
- Քայլ 6: Կոդ
- Քայլ 7: Ընտրովի քայլ (պարիսպ կառուցելը)
- Քայլ 8: Գործողության մեջ…
- Քայլ 9: Առաջ շարժվել…
Video: Հավելված - քարտեզագրում + ծանուցման համակարգ. 9 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:46
Գիշերային մեքենա վարելը բավականին զվարճալի է: Բայց հաճախ պարզվում է, որ դա մղձավանջ է ՝ ճանապարհը հատող կենդանիների տեսքով (հատկապես այն թափառող կատուներն ու շները, որոնք սպասում են, որ դու քշես նրանց մոտ, որպեսզի նրանք անցնեն !!): Այսպիսով, ես մտածեցի մի բան պատրաստել, որը ձեզ զգուշացնում է, երբ մոտենում եք այս խոցելի վայրերին, որպեսզի կարողանաք ավելի զգույշ վարել:
Համակարգն ունի երկու մաս ՝ տվյալների հավաքագրում և տվյալների որոնում: Առաջին մասը վերցնում է տեղադրության տվյալները, այն վայրերն են, որտեղ կենդանիների հատման ավելի մեծ հավանականություն կա: Այս տվյալները պետք է ձեռքով ավելացվեն և թարմացվեն քարտեզի վրա: Վերջին մասը վերցնում է մեր ընթացիկ գտնվելու վայրը, այնուհետև այն համեմատում հավաքված տվյալների հետ և տրվում համապատասխան ծանուցումներ կամ նախազգուշացումներ:
Պարագաներ
Օգտագործված սարքավորում
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- ը բջջային և վեբ ծրագրերի մշակման հարթակ է, որը պատկանում է Google- ին: Այն ունի բազմաթիվ հնարավորություններ, բայց այստեղ ես օգտագործում եմ դրանցից միայն երկուսը ՝ Realtime Database և Cloud գործառույթներ:
Firebase- ով աշխատելու համար ՝
1. Նախ գնացեք firebase կայք:
2. Այժմ նավարկեք դեպի մխիթարել և կտտացրեք ստեղծել նոր նախագիծ:
3. Նախագիծ ստեղծելու համար անհրաժեշտ է տրամադրել ծրագրի անվանումը `այլ մանրամասների հետ միասին:
4. Նախագծի ստեղծումից հետո կտտացրեք տվյալների բազայի տարբերակին կողային պատուհանից `նոր տվյալների բազա ստեղծելու համար:
5. Նույնը արեք գործառույթների համար:
Սրանք ընդհանուր քայլեր են ՝ նախագիծ ստեղծելու համար, firebase- ը լավ փաստաթղթավորված է, և սկսնակների համար կան բազմաթիվ youtube վիդեո շարքեր: Սիրով անցեք ավելի շատ հասկանալու համար:
Քայլ 4: Իրական ժամանակի տվյալների շտեմարան
Տվյալների բազան ստեղծելուց հետո հաջորդ քայլը տեսնելն է, թե ինչպես են տվյալների բազայում պահվող տվյալները և որոնց հասանելի լինելը: Տվյալների բազա գրելու կամ կարդալու համար անհրաժեշտ է կարգավորել տվյալների բազայի կանոնները: Purposeարգացման նպատակով մենք կարող ենք օգտագործել բաց կանոն, որպեսզի տվյալների բազայի հղում ունեցող ցանկացած անձ կարողանա կարդալ/գրել, բայց կանոնները կազմաձևելիս զգույշ լինել: տվյալների բազա: Դուք կարող եք ավելացնել երեխայի հանգույցները ՝ օգտագործելով «+» նշանը, բայց հանգույցները կարող են նաև ծրագրավորվել: «Տվյալների պահման» ռեժիմում տվյալների հավաքագրման բոլոր տվյալները (հավաքված վայրը պահվում է) այստեղ պահվում են որպես առանձին հանգույցներ, մինչդեռ «ծանուցման» ռեժիմում (նավարկության ժամանակ տվյալների առբերում) տվյալները ամեն անգամ թարմացվում են (ստուգեք պատկերը):
Քայլ 5: 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) և այլ նյութեր և կցանկանայի ունենալ ձեր առաջարկություններն ու փորձը:)
Խորհուրդ ենք տալիս:
Ստացեք ծանուցման նամակ, երբ ThingSpeak- ի ալիքը որոշ ժամանակ չի թարմացվել. 16 քայլ
Ստացեք ծանուցման նամակ, երբ ThingSpeak- ի ալիքը որոշ ժամանակ չի թարմացվել. Նախապատմություն պատմություն Ես ունեմ վեց ավտոմատ ջերմոց, որոնք տարածված են Դուբլինում, Իռլանդիա: Օգտագործելով բջջային հեռախոսի պատվերով պատրաստված ծրագիր, ես կարող եմ հեռակա վերահսկել և շփվել յուրաքանչյուր ջերմոցի ավտոմատացված գործառույթների հետ: Ես կարող եմ ձեռքով բացել / փակել հաղթանակը
Կատարեք խոսող / ձայնային ծանուցման նախազգուշացման համակարգ. 4 քայլ
Ստեղծեք խոսող / ձայնային ծանուցման նախազգուշացման համակարգ. Այս նախագիծը մենք կազմել ենք Խոսող / ձայնային ծանուցման և նախազգուշացման համակարգ: Այս նախագծում կարող է օգտագործվել առնվազն երկու տվիչ
IoT- ի վրա հիմնված լվացքի ծանուցման համակարգ. 18 քայլ
IoT- ի վրա հիմնված լվացքի ծանուցման համակարգ. HiThis հրահանգը տալիս է քայլ առ քայլ ներածություն այն մասին, թե ինչպես կարելի է կառուցել IoT- ի վրա հիմնված լվացքի ծանուցման համակարգ: Սարքը կցված է ձեր գզրոցներին և լվացքի պայուսակին: Հանուն ցուցադրության այստեղ մենք վերցրել ենք երկու գզրոց և մեկ լվացքի պայուսակ: Sensգում է
Սուրճի ծանուցման ավտոմատ համակարգ. 7 քայլ (նկարներով)
Սուրճի ծանուցման ավտոմատ համակարգ. Այս նախագծում ես խելացի եմ դարձնում գրասենյակային սուրճ պատրաստողը ՝ ստեղծելով սուրճի ահազանգման համակարգ, որը Slack- ի մասին ծանուցումներ է ուղարկում, երբ ինչ -որ մեկը պատրաստում է սուրճի թարմ կաթսա: Կոդը կարող է փոխվել ՝ էլ. Նամակ կամ տեքստային հաղորդագրություն ուղարկելու համար: Այս նախագիծը կառուցված է R
Պարզ ISS ծանուցման համակարգ. 6 քայլ (նկարներով)
ISS- ի ծանուցման պարզ համակարգ. Ի՞նչ է Միջազգային տիեզերակայանը և ինչու եք ուզում կանխատեսել, թե որտեղ է այն: Առաջին հարցին պատասխանելու համար մենք կարող ենք պատասխանի համար նայել ՆԱՍԱ -ի կայքում: Կարճ ասած ՝ Միջազգային տիեզերակայանը մեծ տիեզերանավ է: Այն պտտվում է շուրջ