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

RPi IoT Smart Light Firebase- ի միջոցով. 4 քայլ (նկարներով)
RPi IoT Smart Light Firebase- ի միջոցով. 4 քայլ (նկարներով)

Video: RPi IoT Smart Light Firebase- ի միջոցով. 4 քայլ (նկարներով)

Video: RPi IoT Smart Light Firebase- ի միջոցով. 4 քայլ (նկարներով)
Video: Lesson 2: Getting Arduino Software and using Documentation for SunFounder Arduino Kit | SunFounder 2024, Նոյեմբեր
Anonim
RPi IoT Smart Light ՝ օգտագործելով Firebase
RPi IoT Smart Light ՝ օգտագործելով Firebase
RPi IoT Smart Light ՝ օգտագործելով Firebase
RPi IoT Smart Light ՝ օգտագործելով Firebase
RPi IoT Smart Light ՝ օգտագործելով Firebase
RPi IoT Smart Light ՝ օգտագործելով Firebase
RPi IoT Smart Light ՝ օգտագործելով Firebase
RPi IoT Smart Light ՝ օգտագործելով Firebase

Այս ուղեցույցը ցույց է տալիս, թե ինչպես պատրաստել և կարգավորել ծրագիր Firebase- ի միջոցով (առցանց տվյալների բազա) Raspberry Pi- ի վերահսկման համար: Եվ այնուհետև 3D տպում պատյան Pi Zero W- ի, Powerboost 1000C- ի, մարտկոցի և Blinkt! - ի համար:

Որպեսզի կարողանաք ամենահեշտ հետևել, խորհուրդ եմ տալիս ծանոթ լինել Xcode- ին և Raspberry Pi- ին:

Եվ եթե ձեզ դուր է գալիս այն, ինչ տեսնում եք, հետևեք ինձ Instagram- ում և Twitter- ում (@Anders644PI) `իմ պատրաստածին հետևելու համար:

Ձեզ հարկավոր կլինի

  • A Raspberry Pi Zero W ադապտերներով և GPIO- վերնագրերով

    (կամ սովորական Pi Zero- ն WiFi dongle- ով)

  • PowerBoost 1000 C
  • Լիթիում իոնային մարտկոց - 3.7v 2000mAh
  • A Blinkt! (կամ ցանկացած pHAT/HAT, դա. չի օգտագործում 5 -րդ քորոցը, և HAT- երը պետք է հարթ լինեն ներքևում):
  • 8 ԳԲ կամ ավելի բարձր Micro SD քարտ, որի վրա կա Raspbian Stretch (աշխատասեղանով)
  • Ստեղնաշար և մկնիկ (բայց կարող եք նաև միացնել ssh- ով, եթե այժմ գիտեք, թե ինչպես)
  • Միացում մոնիտորի կամ հեռուստատեսության (կամ ssh!)
  • Գրության պտուտակներ
  • Փոքր լարեր
  • Փոքր անջատիչ և փոքր կոճակ
  • 3D տպիչ և PLA- ի ցանկացած գույնի մեկ թել, և մեկ PLA թափանցիկ PLA (կամ կարող եք օգտագործել 3D ծառայություն, ինչպիսին է 3D Hubs- ը ՝ այն ձեզ տպելու համար)

Քայլ 1: Firebase և Xcode

Firebase և Xcode
Firebase և Xcode
Firebase և Xcode
Firebase և Xcode
Firebase և Xcode
Firebase և Xcode

Սկզբում մենք կստեղծենք Firebase հավելվածի հետ, որպեսզի կարողանանք հաղորդակցվել ծրագրից Pi- ին:

Եթե շփոթված եք, կարող եք դիտել այս տեսանյութը:

1. Բացեք Xcode- ը և ստեղծեք նոր Xcode նախագիծ: Ընտրեք Single View ծրագիրը և անվանեք այն RPiAppControl և համոզվեք, որ լեզուն Swift է: Կտտացրեք Հաջորդը և պահպանեք այն:

2. Պատճենեք ձեր փաթեթի նույնացուցիչը, քանի որ դա մեզ ավելի ուշ պետք կգա:

3. Firebase- ում մուտք գործեք ձեր Google հաշիվ և կտտացրեք Գնալ դեպի մխիթարել:

4. Ստեղծեք նոր նախագիծ և անվանեք այն RPiAppControl:

5. Կտտացրեք Ավելացնել Firebase ձեր IOS հավելվածին: Տեղադրեք ձեր փաթեթի նույնացուցիչը և կտտացրեք Գրանցման ծրագիր:

6. Ներբեռնեք GoogleService-Info.plist- ը և քաշեք այն ձեր Xcode Project- ի մեջ:

7. Վերադառնալով Firebase- ին, կտտացրեք Շարունակել: Այնուհետև բացեք տերմինալի պատուհան և նավարկեք դեպի ձեր Xcode նախագծի վայրը:

8. Գործարկեք այս հրամանը.

pod init

9. Բացեք Podfile- ը և օգտագործեք_ շրջանակները:, ավելացնել այս տողը.

պատուհան «Firebase/Core»

10. Վերադառնալ տերմինալի տեսակին. Պատյան տեղադրեք և փակեք Xcode- ը:

11. Finder- ում նավարկեք ձեր Xcode նախագիծը և բացեք նոր ստեղծված.xcworkspacefile- ը:

12. Այստեղ գնացեք AppDelegate.swift, իսկ ներմուծման ներքո UIKit- ը ավելացրեք այս տողը.

ներմուծել Firebase

Իսկ դիմում-գործառույթում ավելացրեք այս տողը.

FIRApp.configure ():

13. Վերադառնալով Firebase, կտտացրեք Շարունակել և այնուհետև Ավարտել:

14. Գնացեք Տվյալների բազա, այնուհետև Կանոններ և «.կարդացեք» և «.գրեք» նշեք true: Սեղմեք ՀՐԱՊԱՐԱԿԵԼ:

15. Վերադառնալով Xcode- ին, բացեք Podfile- ը և մեր տեղադրած առաջին տողի տակ ավելացրեք սա.

պատուհան «Firebase/Database»

16. Վերադառնալով տերմինալ, նորից գործարկեք pod install- ը:

Քայլ 2: Ավարտելով Xcode- ը

Ավարտելով Xcode- ը
Ավարտելով Xcode- ը
Ավարտելով Xcode- ը
Ավարտելով Xcode- ը
Ավարտելով Xcode- ը
Ավարտելով Xcode- ը

Այժմ մենք կավարտենք կոդը և դասավորությունը Xcode- ում:

Սա օգտագործում է Xcode 9 և Swift 4

Կոդ ViewController1- ի համար: ViewController- ի վերևում և ներմուծման UIKit- ի ներքո ավելացրեք սա.

ներմուծել Firebase

ներմուծել FirebaseDatabase

2. ViewController- ի ներքևում և didReceiveMemoryWarning գործառույթի տակ պատճենեք այս գործառույթները յուրաքանչյուր կոճակի համար.

func num1 (վիճակ ՝ լարային) {

let ref = FIRDatabase.database (). reference () let post: [String: Any] = ["state": state] ref.child ("num1"). setValue (post)}Հիշեք փոխել (համարը

3. ViewDidLoad գործառույթում, super.viewDidLoad () տողում, տեղադրեք այս տողը յուրաքանչյուր կոճակի համար (մի քանի կոճակների համար պարզապես փոխեք (համարը): Տեսեք նկարը …):

num1 (վիճակ ՝ «OFF»)

Main.storyboard- ի և կոճակների դասավորությունը

1. Գնացեք Main.storyboard և տեղադրեք որոշ կոճակներ: Դուք կարող եք դրանք դասավորել ինչպես ինձ, կամ հարմարեցնել դրանք, ինչպես ցանկանում եք:

2. Միացրեք կոճակները ViewController- ի հետ: Յուրաքանչյուր կոճակ պետք է երկու անգամ միացված լինի. Մեկը `որպես գործողություն, և UI կոճակը կոչվում է num (number) կոճակ, իսկ մյուսը` որպես կանխադրված Outlet և անվանվում է num (number) Color: Տես նկարը…

3. Այնուհետեւ բոլոր կոճակների համար այս տողում կպցրեք յուրաքանչյուր գործառույթին.

if self.num1Color.backgroundColor == UIColor.lightGray {// Ֆոնի գույնը սահմանում է lightGray

num1 (վիճակ ՝ «ON») // «ON» վիճակն ուղարկում է firebase self.num1Color.backgroundColor = UIColor (կարմիր ՝ 0.96, կանաչ ՝ 0.41, կապույտ ՝ 0.26, ալֆա ՝ 1.0) // Ֆոնի գույնը սահմանում է կարմրավուն} else {num1 (վիճակ ՝ «OFF») // Ուղարկում է վիճակը ՝ «OFF» firebase self.num1Color.backgroundColor = UIColor.lightGray // Ֆոնի գույնը սահմանում է lightGray}

Այժմ դուք պետք է կարողանաք այն ստուգել ՝ գործարկելով ծրագիրը, և երբ սեղմում եք կոճակները, պետք է տեսնեք, որ այն փոխվում է ՝ Firebase- ի Realtime Database- ում:

Վերջնական հպումներ (ըստ ցանկության)

1. Ներբեռնեք ստորև բերված պատկերները և տեղադրեք LaunchScreen-image.jpg- ը պատկերի դիտման մեջ ՝ LaunchScreen.storyboard- ում:

2. Գնացեք Assets.xcassets և այնուհետև AppIcon: Այստեղ տեղադրեք համապատասխան AppIcon- ի չափը:

Քայլ 3: Ազնվամորի Պի կարգավորում

Raspberry Pi- ի կարգավորում
Raspberry Pi- ի կարգավորում

Այժմ մենք պետք է կարգավորենք Pi- ն Firebase- ով, որպեսզի ծրագիրը կարողանա շփվել, Firebase- ը նետել Pi- ին:

Ես չեմ գրել կոդը, բայց բնօրինակը կարող եք գտնել այստեղ:

1. Տերմինալում գործարկեք սովորական թարմացումները.

sudo apt-get update && sudo apt-get dist-upgrade

2. Այնուհետեւ մենք կներմուծենք pyrebase (Firebase):

sudo pip տեղադրել pyrebase

sudo pip3 տեղադրել pyrebase sudo pip3 install-արդիականացնել google-auth-oauthlib

3. Այժմ ներբեռնեք Blinkt գրադարանը.

ոլորել https://get.pimoroni.com/blinkt | բաշ

4. Կլոնավորել իմ GitHub պահոցը.

git կլոն https://github.com/Anders644PI/RPiAppControl.gitcd RPiAppControl

5. Խմբագրել AppRPiControl_Template.py:

nano RPiAppControl_Template.py

6. Լրացրեք ձեր Firebase ApiKey- ը և projectId- ը: Դուք կարող եք դրանք գտնել ՝ գնալով ձեր Firebase Project և կտտացնելով Ավելացնել մեկ այլ ծրագիր, այնուհետև ավելացնել Firebase ձեր վեբ հավելվածին:

7. Անհատականացրեք գործառույթները և պահպանեք ձեր փոփոխությունները `սեղմելով ctrl-o (մուտքագրեք) և փակեք ctrl-x- ով:

8. Այժմ գործարկեք այն հետևյալով.

sudo python3 RPiAppControl_Template.py

9. Հետո, եթե օգտագործում եք Blinkt, կարող եք փորձել օրինակը, երբ լրացնեք ձեր Firebase ApiKey- ն և projectId- ը.

cd օրինակներ

nano RPiAppControl_blinkt_demo.py

Այժմ գործարկեք.

sudo python3 RPiAppControl_blinkt_demo.pyՀիշեք, որ սցենարը գործարկելուց հետո պատրաստվելը տևում է մոտ մեկ րոպե (գոնե Pi Zero- ի վրա): Իսկ սցենարը պետք է գործարկել պիթոն 3 -ում

10. ԲՈՆՈՍ. Եթե ցանկանում եք, որ սցենարը գործի բեռնախցիկով, կարող եք պարզել, թե ինչպես, այստեղ:

Անջատում/սնուցման կոճակ

Սնուցման կոճակի տեղադրումն ընտրովի չէ, բայց ես դա խորհուրդ եմ տալիս: Հետևեք այս տեսանյութին ՝ այն կարգավորելու համար:

Հիշեք, որ սա օգտագործում է Pi- ի ֆիզիկական 5 -րդ կապը, այնպես որ որոշ HAT- եր չեն աշխատի:

Քայլ 4: պարիսպ

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