Seja bem-vindo ao Projeto Full Stack Raspberry Pi, me chamo Alexandre Colauto sou formado em engenharia eletrônica e estou desenvolvendo um Smart Garden. Uma parte deste projeto será uma interface web para acompanhar o crescimento da planta. É aí que entra o Raspberry Pi.
O que é o projeto Full Stack?
O projeto consiste em realizar a leitura de um sensor de temperatura e umidade DTH22 e apresentar as informações em uma página web utilizando o Raspberry pi.
Para conseguir fazer isso vamos utilizar o Raspbian, (uma versão do Ubuntu para o raspberry pi) no modo headless, ou seja, sem precisar de um monitor, utilizando o protocolo ssh no programa putty.
No Raspbian vamos instalar algumas dependências para ler os pinos GPIO do Raspberry Pi, nesses pinos estará conectado o DTH22 que ira realizar a leitura de temperatura e umidade do laboratório (meu quarto no caso).
O próximo passo será instalar os componentes do servidor web, neste projeto vamos utilizar o Flask, que é um framework web em python, onde vamos escrever o aplicativo que será hospedado no uWSGI, que cuida da construção dos serviços de hospedagem, e que por fim será hospedado pelo NGINX, que irá disponibilizar o acesso ao aplicativo através de uma pagina web.
Simples né? Mas serve como base para várias outras coisas, vale muito a pena!
Passo 0 —Requerimentos
Para o projeto vamos precisar de:
- Raspberry Pi
- Sensor de temperatura e umidade DTH22
O Raspberry Pi não precisa ser de nenhum modelo em específico, todos eles vão funcionar, ate mesmo o Raspberry Pi W, a única diferença será na velocidade de compilação.
O projeto não consome muito espaço de armazenamento, logo um cartão de 4 GB deve rodar o sistema tranquilamente. Vale lembra que você vai precisar de uma fonte para o seu Raspberry Pi, mas o sensor não consome muita corrente, um carregador desses de celular é o suficiente para alimentar o Raspberry Pi.
É interessante ter também uma protoboard e alguns jumpers para montar o circuito sem precisar soldar nada.
Passo 1-Instalando o SO
A primeira coisa a ser feita no nosso projeto é instalar o Raspbian, o sistema operacional que o Raspberry Pi vai utilizar. Para fazer a instalação temos que baixar a imagem do Raspbian do site oficial:
Neste link temos que baixar o Rasberri Pi OS Lite.
Escolhemos o OS Lite por que ele não possui ambiente gráfico, então é muito mais leve, e com processamento mais do que suficiente para o nosso projeto.
Agora temos que gravar esta imagem em nosso cartão SD, para isto utilizamos o Etcher, que pode ser baixado gratuitamente no link oficial:
Uma vez instalado é bem intutivo de utilizar o Etcher:
-Selecionamos “Flash from file”
-Escolhemos a imagem que acabamos de baixar do Raspberry OS Lite
-Em “Select target” escolhemos o cartão SD (que deve estar conectado ao computador nesse momento)
-Flash!
E é só isso, o Etcher cuida de toda a parte de formatação e diskpart para a gente.
Configurações Adicionais
Assim que o Etcher finalizar nosso sistema operacional já está pronto, mas vamos adicionar mais duas configurações antes de fazer o primeiro boot, vamos habilitar o ssh e configurar o WiFi do nosso Raspberry Pi (lembrando que apenas os modelos 3,4 e W que possuem módulo WiFi integrado).
SSH
O protocolo Secure Shell é uma maneira de utilizar nosso Raspberry Pi apenas pelo IP, sem precisar ter nenhum periférico ou monitor ligado a ele.
Para habilitar o ssh é bem simples.
Basta criar um arquivo com o nome ssh e colocar na pasta root do cartao SD
O arquivo não precisa ter nenhuma extensão nem nada escrito, apenas deve ter o nome de ssh.
Rede WiFi
Para configurar a rede WiFi e fazer o Raspberry Pi se conectar automaticamente a rede temos que criar um arquivo chamado:
wpa_supplicant.conf
e dentro deste arquivo preenchemos com:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=<BR>
network={
ssid="<Nome da Sua Rede WiFi>"
psk="<Senha Da Sua Rede Wifi>"
}
É importante manter as aspas no ssid e no psk.
(caso você esteja fora do Brasil, altere o “country” para as 2 letras do seu país)
Este arquivo wpa_supplicant.conf também vai na pasta root com o arquivo ssh que criamos anteriormente.
Com todos os arquivos na pasta root, podemos remover o cartão SD do nosso computador e colocá-lo no Raspberry Pi para o primeiro boot.
Programas adicionais
Neste ponto do projeto nós queremos baixar mais dois programas que vão nos ajudar a se comunicar com o Raspberry Pi.
O primeiro deles é o Putty
O putty é um programa do Windows que realiza comunicação SSH com nosso Raspberry Pi através do IP.
(Se voce tiver utilizando MacOs ou Linux consegue fazer o ssh direto do terminal)
O putty também é bem simples de instalar, pode seguir as configurações recomendadas e não é preciso alterar nada.
Quando você abrir o Putty pela primeira vez após ter instalado vai encontrar esta tela:
Para se conectar só precisamos do IP do nosso Raspberry Pi e para isso vamos precisar do próximo programa
O segundo programa é o Advanced IP Scanner
Este programa vai nos ajudar a descobrir qual é o IP do nosso Raspberry Pi, e com o IP conseguimos conectar via SSH com o Putty.
Se tudo foi preenchido corretamente devemos encontrar alguma coisa parecida com isso em nosso Advanced IP Scaner:
em seguida é só colocar o IP no Putty e clicar em “Open” e logo aparecerá uma tela como esta:
Quando for pedido o login vamos digitar “pi”
login as: pi
e a senha vai ser “raspberry”
pi@192.168.1.27’s password: raspberry
Estes são as credenciais padrão do Pi, você pode alterar sua senha digitando passwd no prompt e ele ira realizar a alteração da senha para você.
Este vai ser o fim da primeira parte do projeto, fique atento para a segunda parte, e se quiser mais informações você pode acompanhar a série no YouTube sobre este projeto
Ou ainda na Twich toda Segunda Quarta e Sexta caso queira interagir e acompanhar ao vivo enquanto o projeto cresce. Se algo não ficou claro me deixe saber, toda pergunta é bem-vinda e juro que vou tentar ajudar o máximo que eu puder.
Obrigado por sua paciência e pelo seu tempo.