Turinys:

„RPi IoT Smart Light“naudojant „Firebase“: 4 žingsniai (su paveikslėliais)
„RPi IoT Smart Light“naudojant „Firebase“: 4 žingsniai (su paveikslėliais)

Video: „RPi IoT Smart Light“naudojant „Firebase“: 4 žingsniai (su paveikslėliais)

Video: „RPi IoT Smart Light“naudojant „Firebase“: 4 žingsniai (su paveikslėliais)
Video: how to make Motion detection light on off PIR sensor project #howto 2024, Lapkritis
Anonim
„RPi IoT Smart Light“naudojant „Firebase“
„RPi IoT Smart Light“naudojant „Firebase“
„RPi IoT Smart Light“naudojant „Firebase“
„RPi IoT Smart Light“naudojant „Firebase“
„RPi IoT Smart Light“naudojant „Firebase“
„RPi IoT Smart Light“naudojant „Firebase“
„RPi IoT Smart Light“naudojant „Firebase“
„RPi IoT Smart Light“naudojant „Firebase“

Šis vadovas parodo, kaip sukurti ir nustatyti programą, skirtą valdyti „Raspberry Pi“naudojant „Firebase“(internetinę duomenų bazę). Tada 3D spausdinimas „Pi Zero W“dėklui, „Powerboost 1000C“, baterijai ir „Blinkt!“.

Kad būtų lengviau sekti, rekomenduoju susipažinti su „Xcode“ir „Raspberry Pi“.

Ir jei jums patinka tai, ką matote, sekite mane „Instagram“ir „Twitter“(@Anders644PI), kad neatsiliktumėte nuo to, ką darau.

Jums reikės:

  • „Raspberry Pi Zero W“su adapteriais ir GPIO antraštėmis

    (arba įprastas „Pi Zero“su „WiFi“raktu)

  • „PowerBoost 1000 C“
  • Ličio jonų baterija - 3,7 V 2000 mAh
  • Blinkt! (arba bet kokia pHAT/HAT, tai: nenaudoja 5 fizinio kaiščio, o skrybėlė turi būti plokščia apačioje.)
  • 8 GB ar naujesnė „Micro SD“kortelė su „Raspbian Stretch“(su darbalaukiu)
  • Klaviatūra ir pelė (bet taip pat galite prisijungti per ssh, jei dabar žinote, kaip tai padaryti)
  • Ryšys su monitoriumi ar televizoriumi (arba ssh!)
  • Sraigtai
  • Maži laidai
  • Mažas jungiklis ir mažas mygtukas
  • 3D spausdintuvas ir viena ritė iš bet kokios spalvos PLA gijų ir viena ritė skaidrios PLA (arba galite naudoti 3D paslaugą, pvz., „3D Hubs“, kad ją atspausdintumėte)

1 veiksmas: „Firebase“ir „Xcode“

„Firebase“ir „Xcode“
„Firebase“ir „Xcode“
„Firebase“ir „Xcode“
„Firebase“ir „Xcode“
„Firebase“ir „Xcode“
„Firebase“ir „Xcode“

Pirmiausia su programa nustatysime „Firebase“, kad galėtume bendrauti iš programos į „Pi“.

Jei pasimetate, galite pažiūrėti šį vaizdo įrašą.

1. Atidarykite „Xcode“ir sukurkite naują „Xcode“projektą. Pasirinkite vieno vaizdo programą ir pavadinkite ją „RPiAppControl“ir įsitikinkite, kad kalba yra „Swift“. Paspauskite Pirmyn ir išsaugokite.

2. Nukopijuokite savo paketo identifikatorių, nes to mums prireiks vėliau.

3. „Firebase“prisijunkite naudodami „Google“paskyrą ir spustelėkite Eiti į konsolę.

4. Sukurkite naują projektą ir pavadinkite jį RPiAppControl.

5. Spustelėkite Pridėti „Firebase“prie savo „IOS“programos. Įklijuokite savo paketo identifikatorių ir paspauskite Registruotis programa.

6. Atsisiųskite „GoogleService-Info.plist“ir vilkite jį į „Xcode Project“.

7. Grįžę į „Firebase“, paspauskite Tęsti. Tada atidarykite terminalo langą ir eikite į savo „Xcode“projekto vietą.

8. Vykdykite šią komandą:

pod init

9. Atidarykite Podfile, ir pagal use_frameworks!, pridėkite šią eilutę:

antraštė „Firebase/Core“

10. Atgal į terminalo tipą: pod install ir uždarykite Xcode.

11. „Finder“eikite į savo „Xcode“projektą ir atidarykite naujai sukurtą.xcworkspacefile.

12. Čia eikite į „AppDelegate.swift“ir importuodami „UIKit“pridėkite šią eilutę:

importuoti „Firebase“

Programos funkcijoje pridėkite šią eilutę:

FIRApp.configure ().

13. Grįžę į „Firebase“, spustelėkite Tęsti, tada - Baigti.

14. Eikite į Duomenų bazę, tada Taisyklės ir nustatykite „. Read“ir „.write“į „true“. Paspauskite PUBLISH.

15. Grįžę prie „Xcode“, atidarykite „Podfile“ir po pirmąja eilute, kurią nustatėme, pridėkite:

pod „Firebase/Database“

16. Grįžę į terminalą, vėl paleiskite pod install.

2 žingsnis: „Xcode“apdaila

„Xcode“užbaigimas
„Xcode“užbaigimas
„Xcode“užbaigimas
„Xcode“užbaigimas
„Xcode“užbaigimas
„Xcode“užbaigimas

Dabar užbaigsime kodą ir išdėstymą „Xcode“.

Tam naudojamas „Xcode 9“ir „Swift 4“

„ViewController“kodas1. „ViewController“viršuje ir po importuojamu UIKit pridėkite:

importuoti „Firebase“

importuoti „FirebaseDatabase“

2. „ViewController“apačioje ir po „didReceivedMemoryWarning“funkcija nukopijuokite ir įklijuokite šias kiekvieno mygtuko funkcijas:

func num1 (būsena: eilutė) {

let ref = FIRDatabase.database (). reference () let post: [String: Any] = ["state": state] ref.child ("num1"). setValue (post)}Nepamirškite pakeisti (skaičiaus

3. Funkcijoje viewDidLoad, super.viewDidLoad (), įterpkite šią eilutę prie kiekvieno mygtuko (jei norite pakeisti kelis mygtukus, tiesiog pakeiskite (skaičių). Žr. Paveikslėlį …):

num1 (būsena: „OFF“)

Main.storyboard ir mygtukų išdėstymas

1. Eikite į „Main.storyboard“ir įdėkite keletą mygtukų. Galite išdėstyti juos taip, kaip aš, arba pritaikyti juos taip, kaip jums patinka.

2. Prijunkite mygtukus prie „ViewController“. Kiekvienas mygtukas turi būti prijungtas du kartus: vieną kaip veiksmą ir „UIB“mygtuką, pavadintą „num (number)“mygtuku, o kitą - kaip numatytąjį „Outlet“ir pavadinkite jį numerio (skaičiaus) spalva. Žiūrėkite paveikslėlį…

3. Tada įklijuokite visus mygtukus į kiekvieną iš šių funkcijų:

if self.num1Color.backgroundColor == UIColor.lightGray {// Nustato fono spalvą į šviesiai pilką

num1 (būsena: „ĮJUNGTA“) // siunčia būseną „ĮJUNGTA“į „firebase self“.num1Color.backgroundColor = UIColor (raudona: 0,96, žalia: 0,41, mėlyna: 0,26, alfa: 1,0) // Nustato fono spalvą į raudonas} else {num1 (būsena: "OFF") // Būseną "OFF" siunčia į firebase self.num1Color.backgroundColor = UIColor.lightGray // Nustato fono spalvą į šviesiai pilką}

Dabar turėtumėte galėti tai išbandyti paleisdami programą, o kai paspausite mygtukus, „Firebase“realaus laiko duomenų bazėje turėtumėte pamatyti, kaip ji keičiasi.

Apdailos darbai (pasirenkama)

1. Atsisiųskite toliau pateiktus vaizdus ir įdėkite „LaunchScreen-image.jpg“į paveikslėlio rodinį „LaunchScreen.storyboard“.

2. Eikite į Assets.xcassets, tada - „AppIcon“. Čia įdėkite atitinkamą „AppIcon“dydį.

3 žingsnis: „Raspberry Pi“sąranka

„Raspberry Pi“sąranka
„Raspberry Pi“sąranka

Dabar turime nustatyti „Pi“naudodami „Firebase“, kad programa galėtų bendrauti, mesti „Firebase“į „Pi“.

Kodo neparašiau, bet originalų kodą rasite čia.

1. Terminale paleiskite įprastus naujinimus:

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

2. Tada importuosime „pyrebase“(„Firebase“):

sudo pip įdiegti pyrebase

sudo pip3 įdiegti pyrebase sudo pip3 įdiegti-atnaujinti google-auth-oauthlib

3. Dabar atsisiųskite „Blinkt“biblioteką:

garbanoti https://get.pimoroni.com/blinkt | mušti

4. Klonuokite mano „GitHub“saugyklą:

git klonas https://github.com/Anders644PI/RPiAppControl.gitcd RPiAppControl

5. Redaguokite „AppRPiControl_Template.py“:

nano RPiAppControl_Template.py

6. Užpildykite „Firebase ApiKey“ir „ProjectId“. Tai galite rasti apsilankę „Firebase“projekte, spustelėję „Pridėti kitą programą“ir „Pridėti„ Firebase “prie žiniatinklio programos.

7. Tinkinkite funkcijas ir išsaugokite pakeitimus paspausdami ctrl-o (enter) ir uždarykite naudodami ctrl-x.

8. Dabar paleiskite jį su:

sudo python3 RPiAppControl_Template.py

9. Tada, jei naudojate „Blinkt“, galite išbandyti pavyzdį, kai užpildysite „Firebase ApiKey“ir „projectId“:

cd pavyzdžiai

nano RPiAppControl_blinkt_demo.py

Dabar paleiskite:

sudo python3 RPiAppControl_blinkt_demo.pyAtminkite, kad paleidus scenarijų, pasiruošimas užtrunka apie minutę (bent jau „Pi Zero“). Ir scenarijus turi būti paleistas naudojant „python 3“

10. BONUS: Jei norite, kad scenarijus būtų paleistas įkrovos metu, galite sužinoti, kaip tai padaryti.

Išjungimo/maitinimo mygtukas

Neprivaloma įdiegti maitinimo mygtuką, bet aš rekomenduoju. Sekite šį vaizdo įrašą, kad jį nustatytumėte.

Atminkite, kad „Pi“naudojamas fizinis 5 kaištis, todėl kai kurios HAT neveiks.

4 žingsnis: gaubtas

Rekomenduojamas: