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

R-PiAlerts: Ազնվամորու Pis- ով WiFi- ի վրա հիմնված անվտանգության համակարգ կառուցեք. 8 քայլ (նկարներով)
R-PiAlerts: Ազնվամորու Pis- ով WiFi- ի վրա հիմնված անվտանգության համակարգ կառուցեք. 8 քայլ (նկարներով)

Video: R-PiAlerts: Ազնվամորու Pis- ով WiFi- ի վրա հիմնված անվտանգության համակարգ կառուցեք. 8 քայլ (նկարներով)

Video: R-PiAlerts: Ազնվամորու Pis- ով WiFi- ի վրա հիմնված անվտանգության համակարգ կառուցեք. 8 քայլ (նկարներով)
Video: R-PiAlerts 2024, Նոյեմբեր
Anonim
Image
Image
R-PiAlerts: Ազնվամորի Pis- ով WiFi- ի վրա հիմնված անվտանգության համակարգ կառուցեք
R-PiAlerts: Ազնվամորի Pis- ով WiFi- ի վրա հիմնված անվտանգության համակարգ կառուցեք
R-PiAlerts: Ազնվամորի Pis- ով WiFi- ի վրա հիմնված անվտանգության համակարգ կառուցեք
R-PiAlerts: Ազնվամորի Pis- ով WiFi- ի վրա հիմնված անվտանգության համակարգ կառուցեք

Գրասեղանի մոտ աշխատելիս հանկարծ հեռավոր աղմուկ ես լսում: Արդյո՞ք ինչ -որ մեկը պարզապես տուն է եկել: Իմ մեքենան կայանված է իմ տան դիմաց, ինչ -որ մեկը ներխուժե՞լ է իմ մեքենա: Չե՞ք ցանկանում, որ ծանուցում ստանաք ձեր հեռախոսից կամ ձեր գրասեղանից, որպեսզի կարողանաք որոշել ՝ հետաքննություն կատարել, թե ոչ: Դե, այլևս մի՛ հարց: R-PiAlerts- ն այստեղ է:

Ի՞նչ է R-PiAlerts- ը R-PiAlerts- ը Raspberry Pi3- ի վրա հիմնված անվտանգության համակարգ է, որը կառուցված է Firebase- ի ամպի շուրջ: Եթե շարժը հայտնաբերվի, համակարգը օգտագործողին կտեղեկացնի տեքստային հաղորդագրությամբ և թարթող LED էկրանով հնարավոր ներխուժման մասին (մի տեսակ լուռ տեսողական ահազանգ): Երբ օգտվողը ծանուցում է ստանում, նա կարող է հետաքննել: Բոլոր հայտնաբերված շարժումները մուտք կգործեն Firebase տվյալների բազա: Բացի վեբ դիտարկիչում շարժումների մատյանը դիտելուց, օգտատերը կարող է մուտք գործել նաև շարժման մատյան iOS հավելվածի միջոցով: Ես որոշեցի դա կառուցել ՝ կապված իմ շրջակայքի և՛ տրանսպորտային միջոցների, և՛ տների վերջին խափանումների հետ:

Ինչու՞ է Pi3- ը: Ինձ պետք էր մի փոքր բան, որը անհրաժեշտության դեպքում կարող է հայտնաբերել շարժումը և լիցքաթափվել: Այնուհետև ես կարող եմ միավորը թաքցնել դռան հետևում կամ մեքենայի մեջ: Նաև միավորը պետք է կարողանա ինձ ծանուցումներ կամ ահազանգեր ուղարկել: Pi3- ն կարող է այս ամենը անել ներկառուցված wifi- ի և USB մարտկոցից աշխատելու ունակության շնորհիվ: Այլ պատճառներ, թե ինչու եմ ընտրել Pi3- ը.

  • Pi- ն համեմատաբար էժան է
  • Հեշտ է տեղակայել և մեծացնել
  • Այն կարող է կարգավորվել ծրագրային ապահովման տեսանկյունից
  • Էկրաններ և տվիչներ օգտագործելու ունակություն: Այս նախագիծը կօգտագործի SenseHat- ը
  • Գործել անգլուխ (առանց մոնիտորի, ստեղնաշարի կամ մկնիկի)

Ինչպես է դա աշխատում

  • Իդեալում, օգտագործողին կպահանջվի 2 ազնվամորի Pis ՝ կապված Firebase տվյալների բազայի հետ, բայց մեկ Pi- ն նույնպես կաշխատի:
  • Օգտագործելով SenseHat- ը ՝ առաջին Pi- ն (Pi1) կհայտնաբերի արագացուցիչի շարժումը, իսկ երկրորդ Pi- ն (Pi2) կցուցադրի շարժման մասին ծանուցումները:
  • Երբ Pi1- ը հայտնաբերում է շարժումը, նա անում է 3 բան

    • մուտքագրեք տվյալների բազա
    • ստեղծեք ծանուցման գրառում տվյալների բազայում Pi2- ի ցուցադրման համար
    • օգտվողին ուղարկել տեքստային հաղորդագրություն ՝ տեղյակ պահելով շարժման մասին:
  • Երբ Pi2- ը հայտնաբերում է տվյալների բազայից ցուցադրվող ծանուցում, տեղի է ունենում երկու բան

    • Pi2- ի LED էկրանը անընդհատ կցուցադրի ծանուցումը
    • Օգտագործողը կարող է ջնջել ծանուցումը ՝ ներքև սեղմելով Pi2 SenseHat կոճակը: Սա նաև կջնջի ծանուցման գրառումը տվյալների բազայում:
  • IOS հավելվածի միջոցով օգտվողը կարող է

    • մուտք գործել տվյալների բազա; կարդալ և ջնջել շարժման մատյանը
    • օգտվողը կարող է ուղարկել Pi1 ՝ Pi1- ի LED էկրանին հաղորդագրություն ցուցադրելու համար:

Գործնական ծրագրեր

  1. Եթե փողոցում կայանում եք ձեր մեքենայի վրա wifi տիրույթում: Կցեք մարտկոցի փաթեթը Pi1- ին (տես նկարը): Թաքցրեք Pi1- ը ձեր մեքենայում: Տեղադրեք Pi2- ը հեշտությամբ տեսանելի վայրում, օրինակ ՝ ձեր գրասեղանի կողքին (տես նկարը):
  2. Մեկ այլ ծրագիր է ՝ տեղադրել Pi1- ը ձեր տանը դռան կողքին: Pi- ն այնքան փոքր է, որ մարդկանց մեծամասնությունը դա չի նկատի, հատկապես եթե այն գտնվում է ծխնու հետևում (տես նկարը): Այնուհետեւ տեղադրեք ձեր Pi2- ը ձեր աշխատասեղանի մոտ:
  3. Շունը մտնում է տան մի տեղ, որը ենթադրելի չէ: Տեղադրեք Pi1- ն այդ տարածքում: Համոզվեք, որ Pi- ն դնում եք ամուր տուփի մեջ, որպեսզի ձեր շունը չծծի այն:

Քանի դեռ ձեր Pis- ը գտնվում է wifi տիրույթում, նրանք կարող են զգուշացնել կամ տեղեկացնել ձեզ շարժման մասին: Եթե դուք չունեք երկրորդ Pi, ապա կարող եք պարզապես օգտագործել Pi1- ը ՝ շարժումը հայտնաբերելու և բջջային հեռախոսի միջոցով SMS ծանուցումներ ստանալու համար:

Ապրանքների հաշիվը

  • Երկու (2) Raspberry Pi 3s, որոնք աշխատում են Raspbian- ով (Raspberry Pi 2 -ը նույնպես կաշխատի wifi dongle- ով)
  • Երկու (2) SenseHats
  • Mac և iOS սարք

Անհրաժեշտ է ծրագրային ապահովում

  • Pyrebase գրադարան (միանում է Firebase- ին)
  • SenseHat գրադարան (արագացուցիչ և LED էկրան մուտք գործելու համար)
  • Twilio գրադարան (SMS ուղարկելու համար)
  • Python 3, որը կառուցված է վերջին Raspbian- ի միջոցով
  • Raspbian- ը IDLE- ով
  • Xcode8 և Cocoapods ձեր Mac- ում
  • Սովորելու և ուսումնասիրելու պատրաստակամություն

Սա կողմնակի անվտանգության վրա հիմնված միակ լուծումը չէ: Եթե ունեք որևէ գաղափար, առաջարկ կամ պարզապես ցանկանում եք վերափոխել իմ կոդը, խնդրում ենք թողնել մեկնաբանություն ստորև: =)

Քայլ 1. Ստեղծեք Firebase և Twilio հաշիվներ

Ստեղծեք Firebase և Twilio հաշիվներ
Ստեղծեք Firebase և Twilio հաշիվներ
Ստեղծեք Firebase և Twilio հաշիվներ
Ստեղծեք Firebase և Twilio հաշիվներ

Նախ, նախքան մեր Pis- ի հետ շփվելը, մենք պետք է կարգավորենք Firebase- ը և Twilio- ն: Firebase- ը Google- ի հիմնական ծառայությունն է որպես ծառայություն: Firebase- ը ներառում է այնպիսի հնարավորություններ, ինչպիսիք են տվյալների շտեմարանը, ամպային հաղորդագրությունները, նույնականացումը, պահեստավորումը և այլն: Ձեր Firebase տվյալների բազայում կարդալու և գրելու համար անհրաժեշտ կլինի նույնականացում: Firebase- ը կարգավորելու համար.

  1. Գրանցվեք Firebase անվճար հաշվի համար
  2. Գնացեք մխիթարել: Ստեղծեք նոր նախագիծ և տվեք անունը:
  3. Ձախ ընտրացանկում կտտացրեք «Ակնարկ»
  4. Կտտացրեք «Ավելացնել Firebase ձեր վեբ հավելվածին», պատճենեք ձեր APIKey- ն և projectid- ը (ոչ թե url- ը): Նախագծի ID- ն գտնվում է տարբեր URL- ներում, ինչպիսիք են տվյալների շտեմարանը ՝
  5. Ձախ ընտրացանկում կտտացրեք «Նույնականացում»: Գնացեք «Մուտքի մեթոդ» և միացրեք «Էլփոստ/գաղտնաբառ»
  6. «Օգտվող» բաժնում ստեղծեք նոր օգտվողի հաշիվ ՝ ձեր ընտրած էլ. Փոստով/գաղտնաբառով: Դուք կօգտագործեք այս հավատարմագիրը `տվյալների բազա մուտք գործելու համար:
  7. Ձախ ընտրացանկի տակ անցեք «Տվյալների բազա»
  8. Սա ձեր տվյալների շտեմարանն է: Այս պահին դատարկ է: Լրացնելուց հետո այն կլինի JSON ձևաչափով: URL- ը պետք է լինի նույնը, ինչ դուք տեսել եք ավելի վաղ:

Twilio- ն թույլ է տալիս մշակողներին հաղորդագրություններ ուղարկել իրենց հաճախորդներին: Մենք այն կօգտագործենք SMS ուղարկելու համար ձեր հեռախոսին, երբ Pi- ն հայտնաբերի շարժումը: Twilio- ն ձեզ կտրամադրի հեռախոսահամար ՝ SMS ուղարկելու համար: Twilio- ն կարգավորելու համար.

  1. Գրանցվեք Twilio- ի կայքում անվճար հաշվի համար
  2. Պատճենեք ձեր հաշվի SID- ը և authToken- ը
  3. Կտտացրեք «Փորձաշրջանի սահմանափակումներ» և ընտրեք «ստացեք ձեր առաջին Twilio հեռախոսահամարը»
  4. Պատճենեք ձեր նոր հեռախոսահամարը

Քայլ 2: Կարգավորեք ձեր Pis- ը

Կարգավորեք ձեր Pis- ը
Կարգավորեք ձեր Pis- ը
Կարգավորեք ձեր Pis- ը
Կարգավորեք ձեր Pis- ը

Նախքան Pis- ի ծրագրավորումը սկսելը, մենք պետք է որոշ կարգավորումներ կատարենք: Համոզվեք, որ գաղտնաբառ ունեք ձեր Pis- ի համար: Սկզբում մենք ֆիզիկապես SenseHat տախտակները կմիացնենք Pis- ին: Հաջորդը, մենք կտեղադրենք անհրաժեշտ SenseHat, Twilio և Pyrebase գրադարանները: Իրական ժամանակում Firebase- ի տվյալների բազան մշակվել է շարժական սարքերի կամ կայքերի համար: Այնուամենայնիվ, մենք կարող ենք կարդալ և գրել ամպային տվյալների բազան Rest API- ի միջոցով ՝ Pyrebase- ի նման օժանդակ գրադարանով:

Միացրեք SenseHat Համոզվեք, որ SenseHats- ը միացված է ձեր Pis- ին: Եթե ունեք անսովոր պատյան, հնարավոր է, որ SenseHat- ը միացնելուց առաջ անհրաժեշտ լինի հեռացնել Pi- ն:

Գրադարանների տեղադրում Գրադարանի բոլոր տեղադրումները կիրականացվեն տերմինալում

  • Գործարկեք ձեր Pis- ը, եթե արդեն չունեք:
  • Գործարկման ժամանակ դուք ստանում եք այս գունագեղ LED ծիածանը ձեր SenseHat- ում: (տես նկարը)
  • Գնացեք տերմինալ և թարմացրեք/հեռացրեք արդիականացումը, մուտքագրեք.

    • sudo apt-get թարմացում
    • sudo apt-get dist-upgrade
  • Թարմացումները կատարելուց հետո SenseHat գրադարանները տեղադրելու համար մուտքագրեք հետևյալը.

    sudo apt-get install sense-hat

  • Pyrebase- ը տեղադրելու համար մուտքագրեք.

    sudo pip տեղադրել pyrebase

  • Վերջապես, տեղադրեք Twilio- ն

    sudo pip տեղադրել twilio

Քայլ 3. Python Script Pi1- ի համար

Ինչպես արդեն նշեցինք, Pi1- ը կլինի Pi- ն, որը կօգտագործվի շարժումը հայտնաբերելու համար: SenseHat- ի արագացուցիչի արժեքները կօգտագործվեն շարժումը որոշելու համար: Այսպիսով, Pi1- ի ծածկագիրը կլինի արագացուցիչի g ուժի արժեքներին մուտք գործելու և Firebase տվյալների շտեմարան հայտնաբերված շարժումները գրանցելու շուրջ: Ահա գործընթացի հոսքի ակնարկ.

  • Եթե Pi1- ը հայտնաբերի շարժումը, ապա այն կավելացնի մուտքը Firebase DB- ի «ահազանգեր» երեխային:
  • Pi1- ը նաև կթարմացնի «notifypi2» երեխային շարժման վերաբերյալ ծանուցման հաղորդագրությամբ:
  • Pi2, այնուհետև կարդում է «notifypi2» և ցուցադրում ծանուցումը իր LED մատրիցային էկրանին:

Ես ներառել եմ Pi1 Python սցենարը, որը դուք պետք է հետևեք: Սցենարի մեկնաբանությունները բացատրում են, թե ինչ է անում ծածկագիրը:

Լրացուցիչ գրառումներ և պատկերացումներ Pi1 սցենարի համար

  • Firebase- ի և Twilio- ի տեղադրման համար: Լրացրեք համապատասխան API ստեղները, ID- ները, գաղտնաբառերը և այլն, որոնք պատճենել եք նախորդ քայլերից:
  • Ինչ վերաբերում է Firebase- ի նույնականացմանը, ապա լրացուցիչ անվտանգության համար կարող եք օգտվողի մուտքագրում պահանջել ՝ այս հավատարմագրերը կոշտ կոդավորելու փոխարեն: Ամեն անգամ, երբ մենք գրում կամ կարդում ենք տվյալների բազայից, մենք պետք է ներառենք

    օգտվող ['idtoken'] հետ th

    ստանալ (), հրում (), սահմանել () մեթոդները:

  • Պրոցեսորի ջերմաստիճանը անհրաժեշտ է, որպեսզի մենք կարողանանք միջամտել այն դեպքում, երբ Pi- ն տաքանում է մեքենայում կամ փակ միջավայրում:
  • Մենք նաև վերցնում ենք G ուժերի բացարձակ արժեքը, քանի որ բացասական արժեքներ իմանալու կարիք չունենք: Մենք միայն պետք է իմանանք, արդյոք կան G ուժեր:
  • Եթե հայտարարությունը ստուգելու է արագացուցիչի արժեքները: Եթե G- ի ուժերը 1 -ից մեծ են ցանկացած ուղղությամբ, Pi1- ը կգտնի շարժման ժամանակը և բացականչական նշան կցուցադրի սեփական LED էկրանին: Այն նաև կթարմացնի «notifypi2» երեխային: Երբ «notifypi2» - ը թարմացվի, Pi2- ը կկարդա այն և կցուցադրի «!!!»: իր LED էկրանին `օգտագործողին տեղեկացնելու հնարավոր շարժման/ներխուժման մասին: Pi1- ն օգտվողին կուղարկի նաև շարժման մասին SMS հաղորդագրություն:
  • Push () մեթոդը օգտագործելիս Firebase- ը ինքնաբերաբար կստեղծի նոր մուտքով երեխա: Սա անհրաժեշտ էր, որպեսզի գրանցված շարժման տվյալները եզակի լինեն: set () մեթոդը, մյուս կողմից, կգրագրի նախորդ տվյալները:
  • Տվյալների բազան ստուգելու համար անհրաժեշտ է 10 վայրկյան հանգույց, որպեսզի ձեր Pi- ն բազմիցս տվյալներ չպահանջի Firebase- ից: Եթե դուք անընդհատ սպամ եք Firebase- ին, Google- ը ձեզ դուրս կգա մոտ 10 րոպեից:
  • Firebase- ը նաև դուրս կբերի օգտվողին յուրաքանչյուր 60 րոպեն մեկ, եթե նշանը չթարմացվի: Թարմացումը սահմանել եմ 1800 վայրկյան (30 րոպե):

Քայլ 4: Python Script Pi2- ի համար

Python Script Pi2- ի համար
Python Script Pi2- ի համար

Եթե նայեք լուսանկարին, դա Pi2- ի վրա ցուցադրում է հնարավոր շարժման մասին ծանուցում:

Pi2- ի սցենարը գրեթե նույնն է, ինչ Pi1- ը, բացառությամբ, որ սցենարը չի հայտնաբերում շարժում: Pi2- ը ցուցադրում կամ վերականգնում է միայն «notifypi2» երեխայի ծանուցման հաղորդագրությունները: Քանի որ դա միակ տարբերությունն է, ես դա կբացատրեմ ստորև:

  • 10 վայրկյանը մեկ Pi2- ը ստուգելու է «notifypi2» - ը ՝ ցուցադրելու համար: Եթե կա ծանուցման հաղորդագրություն ցուցադրելու համար, Pi2- ը այն անընդհատ կցուցադրի, որպեսզի օգտագործողը տեսնի այն:
  • Theոյսթիք կոճակը սեղմելու միայն օգտագործողի միջամտությամբ հաղորդագրությունը կջնջվի և կվերականգնվի տվյալների բազայի կողմից:

Քայլ 5: Փորձարկեք Pis- ը

Image
Image
Փորձարկեք Pis- ը
Փորձարկեք Pis- ը

Timeամանակն է փորձարկել Pis- ը:

  • Գործարկեք համապատասխան Pis- ի սցենարները:
  • Մուտք գործեք Firebase և գնացեք ձեր նախագծերի տվյալների բազայի բաժին:
  • Թափահարեք ձեր Pi1- ը, Pi1 LED էկրանին պետք է տեսնեք կարմիր բացականչական նշան: Դուք նաև պետք է SMS հաղորդագրություն ստանաք:
  • Ստուգեք տվյալների բազան, ահազանգի գրառումները պետք է սկսեն հայտնվել: «notifypi2» - ը նույնպես պետք է թարմացվի:
  • Նայեք Pi2- ին: Դուք նաև պետք է ոլորեք «!!!» Այս ծանուցման հաղորդագրությունը մաքրելու համար պարզապես սեղմեք ջոյսթիկի վրա: «notifypi2» - ը պետք է վերակայվի: Ստուգեք ձեր Firebase- ը `հաստատելու համար:
  • Եթե գտնում եք, որ Pi1- ը չափազանց զգայուն է շարժման նկատմամբ, Pi1- ի սցենարում շեմը բարձրացրեք մինչև 1G- ից ավելի:

Եթե ամեն ինչ լավ ընթանա, ձեր սցենարները չեն խափանվի: Այժմ դուք ունեք աշխատանքային ծանուցման համակարգ: Երբ Pi1- ը հայտնաբերի շարժումները կամ թրթռումները, դուք կստանաք SMS հաղորդագրության ծանուցում և Pi2- ի տեսողական LED ծանուցում:

Քայլ 6. Կառուցեք R-PiAlerts IOS հավելվածը

R-PiAlerts IOS հավելվածի ստեղծում
R-PiAlerts IOS հավելվածի ստեղծում

Timeամանակն է կառուցել iOS ծրագիրը: Հավելվածը բավականին պարզ կլինի: Այն կունենա LoginViewController և ItemsTableViewController: ItemsTableViewController- ը կցուցադրի «ահազանգեր» երեխայի ահազանգի մասին ծանուցումները: Կարելի է նաև ծրագրից ջնջել տվյալների բազայի գրառումները: Գլխացավից ազատվելու համար, եթե մտադիր եք դիտել Firebase- ի առցանց դասընթացները, համոզվեք, որ փնտրում եք 2016 -ի մարտից հետո թվագրված ձեռնարկներ, քանի որ անցյալ տարի այդ ժամանակ տեղի էին ունեցել լուրջ փոփոխություններ: Մինչև 2016 -ի մարտը ցանկացած բան ժառանգություն կլինի: Ինձ հետաքրքրում են արագ ֆայլերը: Խնդրում ենք վերանայել կոդի մեկնաբանությունները: Եթե ցանկանում եք մանրամասն ձեռնարկ, թե ինչպես ստեղծել տվյալների բազա կարդացող Firebase ծրագիր, ստուգեք Ռեյ Վունդերլիխի ձեռնարկը:

Կարգավորեք ձեր iOS նախագծի ակնարկը

  • Ստեղծեք մեկ դիտման iOS նախագիծ Xcode- ում:
  • Պատճենեք փաթեթի նույնացուցիչը
  • Գնացեք ձեր Firebase նախագիծը կայքում և ստեղծեք info.plist ֆայլ `փաթեթի նույնացուցիչով:
  • Ավելացրեք GoogleService-info.plist ֆայլը ձեր նախագծին: Այս info.plist- ն աշխատում է միայն ձեր ստեղծած հատուկ Firebase նախագծի հետ:
  • Փակեք Xcode- ից և տեղադրեք Firebase- ը Cocoapods- ի միջոցով: Համոզվեք, որ տեղադրեք Auth և Database:
  • Վերագործարկեք Xcode- ը, ապա կազմաձևեք ձեր AppDelegate.swift- ը Firebase- ի համար: Այն տեւում է ընդամենը 2 տող կոդ:

    Ներմուծեք Firebase ան

    FIRApp.configure (). Ըստ ցանկության, Firebase- ն ունի համառության հնարավորություն, որը տանում է ընդամենը 1 տող կոդ

    FIRDatabase.database (). PersistenceEnabled = ճշմարիտ

  • Մանրամասն տեղադրման քայլերը կարելի է գտնել Firebase- ի կայքում

Ինչպես է ծրագիրը փոխազդում Firebase տվյալների բազայի հետ

  • Հավելվածը պետք է վավերացնի օգտվողին:
  • Նույնականացվելուց հետո ծրագիրը վերցնում է Firebase տվյալների բազայի պատկերը և պահում այն որպես «Նյութ» օբյեկտ:
  • Նշված օբյեկտը կլրացնի զանգվածը: Նշված զանգվածը կօգտագործվի սեղանի տեսքը լրացնելու համար:
  • Դիտորդը հետևելու է Firebase տվյալների բազայի փոփոխություններին և ստեղծելու է նկար:
  • Փոփոխությունները հայտնաբերելուց հետո զանգվածը կցվելու է նոր լուսանկարից:
  • Աղյուսակի դիտումը այնուհետև կբեռնվի `փոփոխությունները ցույց տալու համար:

Ընդհանուր ուրվագիծ, թե ինչպես կառուցել ծրագիրը

  • Նայեք պատկերին, թե ինչպես է ծրագիրը տեղադրված Xcode- ի ինտերֆեյսի ստեղծողում:
  • Ստեղծեք ViewController ինտերֆեյսի շինարարում և հարմարեցված դասը ուղղեք LoginViewController.swift:
  • Ավելացրեք տեքստային դաշտեր էլփոստի և գաղտնաբառի համար: Մի մոռացեք գաղտնաբառի դաշտի համար միացնել «Ապահով տեքստի մուտքագրում»: Ավելացնել մուտքի կոճակ:
  • Կապեք տեքստային դաշտերը և կոճակը LoginViewController.swift- ին: LoginViewController.swift- ը կզբաղվի նույնականացման հետ:
  • Ինտերֆեյսի ստեղծողում ավելացրեք նավարկության վերահսկիչ: Ստեղծեք segue LoginViewController- ից դեպի Navigation Controller: Համոզվեք, որ սեգին տալիս եք նույնացուցիչ:
  • Նավիգացիոն կարգավորիչի հետ բերված նոր սեղանի տեսքի հատուկ դասը սահմանեք ItemsTableViewController.swift կետի վրա: Ես ունեմ նաև 2 կոճակ ItemsTableViewController- ում. Դուրս գալ և Ավելացնել կոճակ: Միացրեք կոճակները ItemsTableViewController.swift- ին:
  • Ինչ վերաբերում է LoginViewController.swift կոդին: Օգտվողը մուտքագրում է մուտքի հավատարմագրերը, իսկ Firebase- ը կվերադարձնի օգտվողին: Եթե օգտվողը ներկա է, նա կկատարի նույնացուցիչի հետ մեկուսացում: (տե՛ս կցված կոդը)
  • Ավելացրեք Item.swift դասը (տե՛ս կցված կոդը)
  • Ինչ վերաբերում է ItemsTableViewController կոդին, դա սեղանի տեսքի բավականին ստանդարտ ծածկագիր է: Կլինի դիտորդ, որը կհետևի ձեր տվյալների բազայի փոփոխություններին, որոնք պահվում են որպես լուսանկար, որպես Նյութի օբյեկտ: Այնուհետեւ Item օբյեկտը կցի զանգվածը `սեղանի տեսքը լրացնելու համար: Ավելացնել կոճակը մուտքագրում է Firebase տվյալների բազայում Pi1 ընթերցման և ցուցադրման համար: Igիծաղելու համար ես նաև ավելացրեցի ծածկագիրը (տես կցված կոդը)

Քայլ 7: Փորձարկեք ծրագիրը

Փորձարկեք հավելվածը
Փորձարկեք հավելվածը
Փորձարկեք ծրագիրը
Փորձարկեք ծրագիրը
Փորձարկեք ծրագիրը
Փորձարկեք ծրագիրը

Գործարկեք ձեր ծրագիրը:

  • Մուտք գործեք և թափահարեք ձեր Pi1- ը: Դուք պետք է սկսեք տեսնել ահազանգի նոր ծանուցումների հայտնվելը:
  • Հպեք ավելացնել կոճակին և դիտեք, թե ինչպես է ձեր Pi1- ը ցուցադրում ձեր հաղորդագրությունը:
  • Սահեցրեք ձախ, տես «Ահազանգերի» գրառումները հեռացվում են:
  • Չափից շատ ծանուցումներ ստացվո՞ւմ եք անընդմեջ: կարգավորեք արագացուցիչի շեմը կամ ավելացրեք քնի ժամանակը Pi1 սցենարում:

Քայլ 8: Եզրակացություն

Եզրակացություն
Եզրակացություն
Եզրակացություն
Եզրակացություն

Հիանալի! Այժմ մենք ունենք Pis, որը կարող է հայտնաբերել շարժումը և ձեզ ծանուցումներ ուղարկել շարժումների մասին: Բացի այդ, դուք կարող եք կառավարել ձեր ահազանգերի տեղեկամատյանը ձեր iOS սարքի միջոցով: Timeամանակն է տեղակայել Pis- ը: Տեղադրեք Pi1- ը ձեր դռան կողքին, իսկ Pi2- ը ՝ ձեր աշխատանքային տարածքի շուրջը: Հաջորդ անգամ, երբ ինչ -որ մեկը ներս մտնի, կարող եք ստուգել իրավիճակը: Կամ ավելի լավ, փորձեք թաքցնել Pi- ում ձեր մեքենայում մարտկոցի տուփով: Մի քանի անգամ շրխկացրեք դռները, տեսեք ինչ կլինի:

Սա միայն սկիզբն է այն հնարավորությունների, թե ինչ կարող եք անել Raspberry Pi- ի և Firebase- ի հետ: SenseHat- ը ներառում է նաև շրջակա միջավայրի տվիչներ, գիրոս և կողմնացույց: Դուք կարող եք կարգավորել ձեր Pis- ը `շրջակա միջավայրի որոշակի փոփոխություններ գրանցելու համար: Wantանկանում եք ուժեղացնել ձեր խաղը: Երբ ձեր Pi- ն հայտնաբերում է շարժումները, օգտագործեք տեսախցիկ ՝ նկարելու պատկերներ և խնդրեք, որ Pi- ն ձեզ ուղարկի լուսանկարները: Փորձեք օգտագործել համակարգչային տեսողության ալգորիթմը `դեմքերը ճանաչելու համար: եթե դա ծանոթ մեկի դեմքն է, կարող եք ծանուցվել: Զվարճանալ!

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