Სარჩევი:

R-PiAlerts: შექმენით WiFi დაფუძნებული უსაფრთხოების სისტემა ჟოლოს პისით: 8 ნაბიჯი (სურათებით)
R-PiAlerts: შექმენით WiFi დაფუძნებული უსაფრთხოების სისტემა ჟოლოს პისით: 8 ნაბიჯი (სურათებით)

ვიდეო: R-PiAlerts: შექმენით WiFi დაფუძნებული უსაფრთხოების სისტემა ჟოლოს პისით: 8 ნაბიჯი (სურათებით)

ვიდეო: R-PiAlerts: შექმენით WiFi დაფუძნებული უსაფრთხოების სისტემა ჟოლოს პისით: 8 ნაბიჯი (სურათებით)
ვიდეო: R-PiAlerts 2024, დეკემბერი
Anonim
Image
Image
R-PiAlerts: შექმენით WiFi დაფუძნებული უსაფრთხოების სისტემა ჟოლოს პისით
R-PiAlerts: შექმენით WiFi დაფუძნებული უსაფრთხოების სისტემა ჟოლოს პისით
R-PiAlerts: შექმენით WiFi დაფუძნებული უსაფრთხოების სისტემა ჟოლოს პისით
R-PiAlerts: შექმენით WiFi დაფუძნებული უსაფრთხოების სისტემა ჟოლოს პისით

თქვენს სამუშაო მაგიდასთან მუშაობისას უცებ გესმით შორეული ხმაური. ვინმე მოვიდა სახლში? ჩემი მანქანა არის გაჩერებული ჩემი სახლის წინ, ვინმე შემოვარდა ჩემს მანქანაში? არ გსურთ მიიღოთ შეტყობინება თქვენს ტელეფონზე ან თქვენს სამუშაო მაგიდაზე, ასე რომ თქვენ შეგიძლიათ გადაწყვიტოთ გამოიძიოთ თუ არა? ისე კითხვა აღარ! R-PiAlerts აქ არის!

რა არის R-PiAlerts? R-PiAlerts არის Raspberry Pi3 დაფუძნებული უსაფრთხოების სისტემა, რომელიც აგებულია Firebase- ის ღრუბლის გარშემო. თუ მოძრაობა გამოვლინდა, სისტემა აცნობებს მომხმარებელს პოტენციური შეტევის შესახებ ტექსტური შეტყობინებით და მოციმციმე LED დისპლეით (ერთგვარი მდუმარე ვიზუალური სიგნალიზაცია). მას შემდეგ რაც მომხმარებელი მიიღებს შეტყობინებას, მას შეუძლია გამოიძიოს. ყველა აღმოჩენილი მოძრაობა ჩაწერილი იქნება Firebase მონაცემთა ბაზაში. ვებ ბრაუზერში მოძრაობის ჟურნალის ნახვის გარდა, მომხმარებელს ასევე შეუძლია წვდომა მოძრაობის ჟურნალზე iOS პროგრამის საშუალებით. მე გადავწყვიტე ავაშენო იმის გამო, რომ ბოლო დროს გაიზარდა ავარიები როგორც მანქანებზე, ასევე სახლებში, ჩემს გარშემო.

რატომ Pi3? მე მჭირდებოდა რაღაც პატარა, რომელსაც შეეძლო მოძრაობის გამოვლენა და საჭიროების შემთხვევაში ამოწურა ბატარეა. შემდეგ შემიძლია დავმალო დანაყოფი კარს მიღმა ან მანქანაში. ასევე ერთეულს უნდა შეეძლოს გამომიგზავნოს შეტყობინებები ან სიგნალები. Pi3– ს შეუძლია ეს ყველაფერი გააკეთოს ჩაშენებული wifi– ით და მისი USB ბატარეის ამოწურვის უნარით. სხვა მიზეზები, თუ რატომ ავირჩიე Pi3:

  • Pi შედარებით იაფია
  • მისი განლაგება და გაფართოება ადვილია
  • მისი კონფიგურაცია შესაძლებელია პროგრამული უზრუნველყოფის თვალსაზრისით
  • ეკრანისა და სენსორების გამოყენების უნარი. ეს პროექტი გამოიყენებს SenseHat- ს
  • იმუშავეთ უთავო (მონიტორის, კლავიატურის ან მაუსის გარეშე)

Როგორ მუშაობს

  • იდეალურ შემთხვევაში მომხმარებელს დასჭირდება 2 Raspberry 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– ის გასაგზავნად)
  • პითონი 3, ჩაშენებული უახლესი Raspbian– ით
  • რასპბიანი IDLE– ით
  • Xcode8 და Cocoapods თქვენს Mac– ზე
  • სწავლისა და შესწავლის სურვილი

ეს არ არის მხოლოდ Pi- ზე დაფუძნებული უსაფრთხოების გადაწყვეტა. თუ თქვენ გაქვთ რაიმე იდეა, წინადადება, ან უბრალოდ გსურთ ჩემი კოდის რეფაქტორირება, გთხოვთ დატოვეთ კომენტარი ქვემოთ! =)

ნაბიჯი 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 განთავსებულია სხვადასხვა მისამართებში, როგორიცაა მონაცემთა ბაზა:
  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 რეალურ დროში მონაცემთა ბაზა შეიქმნა მობილური მოწყობილობებისთვის ან ვებსაიტებისთვის. ამასთან, ჩვენ შეგვიძლია წავიკითხოთ და დავწეროთ ღრუბლოვანი მონაცემთა ბაზა დანარჩენი API– ს საშუალებით დამხმარე ბიბლიოთეკით, როგორიცაა Pyrebase.

შეაერთეთ SenseHat დარწმუნდით, რომ SenseHats დაკავშირებულია თქვენს Pis– თან. თუ თქვენ გაქვთ უჩვეულო საქმე, შეიძლება დაგჭირდეთ Pi- ს ამოღება SenseHat– ის შეერთებამდე.

ბიბლიოთეკების დაყენება ბიბლიოთეკის ყველა ინსტალაცია განხორციელდება ტერმინალში

  • ატვირთეთ თქვენი Pis, თუ ეს უკვე არ გაქვთ.
  • ჩატვირთვისას, თქვენ მიიღებთ ამ ფერად LED ცისარტყელას თქვენს SenseHat– ზე! (იხ. სურათი)
  • გადადით ტერმინალში და განაახლეთ/dist-upgrade, ჩაწერეთ:

    • sudo apt-get განახლება
    • sudo apt-get dist-upgrade
  • განახლებების დასრულების შემდეგ, ჩაწერეთ შემდეგი SenseHat ბიბლიოთეკების დასაყენებლად:

    sudo apt-get install sense-hat

  • Pyrebase– ის დასაყენებლად ჩაწერეთ:

    sudo pip დააინსტალირეთ პირბაზა

  • დაბოლოს, დააინსტალირეთ Twilio

    sudo pip დააინსტალირეთ twilio

ნაბიჯი 3: პითონის სკრიპტი Pi1– ისთვის

როგორც უკვე აღვნიშნეთ, Pi1 იქნება Pi, რომელიც გამოყენებული იქნება მოძრაობის დასადგენად. მოძრაობის დასადგენად გამოყენებული იქნება SenseHat– ის ამაჩქარებლის მაჩვენებლები. ამრიგად, კოდი Pi1 იქნება აქსელერომეტრის g ძალის მნიშვნელობების წვდომისა და Firebase მონაცემთა ბაზაში გამოვლენილი მოძრაობების შესვლის გარშემო. აქ მოცემულია პროცესის ნაკადის მიმოხილვა:

  • თუ Pi1 ამოიცნობს მოძრაობას, ის დაამატებს ჩანაწერს Firebase DB- ში "გაფრთხილების" ბავშვს.
  • Pi1 ასევე განაახლებს "notifypi2" ბავშვს მოძრაობის შესახებ შეტყობინების შეტყობინებით.
  • Pi2, შემდეგ კითხულობს "notifypi2" და აჩვენებს შეტყობინებას მის LED მატრიცის ეკრანზე.

მე ჩავრთე Pi1 Python სკრიპტი, რომელსაც თქვენ უნდა მიჰყევით. სკრიპტის კომენტარები განმარტავს რას აკეთებს კოდი.

დამატებითი შენიშვნები და შეხედულებები Pi1 სკრიპტისთვის

  • Firebase და Twilio დაყენებისთვის. შეავსეთ შესაბამისი API გასაღებები, პირადობის მოწმობები, პაროლები და სხვა, რომლებიც გადაწერეთ წინა ნაბიჯებიდან.
  • რაც შეეხება Firebase ავთენტიფიკაციას, დამატებითი უსაფრთხოების მიზნით, შეგიძლიათ მოითხოვოთ მომხმარებლის შეყვანა ამ სერთიფიკატების რთული კოდირების ნაცვლად. ყოველ ჯერზე, როდესაც ჩვენ ვწერთ ან ვკითხულობთ მონაცემთა ბაზიდან, ჩვენ გვჭირდება ჩართვა

    მომხმარებელი ['idtoken'] ერთად ე

    მიიღეთ (), დააყენეთ (), დააყენეთ () მეთოდები.

  • პროცესორის ტემპერატურა საჭიროა, ასე რომ ჩვენ შეგვიძლია ჩავერიოთ იმ შემთხვევაში, თუ 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: პითონის სკრიპტი Pi2– ისთვის

პითონის სკრიპტი Pi2– ისთვის
პითონის სკრიპტი Pi2– ისთვის

თუ გადახედავთ ფოტოს, ეს არის Pi2, სადაც ნაჩვენებია შეტყობინება შესაძლო მოძრაობის შესახებ.

Pi2– ის სკრიპტი ზუსტად იგივეა, რაც Pi1, გარდა იმისა, რომ სკრიპტი არ გამოავლენს მოძრაობას. Pi2 აჩვენებს ან აღადგენს შეტყობინებების შეტყობინებებს "notifypi2" ბავშვისგან. ვინაიდან ეს ერთადერთი განსხვავებაა, ამას ქვემოთ ავხსნი.

  • ყოველ 10 წამში Pi2 ამოწმებს "notifypi2" - ს ჩვენებას. თუ არის შეტყობინების შეტყობინება საჩვენებლად, Pi2 აჩვენებს მას მუდმივად, რათა მომხმარებელი ხედავს მას.
  • მხოლოდ მომხმარებლის ჩარევით ჯოისტიკის ღილაკზე დაჭერით შეტყობინება გასუფთავდება და გადატვირთულია მონაცემთა ბაზის მხარეს.

ნაბიჯი 5: შეამოწმეთ Pis

Image
Image
შეამოწმე პისი
შეამოწმე პისი

დროა პისის გამოცდა.

  • გაუშვით სკრიპტები შესაბამისი Pis– ისთვის.
  • შედით Firebase– ში და გადადით თქვენი პროექტების მონაცემთა ბაზის განყოფილებაში.
  • შეანჯღრიეთ Pi1, თქვენ უნდა ნახოთ წითელი ძახილის ნიშანი Pi1 LED ეკრანზე. თქვენ ასევე უნდა მიიღოთ SMS შეტყობინება.
  • შეამოწმეთ მონაცემთა ბაზა, გაფრთხილების ჩანაწერები უნდა გამოჩნდეს. "notifypi2" ასევე უნდა განახლდეს.
  • გადახედე Pi2- ს. თქვენ ასევე უნდა გადაახვიოთ "!!!" ამ შეტყობინების შეტყობინების გასასუფთავებლად, უბრალოდ დააჭირეთ ჯოისტიკს. "notifypi2" უნდა გადატვირთოთ. შეამოწმეთ თქვენი Firebase დასადასტურებლად.
  • თუ მიიჩნევთ, რომ Pi1 ძალიან მგრძნობიარეა მოძრაობის მიმართ, გაზარდეთ ბარიერი 1G– ზე მეტს Pi1 სკრიპტში.

თუ ყველაფერი კარგად იქნება, თქვენი სკრიპტები არ დაიშლება. ახლა თქვენ გაქვთ სამუშაო შეტყობინებების სისტემა. მას შემდეგ რაც Pi1 ამოიცნობს მოძრაობებს ან ვიბრაციებს, თქვენ მიიღებთ SMS შეტყობინების შეტყობინებას და ვიზუალურ LED შეტყობინებას Pi2– ზე.

ნაბიჯი 6: R-PiAlerts IOS პროგრამის შექმნა

R-PiAlerts IOS პროგრამის შექმნა
R-PiAlerts IOS პროგრამის შექმნა

დროა ავაშენოთ 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 მონაცემთა ბაზის სურათს და ინახავს მას, როგორც "Item" ობიექტს.
  • აღნიშნული ობიექტი შეავსებს მასივს. აღნიშნული მასივი გამოყენებული იქნება ცხრილის სანახავად.
  • დამკვირვებელი დააკვირდება Firebase მონაცემთა ბაზის ცვლილებებს და შექმნის სურათს.
  • მას შემდეგ რაც ცვლილებები გამოვლინდება, მასივი დაემატება ახალ სურათს.
  • მაგიდის ხედი გადატვირთულია ცვლილებების საჩვენებლად.

ზოგადი მონახაზი, თუ როგორ უნდა ავაშენოთ აპლიკაცია

  • შეხედეთ სურათს, თუ როგორ არის აპი ჩამოყალიბებული Xcode– ის ინტერფეისის შემქმნელში.
  • შექმენით ViewController ინტერფეისის შემქმნელში და მიუთითეთ საბაჟო კლასი LoginViewController.swift– ზე.
  • დაამატეთ ტექსტური ველები ელ.ფოსტისა და პაროლისთვის. არ დაგავიწყდეთ პაროლის ველში ჩართოთ "ტექსტის უსაფრთხო შეყვანა". დაამატეთ შესვლის ღილაკი.
  • დააკავშირეთ ტექსტური ველები და დააჭირეთ ღილაკს LoginViewController.swift. LoginViewController.swift გაუმკლავდება ავტორიზაციას.
  • დაამატეთ ნავიგაციის კონტროლერი ინტერფეისის შემქმნელში. შექმენით სეგა LoginViewController– დან ნავიგაციის კონტროლერამდე. დარწმუნდით, რომ მიანიჭეთ სეგას იდენტიფიკატორი.
  • დააყენეთ ახალი მაგიდის ხედის საბაჟო კლასი, რომელიც მოვიდა ნავიგაციის კონტროლერთან, რათა მიუთითოს ItemsTableViewController.swift. მე ასევე მაქვს 2 ღილაკი ItemsTableViewController– ზე: გასვლა და დამატების ღილაკი. დააკავშირეთ ღილაკები ItemsTableViewController.swift– თან.
  • რაც შეეხება LoginViewController.swift კოდს. მომხმარებელი შეიყვანს ავტორიზაციის მონაცემებს და Firebase დაუბრუნებს მომხმარებელს. თუ მომხმარებელი იმყოფება, ის შეასრულებს ამოცანას იდენტიფიკატორით. (იხილეთ თანდართული კოდი)
  • დაამატეთ Item.swift კლასი (იხილეთ თანდართული კოდი)
  • რაც შეეხება ItemsTableViewController კოდს, ეს საკმაოდ სტანდარტული ცხრილის კოდია. იქნება დამკვირვებელი, რომელიც დააკვირდება თქვენს მონაცემთა ბაზაში განხორციელებულ ცვლილებებს, რომლებიც შენახულია როგორც სურათი, როგორც Item ობიექტი. შემდეგ Item ობიექტი დაემატება მასივს მაგიდის ხედის შესავსებად. ღილაკი დამატება ადგენს ჩანაწერს Firebase მონაცემთა ბაზაში Pi1 წაკითხვისა და ჩვენებისათვის. სიცილისთვის მე ასევე დავამატე კოდი (იხ. თანდართული კოდი)

ნაბიჯი 7: შეამოწმეთ აპლიკაცია

შეამოწმეთ აპლიკაცია
შეამოწმეთ აპლიკაცია
შეამოწმეთ აპლიკაცია
შეამოწმეთ აპლიკაცია
შეამოწმეთ აპლიკაცია
შეამოწმეთ აპლიკაცია

გაუშვით თქვენი აპლიკაცია

  • შედით სისტემაში და შეანჯღრიეთ თქვენი Pi1. თქვენ უნდა დაიწყოთ ახალი შეტყობინებების გამოჩენა.
  • შეეხეთ დამატების ღილაკს და უყურეთ როგორ აჩვენებს თქვენს Pi1 შეტყობინებას.
  • გადაფურცლეთ მარცხნივ, იხილეთ "გაფრთხილებების" ჩანაწერები წაიშლება.
  • მიიღეთ ძალიან ბევრი შეტყობინება სწრაფი თანმიმდევრობით? დაარეგულირეთ ამაჩქარებლის ბარიერი ან გაზარდეთ ძილის დრო Pi1 სკრიპტში.

ნაბიჯი 8: დასკვნა

დასკვნა
დასკვნა
დასკვნა
დასკვნა

გასაოცარია! ახლა ჩვენ გვაქვს Pis, რომელსაც შეუძლია ამოიცნოს მოძრაობა და გამოგიგზავნოთ შეტყობინებები მოძრაობების შესახებ. გარდა ამისა, თქვენ შეგიძლიათ მართოთ თქვენი შეტყობინებების ჟურნალი თქვენი iOS მოწყობილობით! დროა განლაგდეს პისი. განათავსეთ Pi1 თქვენს კართან და Pi2 სამუშაო ადგილის გარშემო. შემდეგ ჯერზე, როცა ვინმე შემოვა, შეგიძლია შეამოწმო სიტუაცია! ან კიდევ უკეთესი, შეეცადეთ დაიმალოთ Pi თქვენს მანქანაში ბატარეის პაკეტით. რამდენჯერმე გააღე კარები, ნახე რა ხდება!

ეს მხოლოდ დასაწყისია იმ შესაძლებლობების შესახებ, რისი გაკეთებაც შეგიძლიათ Raspberry Pi და Firebase– ით. SenseHat ასევე მოიცავს გარემოს სენსორებს, გიროსა და კომპასს. თქვენ შეგიძლიათ დააყენოთ თქვენი Pis, რომ შეცვალოთ გარემოში გარკვეული ცვლილებები. გსურთ გააძლიეროთ თქვენი თამაში? როდესაც თქვენი Pi ამოიცნობს მოძრაობებს, გამოიყენეთ კამერა სურათების გადასაღებად და მისცეთ Pi- ს ტექსტი ფოტოებისთვის. ასევე შეეცადეთ გამოიყენოთ კომპიუტერული ხედვის ალგორითმი სახეების ამოცნობისთვის. თუ ეს ვიღაცის სახეა, რომელსაც იცნობთ, შეგიძლიათ მიიღოთ შეტყობინება! Გაერთე!

გირჩევთ: