Turinys:
- 1 veiksmas: „Firebase“ir „Xcode“
- 2 žingsnis: „Xcode“apdaila
- 3 žingsnis: „Raspberry Pi“sąranka
- 4 žingsnis: gaubtas
Video: „RPi IoT Smart Light“naudojant „Firebase“: 4 žingsniai (su paveikslėliais)
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
Šis vadovas parodo, kaip sukurti ir nustatyti programą, skirtą valdyti „Raspberry Pi“naudojant „Firebase“(internetinę duomenų bazę). Tada 3D spausdinimas „Pi Zero W“dėklui, „Powerboost 1000C“, baterijai ir „Blinkt!“.
Kad būtų lengviau sekti, rekomenduoju susipažinti su „Xcode“ir „Raspberry Pi“.
Ir jei jums patinka tai, ką matote, sekite mane „Instagram“ir „Twitter“(@Anders644PI), kad neatsiliktumėte nuo to, ką darau.
Jums reikės:
-
„Raspberry Pi Zero W“su adapteriais ir GPIO antraštėmis
(arba įprastas „Pi Zero“su „WiFi“raktu)
- „PowerBoost 1000 C“
- Ličio jonų baterija - 3,7 V 2000 mAh
- Blinkt! (arba bet kokia pHAT/HAT, tai: nenaudoja 5 fizinio kaiščio, o skrybėlė turi būti plokščia apačioje.)
- 8 GB ar naujesnė „Micro SD“kortelė su „Raspbian Stretch“(su darbalaukiu)
- Klaviatūra ir pelė (bet taip pat galite prisijungti per ssh, jei dabar žinote, kaip tai padaryti)
- Ryšys su monitoriumi ar televizoriumi (arba ssh!)
- Sraigtai
- Maži laidai
- Mažas jungiklis ir mažas mygtukas
- 3D spausdintuvas ir viena ritė iš bet kokios spalvos PLA gijų ir viena ritė skaidrios PLA (arba galite naudoti 3D paslaugą, pvz., „3D Hubs“, kad ją atspausdintumėte)
1 veiksmas: „Firebase“ir „Xcode“
Pirmiausia su programa nustatysime „Firebase“, kad galėtume bendrauti iš programos į „Pi“.
Jei pasimetate, galite pažiūrėti šį vaizdo įrašą.
1. Atidarykite „Xcode“ir sukurkite naują „Xcode“projektą. Pasirinkite vieno vaizdo programą ir pavadinkite ją „RPiAppControl“ir įsitikinkite, kad kalba yra „Swift“. Paspauskite Pirmyn ir išsaugokite.
2. Nukopijuokite savo paketo identifikatorių, nes to mums prireiks vėliau.
3. „Firebase“prisijunkite naudodami „Google“paskyrą ir spustelėkite Eiti į konsolę.
4. Sukurkite naują projektą ir pavadinkite jį RPiAppControl.
5. Spustelėkite Pridėti „Firebase“prie savo „IOS“programos. Įklijuokite savo paketo identifikatorių ir paspauskite Registruotis programa.
6. Atsisiųskite „GoogleService-Info.plist“ir vilkite jį į „Xcode Project“.
7. Grįžę į „Firebase“, paspauskite Tęsti. Tada atidarykite terminalo langą ir eikite į savo „Xcode“projekto vietą.
8. Vykdykite šią komandą:
pod init
9. Atidarykite Podfile, ir pagal use_frameworks!, pridėkite šią eilutę:
antraštė „Firebase/Core“
10. Atgal į terminalo tipą: pod install ir uždarykite Xcode.
11. „Finder“eikite į savo „Xcode“projektą ir atidarykite naujai sukurtą.xcworkspacefile.
12. Čia eikite į „AppDelegate.swift“ir importuodami „UIKit“pridėkite šią eilutę:
importuoti „Firebase“
Programos funkcijoje pridėkite šią eilutę:
FIRApp.configure ().
13. Grįžę į „Firebase“, spustelėkite Tęsti, tada - Baigti.
14. Eikite į Duomenų bazę, tada Taisyklės ir nustatykite „. Read“ir „.write“į „true“. Paspauskite PUBLISH.
15. Grįžę prie „Xcode“, atidarykite „Podfile“ir po pirmąja eilute, kurią nustatėme, pridėkite:
pod „Firebase/Database“
16. Grįžę į terminalą, vėl paleiskite pod install.
2 žingsnis: „Xcode“apdaila
Dabar užbaigsime kodą ir išdėstymą „Xcode“.
Tam naudojamas „Xcode 9“ir „Swift 4“
„ViewController“kodas1. „ViewController“viršuje ir po importuojamu UIKit pridėkite:
importuoti „Firebase“
importuoti „FirebaseDatabase“
2. „ViewController“apačioje ir po „didReceivedMemoryWarning“funkcija nukopijuokite ir įklijuokite šias kiekvieno mygtuko funkcijas:
func num1 (būsena: eilutė) {
let ref = FIRDatabase.database (). reference () let post: [String: Any] = ["state": state] ref.child ("num1"). setValue (post)}Nepamirškite pakeisti (skaičiaus
3. Funkcijoje viewDidLoad, super.viewDidLoad (), įterpkite šią eilutę prie kiekvieno mygtuko (jei norite pakeisti kelis mygtukus, tiesiog pakeiskite (skaičių). Žr. Paveikslėlį …):
num1 (būsena: „OFF“)
Main.storyboard ir mygtukų išdėstymas
1. Eikite į „Main.storyboard“ir įdėkite keletą mygtukų. Galite išdėstyti juos taip, kaip aš, arba pritaikyti juos taip, kaip jums patinka.
2. Prijunkite mygtukus prie „ViewController“. Kiekvienas mygtukas turi būti prijungtas du kartus: vieną kaip veiksmą ir „UIB“mygtuką, pavadintą „num (number)“mygtuku, o kitą - kaip numatytąjį „Outlet“ir pavadinkite jį numerio (skaičiaus) spalva. Žiūrėkite paveikslėlį…
3. Tada įklijuokite visus mygtukus į kiekvieną iš šių funkcijų:
if self.num1Color.backgroundColor == UIColor.lightGray {// Nustato fono spalvą į šviesiai pilką
num1 (būsena: „ĮJUNGTA“) // siunčia būseną „ĮJUNGTA“į „firebase self“.num1Color.backgroundColor = UIColor (raudona: 0,96, žalia: 0,41, mėlyna: 0,26, alfa: 1,0) // Nustato fono spalvą į raudonas} else {num1 (būsena: "OFF") // Būseną "OFF" siunčia į firebase self.num1Color.backgroundColor = UIColor.lightGray // Nustato fono spalvą į šviesiai pilką}
Dabar turėtumėte galėti tai išbandyti paleisdami programą, o kai paspausite mygtukus, „Firebase“realaus laiko duomenų bazėje turėtumėte pamatyti, kaip ji keičiasi.
Apdailos darbai (pasirenkama)
1. Atsisiųskite toliau pateiktus vaizdus ir įdėkite „LaunchScreen-image.jpg“į paveikslėlio rodinį „LaunchScreen.storyboard“.
2. Eikite į Assets.xcassets, tada - „AppIcon“. Čia įdėkite atitinkamą „AppIcon“dydį.
3 žingsnis: „Raspberry Pi“sąranka
Dabar turime nustatyti „Pi“naudodami „Firebase“, kad programa galėtų bendrauti, mesti „Firebase“į „Pi“.
Kodo neparašiau, bet originalų kodą rasite čia.
1. Terminale paleiskite įprastus naujinimus:
sudo apt-get update && sudo apt-get dist-upgrade
2. Tada importuosime „pyrebase“(„Firebase“):
sudo pip įdiegti pyrebase
sudo pip3 įdiegti pyrebase sudo pip3 įdiegti-atnaujinti google-auth-oauthlib
3. Dabar atsisiųskite „Blinkt“biblioteką:
garbanoti https://get.pimoroni.com/blinkt | mušti
4. Klonuokite mano „GitHub“saugyklą:
git klonas https://github.com/Anders644PI/RPiAppControl.gitcd RPiAppControl
5. Redaguokite „AppRPiControl_Template.py“:
nano RPiAppControl_Template.py
6. Užpildykite „Firebase ApiKey“ir „ProjectId“. Tai galite rasti apsilankę „Firebase“projekte, spustelėję „Pridėti kitą programą“ir „Pridėti„ Firebase “prie žiniatinklio programos.
7. Tinkinkite funkcijas ir išsaugokite pakeitimus paspausdami ctrl-o (enter) ir uždarykite naudodami ctrl-x.
8. Dabar paleiskite jį su:
sudo python3 RPiAppControl_Template.py
9. Tada, jei naudojate „Blinkt“, galite išbandyti pavyzdį, kai užpildysite „Firebase ApiKey“ir „projectId“:
cd pavyzdžiai
nano RPiAppControl_blinkt_demo.py
Dabar paleiskite:
sudo python3 RPiAppControl_blinkt_demo.pyAtminkite, kad paleidus scenarijų, pasiruošimas užtrunka apie minutę (bent jau „Pi Zero“). Ir scenarijus turi būti paleistas naudojant „python 3“
10. BONUS: Jei norite, kad scenarijus būtų paleistas įkrovos metu, galite sužinoti, kaip tai padaryti.
Išjungimo/maitinimo mygtukas
Neprivaloma įdiegti maitinimo mygtuką, bet aš rekomenduoju. Sekite šį vaizdo įrašą, kad jį nustatytumėte.
Atminkite, kad „Pi“naudojamas fizinis 5 kaištis, todėl kai kurios HAT neveiks.
4 žingsnis: gaubtas
Rekomenduojamas:
Kaip: Raspberry PI 4 be galvos (VNC) įdiegimas naudojant „Rpi-imager“ir paveikslėlius: 7 žingsniai (su paveikslėliais)
Kaip: „Raspberry PI 4 Headless“(VNC) diegimas naudojant „Rpi-imager“ir „Pictures“: planuoju šį „Rapsberry PI“naudoti daugybėje įdomių projektų savo tinklaraštyje. Nesivaržykite tai patikrinti. Norėjau vėl pradėti naudoti savo Raspberry PI, bet naujoje vietoje neturėjau klaviatūros ar pelės. Praėjo nemažai laiko nuo tada, kai sukūriau avietę
Įrenginių valdymas naudojant balso komandą naudojant „NodeMCU“: 7 žingsniai (su paveikslėliais)
Įrenginių valdymas naudojant balso komandą naudojant „NodeMCU“: Aš tiesiog noriu visiems pasisveikinti, tai pirmas kartas, kai rašau pamokomą projektą. Anglų kalba nėra mano gimtoji kalba, todėl stengsiuosi kuo trumpiau ir aiškiau. Įrenginių valdymas balso komandomis nėra keistas dalykas
8 relės valdymas naudojant „NodeMCU“ir IR imtuvą naudojant „WiFi“ir IR nuotolinio valdymo pultą bei „Android“programą: 5 žingsniai (su paveikslėliais)
8 relės valdymas naudojant „NodeMCU“ir IR imtuvą naudojant „WiFi“ir IR nuotolinio valdymo pultą bei „Android“programą: 8 relinių jungiklių valdymas naudojant „nodemcu“ir „IR“imtuvą per „Wi -Fi“ir „Android“programą. Nuotolinio valdymo pultas veikia nepriklausomai nuo „Wi -Fi“ryšio. ČIA ATNAUJINTOS VERSIONAS ČIA
Pranešimai apie įvykius realiuoju laiku naudojant „NodeMCU“(„Arduino“), „Google Firebase“ir „Laravel“: 4 veiksmai (su paveikslėliais)
Pranešimai apie įvykius realiuoju laiku naudojant „NodeMCU“(„Arduino“), „Google Firebase“ir „Laravel“: ar kada nors norėjote gauti pranešimą, kai jūsų svetainėje atliekamas veiksmas, tačiau el. Paštas netinkamas? Ar norite išgirsti garsą ar skambėjimą kiekvieną kartą, kai parduodate? Arba dėl neatidėliotinos situacijos reikia nedelsiant atkreipti jūsų dėmesį
Kaip įjungti „MicroPython“programinę -aparatinę įrangą naudojant ESP8266 pagrįstą „Sonoff Smart Switch“: 3 žingsniai (su paveikslėliais)
Kaip įjungti „MicroPython“programinę -aparatinę įrangą naudojant „Sonoff Smart Switch“ESP8266 pagrindu: kas yra „Sonoff“? „Sonoff“yra „Smart Home“įrenginių linija, sukurta ITEAD. Vienas iš lanksčiausių ir nebrangiausių šios linijos įrenginių yra „Sonoff Basic“ir „Sonoff Dual“. Tai yra „Wi-Fi“jungikliai, pagrįsti puikiu lustu ESP8266. Šiek tiek