Índice:

Faça assim! Mini computador de engenharia de Star Trek TNG: 11 etapas (com fotos)
Faça assim! Mini computador de engenharia de Star Trek TNG: 11 etapas (com fotos)

Vídeo: Faça assim! Mini computador de engenharia de Star Trek TNG: 11 etapas (com fotos)

Vídeo: Faça assim! Mini computador de engenharia de Star Trek TNG: 11 etapas (com fotos)
Vídeo: MUITO CUIDADOS POIS ELES IMITAM TUDO 2024, Novembro
Anonim
Image
Image
Faça assim! Mini computador de engenharia de Star Trek TNG
Faça assim! Mini computador de engenharia de Star Trek TNG
Faça assim! Mini computador de engenharia de Star Trek TNG
Faça assim! Mini computador de engenharia de Star Trek TNG

Visão geral

Eu cresci assistindo Star Trek: The Next Generation. Sempre quis construir um dispositivo com o tema de Star Trek, então finalmente consegui remixar um dos meus projetos antigos para fazer um terminal de exibição de Star Trek.

O terminal fornece as seguintes informações:

  • Tempo - usando o Serviço Nacional de Meteorologia
  • Temperatura interna, umidade e força do composto orgânico volátil (VOC)
  • Artigos de notícias - de News.org
  • Agenda (com função de alarme) - do Microsoft Outlook
  • Informações de condicionamento físico (etapas, minutos em movimento, pontos cardíacos, peso, calorias queimadas) - do Google Fitness
  • um gráfico de código de cores do resistor
  • uma calculadora de resistor de LED (para determinar o valor do resistor com base na corrente e na fonte de alimentação)
  • Ferramenta de medição de potência e corrente

Essas informações são disponibilizadas por meio de uma combinação de APIs e sensores de hardware. Aproveito um ESP32 para o microcontrolador e aproveito a nuvem AWS para toda a coleta e agregação de dados.

Também incluí alguns "ovos de páscoa":

  • Homenagem a Ron McNair - Dr. McNair é a razão pela qual me tornei um engenheiro; ele cresceu a 45 minutos da minha cidade natal. Ele morreu na explosão do Challenger.

    • O nome do meu navio estelar é "USS Ronald E McNair"
    • O número do registro é da data de nascimento da irmã McNair; o código do prefixo é o dia em que ele perdeu a vida.
  • O uso de um "código de prefixo" é um aceno para Star Trek: Wrath of Khan (o maior filme de Star Trek de todos os tempos; não me @).
  • Os números à direita do caso terminal referem-se à minha fraternidade (1906 - Alpha Phi Alpha) e minha alma mater e campo de estudo - (University of Oklahoma, College of Engineering)

Você tem a opção de personalizar a numeração, as letras e o nome do navio, registro, etc. para seus próprios "easter eggs".

Fundo

No ano passado, eu precisava de uma maneira de baixo custo para medir o consumo de energia e bateria para um projeto vestível. Eu comprei um Adafruit INA219 Featherwing e usei algumas peças sobressalentes variadas para construir um dispositivo de medição de energia simples (você pode ler mais sobre isso aqui).

Este ano, decidi atualizar o dispositivo … para torná-lo mais "técnico". Eu planejei originalmente construir um tricorder de Jornada nas Estrelas funcional (a versão Mark IV TR-590 Mark IX, para aqueles que se importam) … mas eu rapidamente percebi que fazia mais sentido criar algo que ficasse na minha mesa (quero dizer, por que terá todo esse trabalho para fazer um aparelho bacana, só para fechá-lo e colocá-lo na gaveta quando não for usado).

Então, eu comecei a fazer uma versão dos monitores de computador que você vê em Star Trek TNG ou Voyager (ou os diversos filmes). Eu brinquei com designs diferentes, então me deparei com uma versão criada pelos Irmãos Ruiz de Adafruit. A Adafruit faz um ótimo trabalho ao fornecer arquivos de origem para seus projetos impressos em 3D, então pude pegar sua versão original e remixá-la para meu hardware, botões e outros periféricos.

Coisas a saber antes de continuar

  1. Eu forneço instruções passo a passo para fazer minha versão do projeto; no entanto, não vou entrar em detalhes sobre certas etapas (vou criar um link para instruções de suporte ou documentação)
  2. Este é um projeto complexo. É uma "marca multidisciplinar", que requer as seguintes habilidades

    • IDE Arduino
    • AWS - Você precisará de uma conta e entender o S3, Lambda e Node JS
    • De solda
    • impressao 3D
  3. Existem "add ins" opcionais para aprimorar o projeto a fim de obter informações de calendário e condicionamento físico. A funcionalidade está incluída na base de código; no entanto, você terá que criar "aplicativos" nas nuvens do Azure e do Google para oferecer suporte aos recursos.
  4. Em última análise, isso é personalizável … você pode trocar o Sensor de corrente por outro asa de pena. Você pode usar uma combinação diferente de pena / wi-fi.

Suprimentos

Componentes eletrônicos

  • Adafruit ESP32 Huzzah Feather
  • Mini kit Adafruit Featherwing Tripler
  • Detecção do sensor de toque capacitivo de 12 teclas Adafruit
  • Adafruit TFT FeatherWing - 3,5 "480x320 Touchscreen
  • Adafruit BME680 - Sensor de Temperatura, Umidade, Pressão e Gás
  • Jack de barril 2.1 de montagem em painel DC (2)
  • Bateria de polímero de íon lítio - 3,7 V 500mAh
  • Piezo Buzzer
  • Cabo USB Mirco e carregador de 5 V (um carregador de telefone USB típico funcionará)
  • Fita de folha de cobre com adesivo
  • Opcional - Adafruit INA219 Featherwing
  • Opcional - 2.1 Plugues macho - (para uso com o sensor de corrente INA219)

Link para todos os componentes eletrônicos, exceto plugues 2.1:

Componentes de filamento 3D e componentes opcionais de pintura / lixa

  • Proto Pasta Conductive PLA
  • Filamentos 3D adicionais - usei 4 cores - cinza, preto, Aqua (azul claro) e branco
  • Bicos de 0,25 e 0,4 mm (usei os de 0,25 para os detalhes das letras).

Componentes e ferramentas de montagem de ferragens

  • Parafusos M2x5 e M3x5
  • Pinos de cabeçalho de ângulo reto e reto (consulte a lista de desejos da Adafruit para obter os links)
  • Ferro de solda (e carretel de solda, estanho de ponta, sugador de solda, etc.)
  • Kit de chave de fenda Philips
  • Embalar a vácuo
  • Fio trançado 22AWG - cinco ou seis cores
  • Fio sólido 22AWG - cinco ou seis cores
  • PCB torno e mãos que ajudam (opcional, mas torna a soldagem mais fácil)
  • Cortadores de fio diagonal
  • Decapantes de arame
  • Faca Xacto (para remover suportes de peças de impressora 3D)
  • Impressora 3D (se você planeja imprimir)
  • Massa ou fita adesiva (para fixar a bateria no interior da caixa impressa)
  • Calibradores digitais
  • Cola Krazy
  • Opcional - luvas descartáveis de nitrilo
  • Opcional - tapete de solda (opcional, mas protege as superfícies)

Nota: se você não tem essas ferramentas, sugiro que verifique o site da Becky Stern para recomendações de boas opções.

Programas

  • IDE Arduino
  • Editor Node JS (como Microsoft Code)
  • Conta AWS
  • Opcional - conta do Google Cloud (para informações de condicionamento físico)
  • Opcional - conta de nuvem do Microsoft Azure (para informações do calendário)
  • Etapa 1: Baixar, modificar arquivos e imprimir arquivos 3D

    Baixar, modificar arquivos e imprimir arquivos 3D
    Baixar, modificar arquivos e imprimir arquivos 3D
    Baixar, modificar arquivos e imprimir arquivos 3D
    Baixar, modificar arquivos e imprimir arquivos 3D
    Baixe, modifique arquivos e imprima arquivos 3D
    Baixe, modifique arquivos e imprima arquivos 3D
    Baixar, modificar arquivos e imprimir arquivos 3D
    Baixar, modificar arquivos e imprimir arquivos 3D

    Você pode enviar os arquivos para um serviço de impressão 3D (como Hubs 3D) ou pode imprimir o seu próprio. Os arquivos estão disponíveis em PrusaPrinters.org.

    Este caso é um remix do Py Portal Alarm Clock apresentado no site da Adafruit. Meu projeto usa um TFT semelhante, portanto, consegui minimizar a quantidade de trabalho de design necessária para fazer o case funcionar com meus acessórios.

    Usei as seguintes configurações para impressão:

    • Frente e verso - impresso a 0,2 mm de altura da camada com um bico de 0,4 mm, sem suportes
    • Número lateral - impresso na altura da camada de 0,10 mm com um bico de 0,25 mm, sem suportes
    • Chaves - impressas com uma altura de camada de 0,2 mm com um bico de 0,4 mm. Você precisará imprimir 7 e precisará imprimir com Proto-Pasta Conductive Filament.
    • Caixa - impressa a 0,2 mm de altura da camada.

      Os suportes são necessários, mas não são necessários em todos os lugares (apenas nas laterais e no meio onde o teclado fica

    Algumas coisas que você deve saber:

    1. O Prusa MK3 permite que você altere as cores em diferentes alturas de camada. Usei esse recurso para a peça do número lateral.
    2. Além disso, em relação à peça do número lateral:

      • A equipe de produção do Star Trek TNG espalharia ovos de páscoa nos adereços. Se você olhar atentamente para várias placas e painéis, verá nomes de pessoas, letras de músicas, etc. Eu queria criar meu próprio "ovo de páscoa" para o número lateral, então uso "06" - que se refere à minha fraternidade (formado em 1906) e "OUCOE" - que se refere à minha alma mater (University of Oklahoma, College of Engineering).
      • Eu criei uma peça side_number "em branco" que você pode modificar para fazer seu próprio número e texto personalizados.

    Etapa 2: Soldar / montar componentes - Parte a (teclado e número lateral)

    Componentes de solda / montagem - Parte a (teclado e número lateral)
    Componentes de solda / montagem - Parte a (teclado e número lateral)
    Componentes de solda / montagem - Parte a (teclado e número lateral)
    Componentes de solda / montagem - Parte a (teclado e número lateral)
    Componentes de solda / montagem - Parte a (teclado e número lateral)
    Componentes de solda / montagem - Parte a (teclado e número lateral)
    Componentes de solda / montagem - Parte a (teclado e número lateral)
    Componentes de solda / montagem - Parte a (teclado e número lateral)

    Primeiro, afixaremos o número lateral. Use um pouco de cola para colocar o número lateral no lugar.

    A seguir, montaremos o teclado

    1. Você precisará cortar 7 pedaços de fio trançado - cada um com 10-12 polegadas de comprimento. Eles serão conectados aos pinos 0-6 do sensor de toque capacitivo. Eu sugiro que você use cores diferentes (e anote o mapeamento de cores / pinos, pois você precisará dessas informações mais tarde). Usei a seguinte combinação de cores:

      • Amarelo - Pino 0 / Botão 1
      • Cinza - Pino 1 / Botão 2
      • Vermelho - Pino 2 / Botão 3
      • Azul - Pino 3 // Botão 4
      • Verde - Pino 4 // Botão 5
      • Branco - Pino 5 // Botão 6
      • Preto - Pino 6 // Botão 7
    2. Retire 1/2 polegada da extremidade de cada fio.
    3. Corte 7 pedaços de fita condutora (cada um com cerca de 1/2 polegada de largura) e solde os fios ao lado de cobre da fita.
    4. Remova o adesivo e cole-os na parte inferior das chaves. Pode ser necessário cortar parte da fita de cobre.

    Nota: as Chaves podem ser coladas por baixo (para que fiquem alinhadas com o topo) ou coladas por cima (para que "flutuem" alguns mm para cima). Eu escolhi colar o meu de cima.

    Depois de concluir todos os 7, use um pequeno punhado de cola para afixar as teclas no teclado. Acho mais fácil:

    • Primeiro "passe" o fio pelo buraco da fechadura.
    • Em seguida, coloque uma pequena quantidade de cola na saliência / borda da chave
    • Coloque a chave rapidamente no lugar.

    Nota: Krazy Glue funciona melhor aqui; você pode usar luvas para limitar os acidentes e as chances de irritação da pele.

    Etapa 3: Soldar / montar componentes - Parte B (asas de pena e sensores)

    Soldar / montar componentes - Parte B (asas de pena e sensores)
    Soldar / montar componentes - Parte B (asas de pena e sensores)
    Soldar / montar componentes - Parte B (asas de pena e sensores)
    Soldar / montar componentes - Parte B (asas de pena e sensores)
    Soldar / montar componentes - Parte B (asas de pena e sensores)
    Soldar / montar componentes - Parte B (asas de pena e sensores)

    A próxima etapa é preparar e montar os componentes de hardware. Em última análise, isso significa soldar pinos e fios do cabeçote para uso posterior. Este guia pressupõe que você se sinta confortável com a soldagem; se não, verifique este "Guia para Solda Excelente" da Adafruit.

    Primeiro, vamos preparar os materiais. Para esta etapa, você precisará de:

    • TFT 3.5 Featherwing
    • ESP32 Feather
    • INA219 Featherwing
    • Tripler Featherwing
    • MPR121 Sensor de toque capacitivo
    • Sensor BME680
    • Pinos de cabeçalho de ângulo reto e reto
    • Arame sólido e trançado
    • Ferramentas de solda e mãos que ajudam
    • Cortadores de fio diagonais e descascadores de fio
    • Calipers

    Observação: sugiro que você primeiro leia esta etapa e corte todos os fios e conectores antes de iniciar a soldagem. Dessa forma, você não terá que parar para medir / cortar.

    Prepare o TFT 3.5 Featherwing

    O TFT está pronto para ser usado fora da caixa, com apenas um ajuste. Você precisará soldar um fio entre a almofada "Lite" e uma almofada de solda de pino. Nosso código usa ESP32 Pin 21 para controlar o TFT Lite. Organize o TFT da maneira "longa", com o botão de reinicialização na parte inferior. O pino 21 será o pino inferior esquerdo.

    Corte um pedaço de fio trançado de 40 mm. Descasque as pontas de forma que alguns milímetros de fio fiquem visíveis em cada ponta. Usando seu ferro de solda, solde com cuidado os dois pinos.

    Nota: você só precisa de cerca de 35 mm de comprimento … então você pode cortar seu fio conforme necessário. Além disso, acho que adicionar solda à almofada, depois ao fio e depois soldar o fio à almofada é a abordagem mais fácil. Finalmente - esses pads são pequenos … se você estiver desconfortável, você sempre pode pular esta etapa: é apenas para desligar o TFT com o teclado.

    Prepare a pena ESP32

    Você precisará soldar pinos coletores machos padrão ao ESP32. Seu ESP32 deve vir com os cabeçalhos, embora você possa precisar apará-los para obter o comprimento correto (16 pinos no lado comprido; 12 pinos no lado curto). Os pinos da plataforma são feitos para "se soltar", então você pode usar seus cortadores diagonais para prender as plataformas no comprimento correto. Novamente, Adafruit tem ótimas instruções sobre como fazer isso, então verifique se você precisar de orientação.

    OPCIONAL - Prepare o INA219 Featherwing

    Primeiro, solde os cabeçotes machos na asa da pena (usando as mesmas instruções usadas para o ESP32). Em seguida, corte quatro pedaços de arame trançado de 20 mm. Eu faria 2 PRETOS e os outros de uma cor diferente. Usei CINZA e AZUL para minhas escolhas de cores.

    Desencape as pontas do fio de forma que 3-4 mm de fio de cobre fiquem expostos em cada extremidade. Você vai soldar um de cada fio conforme abaixo:

    • CINZA -> V + (mais)
    • AZUL -> V- (menos)
    • PRETO -> GND (terra)
    • PRETO -> GND (terra)

    Deixe as outras pontas dos fios neste momento; no final, iremos soldá-los aos plugues DC 2.1.

    Anexe o Piezo Buzzer

    O INA Featherwing vem com uma pequena área de prototipagem; vamos usar isso para prender nosso piezo. O piezo dará ao nosso projeto a capacidade de emitir bipes e sons de alertas, alarmes, etc.

    O piezo se conecta ao ESP32 PIN 13; isso se correlaciona com o pino próximo ao pino USB na asa da pena (consulte a imagem para ver as setas). O outro pino piezo se conecta ao aterramento. Os pinos pieze são longos o suficiente para soldá-los diretamente na asa da pena … você só precisa dobrar os pinos em forma de "homem de pernas arqueadas" (veja a imagem). Depois de colocar os pinos no lugar, use uma mão amiga (ou fita adesiva) para segurar o piezo no lugar e solde pela parte de baixo da asa de pena.

    Observação - Se você não usar o INA219, precisará soldar o piezo diretamente na placa asa de pena.

    Prepare o Tripler Featherwing

    A asa de pena nos economiza muita solda; ele pode conter 3 penas / asas de pena … então vamos usá-lo para fazer conexões elétricas entre o TFT, ESP32, INA219 (bem como o piezo e o pino TFT Lite).

    Para fazer as conexões corretamente, precisaremos soldar dois pares de cabeçotes de empilhamento e um par de cabeçotes macho padrão.

    • Os cabeçalhos regulares masculinos irão no ponto "superior", mas serão soldados na parte inferior do Tripler.
    • Os dois cabeçalhos de empilhamento serão soldados nos pontos 2 e 3, na parte superior do Tripler.

    Isso é um pouco confuso, então certifique-se de olhar as imagens para entender onde cada cabeçalho é colocado. Além disso, uma combinação de PCB Vise e Helping Hands pode ajudar muito na soldagem dos componentes.

    Prepare o sensor BME 680 e o sensor de toque capacitivo MPR121

    Os dois últimos sensores são os mais difíceis de anexar. Precisamos anexar pinos de cabeçalho às placas de breakout antes de finalizar a montagem.

    O sensor BME é fixado em um ângulo de 90, para que eu possa alinhar o sensor a um orifício na caixa (para que o sensor possa capturar temperatura, gás, umidade). Você precisará soldar pinos em ângulo reto aos orifícios. Veja as imagens para certificar-se de alinhá-las corretamente.

    O sensor de toque capacitivo é simples - basta soldar os pinos dos conectores machos retos, conforme descrito aqui. Observação: você NÃO DEVE soldar pinos aos pinos de toque capacitivos (0 - 11).

    Anexe os sensores BME 680 e MPR121 à placa triplo

    Ambos os sensores se comunicam via I2C … o que significa que só precisamos fazer 4 conexões entre as placas de breakout e o Featherwing. Para simplificar, eu soldo todas as conexões entre as placas.

    BME 680

    Para este sensor, eu uso Helping Hands e um PCB Vise para segurar os dois componentes no lugar (veja a imagem acima). O sensor BME680 deve ser colocado no final da asa da pena. Veja as imagens acima para confirmar o posicionamento.

    O processo de soldar as conexões é tedioso, então vá devagar. Eu uso fio de núcleo sólido para as conexões:

      • PRETO - GND
      • VERMELHO - VIN
      • AMARELO - SCL (pino SCK no sensor para o
      • LARANJA - SDA (pino SDA no sensor)

    Nota: Os pinos SCL e SDA são necessários para ambos os sensores, então pode ser mais fácil usar um pino SCL ou SDA em outra parte do Featherwing.

    MPR121

    Mãos que ajudam também ajudam ao soldar este sensor no lugar (fita adesiva também funciona). O código usava I2C para comunicação com o ESP32, portanto, você conectará os pinos SCA e SDA.

    Etapa 4: Soldar / montar componentes - Parte C (teclado para sensor capacitivo e Feathewing na caixa)

    Soldar / montar componentes - Parte C (teclado para sensor capacitivo e Feathewing na caixa)
    Soldar / montar componentes - Parte C (teclado para sensor capacitivo e Feathewing na caixa)
    Soldar / montar componentes - Parte C (teclado para sensor capacitivo e Feathewing na caixa)
    Soldar / montar componentes - Parte C (teclado para sensor capacitivo e Feathewing na caixa)
    Soldar / montar componentes - Parte C (teclado para sensor capacitivo e Feathewing na caixa)
    Soldar / montar componentes - Parte C (teclado para sensor capacitivo e Feathewing na caixa)

    Você soldará os fios do teclado ao sensor de toque capacitivo nesta etapa. Use o mesmo mapeamento de cores anterior. Se você seguiu meu esquema de cores, você soldará os fios coloridos da seguinte maneira:

    • Amarelo - Pino 0 / Botão 1
    • Cinza - Pino 1 / Botão 2
    • Vermelho - Pino 2 / Botão 3
    • Azul - Pino 3 / Botão 4
    • Verde - Pino 4 / Botão 5
    • Branco - Pino 5 / Botão 6
    • Preto - pino 6 / botão 7

    Assim que a solda estiver concluída, use um laço de torção para segurar os fios no lugar.

    Em seguida, aparafuse a tela TFT à peça "Frontal". Você usará os parafusos M3 (quatro no total). Assim que o TFT estiver no lugar, aparafuse a peça "Frontal" à caixa. Novamente, você usará parafusos M3 (dois).

    Em seguida, conecte o Featherwing Tripler, com todos os componentes conectados, ao TFT.

    Observação - Se você planeja usar uma bateria, certifique-se de conectá-la à porta ESP32-JST antes de inserir o TFT. Use fita adesiva para afixar a bateria na parte inferior interna do gabinete.

    Etapa 5: OPCIONAL - Soldar / montar componentes - Parte D (Pena INA219)

    OPCIONAL - Soldar / Montar Componentes - Parte D (Pena INA219)
    OPCIONAL - Soldar / Montar Componentes - Parte D (Pena INA219)
    OPCIONAL - Soldar / Montar Componentes - Parte D (Pena INA219)
    OPCIONAL - Soldar / Montar Componentes - Parte D (Pena INA219)
    OPCIONAL - Soldar / Montar Componentes - Parte D (Pena INA219)
    OPCIONAL - Soldar / Montar Componentes - Parte D (Pena INA219)
    OPCIONAL - Soldar / Montar Componentes - Parte D (Pena INA219)
    OPCIONAL - Soldar / Montar Componentes - Parte D (Pena INA219)

    Se você estiver usando o sensor INA219, é aqui que você conecta os fios aos plugues CC.

    1. Insira os plugues DC na tampa traseira e aparafuse-os no lugar.
    2. Use um ferro de solda para conectar os fios INA219.

      • Os fios pretos devem ir para o TERRA para cada plugue DC.
      • O fio cinza deve ir para o plugue INPUT DC
      • O fio azul deve ir para o plugue OUTPUT.

    Etapa 6: aparafuse a tampa traseira e conecte o USB

    A etapa final na montagem do hardware é aparafusar a tampa traseira no lugar - usando os parafusos M2 (4). A partir daí, conecte o cabo USB, conecte-o ao seu PC e prossiga para as etapas do software!

    Etapa 7: preparar o ambiente AWS

    Prepare o ambiente AWS
    Prepare o ambiente AWS

    Como afirmei na introdução, a premissa da solução é a seguinte:

    1. O Terminal, alimentado por um ESP32, usa uma conexão MQTT (por Wifi) para se comunicar com a nuvem AWS.
    2. A nuvem AWS faz a maior parte do processamento e serve como um retransmissor entre o Monitor e os serviços solicitados.

    Existem algumas coisas que precisamos fazer nesta etapa:

    Primeiro, você precisa configurar seu ambiente AWS, se ainda não o fez. Este instrutível pressupõe que você já tenha uma conta AWS configurada, portanto, as instruções sobre como configurar uma conta na nuvem não estão incluídas. Dito isso, as etapas são diretas e podem ser encontradas aqui.

    Depois de passar por essa etapa, você precisa criar alguns serviços, então faça login no console da AWS.

    Crie uma coisa e baixe as chaves

    O AWS IoT Core facilita a comunicação entre a nuvem AWS e o monitor. Você precisará criar uma "coisa" e baixar certificados para apoiar a comunicação.

    [Observação: a maioria dessas instruções foi tirada de um guia escrito por Moheeb Zara, Evangelista da AWS]

    1. Abra o console AWS e selecione AWS IoT Core.
    2. No console AWS IoT, escolha Register a new thing, Create a single thing.
    3. Nomeie a nova coisa "starTrekESP32". Deixe os campos restantes configurados com seus padrões. Escolha Próximo.
    4. Escolha Criar certificado. Apenas os downloads de certificado, chave privada e Amazon Root CA 1 são necessários para que o ESP32 se conecte. Baixe e salve-os em um lugar seguro, pois eles são usados durante a programação do dispositivo ESP32.
    5. Escolha Ativar, Anexar uma política.
    6. Pule a adição de uma política e escolha Register Thing.
    7. No menu lateral do console AWS IoT, escolha Secure, Policies, Create a policy.
    8. Nomeie a política como AllowEverything. Escolha a guia Avançado.
    9. Cole o seguinte modelo de política.
    10. {{"Versão": "2012-10-17", "Declaração": [{"Efeito": "Permitir", "Ação": "iot: *", "Recurso": "*"}]}
    11. Escolha Criar. (Observação: isso é recomendado apenas para começar. Depois que você se sentir confortável com tudo funcionando, volte e altere para algo mais restritivo.)
    12. No console AWS IoT, escolha Secure, Certification.
    13. Selecione aquele criado para o seu dispositivo e escolha Ações, Anexar política.
    14. Escolha Permitir tudo, anexar.
    15. Antes de sair, clique em "Configurações" (no menu à esquerda). Seu "endpoint personalizado" será mostrado; salve isso em um arquivo de texto … você precisará disso ao configurar o ESP32.

    Crie um arquivo Lambda em branco

    Lambda é uma forma de computação sem servidor, então não precisamos nos preocupar com nenhum hardware aqui. Por fim, é aqui que colocaremos nosso código atualizado (o que faremos em algumas etapas). Por enquanto, queremos apenas criar um espaço reservado, então …

    1. Faça login novamente no console da AWS (se você tiver feito logout) e clique em Lambda.
    2. Clique no botão "Criar função".
    3. Na próxima página, digite um nome básico, como starTrekDisplay
    4. Selecione Node.js 12. X
    5. Sob permissões:

      • Se você conhece Lambda e está familiarizado com ele, pode selecionar qualquer opção que faça sentido. Você precisará de permissões no CloudWatch, IotCore, S3 (leitura e gravação).
      • Se você não tiver certeza sobre as permissões, selecione "Criar uma nova função com permissões básicas do Lambda". Escreva o nome da função. Posteriormente, modificaremos as permissões.
    6. Clique em Criar função.
    7. Depois de um minuto, você entrará em uma nova tela com um trecho de código "hello world". Role para baixo até Configurações básicas e clique em "Editar"
    8. Altere o tempo limite de 3 segundos para 2 minutos e 0 segundos. Observação: seu código nunca deve ser executado por mais de 5 a 10 segundos … no entanto, precisamos de um tempo limite maior para sua autenticação inicial com a Microsoft (para funcionalidade de calendário). Depois de autenticar, você pode alterar isso para 20 segundos.
    9. Clique em salvar.

    Crie uma regra Iot

    1. Permaneça no console Lambda e role para cima. Selecione "Adicionar acionador".
    2. Selecione AWS IoT. Em seguida, selecione "Regra personalizada".
    3. Escolha "Criar uma nova regra".

      • Nome da regra: Conexão ESP
      • Instrução de consulta de regra: "SELECT * FROM 'starTrekDisplay / pub'
    4. Clique em "Adicionar"

    Crie um intervalo S3 e uma pasta

    1. Navegue até o AWS Console e selecione S3.
    2. Você precisará de um intervalo e uma pasta para armazenar os arquivos de autenticação. Esta pasta deve ser privada. Eu sugiro que você use qualquer intervalo que você já tenha e nomeie para criar uma pasta chamada "starTrekDisplay". Observação - se você não tiver um intervalo, crie um usando as instruções aqui.

    Permissões de atualização - se você permitiu que o Lambda criasse uma função para você, você precisará seguir esta etapa

    1. Faça login no console da AWS e selecione IAM
    2. Clique em ROLES e selecione o nome da função que você criou anteriormente.
    3. Clique em anexar políticas e selecione as seguintes políticas:

      • AWSIoTFullAccess
      • AmazonSNSFullAccess
      • CloudWatchFullAccess
      • AmazonS3FullAccess

    Etapa 8: Baixar chaves de software e configurar serviços de terceiros

    Baixe chaves de software e configure serviços de terceiros
    Baixe chaves de software e configure serviços de terceiros

    Eu uso os seguintes serviços de terceiros no projeto:

    1. API Worldtime - para o tempo
    2. APIs de serviço meteorológico nacional - para o clima
    3. API do Microsoft Graph para acesso ao meu calendário
    4. API Google Fitness para acesso a informações de fitness

    Você precisará configurar contas e baixar as chaves para aproveitar os mesmos serviços

    API Worldtime - para o tempo

    Esta API não requer uma chave, portanto, nenhuma ação é necessária para que isso funcione.

    APIs de serviço meteorológico nacional - para o clima

    A API National Weather Service é gratuita e nenhuma chave de API é necessária. No entanto, eles solicitam que você repasse informações de contato (na forma de um e-mail) em todas as solicitações (como parte do arquivo de cabeçalho). Você adicionará informações de contato ao código na próxima etapa.

    OPCIONAL - API Microsoft Graph e API Google Fitness

    Esta é a parte mais complexa da configuração do código. Nosso dispositivo não tem um teclado completo … portanto, usamos algo chamado OAUTH para dispositivos limitados para acessar nosso calendário. Infelizmente, você precisa criar um "aplicativo" do Azure e um Google App para codificar para usar OAUTH para dispositivos limitados.

    As instruções para criar um aplicativo estão aqui para Microsoft f e aqui para Google. Aqui estão algumas coisas que você deve saber:

    • Você terá que criar uma conta de nuvem Azure e Google. Isso é gratuito e nada será cobrado de você
    • Microsoft:

      • Você será solicitado a especificar quais usuários podem usar o aplicativo. Eu sugiro que você selecione "Contas em qualquer diretório organizacional e contas pessoais da Microsoft". Isso permitirá que você use contas pessoais da Microsoft e contas corporativas (na maioria dos casos).
      • Você deve selecionar os aplicativos "Mobile e Desktop", mas não precisa preencher todas as informações (já que se trata de um aplicativo pessoal). Isso significa que você não pode disponibilizar seu aplicativo para o mundo…. mas está tudo bem neste caso
      • Depois que seu aplicativo estiver configurado, você precisará selecionar as permissões necessárias. Solicitei permissões relacionadas a perfis e calendários (veja a imagem na galeria para a lista completa de permissões). Você precisará selecionar este mesmo conjunto. Se você adicionar mais permissões, precisará alterar o escopo apropriadamente na próxima etapa.

    Etapa 9: Modificar e fazer upload do código AWS

    Isso pode ser instruído e pressupõe que você esteja familiarizado com o desenvolvimento em Node.js e Lambda. Baixe o arquivo vinculado e faça modificações para atualizar:

    • Informações de aplicativo e cliente da Microsoft
    • Chave do Google
    • Endereço de e-mail para rastreamento do Serviço Nacional de Meteorologia
    • Nome do bucket S3
    • Nome da pasta S3
    • AWS Endpoint

    Você também precisará baixar as seguintes bibliotecas de nós:

    1. aws-sdk
    2. fuso horário do momento
    3. acentos

    Depois que essas alterações forem feitas, carregue o código para o lambda de espaço reservado que você criou anteriormente.

    Etapa 10: preparar o IDE do Arduino e fazer download das bibliotecas

    Este guia também pressupõe que você esteja familiarizado com o Arduino. Você precisará garantir que seu IDE esteja configurado para funcionar com um Adafruit ESP32. Siga as instruções aqui se precisar de ajuda.

    Quando terminar, baixe as seguintes bibliotecas:

    • Adafruit_GFX (do gerenciador de biblioteca)
    • Adafruit_HX8357 (do gerenciador de biblioteca)
    • TFT_eSPI (do gerente da biblioteca)
    • TFT_eFEX (https://github.com/Bodmer/TFT_eFEX)
    • PubSubClient (do gerenciador de biblioteca)
    • ArduinoJson (do gerenciador de biblioteca)
    • Adafruit_STMPE610 (do gerenciador de biblioteca)
    • Adafruit_MPR121 (do gerenciador de biblioteca)
    • Adafruit_INA219 (do gerente da biblioteca)
    • Adafruit_Sensor (do gerente da biblioteca)
    • Adafruit_BME680 (do gerente da biblioteca)
    • Tone32 (https://github.com/lbernstone/Tone)

    Em seguida, precisaremos modificar algumas das bibliotecas:

    1. Abra a pasta PubSubClient (na pasta Arduino / Library) e abra "PubSubClient.h". Encontre o valor para MQTT_MAX_PACKET_SIZE e altere-o para 2000.
    2. Em seguida, abra a pasta TFT_eSPI e abra o arquivo "User_Setup_Select.h". Comente qualquer linha "includes users_setup…" e adicione esta linha:

    #incluir

    Depois disso, baixe o arquivo Custom_Tricorder.zip vinculado e extraia o arquivo ".h" para o local "TFT_eSPI / User_Setups" na pasta de bibliotecas do Arduino. eu

    Agora, podemos avançar para a atualização do código do Arduino

    Etapa 11: Atualize e instale o código do Arduino e envolva-se

    Atualize e instale o código do Arduino e envolva-se!
    Atualize e instale o código do Arduino e envolva-se!

    Código Arduino

    Baixe e descompacte o arquivo vinculado para o código do Arduino. Vá para a guia secrets.h. Você precisará atualizar o seguinte:

    • WIFI_SSID = atualizar com seu SSID wi-fi
    • WIFI_PASSWORD = atualizar com sua senha wi-fi
    • TIMEZONE = atualizar com seu fuso horário desta lista
    • LAT (você pode usar um serviço como "https://www.latlong.net" para encontrar sua latitude e longitude
    • GNL
    • AWS_IOT_ENDPOINT = você deveria ter salvado isso antes. Deve ser semelhante a "dx68asda7sd.iot.us-east1-amazonaws.com"
    • AWS_CERT_CA
    • AWS_CERT_CRT
    • AWS_CERT_PRIVATE

    Você também terá baixado os certificados de uma etapa anterior. Abra então no editor de notas (por exemplo, bloco de notas) e cole o texto entre 'R "EOF (' e ') EOF";'. Certifique-se de incluir "----- BEGIN CERTIFICATE -----" ou "----- BEGIN RSA PRIVATE KEY -----".

    Arquivos de imagem

    O ESP32 vem com um pequeno sistema de arquivos. Usamos este sistema de arquivos para salvar imagens para nosso programa. Você precisará instalar a ferramenta que permite fazer upload de arquivos.

    1. Primeiro, visite o tutorial detalhado em Tutoriais Random Nerd.
    2. Depois de fazer isso funcionar, você pode carregar os arquivos na pasta de dados (também incluída no arquivo zip).

    Envolver

    Faça upload do código final do Arduino e pronto!

    Nota - O nome Star Trek e as imagens de Star Trek são propriedade da CBS / Paramount. Eles têm uma política bastante frouxa quando se trata de cosplay e fan fiction - por favor, leia aqui se tiver dúvidas.

    Fandom Contest
    Fandom Contest
    Fandom Contest
    Fandom Contest

    Primeiro prêmio no concurso Fandom

    Recomendado: