Kazalo:

Pametna luč RPi IoT z uporabo Firebase: 4 koraki (s slikami)
Pametna luč RPi IoT z uporabo Firebase: 4 koraki (s slikami)

Video: Pametna luč RPi IoT z uporabo Firebase: 4 koraki (s slikami)

Video: Pametna luč RPi IoT z uporabo Firebase: 4 koraki (s slikami)
Video: Home Automation: 12V Relay with LED Display Delay 0.1 seconds to 999 seconds Timer module P1 to P4 2024, Julij
Anonim
Pametna luč RPi IoT z uporabo Firebase
Pametna luč RPi IoT z uporabo Firebase
RPi IoT Smart Light z uporabo Firebase
RPi IoT Smart Light z uporabo Firebase
RPi IoT Smart Light z uporabo Firebase
RPi IoT Smart Light z uporabo Firebase
Pametna luč RPi IoT z uporabo Firebase
Pametna luč RPi IoT z uporabo Firebase

Ta priročnik vam pokaže, kako narediti in nastaviti aplikacijo za nadzor Raspberry Pi prek Firebase (spletna zbirka podatkov). In potem 3D tiskanje ohišja za Pi Zero W, Powerboost 1000C, baterijo in Blinkt !.

Za lažje spremljanje priporočam, da se seznanite z Xcode in Raspberry Pi.

In če vam je všeč tisto, kar vidite, me spremljajte na Instagramu in Twitterju (@Anders644PI), da boste v koraku s tem, kar naredim.

Boste potrebovali:

  • Raspberry Pi Zero W z adapterji in glavami GPIO

    (ali navaden Pi Zero z ključem WiFi)

  • PowerBoost 1000 C.
  • Litij -ionska baterija - 3,7 V 2000 mAh
  • Blinkt! (ali kateri koli pHAT/HAT, ki: ne uporablja pin 5 fizično in HAT morajo biti ravni na dnu.)
  • Kartica Micro SD 8 GB ali več z Raspbian Stretch (z namizjem) na njej
  • Tipkovnica in miška (lahko pa se povežete tudi prek ssh, če zdaj kako)
  • Povezava z monitorjem ali televizorjem (ali ssh!)
  • Odtočni vijaki
  • Majhne žice
  • Majhno stikalo in majhen gumb
  • 3D -tiskalnik in en kolut iz katere koli barvne nitke PLA in en tuljava prozornega PLA (za tiskanje lahko uporabite storitev 3D, kot so 3D Hub)

1. korak: Firebase in Xcode

Firebase in Xcode
Firebase in Xcode
Firebase in Xcode
Firebase in Xcode
Firebase in Xcode
Firebase in Xcode

Najprej bomo z aplikacijo nastavili Firebase, tako da lahko iz aplikacije komuniciramo s Pi.

Če ste zmedeni, si lahko ogledate ta video.

1. Odprite Xcode in ustvarite nov projekt Xcode. Izberite aplikacijo Single View in jo poimenujte RPiAppControl ter se prepričajte, da je jezik Swift. Pritisnite Naprej in ga shranite.

2. Kopirajte svoj identifikator svežnja, ker ga bomo potrebovali kasneje.

3. V Firebase se prijavite z Google Računom in kliknite Pojdi na konzolo.

4. Ustvarite nov projekt in ga pokličite RPiAppControl.

5. Kliknite Dodaj Firebase v aplikacijo IOS. Prilepite identifikator svežnja in pritisnite Register App.

6. Prenesite GoogleService-Info.plist in ga povlecite v svoj projekt Xcode.

7. Nazaj v Firebase pritisnite Nadaljuj. Nato odprite terminalsko okno in se pomaknite do lokacije vašega projekta Xcode.

8. Zaženite ta ukaz:

pod init

9. Odprite Podfile in pod use_frameworks!, dodaj to vrstico:

pod 'Firebase/Core'

10. Vrnite se v vrsto terminala: pod install in zaprite Xcode.

11. V Finderju se pomaknite do svojega projekta Xcode in odprite novo ustvarjeno datoteko.xcworkspace.

12. Tukaj pojdite na AppDelegate.swift in pod uvozni UIKit dodajte to vrstico:

uvoz Firebase

In v aplikacijski funkciji dodajte to vrstico:

FIRApp.configure ().

13. Nazaj v Firebase kliknite Nadaljuj in nato Dokončaj.

14. Pojdite na bazo podatkov, nato Pravila in nastavite ".read" in ".write" na true. Pritisnite OBJAVI.

15. Nazaj v Xcode odprite Podfile in pod prvo vrstico, ki smo jo nastavili, dodajte to:

pod 'Firebase/Baza podatkov'

16. Nazaj v terminalu znova zaženite pod install.

2. korak: Dokončanje Xcode

Dokončanje Xcode
Dokončanje Xcode
Dokončanje Xcode
Dokončanje Xcode
Dokončanje Xcode
Dokončanje Xcode

Sedaj bomo dokončali kodo in postavitev v Xcode.

Ta uporablja Xcode 9 in Swift 4

Koda za ViewController1. Na vrhu ViewControllerja in pod uvoznim UIKitom dodajte to:

uvoz Firebase

uvoz FirebaseDatabase

2. Na dnu ViewControllerja in pod funkcijo didReceiveMemoryWarning kopirajte prilepite te funkcije za vsak gumb:

func num1 (stanje: String) {

naj ref = FIRDatabase.database (). reference () naj objavi: [String: Any] = ["stanje": stanje] ref.child ("num1"). setValue (post)}Ne pozabite spremeniti številke

3. V funkciji viewDidLoad pod super.viewDidLoad () vnesite to vrstico za vsak gumb (Za več gumbov preprosto spremenite (številko). Glejte sliko …):

num1 (stanje: "OFF")

Postavitev glavne plošče in gumbov

1. Pojdite na Main.storyboard in vnesite nekaj gumbov. Lahko jih postavite tako, kot sem jih jaz, ali pa jih prilagodite po želji.

2. Gumbe povežite s ViewControllerjem. Vsak gumb je treba dvakrat povezati: enega kot dejanje in gumb UIB, imenovan gumb številka (številka), drugega pa kot privzeto vtičnico in ga poimenujte številka (številka) Barva. Oglejte si sliko…

3. Nato za vse gumbe prilepite v to vrstico vsako funkcijo:

if self.num1Color.backgroundColor == UIColor.lightGray {// Barvo ozadja nastavi na lightGray

num1 (stanje: "ON") // Pošlje stanje: "ON" firebase self.num1Color.backgroundColor = UIColor (rdeča: 0,96, zelena: 0,41, modra: 0,26, alfa: 1,0) // Barvo ozadja nastavi na reddish} else {num1 (state: "OFF") // Pošlje stanje: "OFF" firebase self.num1Color.backgroundColor = UIColor.lightGray // Barvo ozadja nastavi na lightGray}

Zdaj bi ga morali preizkusiti z zagonom aplikacije in ko pritisnete gumbe, bi morali videti, da se stanje spreminja v zbirki podatkov v realnem času v Firebase.

Zaključni dotiki (neobvezno)

1. Prenesite slike spodaj in vstavite LaunchScreen-image-j.webp

2. Pojdite na Assets.xcassets in nato AppIcon. Tukaj postavite ustrezno AppIcon velikost.

3. korak: Nastavitev Raspberry Pi

Nastavitev Raspberry Pi
Nastavitev Raspberry Pi

Zdaj moramo nastaviti Pi z Firebase, tako da lahko aplikacija komunicira, Firebase vrže na Pi.

Kode nisem napisal, lahko pa izvirno kodo najdete tukaj.

1. V terminalu zaženite običajne posodobitve:

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

2. Nato bomo uvozili pyrebase (Firebase):

sudo pip namestite pyrebase

sudo pip3 namestite pyrebase sudo pip3 namestite --upgrade google-auth-oauthlib

3. Zdaj prenesite knjižnico Blinkt:

curl https://get.pimoroni.com/blinkt | bash

4. Kloniraj moje skladišče GitHub:

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

5. Uredite AppRPiControl_Template.py:

nano RPiAppControl_Template.py

6. Vnesite svoj Firebase ApiKey in projectId. Najdete jih tako, da odprete svoj projekt Firebase, kliknete Dodaj drugo aplikacijo in nato v svojo spletno aplikacijo dodate Firebase.

7. Prilagodite funkcije in shranite spremembe s pritiskom na ctrl-o (enter) in zaprite s ctrl-x.

8. Zdaj ga zaženite z:

sudo python3 RPiAppControl_Template.py

9. Če uporabljate Blinkt, lahko poskusite z primerom, ko izpolnite svoj Firebase ApiKey in projectId:

cd primeri

nano RPiAppControl_blinkt_demo.py

Zdaj ga zaženite:

sudo python3 RPiAppControl_blinkt_demo.pyUpoštevajte, da po zagonu skripta traja približno minuto, da se pripravi (vsaj na Pi Zero). Skript je treba zagnati v pythonu 3

10. BONUS: Če želite, da se skript izvaja ob zagonu, lahko izvedete, kako, tukaj.

Gumb za izklop/vklop

Namestitev gumba za vklop ni obvezna, vendar ga priporočam. Sledite temu videoposnetku, da ga nastavite.

Upoštevajte, da ta uporablja fizični pin 5 na Pi, zato nekateri HAT ne bodo delovali.

4. korak: ohišje

Priporočena: