Índice:

DIY SmartMirror: 6 etapas
DIY SmartMirror: 6 etapas

Vídeo: DIY SmartMirror: 6 etapas

Vídeo: DIY SmartMirror: 6 etapas
Vídeo: Building Frame less Magic Mirror - [DIY - All steps included] 2024, Novembro
Anonim
DIY SmartMirror
DIY SmartMirror

Sim, é muito inteligente.

Etapa 1: Design inicial e evolução

Design inicial e evolução
Design inicial e evolução

Minha ideia inicial era criar um espelho inteligente que exibisse todos os tipos de informações de que você precisa quando estiver se preparando para o dia. Tempo, notícias e ações foram minhas ideias iniciais para incluir no design. Eu também queria ter reconhecimento de voz para ligar a tela e fornecer informações importantes. Isso provou ser uma toca de coelho muito profunda para cobrir em um semestre, então quase imediatamente desisti da ideia de reconhecimento de voz.

A ideia original tinha algum tipo de placa como um Pi ou um Arduino para acionar o display e obter dados da internet. Depois de alguma pesquisa, decidi por um display LCD de 7 'e um Raspberry Pi3 com um decodificador para o display. Depois disso, tive que encontrar uma API adequada para me fornecer todas as informações relevantes sobre o tempo (de graça, espero) e uma GUI para exibir as informações. Assim que comecei a programar, percebi que adicionar recursos além do clima não seria viável dentro da restrição de tempo.

Meu projeto final é o display conectado a um decodificador que se comunica com o Raspberry Pi3. O Pi executa um script python que busca o clima com uma API chamada OpenWeatherMap e exibe os dados usando a GUI Kivy.

Etapa 2: Pesquisa

Pesquisar
Pesquisar

Já tive a ideia de fazer um espelho inteligente na minha cabeça a partir de vários tutoriais do Youtube que vi sobre o assunto. Muitas dessas pessoas, entretanto, usaram uma API pela qual tiveram que pagar e que tinha uma GUI embutida. Eu não queria pagar, e não codificar sozinho parecia trapaça.

Este projeto foi relativamente fácil de pesquisar. Eu tinha um conjunto claro de materiais de que precisava para o projeto: um monitor, um computador para acioná-lo e um espelho.

Eu escolhi um Raspberry Pi3 porque ele tinha uma grande biblioteca de projetos já concluídos que eu poderia examinar se encontrasse problemas, que havia alguns. A tela que eu escolhi foi a maior e mais acessível que eu pude achar, que era fina o suficiente para caber atrás do perfil de um espelho. Acabei tendo que construir meu próprio espelho porque não consegui encontrar com o tamanho certo e barato.

Concluindo, achei muito mais barato fazer você mesmo, contanto que você concorde com uma aparência subprofissional.

Etapa 3: Dificuldades e ajuda

Dificuldades e ajuda
Dificuldades e ajuda

Uma das primeiras dificuldades foi um erro da minha parte. Não consegui verificar a saída do pino do display e a entrada do meu Pi. A saída do pino era 40, mas a entrada do Pi era 32. Mas, felizmente, encontrei um decodificador online que era barato e tirou a pressão do Pi, o que é uma vantagem. Custou-me alguns dólares extras no frete, se eu tivesse olhado antes de encomendar todas as peças.

O próximo obstáculo que encontrei foi encontrar uma GUI. Eu nem sabia como um deles se chamava, Interface Gráfica de Usuário. Felizmente, meu professor Chuck deu algumas sugestões sobre por onde começar. Ele me deu várias sugestões que eu precisava decidir por conta própria. Acabei chegando a uma conclusão bem rápido, com a ajuda de algumas sugestões online também.

Uma maneira que eu acho que o M5 pode agilizar o aprendizado nesta aula é ter uma descrição no quadro de funcionários do que eles realmente sabem muito sobre. Exemplos como 'Python' ou 'RaspberryPi' embaixo de cada pessoa ajudariam a descobrir a quem recorrer quando eu tivesse dúvidas. Na maioria das vezes, eu encontrava a pessoa mais próxima, e ela dizia algo parecido com "Ufa, eu realmente não sei. Mas fulano definitivamente vai." Então eu encontraria essa pessoa e esperançosamente obteria uma resposta. Se eu pudesse ir ao quadro e ver se vejo alguma habilidade relacionada ao meu problema, seria de grande ajuda para obter ajuda.

Etapa 4: Acomplishments

Uma das minhas maiores conquistas é a jornada e conclusão deste projeto. Este é o primeiro grande projeto que tive que concluir sozinho, e houve muito aprendizado na área de gerenciamento de projeto e tempo. O processo de ir do design à implementação foi difícil e renovou minha fé no planejamento. Desde a pesquisa de partes até a simples estruturação do código python com eficiência, o ato de planejar e manter a organização era difícil no momento. Mas assim que percebi isso, sentei e planejei, não porque fosse atribuído ou porque eu precisava de uma boa nota, mas organicamente cheguei à conclusão de que era necessário.

As outras realizações das quais mais me orgulho são minha maior proficiência em python e minha introdução à GUI. Esta foi a primeira GUI que eu codifiquei, e teve uma curva de aprendizado íngreme com ela. Widgets de aprendizagem ('objetos' kivy) e como a estrutura geral de uma GUI funciona era algo estranho para mim. Agora me sinto mais completo e, definitivamente, estou melhor quando se trata de aprender outra GUI no futuro.

Etapa 5: Replicação

A primeira coisa que eu faria seria reconstruir este projeto para decidir sua escala e objetivos.

Se você quiser fazer um estilo DIY de espelho inteligente, siga meu design, mas fique à vontade para divergir do caminho.

Se você quer apenas um projeto concluído, pode copiar todos os meus passos e eu tenho o código no meu Github.

Etapa 6: atualizações

A primeira coisa que farei é comprar um novo espelho. Embora o meu funcione, ele tem imperfeições de minha aplicação.

A próxima coisa que gostaria de acrescentar ao display são outras idéias, como notícias e banners de ações para a GUI, e provavelmente atualizar o display para um monitor ou LCD maior para caber todas as informações.

Se tudo isso fosse completo, por último, eu adicionaria um sensor de movimento ou uma função de suspensão para que não esteja sempre ativado, ou adicionaria reconhecimento de voz para que a tela não estivesse sempre ativada.

Recomendado: