INHOUDSOPGAWE:
Video: RPi IoT slim lig met behulp van Firebase: 4 stappe (met foto's)
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:26
Hierdie gids wys u hoe u 'n app kan maak en instel om die Raspberry Pi via Firebase ('n aanlyn databasis) te beheer. En dan 3D -afdrukke van 'n omhulsel vir die Pi Zero W, 'n Powerboost 1000C, 'n battery en 'n Blinkt!.
Om die maklikste te kan volg, beveel ek aan dat u vertroud is met Xcode en Raspberry Pi.
En as u hou van wat u sien, volg my op Instagram en Twitter (@Anders644PI) om tred te hou met wat ek maak.
Jy sal nodig hê:
-
'N Raspberry Pi Zero W met adapters en GPIO-headers
(of die gewone Pi Zero met 'n WiFi -dongle)
- 'N PowerBoost 1000 C.
- 'N Litiumionbattery - 3,7v 2000mAh
- 'N Blink! (of enige pHAT/HAT, wat: nie pin 5 fisies gebruik nie en HAT's moet plat aan die onderkant wees.)
- 'N Micro SD -kaart van 8 GB of hoër, met Raspbian Stretch (met lessenaar) daarop
- 'N Sleutelbord en 'n muis (maar u kan ook via ssh koppel, as u dit nou doen)
- 'N Konneksie na 'n monitor of TV (of ssh!)
- Skroefskroewe
- Klein drade
- 'N Klein skakelaar en 'n klein knoppie
- 'N 3D -drukker en een spoel van enige kleur PLA -filament en een spoel deursigtige PLA (of u kan 'n 3D -diens soos 3D Hubs gebruik om dit vir u te druk)
Stap 1: Firebase en Xcode
Eerstens stel ons Firebase op met die app, sodat ons van die app na die Pi kan kommunikeer.
As u deurmekaar raak, kan u hierdie video kyk.
1. Maak Xcode oop en maak 'n nuwe Xcode -projek. Kies Single View -app en noem dit RPiAppControl, en maak seker dat die taal vinnig is. Druk Volgende en stoor dit.
2. Kopieer u bondel -identifiseerder, want ons benodig dit later.
3. Teken in op Firebase met u Google -rekening en klik op Gaan na konsole.
4. Skep 'n nuwe projek en noem dit RPiAppControl.
5. Klik Voeg Firebase by tot u IOS -app. Plak in u bondel -identifiseerder en druk op Register -app.
6. Laai die GoogleService-Info.plist af en sleep dit na u Xcode-projek.
7. Druk terug op Firebase, gaan voort. Maak dan 'n terminale venster oop en navigeer na die ligging van u Xcode -projek.
8. Voer hierdie opdrag uit:
pod init
9. Maak die Podfile oop en onder use_frameworks!, voeg hierdie reël by:
pod 'Firebase/Core'
10. Terug in die terminale tipe: pod installeer en sluit Xcode.
11. Navigeer in Finder na u Xcode -projek en maak die nuutgeskepte.xcworkspacefile oop.
12. Gaan hier na die AppDelegate.swift, en voeg onder UIKit hierdie reël by:
voer Firebase in
En in die toepassingsfunksie, voeg hierdie reël by:
FIRApp.configure ().
13. Terug in Firebase, klik op Gaan voort en dan op Voltooi.
14. Gaan na Database, dan Rules, en stel die ".read" en ".write" op true. Druk PUBLISH.
15. Terug by Xcode, maak die Podfile oop, en voeg dit by onder die eerste reël wat ons ingevoeg het:
pod 'Firebase/Database'
16. Terug in die terminale, voer die pod -installasie weer uit.
Stap 2: Voltooi Xcode
Ons sal nou die kode en uitleg in Xcode voltooi.
Dit gebruik Xcode 9 en Swift 4
Kode vir die ViewController 1. Voeg dit bo -aan die ViewController en onder die invoer -UIKit by:
voer Firebase in
voer FirebaseDatabase in
2. Onderaan die ViewController, en onder die didReceiveMemoryWarning -funksie, kopieer en plak hierdie funksies vir elke knoppie:
func num1 (staat: string) {
laat ref = FIRDatabase.database (). verwysing () laat plaas: [String: Any] = ["state": state] ref.child ("num1"). setValue (post)}Onthou om die (nommer
3. In die viewDidLoad -funksie, onder die super.viewDidLoad (), voeg hierdie reël vir elke knoppie in (verander die (nommer) vir meer knoppies. Sien prent …):
num1 (staat: "OFF")
Uitleg van die hoof.verhaalbord en knoppies
1. Gaan na die Main.storyboard en sit 'n paar knoppies in. U kan dit opstel soos ek, of dit aanpas soos u wil.
2. Verbind die knoppies met die ViewController. Elke knoppie moet twee keer gekoppel word: een as 'n aksie en 'n UIB -knoppie met die num (getal) -knoppie, en die ander een as die standaard -uitlaat en noem dit num (getal) Kleur. Sien prentjie…
3. Plak dan vir al die knoppies hierdie reël by elk van die funksies in:
if self.num1Color.backgroundColor == UIColor.lightGray {// Stel die agtergrondkleur in op lightGray
num1 (toestand: "AAN") // Stuur die toestand: "AAN" na selfbasis self.num1Color.backgroundColor = UIColor (rooi: 0.96, groen: 0.41, blou: 0.26, alfa: 1.0) // Stel die agtergrondkleur in op rooierig} anders {num1 (toestand: "OFF") // Stuur die toestand: "OFF" na selfbasis self.num1Color.backgroundColor = UIColor.lightGray // Stel die agtergrondkleur in op lightGray}
Nou moet u dit kan toets deur die app uit te voer, en as u op die knoppies druk, moet u die toestand in die Realtime -databasis in Firebase sien verander.
Afwerking (opsioneel)
1. Laai die onderstaande beelde af en plaas die LaunchScreen-image-j.webp
2. Gaan na Assets.xcassets en dan AppIcon. Plaas hier in die ooreenstemmende grootte AppIcon.
Stap 3: Opstelling van Framboos Pi
Nou moet ons die Pi opstel met Firebase, sodat die app met die Pi kan kommunikeer en Firebase gooi.
Ek het nie die kode geskryf nie, maar u kan die oorspronklike kode hier vind.
1. Voer die gewone opdaterings in die terminale uit:
sudo apt-get update && sudo apt-get dist-upgrade
2. Dan sal ons pyrebase (Firebase) invoer:
sudo pip installeer pyrebase
sudo pip3 installeer pyrebase sudo pip3 installeer-upgrade google-auth-oauthlib
3. Laai nou die Blinkt -biblioteek af:
krul https://get.pimoroni.com/blinkt | bash
4. Kloon my GitHub -bewaarplek:
git -kloon https://github.com/Anders644PI/RPiAppControl.gitcd RPiAppControl
5. Wysig die AppRPiControl_Template.py:
nano RPiAppControl_Template.py
6. Vul u Firebase ApiKey en projectId in. U kan dit vind deur na u Firebase -projek te gaan, op 'n ander app te klik en dan Firebase by u webprogram te voeg.
7. Pas die funksies aan en stoor u veranderinge deur op ctrl-o te druk (enter) en af te sluit met ctrl-x.
8. Begin dit nou met:
sudo python3 RPiAppControl_Template.py
9. As u dan 'n Blinkt gebruik, kan u die voorbeeld probeer as u u Firebase ApiKey en projectId ingevul het:
cd voorbeelde
nano RPiAppControl_blinkt_demo.py
Begin dit nou:
sudo python3 RPiAppControl_blinkt_demo.pyHou in gedagte dat dit ongeveer 'n minuut neem voordat u die script uitgevoer het (ten minste op die Pi Zero). En die script moet in python 3 uitgevoer word
10. BONUS: As u wil hê dat die draaiboek op opstart moet loop, kan u hier uitvind hoe.
Afskakel/aan/uit -knoppie
Dit is opsioneel om 'n aan / uit -knoppie te installeer, maar ek beveel dit aan. Volg hierdie video om dit op te stel.
Hou in gedagte dat hierdie fisiese pin 5 op die Pi gebruik, sodat sommige hoede nie werk nie.
Stap 4: Omhulsel
Aanbeveel:
Slim lessenaar LED -lig - Slim beligting met Arduino - Neopixels -werkruimte: 10 stappe (met foto's)
Slim lessenaar LED -lig | Slim beligting met Arduino | Neopixels Workspace: Ons spandeer deesdae baie tyd tuis, studeer en werk virtueel, so waarom nie ons werkruimte groter maak met 'n pasgemaakte en slim beligtingstelsel Arduino en Ws2812b LED's nie. Hier wys ek u hoe u u Smart bou LED -lessenaar op die tafel wat
IoT -gebaseerde slim tuinmaak en slim landbou met behulp van ESP32: 7 stappe
IoT -gebaseerde slim tuinmaak en slim landbou Met behulp van ESP32: Wêreld verander soos die tyd en so landbou. Tans integreer mense elektronika op elke gebied en die landbou is geen uitsondering hierop nie. Hierdie samesmelting van elektronika in die landbou help boere en mense wat tuine bestuur
Seriële LED -lig met behulp van veelkleurige LED's: 3 stappe (met foto's)
Seriële LED -lig met behulp van veelkleurige LED's: 'n Seriële LED -lig is nie so duur nie, maar as u 'n DIY -liefhebber ('n stokperdjie) is soos ek, kan u u eie seriële LED's maak, en dit is goedkoper as die lig wat op die mark beskikbaar is. Ek gaan my eie seriële LED -lig maak wat op 5 vol is
Trek die lig - ligmodule met behulp van Neopixel en optel -skakelaar: 6 stappe (met foto's)
Trek die lig - ligmodule met behulp van Neopixel & pull -up switch: kenmerke van die Light -module Arduino Uno Hardware & omhulsel gekoop van internet Neopixel & Kragtoevoer geleen by die School of Informatics & Produkontwerp Ligmodule wat deur kragtoevoer beheer word Alle funksies wat beheer word deur
Musiekreaktiewe lig -- Hoe om 'n super -eenvoudige musiekreaktiewe lig te maak vir die maak van 'n tafelblad: 5 stappe (met foto's)
Musiekreaktiewe lig || Hoe om 'n super -eenvoudige musiekreaktiewe lig te maak om lessenaars te maak: Hallo ouens, vandag bou ons 'n baie interessante projek. Vandag gaan ons musiek reaktiewe lig bou. Die LED sal sy helderheid verander volgens die bas wat eintlik 'n lae-frekwensie klanksein is. Dit is baie eenvoudig om te bou. Ons sal