Sisukord:
Video: RPi IoT nutivalgus Firebase'i abil: 4 sammu (koos piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
See juhend näitab teile, kuidas teha ja seadistada rakendus Raspberry Pi juhtimiseks Firebase'i (veebipõhine andmebaas) kaudu. Ja siis 3D -printimine, korpuse jaoks Pi Zero W, Powerboost 1000C, aku ja Blinkt !.
Et kõige hõlpsamini jälgida, soovitan teil olla tuttav Xcode'i ja Raspberry Pi -ga.
Ja kui teile meeldib see, mida näete, jälgige mind Instagramis ja Twitteris (@Anders644PI), et olla kursis sellega, mida ma teen.
Sa vajad:
- Raspberry Pi Zero W adapterite ja GPIO-päistega
(või tavaline Pi Zero koos WiFi -dongliga)
- A PowerBoost 1000 C.
- Liitiumioonaku - 3.7v 2000mAh
- A Blinkt! (või mis tahes pHAT/müts, see: ei kasuta füüsilist tihvti 5 ja mütsid peaksid olema tasased põhjas.)
- 8 GB või suurem Micro SD -kaart, millel on Raspbian Stretch (töölauaga)
- Klaviatuur ja hiir (kuid saate ka ssh -ühenduse luua, kui nüüd seda teete)
- Ühendus monitori või teleriga (või ssh!)
- Vanakruvid
- Väikesed juhtmed
- Väike lüliti ja väike nupp
- 3D -printer ja üks pool mis tahes värvi PLA -hõõgniiti ning üks pool läbipaistvat PLA -d (või võite selle printimiseks kasutada 3D -teenust, näiteks 3D -jaoturid)
Samm: Firebase ja Xcode
Esmalt seadistame rakendusega Firebase'i, et saaksime rakendusest Pi -ga suhelda.
Kui jääte segadusse, saate seda videot vaadata.
1. Avage Xcode ja tehke uus Xcode projekt. Valige ühe vaate rakendus ja nimetage see RPiAppControliks ning veenduge, et keel oleks kiire. Vajutage nuppu Edasi ja salvestage see.
2. Kopeerige oma kimbu identifikaator, sest meil on seda hiljem vaja.
3. Logige Firebase'is sisse oma Google'i kontoga ja klõpsake nuppu Mine konsooli.
4. Looge uus projekt ja nimetage see RPiAppControliks.
5. Klõpsake oma IOS -i rakendusse Lisa Firebase. Kleepige oma kimbu identifikaator ja vajutage Registreeri rakendus.
6. Laadige alla GoogleService-Info.plist ja lohistage see oma Xcode'i projekti.
7. Tulles tagasi Firebase'i, vajutage Jätka. Seejärel avage terminaliaken ja navigeerige oma Xcode projekti asukohta.
8. Käivitage see käsk:
pod init
9. Avage Podfile ja all use_frameworks!, lisage see rida:
pod 'Firebase/Core'
10. Tagasi terminalitüüpi: pod install ja sulgege Xcode.
11. Navigeerige Finderis oma Xcode projekti ja avage äsja loodud.xcworkspacefile.
12. Siit minge saidile AppDelegate.swift ja lisage UIKiti importimise alla see rida:
Firebase'i importimine
Ja rakenduse funktsioonis lisage see rida:
FIRApp.configure ().
13. Tagasi Firebase'is klõpsake nuppu Jätka ja seejärel Lõpeta.
14. Minge andmebaasi, seejärel reeglid ja määrake ".read" ja ".write" väärtuseks true. Vajutage Avalda.
15. Tagasi Xcode'i juurde, avage Podfile ja lisage esimese seatud rea alla see:
pod 'Firebase/andmebaas'
16. Tagasi terminalis käivitage pod install uuesti.
Samm: Xcode'i viimistlemine
Nüüd lõpetame koodi ja paigutuse Xcode'is.
See kasutab Xcode 9 ja Swift 4
ViewController'i kood1. Lisage ViewControlleri ülaossa ja importimise UIKiti alla see:
Firebase'i importimine
importida FirebaseDatabase
2. Kopeerige ViewControlleri põhjas ja funktsiooni didReceivedMemoryWarning all need funktsioonid iga nupu jaoks:
func num1 (olek: string) {
let ref = FIRDatabase.database (). reference () let post: [String: Any] = ["state": olek] ref.laps ("num1"). setValue (post)}Ärge unustage muuta (numbrit
3. Sisestage funktsiooni viewDidLoad funktsiooni super.viewDidLoad () alla see rida iga nupu jaoks (mitme nupu puhul muutke lihtsalt (number). Vaata pilti…):
number1 (olek: "OFF")
Main.storyboard ja nuppude paigutus
1. Avage Main.storyboard ja sisestage mõned nupud. Saate neid paigutada nii nagu mina või kohandada vastavalt soovile.
2. Ühendage nupud ViewControlleriga. Iga nupp tuleb ühendada kaks korda: üks toiminguna ja UIBnupp nimega num (number) nupp ja teine vaikimisi väljund ja nimetage see numbriks (number). Vaata pilti…
3. Seejärel kleepige kõigi nuppude jaoks see rida igale funktsioonile:
if self.num1Color.backgroundColor == UIColor.lightGray {// Määrab taustavärvi helehalliks
num1 (olek: "ON") // Saadab olekule "ON" Firebase self.num1Color.backgroundColor = UIColor (punane: 0,96, roheline: 0,41, sinine: 0,26, alfa: 1,0) // Määrab taustavärvi punakas} else {num1 (olek: "VÄLJAS") // Saadab olekule "VÄLJA" Firebase'ile self.num1Color.backgroundColor = UIColor.lightGray // Määrab taustavärvi helehalliks}
Nüüd peaks teil olema võimalik seda rakendust käivitades testida ja nuppe vajutades peaksite Firebase'i reaalajas andmebaasis nägema selle muutuvat olekut.
Viimistlus (valikuline)
1. Laadige alla allolevad pildid ja sisestage LaunchScreen-image-j.webp
2. Avage Assets.xcassets ja seejärel AppIcon. Siin asetage vastav AppIconi suurus.
Samm: Raspberry Pi seadistamine
Nüüd peame Pi seadistama Firebase'iga, et rakendus saaks suhelda, Firebase'i Pi -le visata.
Ma ei kirjutanud koodi, kuid algse koodi leiate siit.
1. Käivitage terminalis tavalised värskendused:
sudo apt-get update && sudo apt-get dist-upgrade
2. Seejärel impordime pürebaasi (Firebase):
sudo pip install pyrebase
sudo pip3 install pyrebase sudo pip3 install-upgrade google-auth-oauthlib
3. Laadige nüüd alla Blinkti raamatukogu:
curl https://get.pimoroni.com/blinkt | lööma
4. Kloonige minu GitHubi hoidla:
git kloon https://github.com/Anders644PI/RPiAppControl.gitcd RPiAppControl
5. Muutke AppRPiControl_Template.py:
nano RPiAppControl_Template.py
6. Täitke oma Firebase ApiKey ja projectId. Nende leidmiseks minge oma Firebase'i projekti, klõpsake käsul Lisa veel üks rakendus ja seejärel lisa oma veebirakendusse Firebase.
7. Kohandage funktsioone ja salvestage muudatused, vajutades ctrl-o (enter) ja sulgege klahvikombinatsiooniga ctrl-x.
8. Nüüd käivitage see koos:
sudo python3 RPiAppControl_Template.py
9. Kui kasutate Blinkti, võite proovida näidet, kui olete oma Firebase ApiKey ja projectId täitnud:
cd näited
nano RPiAppControl_blinkt_demo.py
Nüüd käivitage see:
sudo python3 RPiAppControl_blinkt_demo.pyPidage meeles, et pärast skripti käivitamist kulub ettevalmistamiseks umbes minut (vähemalt Pi Zero puhul). Ja skript tuleb käivitada python 3 -s
10. BONUS: Kui soovite, et skript käivitatakse alglaadimisel, saate siit teada, kuidas seda teha.
Väljalülitus/toitenupp
Toitenupu paigaldamine on valikuline, kuid ma soovitan seda. Selle seadistamiseks järgige seda videot.
Pidage meeles, et see kasutab Pi -l füüsilist tihvti 5, nii et mõned mütsid ei tööta.
4. samm: ümbris
Soovitan:
Uuendatud äratuskella nutivalgus: 8 sammu (piltidega)
Ümbertöödeldud äratuskell Smart Light: Selles projektis töötan ringlusse täielikult katkise äratuskella. Kella nägu asendab 12 LED -i, mida valgustab kella serva ümbritsev LED -riba. 12 LED -i näitavad kellaaega ja LED -riba on programmeeritud toimima häirena, pöörates
DIY nutivalgus koos Raspberry Pi Zeroga: 4 sammu (piltidega)
DIY Smart Light koos Raspberry Pi Zeroga: nutikad tuled muutuvad üha populaarsemaks. Sellised tuled on tavaliselt LED -tuled, mida saab juhtida WiFi või Bluetoothi kaudu. Värve, küllastust ja heledust saab muuta nutitelefoni abil. Üks asi, millest ma aru sain, on see, et sageli on nutikas
IoT taimede jälgimissüsteem (koos IBM IoT platvormiga): 11 sammu (koos piltidega)
IoT taimede jälgimissüsteem (koos IBM IoT platvormiga): ülevaade Taimeseire süsteem (PMS) on rakendus, mis on loodud töölisklassi kuuluvatele inimestele, pidades silmas rohelist pöialt. Praegu on töötavad inimesed hõivatud kui kunagi varem; edendada oma karjääri ja hallata oma rahandust
Reaalajas toimuvad sündmuste märguanded NodeMCU (Arduino), Google Firebase'i ja Laraveli abil: 4 sammu (koos piltidega)
Reaalajas toimuvad sündmuste märguanded NodeMCU (Arduino), Google Firebase'i ja Laraveli abil: kas olete kunagi tahtnud saada märguannet, kui teie veebisaidil tehakse toiming, kuid e -post ei sobi? Kas soovite iga kord, kui müüte, kuulda heli või kella? Või on hädaolukorra tõttu vaja teie kohest tähelepanu
Superlihtne arvuti juhtimine 110 Vac abil Crydom Solid-State Relay abil: 3 sammu (koos piltidega)
Superlihtne arvuti juhtimine 110 Vac abil Crydom Solid-State Relay abil: valmistun proovima oma kätt kuumutusplaadi jootmisel. Seetõttu vajasin ma 110Vac juhtimist arvutist. See juhend näitab, kuidas 110Vac hõlpsalt arvuti jadaväljundpordist juhtida. Minu kasutatav jadaport oli USB -tüüpi