Բովանդակություն:
Video: RPi IoT Smart Light Firebase- ի միջոցով. 4 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:48
Այս ուղեցույցը ցույց է տալիս, թե ինչպես պատրաստել և կարգավորել ծրագիր 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 հավելվածի հետ, որպեսզի կարողանանք հաղորդակցվել ծրագրից 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 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: Ազնվամորի Պի կարգավորում
Այժմ մենք պետք է կարգավորենք 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: պարիսպ
Խորհուրդ ենք տալիս:
Blynk հավելվածի միջոցով Nodemcu- ի միջոցով ինտերնետի միջոցով կառավարում. 5 քայլ
Blynk հավելվածի միջոցով Nodemcu- ի միջոցով ինտերնետի միջոցով կառավարելը. Բարև բոլորին, այսօր մենք ձեզ ցույց կտանք, թե ինչպես կարող եք վերահսկել LED- ը սմարթֆոնի միջոցով ինտերնետում
LoRa- ի վրա հիմնված գյուղատնտեսության տեսողական մոնիթորինգի համակարգ Iot - Նախագծված դիմումի ձևավորում Firebase- ի և անկյունայինի միջոցով. 10 քայլ
LoRa- ի վրա հիմնված գյուղատնտեսության տեսողական մոնիտորինգի համակարգ Iot | Firebase & Angular- ի միջոցով ճակատային հավելվածի նախագծում. Նախորդ գլխում մենք խոսում ենք այն մասին, թե ինչպես են սենսորները աշխատում loRa մոդուլով ՝ հրակայունի Realtime տվյալների բազան համալրելու համար, և մենք տեսանք շատ բարձր մակարդակի դիագրամ, թե ինչպես է աշխատում մեր ամբողջ նախագիծը: Այս գլխում մենք կխոսենք այն մասին, թե ինչպես կարող ենք
Կառավարեք սարքերը ինտերնետի միջոցով զննարկչի միջոցով: (IoT) ՝ 6 քայլ
Կառավարեք սարքերը ինտերնետի միջոցով զննարկչի միջոցով: (IoT). Այս Instructable- ում ես ձեզ ցույց կտամ, թե ինչպես կարող եք վեբ դիտարկիչի միջոցով ինտերնետով վերահսկել այնպիսի սարքեր, ինչպիսիք են LED- ները, ռելեներ, շարժիչները և այլն: Եվ դուք կարող եք ապահով կերպով մուտք գործել կառավարման տարրեր ցանկացած սարքի վրա: Իմ օգտագործած վեբ հարթակը RemoteMe.org այցելությունն է
Քայլ Servo շարժիչը սերիական հսկողության միջոցով Arduino- ի միջոցով օգտագործելով 3D տպիչ - Pt4: 8 քայլ
Arduino- ի միջոցով եռաչափ տպիչի միջոցով Step Servo Motor- ի սերիական կառավարում - Pt4. Motor Step շարքի այս չորրորդ տեսանյութում մենք կօգտագործենք այն, ինչ սովորել էինք նախկինում սերիական հաղորդակցության և իրական վերահսկողության միջոցով stepper servo շարժիչ կառուցելու համար: դիրքի հետադարձ կապ ՝ օգտագործելով դիմադրիչ կոդավորիչ, որը վերահսկվում է Arduino- ի կողմից:
Կառավարեք Arduino- ն սմարթֆոնի միջոցով USB- ի միջոցով Blynk հավելվածով. 7 քայլ (նկարներով)
Կառավարեք Arduino- ն սմարթֆոնի միջոցով USB- ի միջոցով Blynk հավելվածով. Այս ձեռնարկում մենք սովորելու ենք, թե ինչպես օգտագործել Blynk ծրագիրը և Arduino- ն ՝ լամպը կառավարելու համար, համադրությունը լինելու է USB սերիական նավահանգստի միջոցով: Այս հրահանգի նպատակն է ցույց տալ ամենապարզ լուծումը ՝ հեռակառավարելով ձեր Arduino- ն կամ գ