Taula de continguts:

Llum intel·ligent RPi IoT amb Firebase: 4 passos (amb imatges)
Llum intel·ligent RPi IoT amb Firebase: 4 passos (amb imatges)

Vídeo: Llum intel·ligent RPi IoT amb Firebase: 4 passos (amb imatges)

Vídeo: Llum intel·ligent RPi IoT amb Firebase: 4 passos (amb imatges)
Vídeo: Elif Episode 182 | English Subtitle 2024, Desembre
Anonim
Llum intel·ligent RPi IoT que utilitza Firebase
Llum intel·ligent RPi IoT que utilitza Firebase
RPi IoT Smart Light amb Firebase
RPi IoT Smart Light amb Firebase
RPi IoT Smart Light amb Firebase
RPi IoT Smart Light amb Firebase
Llum intel·ligent RPi IoT que utilitza Firebase
Llum intel·ligent RPi IoT que utilitza Firebase

Aquesta guia us mostra com crear i configurar una aplicació per controlar Raspberry Pi mitjançant Firebase (una base de dades en línia). I després imprimir en 3D una funda per al Pi Zero W, un Powerboost 1000C, una bateria i un Blinkt !.

Per poder seguir-ho amb més facilitat, recomano estar familiaritzat amb Xcode i Raspberry Pi.

I si us agrada el que veieu, seguiu-me a Instagram i Twitter (@ Anders644PI) per estar al dia del que faig.

Necessitarà:

  • Un Raspberry Pi Zero W amb adaptadors i capçaleres GPIO

    (o el Pi Zero ordinari amb un dongle WiFi)

  • Un PowerBoost 1000 C.
  • Una bateria de ions de liti: 3,7 v 2000 mAh
  • Un parpelleig! (o qualsevol pHAT / HAT, que: no utilitzi el pin 5 físic i els HAT haurien de ser plans a la part inferior).
  • Una targeta Micro SD de 8 GB o superior, amb Raspbian Stretch (amb escriptori)
  • Un teclat i un ratolí (però també podeu connectar-vos mitjançant ssh, si ara ho feu)
  • Una connexió a un monitor o un televisor (o ssh!)
  • Cargols de ferralla
  • Filferros petits
  • Un petit interruptor i un petit botó
  • Una impressora 3D i una bobina de qualsevol filament PLA de color i una bobina de PLA transparent (o podeu utilitzar un servei 3D com 3D Hubs per imprimir-la)

Pas 1: Firebase i Xcode

Firebase i Xcode
Firebase i Xcode
Firebase i Xcode
Firebase i Xcode
Firebase i Xcode
Firebase i Xcode

Primer configurarem Firebase amb l’aplicació, de manera que puguem comunicar-nos des de l’aplicació fins al Pi.

Si us confoneu, podeu veure aquest vídeo.

1. Obriu Xcode i creeu un nou projecte Xcode. Trieu l'aplicació de visualització única i anomeneu-la RPiAppControl i assegureu-vos que l'idioma sigui Swift. Premeu Següent i deseu-lo.

2. Copieu el vostre identificador de paquet, perquè el necessitarem més endavant.

3. A Firebase, inicieu la sessió amb el vostre compte de Google i feu clic a Vés a la consola.

4. Creeu un projecte nou i anomeneu-lo RPiAppControl.

5. Feu clic a Afegeix Firebase a la vostra aplicació iOS. Enganxeu l’identificador del paquet i premeu Registra aplicació.

6. Baixeu el GoogleService-Info.plist i arrossegueu-lo al vostre projecte Xcode.

7. Torneu a Firebase i premeu Continua. A continuació, obriu una finestra de terminal i aneu a la ubicació del projecte Xcode.

8. Executeu aquesta ordre:

pod init

9. Obriu el Podfile i a use_frameworks., afegiu aquesta línia:

pod "Firebase / Core"

10. Torneu al tipus de terminal: pod install i tanqueu Xcode.

11. Al Finder, aneu al vostre projecte Xcode i obriu el fitxer.xcworkspacefile recentment creat.

12. Aquí aneu a AppDelegate.swift i, a la importació UIKit, afegiu aquesta línia:

importar Firebase

I a la funció d'aplicació, afegiu aquesta línia:

FIRApp.configure ().

13. Torneu a Firebase, feu clic a Continua i després a Finalitza.

14. Aneu a Base de dades, després a Regles, i configureu ".read" i ".write" a true. Premeu PUBLICAR.

15. De nou a Xcode, obriu el Podfile i, a la primera línia que configurem, afegiu-ho:

pod 'Firebase / Database'

16. De nou al terminal, torneu a executar pod install.

Pas 2: Acabar Xcode

Finalització de Xcode
Finalització de Xcode
Finalització de Xcode
Finalització de Xcode
Finalització de Xcode
Finalització de Xcode

Ara acabarem el codi i el disseny a Xcode.

Això fa servir Xcode 9 i Swift 4

Codi del ViewController1. A la part superior del ViewController i a la importació UIKit, afegiu-la:

importar Firebase

importar FirebaseDatabase

2. A la part inferior del ViewController i sota la funció didReceiveMemoryWarning, copieu i enganxeu aquestes funcions per a cada botó:

func num1 (estat: cadena) {

let ref = FIRDatabase.database (). reference () let post: [String: Any] = ["state": state] ref.child ("num1"). setValue (post)}Recordeu canviar el (número

3. A la funció viewDidLoad, a la secció super.viewDidLoad (), inseriu aquesta línia per a cada botó (per a diversos botons, només cal canviar el número). Vegeu la imatge …):

num1 (estat: "DESACTIVAT")

Disseny del tauler principal i dels botons

1. Aneu al Main.storyboard i introduïu alguns botons. Podeu dissenyar-los com jo, o personalitzar-los com vulgueu.

2. Connecteu els botons amb el ViewController. Cal que cada botó estigui connectat dues vegades: un com a acció i el botó UIB anomenat num (número), i l’altre com a sortida predeterminada i anomenant-lo num (número) Color. Veure imatge …

3. A continuació, per a tots els botons, enganxeu aquesta línia a cadascuna de les funcions:

si self.num1Color.backgroundColor == UIColor.lightGray {// Estableix el color de fons a lightGray

num1 (state: "ON") // Envia l'estat: "ON" a firebase self.num1Color.backgroundColor = UIColor (vermell: 0,96, verd: 0,41, blau: 0,26, alfa: 1,0) // Estableix el color de fons a vermellós} else {num1 (state: "OFF") // Envia l'estat: "OFF" a firebase self.num1Color.backgroundColor = UIColor.lightGray // Estableix el color de fons a lightGray}

Ara hauríeu de poder provar-la executant l'aplicació i, quan premeu els botons, hauríeu de veure-la canviant d'estat a la base de dades en temps real de Firebase.

Tocs finals (opcional)

1. Descarregueu les imatges següents i inseriu LaunchScreen-image-j.webp

2. Aneu a Assets.xcassets i després a AppIcon. Aquí, col·loqueu la mida de l'AppIcon corresponent.

Pas 3: Configuració de Raspberry Pi

Configuració de Raspberry Pi
Configuració de Raspberry Pi

Ara hem de configurar el Pi amb Firebase perquè l'aplicació pugui comunicar-se amb Firebase al Pi.

No he escrit el codi, però el codi original el podeu trobar aquí.

1. Al terminal, executeu les actualitzacions habituals:

sudo apt-get update && sudo apt-get dist-upgrade

2. Després importarem pyrebase (Firebase):

sudo pip instal·lar pyrebase

sudo pip3 install pyrebase sudo pip3 install --upgrade google-auth-oauthlib

3. Ara baixeu la biblioteca Blinkt:

rínxol https://get.pimoroni.com/blinkt | bash

4. Cloneu el meu dipòsit GitHub:

git clone https://github.com/Anders644PI/RPiAppControl.gitcd RPiAppControl

5. Editeu l'AppRPiControl_Template.py:

nano RPiAppControl_Template.py

6. Empleneu el Firebase ApiKey i projectId. Podeu trobar-los anant al vostre Projecte Firebase i fent clic a Afegeix una altra aplicació i, a continuació, Afegiu Firebase a la vostra aplicació web.

7. Personalitzeu les funcions i deseu els canvis prement ctrl-o (enter) i tanqueu amb ctrl-x.

8. Ara executeu-lo amb:

sudo python3 RPiAppControl_Template.py

9. A continuació, si utilitzeu un Blinkt, podeu provar l'exemple quan hàgiu emplenat el Firebase ApiKey i projectId:

exemples de cd

nano RPiAppControl_blinkt_demo.py

Ara executeu-lo:

sudo python3 RPiAppControl_blinkt_demo.pyTingueu en compte que, després d’executar el guió, es triga aproximadament un minut a preparar-se (almenys al Pi Zero). I l’escriptura s’ha d’executar a Python 3

10. BONUS: si voleu que l'script s'executi a l'arrencada, podeu esbrinar com fer-ho aquí.

Botó d’aturada / engegada

És opcional instal·lar un botó d’engegada, però el recomano. Seguiu aquest vídeo per configurar-lo.

Tingueu en compte que s’utilitza el pin físic 5 del Pi, de manera que alguns HAT no funcionaran.

Pas 4: recinte

Recomanat: