Alarme inteligente: 6 etapas
Alarme inteligente: 6 etapas
Anonim
Alarme Inteligente
Alarme Inteligente

Na escola, recebi a designação de fazer um projeto. Escolhi um alarme inteligente porque sempre durmo durante o alarme e então falto às aulas. Você só pode desligar o alarme se houver luz, som e movimento, para que não possa voltar a dormir ou colocá-lo em soneca sem abrir os olhos. Também existe um site onde você pode ver seu padrão de sono, definir alarmes e fazer novos alarmes.

Suprimentos

Para construir o projeto, são necessários alguns materiais. você pode encontrar uma lista abaixo. você também pode encontrar tudo na lista de materiais, incluindo o preço.

  1. Framboesa pi 3
  2. T-cobbler breakout board
  3. Sensor PIR
  4. Sensor de luz
  5. Sensor de detecção de som
  6. Campainha
  7. tela de LCD
  8. Botão

Etapa 1: Hardware

Hardware
Hardware

Antes de começar a construir tudo, fiz 2 esquemas (1 elétrico e 1 na placa de ensaio) de congelamento e os controlei para ter certeza de que não havia falhas. Assim que tive certeza de que tudo estava bem, comecei com o projeto. Em primeiro lugar, comecei com a campainha e o botão porque eram os componentes mais fáceis. Depois disso, conectei meu monitor ao pi de framboesa. No final, conectei meus sensores. o sensor de luz e o sensor de movimento são fáceis porque você não precisa de mais nada, mas o sensor PIR precisa de algo extra. Para garantir que o PIR não faça um curto-circuito, você precisa usar uma ponte de tensão. Isso significa que você precisa usar um resistor adicional de 1k ohm e 2k ohm para garantir que tudo corra bem. O uso exato dos pinos e como conectar tudo ao pi você encontra nos esquemas.

Etapa 2: Banco de dados

Base de dados
Base de dados

Para armazenar todos os dados, eu precisava de um banco de dados.

Meu banco de dados existe de 6 tabelas.

  1. Sensor
  2. History_sensors
  3. Pessoa
  4. Alarm_person
  5. Sleep_patern
  6. Alarme

existem 2 partes no banco de dados. 1 para os sensores e 1 para a pessoa e todas as suas estatísticas.

A tabela do sensor contém um ID e um nome. Esta tabela está conectada aos History_sensors que possuem um ID, valor, Sensor_id e um nome. o sensor_id é necessário para saber qual sensor obteve um valor e a data é necessária para saber quando o sensor o mediu.

A tabela pessoa contém um ID, um nome e uma senha. A senha e o nome são necessários para fazer o login, de forma que ninguém mais possa colocar um alarme para você. Esta tabela está conectada à tabela sleep_pattern e à tabela Alarm_person. A tabela Sleep_patern contém um ID, Hours_sleep, Date, Person_id, Bedtime e Wake_up_time. Então, aqui estão os dados armazenados para fazer um gráfico sobre o seu padrão de sono.

A tabela Alarm_person contém um Person_id, Alarm_id e a hora. Esta tabela é necessária porque diferentes pessoas podem usar um alarme ao mesmo tempo e 1 pessoa pode usar vários alarmes. A última tabela é a tabela de alarmes. Este contém um ID e uma descrição.

Etapa 3: Back-end

Processo interno
Processo interno
Processo interno
Processo interno

No back-end, tive que escrever funções diferentes.

  1. peça os sensores da mesa
  2. pedir a tabela history_sensors
  3. pergunte pelo padrão de sono
  4. colocar um novo alarme
  5. peça o alarme da mesa
  6. registrar usuário
  7. Conecte-se
  8. coloque os valores dos sensores na tabela history_sensors

Usei o pycharm e escrevi o código em python.

para todas as funções eu uso o @ app.route e depois o endereço. toda vez que você precisa usar um endereço diferente, caso contrário, não funcionará. Depois disso, escrevo uma função if com o método como valor para que, quando isso for verdade, ele execute o código. no valor if, há um try catch e uma instrução sql para obter os dados ou guardá-los.

Para as funções com os sensores é diferente. Aqui eu não usei o @ app.route, mas apenas fiz uma função para o sensor. aqui você declara seus pinos e faz uma função de retorno de chamada. desta forma, sempre que o sensor detecta algo, a função é executada. Na função de retorno de chamada, usei um if que funciona quando o sensor detecta algo. No if está o código para colocar os dados na tabela com uma instrução sql. Também há sono nele porque, do contrário, ele colocaria muitos valores na tabela para apenas 1 detecção.

No meu github você pode encontrar o código completo do projeto.

Etapa 4: site

Local na rede Internet
Local na rede Internet
Local na rede Internet
Local na rede Internet
Local na rede Internet
Local na rede Internet

Para o meu site, trabalhei com html e css, meu site contém 11 páginas html.

São tantas páginas porque tudo funciona pelo site. você pode definir um alarme, adicionar um alarme e excluir um. Na página de configurações você pode alterar sua senha e e-mail. Você tem uma página para seu padrão de sono. Você também pode adicionar o momento em que foi dormir e quando acordou. O lado positivo é que todas as páginas têm a mesma aparência e usam basicamente as mesmas coisas, então o css costuma ser o mesmo em todas as páginas.

Etapa 5: front-end

O front-end é escrito em javascript.

Etapa 6: Caso

Caso
Caso
Caso
Caso

No meu caso optei por usar madeira. Não é tão difícil de cortar, parece bom. Meu caso tem 26 cm em 14 cm com uma altura de 7,5 cm. É tão grande porque tudo precisava se encaixar. Fiz furos para os sensores, botão e lcd para que a hora ficasse visível e os sensores pudessem detectar movimento ou luz. Para fazer isso, usei um corta-laser. Dentro da caixa está minha placa de ensaio e meu pi de framboesa.