Indholdsfortegnelse:

RPi IoT Smart Light Brug af Firebase: 4 trin (med billeder)
RPi IoT Smart Light Brug af Firebase: 4 trin (med billeder)

Video: RPi IoT Smart Light Brug af Firebase: 4 trin (med billeder)

Video: RPi IoT Smart Light Brug af Firebase: 4 trin (med billeder)
Video: There's a Camel in My House! - Geert Schuring [DevCon 2016] 2024, November
Anonim
RPi IoT Smart Light ved hjælp af Firebase
RPi IoT Smart Light ved hjælp af Firebase
RPi IoT Smart Light ved hjælp af Firebase
RPi IoT Smart Light ved hjælp af Firebase
RPi IoT Smart Light ved hjælp af Firebase
RPi IoT Smart Light ved hjælp af Firebase
RPi IoT Smart Light ved hjælp af Firebase
RPi IoT Smart Light ved hjælp af Firebase

Denne vejledning viser dig, hvordan du opretter og opsætter en app til at styre Raspberry Pi via Firebase (En online database). Og så 3D -udskrivning af etui til Pi Zero W, en Powerboost 1000C, et batteri og en Blinkt !.

For nemmest at kunne følge med anbefaler jeg at være fortrolig med Xcode og Raspberry Pi.

Og hvis du kan lide det, du ser, følg mig på Instagram og Twitter (@Anders644PI) for at følge med i, hvad jeg laver.

Du får brug for:

  • En Raspberry Pi Zero W med adaptere og GPIO-headere

    (eller den almindelige Pi Zero med en WiFi -dongle)

  • En PowerBoost 1000 C
  • Et litiumionbatteri - 3,7v 2000mAh
  • Et blinkt! (eller enhver pHAT/HAT, der: ikke bruger pin 5 fysisk, og HAT'er skal være flade i bunden.)
  • Et Micro SD -kort på 8 GB eller højere med Raspbian Stretch (med skrivebord) på
  • Et tastatur og en mus (men du kan også oprette forbindelse via ssh, hvis du nu gør det)
  • En forbindelse til en skærm eller et tv (eller ssh!)
  • Skrotskruer
  • Små ledninger
  • En lille kontakt og en lille knap
  • En 3D -printer og en spole i enhver farve PLA -filament og en spole med gennemsigtig PLA (eller du kan bruge en 3D -service som 3D Hubs til at udskrive den for dig)

Trin 1: Firebase og Xcode

Firebase og Xcode
Firebase og Xcode
Firebase og Xcode
Firebase og Xcode
Firebase og Xcode
Firebase og Xcode

Først konfigurerer vi Firebase med appen, så vi kan kommunikere fra appen til Pi.

Hvis du bliver forvirret, kan du se denne video.

1. Åbn Xcode, og lav et nyt Xcode -projekt. Vælg Single View App, og kald det RPiAppControl, og sørg for, at sproget er hurtigt. Tryk på Næste, og gem det.

2. Kopier dit bundt -id, for det får vi brug for senere.

3. Log ind med din Google -konto i Firebase, og klik på Gå til konsol.

4. Opret et nyt projekt, og kald det RPiAppControl.

5. Klik på Tilføj Firebase til din IOS -app. Indsæt dit bundt -id, og tryk på Registrer app.

6. Download GoogleService-Info.plist, og træk den ind i dit Xcode-projekt.

7. Tilbage til Firebase, tryk på Fortsæt. Åbn derefter et terminalvindue og naviger til placeringen af dit Xcode -projekt.

8. Kør denne kommando:

pod init

9. Åbn Podfilen, og under use_frameworks!, tilføj denne linje:

pod 'Firebase/Core'

10. Tilbage i terminaltypen: pod -installation, og luk Xcode.

11. Naviger til dit Xcode -projekt i Finder, og åbn den nyoprettede.xcworkspacefile.

12. Gå her til AppDelegate.swift, og tilføj denne linje under import UIKit:

importer Firebase

Og tilføj denne linje i applikationsfunktionen:

FIRApp.configure ().

13. Tilbage i Firebase, klik på Fortsæt og derefter på Afslut.

14. Gå til Database, derefter Regler, og indstil ".read" og ".write" til true. Tryk på PUBLISH.

15. Tilbage ved Xcode, åbn Podfilen, og tilføj denne under den første linje, vi satte ind:

pod 'Firebase/Database'

16. Tilbage i terminalen, kør podinstallation igen.

Trin 2: Afslutning af Xcode

Afslutter Xcode
Afslutter Xcode
Afslutter Xcode
Afslutter Xcode
Afslutter Xcode
Afslutter Xcode

Vi afslutter nu koden og layoutet i Xcode.

Dette bruger Xcode 9 og Swift 4

Kode til ViewController 1. Øverst på ViewController og under import -UIKit tilføjes dette:

importer Firebase

importer FirebaseDatabase

2. I bunden af ViewController og under didReceiveMemoryWarning -funktionen skal du kopiere og indsætte disse funktioner for hver knap:

func num1 (tilstand: streng) {

lad ref = FIRDatabase.database (). reference () lad indlæg: [String: Any] = ["state": state] ref.child ("num1"). setValue (post)}Husk at ændre (nummer

3. I viewDidLoad -funktionen under super.viewDidLoad () skal du indsætte denne linje for hver knap (For flere knapper skal du bare ændre (nummer). Se billede …):

num1 (tilstand: "OFF")

Layout af Main.storyboard og knapper

1. Gå til Main.storyboard, og sæt nogle knapper i. Du kan layoute dem som jeg gjorde, eller tilpasse dem som du vil.

2. Tilslut knapperne med ViewController. Hver knap skal forbindes to gange: En som en handling og UIB -knap kaldet num (nummer) -knap, og den anden som standard Outlet og kalder det num (nummer) Farve. Se billede…

3. Indsæt derefter for alle knapperne denne linje i hver af funktionerne:

hvis self.num1Color.backgroundColor == UIColor.lightGray {// Sætter baggrundsfarven til lightGray

num1 (tilstand: "ON") // Sender tilstanden: "ON" til firebase self.num1Color.backgroundColor = UIColor (rød: 0,96, grøn: 0,41, blå: 0,26, alfa: 1,0) // Indstiller baggrundsfarven til rødlig} else {num1 (tilstand: "OFF") // Sender tilstanden: "OFF" til firebase self.num1Color.backgroundColor = UIColor.lightGray // Sætter baggrundsfarven til lightGray}

Nu skulle du være i stand til at teste det ved at køre appen, og når du trykker på knapperne, skal du se den ændre tilstand i Realtime Database i Firebase.

Efterbehandling (valgfrit)

1. Download billederne herunder, og indsæt LaunchScreen-image-j.webp

2. Gå til Assets.xcassets og derefter AppIcon. Her skal du placere den i den tilsvarende AppIcon -størrelse.

Trin 3: Opsætning af Raspberry Pi

Opsætning af hindbær Pi
Opsætning af hindbær Pi

Nu skal vi konfigurere Pi med Firebase, så appen kan kommunikere, kaste Firebase, til Pi.

Jeg skrev ikke koden, men du kan finde den originale kode her.

1. Kør de sædvanlige opdateringer i terminalen:

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

2. Så importerer vi pyrebase (Firebase):

sudo pip installer pyrebase

sudo pip3 install pyrebase sudo pip3 install-opgrader google-auth-oauthlib

3. Download nu Blinkt -biblioteket:

krølle https://get.pimoroni.com/blinkt | bash

4. Klon mit GitHub -lager:

git -klon https://github.com/Anders644PI/RPiAppControl.gitcd RPiAppControl

5. Rediger AppRPiControl_Template.py:

nano RPiAppControl_Template.py

6. Udfyld din Firebase ApiKey og projectId. Du kan finde disse ved at gå til dit Firebase -projekt og klikke på Tilføj en anden app og derefter føje Firebase til din webapp.

7. Tilpas funktionerne, og gem dine ændringer ved at trykke på ctrl-o (enter) og lukke med ctrl-x.

8. Kør det nu med:

sudo python3 RPiAppControl_Template.py

9. Hvis du derefter bruger en Blinkt, kan du prøve eksemplet, når du har udfyldt din Firebase ApiKey og projectId:

cd eksempler

nano RPiAppControl_blinkt_demo.py

Kør det nu:

sudo python3 RPiAppControl_blinkt_demo.pyHusk, at efter at du har kørt scriptet, tager det cirka et minut at blive klar (I hvert fald på Pi Zero). Og scriptet skal køres i python 3

10. BONUS: Hvis du vil have scriptet til at køre på boot, kan du finde ud af hvordan, her.

Lukning/tænd/sluk -knap

Det er valgfrit at installere en tænd / sluk -knap, men jeg anbefaler det. Følg med på denne video for at konfigurere den.

Husk, at dette bruger fysisk pin 5 på Pi, så nogle HAT'er virker ikke.

Trin 4: Kapsling

Anbefalede: