Cuprins:
- Pasul 1: Firebase și Xcode
- Pasul 2: Finalizarea Xcode
- Pasul 3: Configurarea Raspberry Pi
- Pasul 4: incintă
Video: RPi IoT Smart Light folosind Firebase: 4 pași (cu imagini)
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:44
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
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
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
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:
Cum: Instalarea Raspberry PI 4 Headless (VNC) cu Rpi-imager și imagini: 7 pași (cu imagini)
Cum: Instalarea Raspberry PI 4 Headless (VNC) cu Rpi-imager și Pictures: Plănuiesc să folosesc acest Rapsberry PI într-o grămadă de proiecte distractive din blogul meu. Simțiți-vă liber să o verificați. Am vrut să mă întorc să folosesc Raspberry PI, dar nu aveam tastatură sau mouse în noua mea locație. A trecut ceva timp de când am configurat un Raspberry
Home Automation folosind Google Firebase: 3 pași
Automatizare la domiciliu folosind Google Firebase: Introducere: Acesta este un proiect de automatizare la domiciliu care folosește firebase și nodeMCU. În primul rând de ce am ales Firebase este pentru că poate fi întreținut cu ușurință, are un raport de progres, Crash Analytics etc. și exact este gratuit, astfel încât să putem
Cum se face o dronă folosind Arduino UNO - Realizați un Quadcopter folosind microcontrolerul: 8 pași (cu imagini)
Cum se face o dronă folosind Arduino UNO | Realizați un Quadcopter folosind microcontrolerul: Introducere Vizitați canalul meu Youtube O dronă este un gadget (produs) foarte scump de cumpărat. În această postare voi discuta, cum o fac la prețuri ieftine ?? Și cum poți să-ți faci propriile tale la prețuri ieftine … Ei bine, în India toate materialele (motoare, ESC-uri
Lista de sarcini în timp real folosind Google Firebase: 12 pași
Lista de sarcini în timp real folosind Google Firebase: Salut! Cu toții folosim listele de sarcini în fiecare zi, fie ele online sau offline. În timp ce listele offline sunt predispuse să se piardă, iar listele virtuale pot fi deplasate greșit, șterse accidental sau chiar uitate. Așa că am decis să facem una pe Google Firebase
Notificări de evenimente în timp real folosind NodeMCU (Arduino), Google Firebase și Laravel: 4 pași (cu imagini)
Notificări de evenimente în timp real folosind NodeMCU (Arduino), Google Firebase și Laravel: Ați dorit vreodată să fiți informat când există o acțiune pe site-ul dvs., dar e-mailul nu este potrivit? Vrei să auzi un sunet sau un clopot de fiecare dată când faci o vânzare? Sau este nevoie de atenția ta imediată din cauza unei situații de urgență