Índice:

RPi IoT Smart Light usando Firebase: 4 etapas (com imagens)
RPi IoT Smart Light usando Firebase: 4 etapas (com imagens)

Vídeo: RPi IoT Smart Light usando Firebase: 4 etapas (com imagens)

Vídeo: RPi IoT Smart Light usando Firebase: 4 etapas (com imagens)
Vídeo: Golang vs Python #shorts tiktok hackmymozg 2024, Novembro
Anonim
RPi IoT Smart Light usando Firebase
RPi IoT Smart Light usando Firebase
RPi IoT Smart Light usando Firebase
RPi IoT Smart Light usando Firebase
RPi IoT Smart Light usando Firebase
RPi IoT Smart Light usando Firebase
RPi IoT Smart Light usando Firebase
RPi IoT Smart Light usando Firebase

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

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

Concluindo Xcode
Concluindo Xcode
Concluindo Xcode
Concluindo Xcode
Concluindo Xcode
Concluindo 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

Configuração do Raspberry Pi
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: