Cuprins:

RPi IoT Smart Light folosind Firebase: 4 pași (cu imagini)
RPi IoT Smart Light folosind Firebase: 4 pași (cu imagini)

Video: RPi IoT Smart Light folosind Firebase: 4 pași (cu imagini)

Video: RPi IoT Smart Light folosind Firebase: 4 pași (cu imagini)
Video: iot projects | Smart Home Automation using IOT 2024, Iulie
Anonim
RPi IoT Smart Light Folosind Firebase
RPi IoT Smart Light Folosind Firebase
RPi IoT Smart Light Folosind Firebase
RPi IoT Smart Light Folosind Firebase
RPi IoT Smart Light Folosind Firebase
RPi IoT Smart Light Folosind Firebase
RPi IoT Smart Light Folosind Firebase
RPi IoT Smart Light Folosind Firebase

Acest ghid vă arată cum să creați și să configurați o aplicație pentru a controla Raspberry Pi prin Firebase (o bază de date online). Și apoi imprimarea 3D o carcasă pentru Pi Zero W, un Powerboost 1000C, o baterie și un Blinkt !.

Pentru a putea urmări cel mai ușor, vă recomand să vă familiarizați cu Xcode și Raspberry Pi.

Și dacă îți place ceea ce vezi, urmărește-mă pe Instagram și Twitter (@ Anders644PI) pentru a ține pasul cu ceea ce fac.

Vei avea nevoie:

  • Un Raspberry Pi Zero W cu adaptoare și capete GPIO

    (sau obișnuitul Pi Zero cu un dongle WiFi)

  • Un PowerBoost 1000 C
  • O baterie litiu-ion - 3,7v 2000mAh
  • O clipire! (sau orice pHAT / HAT, care: nu folosește pinul 5 fizic și HAT-urile ar trebui să fie plate pe partea de jos.)
  • Un card Micro SD de 8 GB sau mai mare, cu Raspbian Stretch (cu desktop) pe acesta
  • O tastatură și un mouse (dar vă puteți conecta și prin ssh, dacă acum cum)
  • O conexiune la un monitor sau televizor (sau ssh!)
  • Șuruburi pentru resturi
  • Sârme mici
  • Un mic comutator și un mic buton
  • O imprimantă 3D și o bobină de orice filament PLA color și o bobină de PLA transparent (sau puteți utiliza un serviciu 3D, cum ar fi Hub-uri 3D, pentru a-l imprima pentru dvs.)

Pasul 1: Firebase și Xcode

Firebase și Xcode
Firebase și Xcode
Firebase și Xcode
Firebase și Xcode
Firebase și Xcode
Firebase și Xcode

Mai întâi vom configura Firebase cu aplicația, astfel încât să putem comunica din aplicație către Pi.

Dacă vă confundați, puteți viziona acest videoclip.

1. Deschideți Xcode și creați un nou proiect Xcode. Alegeți aplicația Single View și numiți-o RPiAppControl și asigurați-vă că limba este Swift. Apăsați Următorul și salvați-l.

2. Copiați identificatorul de pachet, deoarece vom avea nevoie de acesta mai târziu.

3. În Firebase, conectați-vă cu contul dvs. Google și faceți clic pe Accesați consola.

4. Creați un proiect nou și numiți-l RPiAppControl.

5. Faceți clic pe Adăugați Firebase în aplicația IOS. Inserați identificatorul de pachet și apăsați Înregistrați aplicația.

6. Descărcați GoogleService-Info.plist și trageți-l în Xcode Project.

7. Înapoi la Firebase, apăsați Continuare. Apoi deschideți o fereastră de terminal și navigați la locația proiectului dvs. Xcode.

8. Rulați această comandă:

pod init

9. Deschideți Podfile și în use_frameworks!, adăugați această linie:

pod „Firebase / Core”

10. Reveniți la tipul terminalului: instalare pod și închideți Xcode.

11. În Finder, navigați la proiectul Xcode și deschideți noul fișier.xcworkspacefile.

12. Aici, accesați AppDelegate.swift și sub import UIKit adăugați această linie:

import Firebase

Și în funcția aplicație, adăugați această linie:

FIRApp.configure ().

13. Înapoi în Firebase, faceți clic pe Continuare și apoi pe Finalizare.

14. Accesați Baza de date, apoi Reguli și setați „.read” și „.write” la true. Apăsați PUBLICARE.

15. Înapoi la Xcode, deschideți Podfile și, sub prima linie pe care am stabilit-o, adăugați acest lucru:

pod „Firebase / Database”

16. Înapoi în terminal, rulați din nou instalarea podului.

Pasul 2: Finalizarea Xcode

Finalizarea Xcode
Finalizarea Xcode
Finalizarea Xcode
Finalizarea Xcode
Finalizarea Xcode
Finalizarea Xcode

Acum vom termina codul și aspectul în Xcode.

Aceasta folosește Xcode 9 și Swift 4

Cod pentru ViewController1. În partea de sus a ViewController și sub importul UIKit, adăugați acest lucru:

import Firebase

import FirebaseDatabase

2. În partea de jos a ViewController și sub funcția didReceiveMemoryWarning, copiați și inserați aceste funcții pentru fiecare buton:

func num1 (state: String) {

let ref = FIRDatabase.database (). reference () let post: [String: Any] = ["state": state] ref.child ("num1"). setValue (post)}Nu uitați să schimbați (numărul

3. În funcția viewDidLoad, sub super.viewDidLoad (), introduceți această linie pentru fiecare buton (Pentru mai multe butoane, schimbați doar (numărul). Vedeți imaginea …):

num1 (stare: "OFF")

Aspectul Main.storyboard și al butoanelor

1. Accesați Main.storyboard și introduceți câteva butoane. Le puteți așeza așa cum am făcut-o sau le puteți personaliza după cum doriți.

2. Conectați butoanele cu ViewController. Fiecare buton trebuie conectat de două ori: unul ca acțiune și butonul UIBut numit buton num (număr), iar celălalt ca ieșire implicită și numiți-l num (număr) Culoare. Vezi poza…

3. Apoi, pentru toate butoanele, lipiți în această linie fiecare funcție:

if self.num1Color.backgroundColor == UIColor.lightGray {// Setează culoarea fundalului la lightGray

num1 (state: "ON") // Trimite starea: "ON" către firebase self.num1Color.backgroundColor = UIColor (roșu: 0,96, verde: 0,41, albastru: 0,26, alfa: 1,0) // Setează culoarea de fundal la roșiatic} else {num1 (state: "OFF") // Trimite starea: "OFF" către firebase self.num1Color.backgroundColor = UIColor.lightGray // Setează culoarea de fundal la lightGray}

Acum ar trebui să îl puteți testa, rulând aplicația și când apăsați butoanele, ar trebui să o vedeți schimbând starea, în baza de date în timp real în Firebase.

Atingeri finale (opțional)

1. Descărcați imaginile de mai jos și introduceți LaunchScreen-image-j.webp

2. Accesați Assets.xcassets și apoi AppIcon. Aici, plasați în dimensiunea AppIcon corespunzătoare.

Pasul 3: Configurarea Raspberry Pi

Configurare Raspberry Pi
Configurare Raspberry Pi

Acum trebuie să configurăm Pi cu Firebase, astfel încât aplicația să poată comunica, să arunce Firebase, către Pi.

Nu am scris codul, dar puteți găsi codul original aici.

1. În terminal, rulați actualizările obișnuite:

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

2. Apoi vom importa pyrebase (Firebase):

sudo pip instalează pyrebase

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

3. Descărcați acum biblioteca Blinkt:

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

4. Clonați depozitul meu GitHub:

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

5. Editați AppRPiControl_Template.py:

nano RPiAppControl_Template.py

6. Completați Firebase ApiKey și projectId. Le puteți găsi accesând Proiectul dvs. Firebase și făcând clic pe Adăugați o altă aplicație, apoi pe Adăugați Firebase în aplicația dvs. web.

7. Personalizați funcțiile și salvați modificările apăsând ctrl-o (enter) și închideți cu ctrl-x.

8. Acum rulați-l cu:

sudo python3 RPiAppControl_Template.py

9. Apoi, dacă utilizați un Blinkt, puteți încerca exemplul, când ați completat Firebase ApiKey și projectId:

exemple cd

nano RPiAppControl_blinkt_demo.py

Acum rulați-l:

sudo python3 RPiAppControl_blinkt_demo.pyRețineți că după ce rulați scriptul, durează aproximativ un minut pentru a vă pregăti (cel puțin pe Pi Zero). Și scriptul trebuie rulat în Python 3

10. BONUS: Dacă doriți ca scriptul să ruleze la pornire, puteți afla cum, aici.

Buton de oprire / pornire

Este opțional să instalați un buton de alimentare, dar îl recomand. Urmați împreună cu acest videoclip pentru a-l configura.

Rețineți că acest lucru folosește pinul fizic 5 de pe Pi, astfel încât unele HAT-uri nu vor funcționa.

Pasul 4: incintă

Recomandat: