Índice:
- Etapa 1: Firebase e Xcode
- Etapa 2: Concluindo o Xcode
- Etapa 3: configuração do Raspberry Pi
- Etapa 4: Gabinete
Vídeo: RPi IoT Smart Light usando Firebase: 4 etapas (com imagens)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:37
Este guia mostra como fazer e configurar um aplicativo para controlar o Raspberry Pi via Firebase (um banco de dados online). E então imprimir em 3D um case para o Pi Zero W, um Powerboost 1000C, uma bateria e um Blinkt !.
Para acompanhar com mais facilidade, recomendo estar familiarizado com o Xcode e o Raspberry Pi.
E se você gosta do que vê, me siga no Instagram e Twitter (@ Anders644PI) para ficar por dentro do que eu faço.
Você vai precisar de:
-
Um Raspberry Pi Zero W com adaptadores e cabeçalhos GPIO
(ou o Pi Zero comum com um dongle WiFi)
- A PowerBoost 1000 C
- Uma bateria de íon de lítio - 3,7v 2000mAh
- A Blinkt! (ou qualquer pHAT / HAT, que: não use o pino 5 físico e o HAT deve ser plano na parte inferior.)
- Um cartão Micro SD de 8 GB ou superior, com Raspbian Stretch (com desktop) nele
- Um teclado e um mouse (mas você também pode se conectar por ssh, se souber)
- Uma conexão a um monitor ou TV (ou ssh!)
- Parafusos de sucata
- Fios pequenos
- Um pequeno interruptor e um pequeno botão
- Uma impressora 3D e um carretel de filamento PLA de qualquer cor e um carretel de PLA transparente (ou você pode usar um serviço 3D como Hubs 3D para imprimi-lo para você)
Etapa 1: Firebase e Xcode
Primeiro, vamos configurar o Firebase com o aplicativo, para que possamos nos comunicar do aplicativo com o Pi.
Se você ficar confuso, pode assistir a este vídeo.
1. Abra o Xcode e faça um novo projeto Xcode. Escolha Single View App e chame-o RPiAppControl, e certifique-se de que o idioma é Swift. Pressione Avançar e salve.
2. Copie seu identificador de pacote, porque precisaremos dele mais tarde.
3. No Firebase, faça login com sua conta do Google e clique em Ir para o console.
4. Crie um novo projeto e chame-o de RPiAppControl.
5. Clique em Adicionar Firebase ao seu aplicativo IOS. Cole seu identificador de pacote e pressione Registrar aplicativo.
6. Baixe o GoogleService-Info.plist e arraste-o para o seu projeto Xcode.
7. De volta ao Firebase, pressione Continuar. Em seguida, abra uma janela de terminal e navegue até o local do seu projeto Xcode.
8. Execute este comando:
pod init
9. Abra o Podfile e em use_frameworks!, adicione esta linha:
pod 'Firebase / Core'
10. De volta ao terminal, digite: pod install e feche o Xcode.
11. No Finder, navegue até seu projeto Xcode e abra o arquivo.xcworkspace recém-criado.
12. Aqui, vá para AppDelegate.swift e, em import UIKit, adicione esta linha:
importar Firebase
E na função do aplicativo, adicione esta linha:
FIRApp.configure ().
13. De volta ao Firebase, clique em Continuar e depois em Concluir.
14. Vá para Banco de dados, depois para Regras e defina ".read" e ".write" como verdadeiro. Pressione PUBLICAR.
15. De volta ao Xcode, abra o Podfile e, na primeira linha que configuramos, adicione o seguinte:
pod 'Firebase / Database'
16. De volta ao terminal, execute o pod install novamente.
Etapa 2: Concluindo o Xcode
Vamos agora terminar o código e o layout no Xcode.
Isso está usando Xcode 9 e Swift 4
Código para o ViewController1. Na parte superior do ViewController e sob o UIKit de importação, adicione este:
importar Firebase
import FirebaseDatabase
2. Na parte inferior do ViewController, e sob a função didReceiveMemoryWarning, copie e cole essas funções para cada botão:
func num1 (state: String) {
let ref = FIRDatabase.database (). reference () let post: [String: Any] = ["state": state] ref.child ("num1"). setValue (post)}Lembre-se de mudar o (número
3. Na função viewDidLoad, sob o super.viewDidLoad (), insira esta linha para cada botão (para vários botões, apenas altere o (número). Veja a imagem …):
num1 (estado: "OFF")
Layout do Main.storyboard e botões
1. Vá para Main.storyboard e coloque alguns botões. Você pode fazer o layout como eu fiz ou personalizá-los como quiser.
2. Conecte os botões com o ViewController. Cada botão precisa ser conectado duas vezes: um como uma ação e UIButton denominado botão num (número), e o outro como o Outlet padrão e chame-o de cor num (número). Ver foto…
3. Em seguida, para todos os botões, cole esta linha em cada uma das funções:
if self.num1Color.backgroundColor == UIColor.lightGray {// Define a cor de fundo para lightGray
num1 (state: "ON") // Envia o estado: "ON" para firebase self.num1Color.backgroundColor = UIColor (red: 0.96, green: 0.41, blue: 0.26, alpha: 1.0) // Define a cor de fundo para avermelhado} else {num1 (state: "OFF") // Envia o estado: "OFF" para firebase self.num1Color.backgroundColor = UIColor.lightGray // Define a cor de fundo para lightGray}
Agora você deve ser capaz de testá-lo executando o aplicativo e, ao pressionar os botões, deverá vê-lo mudando de estado, no Realtime Database no Firebase.
Toques finais (opcional)
1. Baixe as imagens abaixo e insira LaunchScreen-image-j.webp
2. Acesse Assets.xcassets e, em seguida, AppIcon. Aqui, coloque no tamanho AppIcon correspondente.
Etapa 3: configuração do Raspberry Pi
Agora temos que configurar o Pi com o Firebase, para que o aplicativo possa se comunicar, lançar o Firebase, com o Pi.
Não escrevi o código, mas você pode encontrar o código original aqui.
1. No terminal, execute as atualizações usuais:
sudo apt-get update && sudo apt-get dist-upgrade
2. Em seguida, importaremos o pyrebase (Firebase):
sudo pip install pyrebase
sudo pip3 install pyrebase sudo pip3 install --upgrade google-auth-oauthlib
3. Agora baixe a biblioteca Blinkt:
curl https://get.pimoroni.com/blinkt | bash
4. Clone meu repositório GitHub:
git clone https://github.com/Anders644PI/RPiAppControl.gitcd RPiAppControl
5. Edite o AppRPiControl_Template.py:
nano RPiAppControl_Template.py
6. Preencha seu Firebase ApiKey e projectId. Você pode encontrá-los acessando seu projeto do Firebase, clicando em Adicionar outro aplicativo e, em seguida, Adicionar Firebase ao seu aplicativo da web.
7. Personalize as funções e salve suas alterações pressionando ctrl-o (enter) e feche com ctrl-x.
8. Agora execute-o com:
sudo python3 RPiAppControl_Template.py
9. Então, se você estiver usando um Blinkt, você pode tentar o exemplo, quando tiver preenchido seu Firebase ApiKey e projectId:
exemplos de cd
nano RPiAppControl_blinkt_demo.py
Agora execute:
sudo python3 RPiAppControl_blinkt_demo.pyLembre-se de que, depois de executar o script, leva cerca de um minuto para ficar pronto (pelo menos no Pi Zero). E o script deve ser executado em python 3
10. BÔNUS: Se você deseja que o script seja executado na inicialização, você pode descobrir como, aqui.
Botão Desligar / Ligar
É opcional instalar um botão liga / desliga, mas eu o recomendo. Acompanhe este vídeo, para configurá-lo.
Lembre-se de que ele usa o pino físico 5 no Pi, então alguns HATs não funcionarão.
Etapa 4: Gabinete
Recomendado:
Sistema de monitoramento visual baseado em LoRa para agricultura Iot - Projetando um aplicativo fronteado usando Firebase e Angular: 10 etapas
Sistema de monitoramento visual baseado em LoRa para agricultura Iot | Projetando um aplicativo fronteado usando Firebase e Angular: No capítulo anterior, falamos sobre como os sensores estão trabalhando com o módulo loRa para preencher o banco de dados Firebase Realtime e vimos o diagrama de alto nível como todo o nosso projeto está funcionando. Neste capítulo, vamos falar sobre como podemos
Howto: Instalando Raspberry PI 4 Headless (VNC) com Rpi-imager e imagens: 7 etapas (com imagens)
Howto: Instalando Raspberry PI 4 Headless (VNC) com Rpi-imager e imagens: Eu pretendo usar este Rapsberry PI em um monte de projetos divertidos em meu blog. Sinta-se à vontade para dar uma olhada. Eu queria voltar a usar meu Raspberry PI, mas não tinha um teclado ou mouse no meu novo local. Já fazia um tempo desde que configurei um Raspberry
Como fazer um drone usando o Arduino UNO. Faça um quadricóptero usando um microcontrolador: 8 etapas (com imagens)
Como fazer um drone usando o Arduino UNO. Faça um Quadcopter Usando Microcontrolador: IntroduçãoVisite Meu Canal do YoutubeUm Drone é um gadget (produto) muito caro para comprar. Neste post irei discutir, como faço isso mais barato ?? E como você pode fazer seu próprio assim a um preço barato … Bem, na Índia, todos os materiais (motores, ESCs
Como fazer um sistema de automação residencial Firebase usando NodeMCU - na plataforma IOT: 14 etapas
Como fazer um sistema de automação residencial Firebase usando NodeMCU | na plataforma IOT: OBJETIVO DESTE PROJETOEste projeto visa desenvolver um sistema de automação residencial que dê ao usuário controle completo sobre todos os dispositivos controláveis remotamente de sua casa usando o aplicativo IOT Android. Existem muitos servidores online de terceiros e plataformas a
Notificações de eventos em tempo real usando NodeMCU (Arduino), Google Firebase e Laravel: 4 etapas (com imagens)
Notificações de eventos em tempo real usando NodeMCU (Arduino), Google Firebase e Laravel: Você já quis ser notificado quando uma ação fosse realizada em seu site, mas o e-mail não fosse adequado? Quer ouvir um som ou um sino sempre que fizer uma venda? Ou há necessidade de sua atenção imediata devido a uma emergência