Índice:

EasyTalk: comunicação fácil e um calendário próximo a você: 6 etapas
EasyTalk: comunicação fácil e um calendário próximo a você: 6 etapas
Anonim
EasyTalk: comunicação fácil e um calendário próximo a você
EasyTalk: comunicação fácil e um calendário próximo a você
EasyTalk: comunicação fácil e um calendário próximo a você
EasyTalk: comunicação fácil e um calendário próximo a você

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

Materiais
Materiais
Materiais
Materiais
Materiais
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

Fiação
Fiação
Fiação
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

Base de dados
Base 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

Código
Código
Código
Código
Código
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

Caso
Caso
Caso
Caso
Caso
Caso
Caso
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: