Sadržaj:
- Korak 1: Firebase i Xcode
- Korak 2: Dovršavanje Xcode -a
- Korak 3: Postavljanje Raspberry Pi
- Korak 4: Ograđivanje
Video: RPi IoT Smart Light pomoću Firebasea: 4 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:35
Ovaj vodič pokazuje vam kako napraviti i postaviti aplikaciju za kontrolu Raspberry Pi putem Firebase -a (mrežne baze podataka). A zatim 3D ispis kućišta za Pi Zero W, Powerboost 1000C, bateriju i Blinkt !.
Da biste mogli najlakše pratiti, preporučujem da se upoznate s Xcode -om i Raspberry Pi -em.
A ako vam se sviđa ono što vidite, slijedite me na Instagramu i Twitteru (@Anders644PI) kako biste bili u toku s onim što radim.
Trebat će vam:
- Raspberry Pi Zero W s adapterima i GPIO zaglavljima
(ili obični Pi Zero s WiFi ključem)
- PowerBoost 1000 C.
- Litij -ionska baterija - 3,7 V 2000 mAh
- Blinkt! (ili bilo koji pHAT/HAT, koji: ne koristi pin 5 fizički, a HAT bi trebali biti ravni na dnu.)
- Micro SD kartica od 8 GB ili više, s Raspbian Stretch (sa radnom površinom) na njoj
- Tipkovnica i miš (ali možete se povezati i putem ssh -a, ako sada znate kako)
- Veza s monitorom ili televizorom (ili ssh!)
- Vijci za otpad
- Male žice
- Mali prekidač i mali gumb
- 3D pisač i jedna špula bilo koje boje PLA niti u boji, te jedna špula prozirnog PLA (ili biste za ispis mogli upotrijebiti 3D uslugu poput 3D Hubsa)
Korak 1: Firebase i Xcode
Prvo ćemo postaviti Firebase s aplikacijom, tako da možemo komunicirati iz aplikacije s Pi.
Ako ste zbunjeni, možete pogledati ovaj video.
1. Otvorite Xcode i napravite novi Xcode projekt. Odaberite aplikaciju Single View i nazovite je RPiAppControl te provjerite je li jezik Swift. Pritisnite Dalje i spremite je.
2. Kopirajte svoj identifikator paketa jer će nam to trebati kasnije.
3. U Firebase se prijavite sa svojim Google računom i kliknite Idi na konzolu.
4. Izradite novi projekt i nazovite ga RPiAppControl.
5. Pritisnite Dodaj Firebase u svoju IOS aplikaciju. Zalijepite svoj identifikator paketa i pritisnite Register App.
6. Preuzmite GoogleService-Info.plist i povucite ga u svoj Xcode projekt.
7. Natrag u Firebase, pritisnite Nastavi. Zatim otvorite prozor terminala i idite do lokacije vašeg Xcode projekta.
8. Pokrenite ovu naredbu:
pod init
9. Otvorite Podfile i pod use_frameworks!, dodaj ovaj redak:
pod 'Firebase/Core'
10. Vratite se na tip terminala: pod install, i zatvorite Xcode.
11. U Finderu idite na svoj Xcode projekt i otvorite novostvorenu.xcworkspacefile.
12. Ovdje idite na AppDelegate.swift, a pod import UIKit dodajte ovaj redak:
uvesti Firebase
I u application-function dodajte ovaj redak:
FIRApp.configure ().
13. Povratak u Firebase, kliknite Nastavi, a zatim Završi.
14. Idite na Database, zatim Rules i postavite ".read" i ".write" na true. Pritisnite OBJAVI.
15. Natrag na Xcode, otvorite Podfile i ispod prvog retka koji smo postavili dodajte ovo:
pod 'Firebase/Baza podataka'
16. Natrag u terminal, ponovno pokrenite pod install.
Korak 2: Dovršavanje Xcode -a
Sada ćemo završiti kôd i izgled u Xcode -u.
Ovo koristi Xcode 9 i Swift 4
Kôd za ViewController1. Na vrhu ViewControllera, a ispod uvoznog UIKita dodajte ovo:
uvesti Firebase
uvoz FirebaseDatabase
2. Na dnu ViewControllera, a ispod funkcije didReceiveMemoryWarning, kopirajte zalijepite ove funkcije za svaki gumb:
func num1 (stanje: String) {
neka ref = FIRDatabase.database (). reference () neka objavi: [String: Bilo koji] = ["stanje": stanje] ref.child ("num1"). setValue (post)}Ne zaboravite promijeniti (broj
3. U funkciji viewDidLoad, ispod super.viewDidLoad (), umetnite ovaj redak za svaki gumb (Za više gumba samo promijenite (broj). Pogledajte sliku …):
num1 (stanje: "OFF")
Izgled glavne.istorijske ploče i gumbi
1. Idite na Main.storyboard i unesite nekoliko gumba. Možete ih rasporediti kao ja ili ih prilagoditi kako želite.
2. Spojite gumbe s ViewControllerom. Svaki gumb potrebno je dvaput spojiti: jedan kao radnju i UIButton nazvan num (number) gumb, a drugi kao zadanu utičnicu i nazvati ga num (number) Color. Pogledajte sliku…
3. Zatim za sve gumbe zalijepite u ovaj redak svaku od funkcija:
if self.num1Color.backgroundColor == UIColor.lightGray {// Postavlja boju pozadine na lightGray
num1 (stanje: "ON") // Šalje stanje: "ON" firebase self.num1Color.backgroundColor = UIColor (crveno: 0,96, zeleno: 0,41, plavo: 0,26, alfa: 1,0) // Postavlja boju pozadine na reddish} else {num1 (state: "OFF") // Šalje stanje: "OFF" firebase self.num1Color.backgroundColor = UIColor.lightGray // Postavlja boju pozadine na lightGray}
Sada biste trebali moći to isprobati, pokretanjem aplikacije, a kad pritisnete gumbe, trebali biste vidjeti kako se stanje mijenja, u bazi podataka u stvarnom vremenu u Firebaseu.
Završni detalji (izborno)
1. Preuzmite donje slike i umetnite LaunchScreen-image-j.webp
2. Idite na Assets.xcassets, a zatim AppIcon. Ovdje postavite odgovarajuću AppIcon veličinu.
Korak 3: Postavljanje Raspberry Pi
Sada moramo postaviti Pi s Firebaseom, tako da aplikacija može komunicirati, baciti Firebase na Pi.
Nisam napisao kod, ali ovdje možete pronaći izvorni kod.
1. Na terminalu pokrenite uobičajena ažuriranja:
sudo apt-get update && sudo apt-get dist-upgrade
2. Zatim ćemo uvesti pyrebase (Firebase):
sudo pip install pyrebase
sudo pip3 install pyrebase sudo pip3 install --upgrade google-auth-oauthlib
3. Sada preuzmite Blinkt biblioteku:
curl https://get.pimoroni.com/blinkt | bash
4. Kloniraj moje spremište GitHub:
git klon https://github.com/Anders644PI/RPiAppControl.gitcd RPiAppControl
5. Uredite AppRPiControl_Template.py:
nano RPiAppControl_Template.py
6. Ispunite svoj Firebase ApiKey i projectId. To možete pronaći tako da odete na svoj Firebase projekt, kliknete Dodaj još jednu aplikaciju, a zatim Dodaj Firebase u svoju web -aplikaciju.
7. Prilagodite funkcije i spremite promjene pritiskom na ctrl-o (enter) i zatvorite s ctrl-x.
8. Sada ga pokrenite s:
sudo python3 RPiAppControl_Template.py
9. Zatim, ako koristite Blinkt, možete isprobati primjer kada ste ispunili svoj Firebase ApiKey i projectId:
cd primjeri
nano RPiAppControl_blinkt_demo.py
Sada ga pokrenite:
sudo python3 RPiAppControl_blinkt_demo.pyImajte na umu da nakon što pokrenete skriptu, potrebno je oko minute da se pripremite (Barem na Pi Zero). Skripta se mora izvoditi u pythonu 3
10. BONUS: Ako želite da se skripta pokreće pri pokretanju, ovdje možete saznati kako.
Gumb za isključivanje/uključivanje
Nije obavezno instalirati gumb za uključivanje, ali preporučujem ga. Slijedite ovaj video da biste ga postavili.
Imajte na umu da ovo koristi fizički pin 5 na Pi, pa neki HAT -ovi neće raditi.
Korak 4: Ograđivanje
Preporučeni:
Kako: Instaliranje Raspberry PI 4 bez glave (VNC) s Rpi-imagerom i slikama: 7 koraka (sa slikama)
Kako: Instaliranje Raspberry PI 4 Headless (VNC) s Rpi-imagerom i slikama: Planiram koristiti ovaj Rapsberry PI u hrpi zabavnih projekata na svom blogu. Slobodno provjerite. Htio sam se vratiti korištenju Raspberry PI -a, ali nisam imao tipkovnicu ili miš na novoj lokaciji. Prošlo je dosta vremena od postavljanja maline
Lako postavljanje IC daljinskog upravljača pomoću LIRC -a za Raspberry PI (RPi) - srpanj 2019. [1. dio]: 7 koraka
Lako postavljanje IC daljinskog upravljača pomoću LIRC -a za Raspberry PI (RPi) - srpanj 2019. [1. dio]: Nakon dugog pretraživanja bio sam iznenađen i zaprepašten sukobljenim informacijama o tome kako postaviti IR daljinski upravljač za svoj RPi projekt. Mislio sam da će to biti lako, ali postavljanje Linux InfraRed kontrole (LIRC) već je dugo problematično, ali
Kako napraviti bespilotnu letjelicu pomoću Arduina UNO - Napravite četverokopter pomoću mikrokontrolera: 8 koraka (sa slikama)
Kako napraviti bespilotnu letjelicu pomoću Arduina UNO | Napravite četverokopter pomoću mikrokontrolera: Uvod Posjetite moj kanal na YouTubeu Drone je vrlo skup gadget (proizvod) za kupnju. U ovom postu ću raspravljati o tome kako to učiniti jeftino ?? I kako možete sami napraviti ovakav po povoljnoj cijeni … Pa u Indiji svi materijali (motori, ESC
Bežični daljinski upravljač pomoću NRF24L01 modula od 2,4 GHz s Arduinom - Nrf24l01 4 -kanalni / 6 -kanalni prijemnik odašiljača za Quadcopter - Rc helikopter - Rc avion pomoću Arduina: 5 koraka (sa slikama)
Bežični daljinski upravljač pomoću NRF24L01 modula od 2,4 GHz s Arduinom | Nrf24l01 4 -kanalni / 6 -kanalni prijemnik odašiljača za Quadcopter | Rc helikopter | Rc avion pomoću Arduina: Za upravljanje Rc automobilom | Kvadrokopter | Dron | RC ravnina | RC brod, uvijek nam je potreban prijemnik i odašiljač, pretpostavimo da za RC QUADCOPTER trebamo 6 -kanalni odašiljač i prijemnik, a ta vrsta TX -a i RX -a je preskupa, pa ćemo napraviti jedan na našem
Popis obaveza u stvarnom vremenu pomoću Google Firebasea: 12 koraka
Popis obaveza u stvarnom vremenu pomoću Google Firebasea: Zdravo! Svi svakodnevno koristimo popis zadataka, bilo online ili offline. Dok su izvanmrežni popisi skloni gubljenju, a virtualni se popisi mogu pogrešno postaviti, slučajno izbrisati ili čak zaboraviti. Stoga smo odlučili napraviti jedan na Google Firebaseu