Índice:
- Etapa 1: Materiais
- Etapa 2: Raspberry Pi
- Etapa 3: Fiação
- Etapa 4: Banco de dados
- Etapa 5: Código
- Etapa 6: Caso
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:36
Meu nome é Kobe Marchal, estudo em Howest, Bélgica, e sou estudante de Multimídia e Tecnologia de Comunicação (MCT). Para minha tarefa final do primeiro ano, tive que fazer um dispositivo IoT.
Em casa temos esse problema que meu irmão está sempre jogando e quando minha mãe precisa falar algo para ele lá de baixo, ela precisa gritar porque ele usa fones de ouvido e não consegue ouvir nada. Eu queria resolver esse problema para ela, então construí um dispositivo para o qual você pode enviar mensagens de um site. Também é usado como uma agenda onde você pode armazenar seus próprios eventos ou importar uma agenda externa por meio de um URL. Este dispositivo também armazena os valores de temperatura e qualidade do ar para que você possa ver o quão saudável é quando você está jogando ou trabalhando, porque muitas vezes você não percebe.
Este dispositivo é denominado EasyTalk e resolve este problema. É um pequeno dispositivo que utiliza uma tela OLED para que você possa ver seus eventos, a hora ou temperatura e a qualidade do ar neste momento. Quando uma mensagem é enviada, ele avisa com um som de notificação e mostra a mensagem na tela onde você pode responder sim ou não.
Se você quiser construir isso ou ver como é feito, sugiro fortemente que continue a leitura. Se você quiser saber mais sobre mim, pode ir ao meu portfólio.
Etapa 1: Materiais
O primeiro passo é reunir todos os materiais para utilizar neste projeto. Vou ser honesto com você. Este não é um dispositivo barato, o custo total é de € 271. Abaixo segue uma lista deles e algumas fotos para esclarecer.
- Raspberry Pi 4 Modelo B - 4 GB
- Pibow Coupé 4 - Ninja
- 12 x Jumperwires Premium op strip - 40 stuks - M / M - 20cm
- 6 x Jumperwires Premium op strip - 40 stuks - M / F - 20cm
- 2 x cabeçalho de empilhamento de 36 pinos
- Cabeçalho de caixa macho de 40 pinos
- 40 pinos Regenboog GPIO kabel
- Kit de módulo de display gráfico OLED monocromático 2,42 "128x64
- Alto-falante Kleine Metalen com Draadjes - 8 ohm 0,5 W
- Adafruit Mono 2.5W Class D Audio Versterker
- Cabo auxiliar de 3,5 mm
- Botão Momentâneo de Rosca de 7mm
- Tuimelschakelaar
- PIR Bewegingssensor
- Sensor de temperatura DS18B20 Digitale
- Grove - sensor Lucht kwaliteit v1.3
- Grove - I2C ADC
- Raspberry Pi 4 USB-C Voeding
- Flexibel mini-statief
- Resistores de 470 ohms
- Resistor 4, 7K Ohm
- Tubulação termorretrátil
- 6 x parafusos M2 x 6 mm
- 6 x parafusos M2 x 8 mm
- 3 x parafusos M2 x 16 mm
- Aluminiumbuis 3 mm
Também fiz uma lista de materiais (BOM) para que vocês possam ver quanto paguei por todos os materiais e onde os obtive.
Etapa 2: Raspberry Pi
Para este projeto, usamos um Raspberry Pi porque é fácil de configurar e pode ser usado para muitas coisas. É perfeito para o que queremos fazer.
Baixe o Raspberry Pi Desktop OS e instale-o no seu Raspberry Pi. Você precisa habilitar SPI, I2C e One Wire no raspi-config. Eu sugiro desabilitar algumas coisas nas Opções de inicialização também para torná-lo inicializar mais rápido. Além disso, uso algumas bibliotecas que você precisa instalar com o pip para fazer isso funcionar.
pip3 install:
- adafruit-circuitpython-ssd1305
- ics
- Frasco
- Flask-Cors
- Flask-JWT-Extended
- mysql-connector-python
Você também precisa do apache2 para configurar um site, aqui usamos o apt:
sudo apt install apache2 -y
Você precisa configurar a conexão sem fio porque não é possível obter um cabo UTP no Raspberry Pi quando ele está no estojo.
Você também precisará configurar o MariaDB para acessar o banco de dados.
Etapa 3: Fiação
A próxima etapa é conectar tudo e testar se todos os componentes funcionam. Eu criei um PCB para remover a placa de ensaio e tornar a fiação menor para que o dispositivo possa ser menor. Isso é necessário porque ele ficará próximo ao seu monitor e não ocupará muito espaço, então não o distrairá de seu trabalho.
Etapa 4: Banco de dados
Este dispositivo faz uso de um banco de dados MySQL normalizado para armazenar todas as suas informações e mostrá-las no site e no próprio dispositivo. Eu o criei no MySQL Workbench.
Existem 5 tabelas neste banco de dados.
Tabela Activiteiten (= atividades, eventos) é usado para armazenar todos os eventos do calendário. Isso também inclui todos os eventos importados de outro calendário.
A Tabela Apparaten (= dispositivos) é usada para armazenar os diferentes tipos de dispositivos que são usados na tabela Historiek (= histórico). Existem dois sensores usados neste projeto, um sensor de temperatura e um sensor de qualidade do ar, mas também tenho um terceiro “dispositivo”, o próprio site para armazenar as mensagens enviadas do site para o dispositivo.
A tabela Gebruikers (= usuários) armazena os usuários. Eles podem fazer login com sua senha e especificar um apelido que aparecerá com uma mensagem ao enviar para o dispositivo.
Tabela Historiek (= histórico) é usada para armazenar os valores do sensor e as mensagens enviadas para o dispositivo.
E, por fim, os links de tabela (= URLs) armazenam todos os URLs externos da agenda.
Etapa 5: Código
Eu recomendo fazer um novo usuário, pois é a melhor prática, mas não é necessário, você também pode usar o usuário pi padrão.
O código do frontend é colocado na pasta html padrão do apache2. Você pode encontrar essa pasta em / var / www / html.
Para o back-end, você precisa criar uma pasta em sua pasta de início e colocar todo o código lá.
Precisamos alterar alguns valores neste código também. Primeiro, vá para app.py. Na linha 23, defina o nome do sensor de temperatura de um fio. Provavelmente será algo diferente para você. Para encontrar o nome certo, abra um terminal e digite:
ls / sys / bus / w1 / devices
e procure uma string que consiste em vários números diferentes e substitua o da linha 23.
A outra coisa que precisamos mudar é no arquivo config.py, mudar a senha do banco de dados.
Se você deseja que isso seja executado na inicialização, você deve alterar o arquivo EasyTalk.service também. Basta alterar o diretório de trabalho e o usuário. Você deve copiar este arquivo com o próximo comando:
sudo cp EasyTalk.service / etc / systemd / system / EasyTalk.service
Em seguida, execute-o:
sudo systemctl start EasyTalk.service
E então habilite-o para que comece na inicialização
sudo systemctl enable EasyTalk.service
Etapa 6: Caso
Decidi imprimir a caixa em 3D para que ela possa ser o menor possível. A impressão consiste em 3 partes, a própria caixa, uma tampa e um suporte de alto-falante, pois não tem orifícios para aparafusar os parafusos.
Você também precisará de alguns negritos para aparafusar tudo.
- 6 x parafusos M2 x 6 mm
- 6 x Parafusos M2 x 8mm
- 3 x parafusos M2 x 16 mm
Eu serei honesto embora. Levei 4-5 horas para construir esta coisa. Por ser tão pequeno, tudo se encaixa e às vezes é difícil aparafusar os carrinhos, mas funciona se você fizer com cuidado.
Eu também projetei uma placa de circuito impresso para substituir a placa de ensaio, primeiro você precisa soldar os conectores e 5 resistores (4 x 470 Ohm, 1 x 4,7 K Ohm).
Quando você tiver o PCB, sugiro começar com cabos de solda em tudo que deve se conectar ao PCB.
Quando isso for feito, você vai aparafusar o display OLED no lugar e conectar o PCB a ele. A tela contém o PCB. Você usa parafusos de 6 mm para isso.
Então você aparafusa o sensor de qualidade do ar onde deveria ir, mas isso é um pouco complicado porque o ADC se conecta a ele. Para fazer isso corretamente, para que os dois componentes não se toquem, você usa parafusos de 16 mm com tubos de alumínio de 3 x 5 mm que você precisa serrar. Fiz isso com dois parafusos porque não consegui alcançar o terceiro. Você conecta os 4 fios onde eles deveriam ir no PCB.
Em seguida, você conecta o amplificador de áudio ao PCB e coloca o alto-falante no lugar com o suporte impresso em 3D.
Após essas etapas, as partes mais difíceis terminam e você pode conectar todo o resto ao PCB e aparafusá-lo no lugar. Note que nas fotos que você vê eu utilizo um sensor de temperatura diferente, para o produto final usei o sensor de temperatura com um cabo longo que sai da caixa porque estava medindo o calor de dentro da caixa.
Quando tudo isso estiver no lugar, você tem que aparafusar o Raspberry Pi. Eu uso o case para isso porque não confio no calor que ele produz, este case é para proteção para que a impressão 3D não derreta. Antes de parafusá-lo no lugar, você tem que conectar o cabo de alimentação e o cabo aux (que você tem que abrir e soldar um fio e então conectar do Raspberry Pi ao PCB) porque você não pode alcançá-lo depois.
Em seguida, basta conectar o cabo do conector GPIO do PCB ao Raspberry Pi e testar se tudo funciona antes de fechar a tampa.
Na parte inferior há um orifício onde você pode conectar um tripé, mas isso é opcional.
É isso! Espero que tenha gostado de ler este artigo! -Kobe
Recomendado:
Temporizador de contagem regressiva do próximo evento: 5 etapas
Cronômetro de contagem regressiva de evento futuro: Visão geral: O relógio de contagem regressiva de evento é semelhante a produtos comerciais, com algumas variações: a) Legível de toda a tela da sala.b) Imagem de evento personalizável.c) Conforme o tempo alvo do evento é contado, os dias restantes mudam cor - verde - > amarelo
Faça painéis frontais com aparência profissional para seu próximo projeto faça você mesmo: 7 etapas (com fotos)
Faça painéis frontais com aparência profissional para seu próximo projeto DIY: Fazer painéis frontais com aparência profissional para projetos DIY não precisa ser difícil ou caro. Com algum software GRATUITO, material de escritório e um pouco de tempo você pode fazer painéis frontais com aparência profissional em casa para enfeitar seu próximo projeto
DIY MusiLED, LEDs sincronizados com música com aplicativos Windows e Linux de um clique (32 e 64 bits). Fácil de recriar, fácil de usar, fácil de transportar: 3 etapas
DIY MusiLED, LEDs sincronizados com música com aplicativos Windows e Linux de um clique (32 e 64 bits). Fácil de recriar, fácil de usar, fácil de transportar: Este projeto irá ajudá-lo a conectar 18 LEDs (6 vermelho + 6 azul + 6 amarelo) à sua placa Arduino e analisar os sinais em tempo real da placa de som do seu computador e retransmiti-los para os LEDs para iluminá-los de acordo com os efeitos da batida (caixa, chapéu alto, chute)
Como obter música do site de QUASE ANY (Haha) (Contanto que você possa ouvi-la, você pode obtê-la Ok, tudo bem, se ela estiver incorporada em Flash, talvez você não consiga) EDITADA !!!!! Informações Adicionadas: 4 Passos
Como obter música do site de QUASE ANY (Haha) (Contanto que você possa ouvi-la, você pode obtê-la … Ok, tudo bem, se ela estiver incorporada em Flash, talvez você não consiga) EDITADA !!!!! Informações Adicionadas: se você alguma vez vai a um site e toca uma música que você gosta e quer, então aqui está o instrutivo para você - não é minha culpa se você bagunçar alguma coisa (a única maneira de acontecer é se você começar a deletar coisas sem motivo ) Eu consegui ouvir música para
Como fazer um calendário para os avós & Álbum de recortes (mesmo que você não saiba fazer recortes): 8 etapas (com imagens)
Como fazer um calendário para os avós & Álbum de recortes (mesmo que você não saiba fazer): Este é um presente de Natal muito econômico (e muito apreciado!) Para os avós. Fiz 5 calendários este ano por menos de US $ 7 cada. Materiais: 12 ótimas fotos de seu filho, filhos, sobrinhas, sobrinhos, cachorros, gatos ou outros parentes12 peças diferentes