INHOUDSOPGAWE:

RPi IoT slim lig met behulp van Firebase: 4 stappe (met foto's)
RPi IoT slim lig met behulp van Firebase: 4 stappe (met foto's)

Video: RPi IoT slim lig met behulp van Firebase: 4 stappe (met foto's)

Video: RPi IoT slim lig met behulp van Firebase: 4 stappe (met foto's)
Video: ОРХИДЕИ В ПУСТОЙ ВАЗЕ - ЛАЙФХАКИ, ТОНКОСТИ И ОШИБКИ СОДЕРЖАНИЯ, ПЕРЕВОДА И ЩАДЯЩЕЙ АДАПТАЦИИ В ОС! 2024, November
Anonim
RPi IoT slim lig met behulp van Firebase
RPi IoT slim lig met behulp van Firebase
RPi IoT slim lig met behulp van Firebase
RPi IoT slim lig met behulp van Firebase
RPi IoT slim lig met behulp van Firebase
RPi IoT slim lig met behulp van Firebase
RPi IoT slim lig met behulp van Firebase
RPi IoT slim lig met behulp van Firebase

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

Firebase en Xcode
Firebase en Xcode
Firebase en Xcode
Firebase en Xcode
Firebase en Xcode
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

Xcode klaar
Xcode klaar
Xcode klaar
Xcode klaar
Xcode klaar
Xcode klaar

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

Opstelling van framboos Pi
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: