Taula de continguts:
Vídeo: Llum intel·ligent RPi IoT amb Firebase: 4 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:14
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
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
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
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:
Llum LED d'escriptori intel·ligent - Il·luminació intel·ligent amb Arduino - Espai de treball Neopixels: 10 passos (amb imatges)
Llum LED d'escriptori intel·ligent | Il·luminació intel·ligent amb Arduino | Espai de treball de Neopixels: ara passem molt de temps a casa estudiant i treballant virtualment, per què no fer que el nostre espai de treball sigui més gran amb un sistema d’il·luminació personalitzat i intel·ligent basat en els LEDs Arduino i Ws2812b. Aquí us mostro com construir el vostre Smart Llum LED d'escriptori que
Converteix un telèfon intel·ligent no utilitzat en una pantalla intel·ligent: 6 passos (amb imatges)
Converteix un telèfon intel·ligent no utilitzat en una pantalla intel·ligent: el tutorial de Deze es troba a Engels, per a la versió del clàssic espanyol. Teniu un telèfon intel·ligent (antic) sense utilitzar? Convertiu-lo en una pantalla intel·ligent amb Fulls de càlcul de Google i paper i llapis seguint aquest senzill tutorial pas a pas. Quan hagis acabat
Rellotge despertador intel·ligent: un despertador intel·ligent fabricat amb Raspberry Pi: 10 passos (amb imatges)
Rellotge despertador intel·ligent: un rellotge despertador intel·ligent fet amb Raspberry Pi: Heu volgut mai un rellotge intel·ligent? Si és així, aquesta és la solució per a vosaltres. He creat Smart Alarm Clock (Rellotge despertador intel·ligent), aquest és un rellotge que permet canviar l’hora de l’alarma segons el lloc web. Quan l’alarma s’activi, hi haurà un so (brunzidor) i 2 llums
Jardineria intel·ligent i agricultura intel·ligent basades en IoT mitjançant ESP32: 7 passos
Jardineria intel·ligent i agricultura intel·ligent basades en l’IoT que utilitzen ESP32: el món canvia a mesura que l’agricultura passa. Avui en dia, la gent integra electrònica en tots els camps i l’agricultura no n’és una excepció. Aquesta fusió d'electrònica a l'agricultura està ajudant els agricultors i les persones que gestionen els jardins
Com controlar l'interruptor intel·ligent bàsic Sonoff basat en ESP8266 amb un telèfon intel·ligent: 4 passos (amb imatges)
Com controlar el commutador intel·ligent bàsic de Sonoff basat en ESP8266 amb un telèfon intel·ligent: Sonoff és una línia de dispositius per a Smart Home desenvolupada per ITEAD. Un dels dispositius més flexibles i econòmics d’aquesta línia és Sonoff Basic. És un commutador habilitat per Wi-Fi basat en un gran xip, ESP8266. En aquest article es descriu com configurar el Cl