Índice:

Conecte sua planta à nuvem: 10 etapas
Conecte sua planta à nuvem: 10 etapas

Vídeo: Conecte sua planta à nuvem: 10 etapas

Vídeo: Conecte sua planta à nuvem: 10 etapas
Vídeo: ✨A Will Eternal EP 01 - 106 Full Version [MULTI SUB] 2024, Julho
Anonim
Conecte sua planta à nuvem
Conecte sua planta à nuvem
Conecte sua planta à nuvem
Conecte sua planta à nuvem
Conecte sua planta à nuvem
Conecte sua planta à nuvem

Em nosso escritório há um cacto que não estava recebendo a atenção que merecia. Já que trabalho em uma empresa de TI e queria experimentar LoRa, soluções sem servidor e AWS, chamei nosso cacto de Steeve e o conectei à nuvem. Agora você pode monitorar Steeve de qualquer lugar do mundo usando a página da web que fiz para ele: a interface da web de Steeve.

Suprimentos

1 cacto / sua planta favorita

1 Arduino MKR WAN 1300 (loja do Arduino)

Antena 1 868mHz / 914mHz (depende da sua localização) (Amazon)

1 LoRa Gateway quando fora do alcance de um (Amazon)

2 pilhas AA

1 sensor TMP102 (Amazon)

1 sensor de umidade do solo (Amazônia)

Cabos condutores (Amazon)

ferro de solda

Suporte de bateria (Amazon)

caso

opcional: impressora 3D (se você pode usar uma impressora 3D, você não precisa de um suporte de bateria ou um estojo)

Etapa 1: Imprimir o caso (opcional)

Imprimindo o caso (opcional)
Imprimindo o caso (opcional)
Imprimindo o caso (opcional)
Imprimindo o caso (opcional)

Baixe este arquivo zip, descompacte-o e imprima os arquivos. Os arquivos são marcados com a quantidade necessária do item.

Sinta-se à vontade para adicionar algo à tampa como eu fiz.

Imprimi-os usando uma altura de camada de 0,2 mm e preenchimento de 15%.

Os ganchos podem ser fixados com parafusos m3.

Quando a caixa for impressa, você pode usar algum fio para fazer as conexões necessárias no suporte da bateria. Você pode usar a imagem fornecida como referência.

Etapa 2: Fiação

Fiação
Fiação
  • Antes de ligar o arduino, certifique-se de que a antena esteja conectada, pois ligar o arduino sem a antena pode causar danos.
  • Conecte tudo de acordo com o diagrama de fiação fornecido.
  • Se você estiver soldando esses fios, certifique-se de não conectar nenhum pino nos sensores ou no arduino!

Etapa 3: crie um aplicativo na rede Things

  • Vá para https://www.thethingsnetwork.org/ e se você ainda não tem uma conta, crie uma.
  • Depois de ter uma conta e estar logado, você pode ir para o console (canto superior direito, clique em seu nome de usuário e, em seguida, no console).
  • Clique nos aplicativos.
  • Assim que a página for carregada, você poderá clicar em "adicionar aplicativo".
  • Preencha o formulário e escolha a região correta na parte inferior. Clique em "adicionar aplicativo".
  • Parabéns, você acaba de criar um aplicativo na rede Things. = D

Etapa 4: conectando o Arduino à rede Things

Para programar o arduino aconselho a usar o ide arduino online, isso torna o carregamento da biblioteca necessária muito fácil.

  • Abra seu aplicativo na rede de coisas.
  • Deve haver um campo intitulado dispositivos, clique em registrar dispositivo.
  • você verá um campo chamado Device Id. este é o nome que você deseja dar ao seu sensor. Deve haver outro rotulado Device EUI, esta é a chave exclusiva que seu arduino usa para se autenticar.
  • Para obter essa chave, precisamos fazer um flash no arduino com um esboço específico. O esboço pode ser encontrado aqui. Este esboço deve ser executado e o monitor serial deve enviar o eui. Copie o eui do monitor serial para o campo Device EUI na rede de coisas.
  • Clique em registrar.
  • Agora registramos nosso arduino na nuvem. É hora de começar a enviar mensagens.
  • Você deveria ter sido redirecionado para uma página chamada visão geral do dispositivo. Aqui você pode ver o eui do dispositivo, o eui do aplicativo e a chave do aplicativo.
  • Para continuar, precisamos atualizar o esboço final para o arduino. O esboço pode ser encontrado aqui.
  • Ao abrir este link, você verá que há várias guias. Abra a guia de segredos. Existem 2 chaves que você precisa para lidar com a rede de coisas para o arquivo de segredos.
  • Depois que essas chaves forem preenchidas, você pode fazer o flash do arduino. Ele começará a enviar dados para a rede de coisas uma vez a cada hora.
  • Se tudo deu certo, você deve ser capaz de ver as mensagens que chegam na guia Data na rede de coisas ao reiniciar o arduino (o único botão na placa).

    • Se não houver dados aparecendo aqui, isso pode significar que você não está ao alcance de um gateway LoRa correto. Você pode verificar um mapa com todos os gateways disponíveis em https://thethingsnetwork.org. Os gateways LoRa de canal único não funcionarão com o arduino recomendado.
    • Se você não estiver ao alcance de um gateway, poderá acoplar seu próprio gateway à rede de coisas. Esses gateways geralmente têm bons tutoriais sobre como conectá-los. Procure na lista de suprimentos o gateway recomendado.

Etapa 5: interpretando os dados na rede Things

  • Para obter dados utilizáveis das mensagens na rede de coisas, precisamos decodificar o fluxo de bytes.
  • Na rede de coisas vá para o seu aplicativo.
  • Deve haver uma guia denominada "Formatos de carga útil", clique nesta guia.
  • Existem 4 botões lado a lado: "decodificador", "conversor", "validador", "codificador".
  • Clique no decodificador.
  • Cole o seguinte código lá.

function Decoder (bytes, port) {// Decodifica uma mensagem de uplink de um buffer // (array) de bytes para um objeto de campos. var stringToDecode = bin2String (bytes); var res = stringToDecode.split (""); var temp = res [1]; var úmido = res [3]; var bat = res [5]; var decodificado = {"temperatura": temp, "umidade": úmido, "bateria": morcego}; retorno decodificado; } função bin2String (array) {var result = ""; para (var i = 0; i <array.length; ++ i) {resultado + = (String.fromCharCode (array )); } resultado de retorno;}

  • Clique em salvar.
  • Ao reinicializar o arduino e visualizar sua guia de dados, você verá um objeto json bem formatado que pode ser lido facilmente.

Etapa 6: conectando seu aplicativo ao AWS

Vamos usar a AWS para armazenar e usar os dados da rede de coisas. Todos os recursos que vamos usar são cobertos pelo nível gratuito da AWS.

  • Acesse AWS
  • Entre ou crie uma conta.
  • Para conectar seu aplicativo na rede Things ao AWS, recomendo seguir este tutorial:
  • Depois de concluir este tutorial, navegue no console do aws para o segmento IoT-Core.
  • Na barra de menu à esquerda há um rótulo "Gerenciar", clique aqui.
  • Agora você deve ver um cartão com o nome do seu sensor.
  • Novamente na barra de menu esquerda clique em "Agir"
  • Se houver um cartão denominado Loja, você está pronto para prosseguir.
  • Caso contrário, clique em "Criar".
  • Preencha o nome "Loja".
  • Você pode adicionar uma descrição se quiser.
  • Como uma instrução de consulta, preencha o seguinte código: SELECT dev_id, metadata.time, payload_fields.temperature, payload_fields.moisture, payload_fields.battery FROM 'cactus_network / devices / + / up'.
  • Em "Definir uma ou mais ações", clique em adicionar ação.
  • Selecione "Dividir a mensagem em várias colunas de uma tabela DynamoDb (DynamoDBv2)".
  • Clique em configurar ação
  • Clique em criar novo recurso.
  • Clique em criar mesa e dê um nome à sua mesa.
  • Na chave primária, preencha "dev_id".
  • Clique em adicionar chave de classificação
  • Preencha o "tempo".
  • Clique em criar.
  • Se tudo correr bem, você deve estar de volta à página de configuração de ação.
  • Há uma área ligeiramente esmaecida em "Escolha ou crie uma função para conceder acesso à AWS IoT para executar esta ação."
  • Clique em criar função e dê um nome a essa função.
  • Clique em criar função.
  • Clique em adicionar ação.
  • Clique em criar regra.
  • Agora você deve ter uma regra que armazena automaticamente todas as mensagens recebidas da rede de coisas no DynamoDb.
  • Você pode verificar se isso está funcionando reiniciando o arduino e vá dar uma olhada na tabela DynamoDb que você acabou de criar.
  • Deve haver um registro com a mensagem.

Etapa 7: Criando um Lambda

Para ler os dados do DynamoDB, vamos escrever um lambda AWS.

  • No console de gerenciamento da AWS em serviços, há um link denominado "Lambda", clique neste.
  • Clique em criar função.
  • Escolha um nome.
  • Defina o tempo de execução como python 3.7.
  • Clique em criar função.
  • Cole este código no IDE integrado.

import json

import boto3 import time from datetime import datetime, timedelta from boto3.dynamodb.conditions import Key, Attr def lambda_handler (evento, contexto): return retreive_data () def retreive_data (): # Obtenha o recurso de serviço. dynamodb = boto3.resource ('dynamodb') table = dynamodb. Table ('TABLE NAME HERE') now = datetime.now () yesterday = now - timedelta (hours = 24) fe = Key ('time'). between (yesterday.isoformat (), now.isoformat ()) fed = Key ('time'). lt (yesterday.isoformat ()) response = table.scan (FilterExpression = fe) recordsToDelete = table.scan (FilterExpression = fed) para f em recordsToDelete ['Items']: #print (f) table.delete_item (Key = {'dev_id': f ['dev_id'], 'time': f ['time']}) data = response ['Items '] dados de retorno

  • Mude o nome da mesa para o que você escolher.
  • Role para baixo até a função de execução.
  • Clique em criar uma nova função a partir de modelos de política aws.
  • Escolha um nome.
  • Em modelos de política, selecione "Testar permissões de arnês" e "Permissões simples de microsserviço".
  • Clique em salvar.
  • Clique em teste.
  • Um pop-up pode aparecer, basta escolher um nome e salvar.
  • Clique em teste novamente.
  • No topo deve haver uma faixa verde que diz "Resultado da execução: êxito".
  • Quando você clica neste banner, você deve ver a saída desta função, esta deve ser uma lista de sensordata.
  • Esteja ciente de que este script exclui todos os dados com mais de 24 horas.
  • Caso o seu banner não seja verde, mas vermelho, você perdeu algo e clicar neste banner irá mostrar a mensagem de erro completa. Nesse caso, o Google é seu melhor amigo.

Etapa 8: Criação de um endpoint de API

  • No console de gerenciamento da AWS em serviços, há um link denominado "api-gateway", clique neste.
  • Clique em criar API.
  • Certifique-se de que "REST" e "Nova API" estejam selecionados.
  • Escolha um nome para sua API.
  • Clique em criar API.
  • Deve haver um botão denominado ações na tela agora, clique nele.
  • Em seguida, clique em criar recurso.
  • Como nome do recurso, você deve usar algo simples como "planta" ou "dados da planta".
  • Clique em criar recurso.
  • À esquerda, deve estar o nome que você acabou de inserir. clique neste nome.
  • Agora clique em ações novamente e clique em adicionar método.
  • Selecione OBTER.
  • Clique na marca de seleção.
  • Deve haver uma caixa de texto chamada Função Lambda.
  • Digite o nome que você atribuiu à função lambda aqui.
  • Clique em salvar.
  • Pode haver um pop-up avisando que está criando permissões extras.
  • Aceite este pop-up.
  • Agora, em ações, clique em ativar cors.
  • Clique em "ativar o CORS e substituir os cabeçalhos CORS existentes".
  • Clique em "sim,…".
  • Clique em ações novamente e clique em Implementar API.
  • No estágio de implantação, selecione [Novo estágio].
  • Escolha um nome.
  • Clique em implantar.
  • Agora você publicou sua API online para o mundo.
  • Na tela por onde você chegou agora clique no botão “OBTER” e digite o recurso que acabou de criar.
  • Deve haver um link no topo rotulado "invocar URL".
  • Copie este link.
  • Cole-o em um navegador e pressione Enter.
  • Você deve ver os dados que estão no banco de dados.

Etapa 9: Conecte sua planta à rede social de plantas

  • Vá para
  • Clique em "Login".
  • Clique em criar conta.
  • Preencha o formulário para criar sua conta.
  • Observe que o nome de usuário também deve ser seu e-mail.
  • Clique em criar conta.
  • Pode ser necessário verificar seu e-mail antes de continuar.
  • Certifique-se de estar logado.
  • Volte para a página inicial (clique no logotipo no canto superior esquerdo).
  • Clique no botão de configurações.
  • Preencha o formulário, você deve preencher todos os campos.
  • O link para a api é o link que você salvou depois de criar o terminal da API.
  • Quando tudo estiver preenchido, clique no botão Salvar planta. o sistema irá agora verificar o api link que você inseriu e se estiver correto, salvará sua planta na rede.
  • Volte para a página inicial.
  • Agora você pode clicar em todas as plantas, você deve ser capaz de ver todas as plantas registradas. sua planta também deve estar lá. clique no cartão e você será levado a uma página de visão geral de sua planta, ela também exibirá conselhos com base nos valores que você definiu nas configurações.

Etapa 10: Incline-se para trás e dê tapinhas nas costas

Você acabou de conectar uma planta à internet. Muito impressionante, certo?

Recomendado: