Sadržaj:
2025 Autor: John Day | [email protected]. Zadnja promjena: 2025-01-13 06:57
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.