Índice:

Solução IoTea LoRa vista (com Azure, atualização 1812): 5 etapas
Solução IoTea LoRa vista (com Azure, atualização 1812): 5 etapas

Vídeo: Solução IoTea LoRa vista (com Azure, atualização 1812): 5 etapas

Vídeo: Solução IoTea LoRa vista (com Azure, atualização 1812): 5 etapas
Vídeo: Internet das Coisas - IoT 2024, Junho
Anonim
Solução IoTea LoRa observada (com Azure, atualização 1812)
Solução IoTea LoRa observada (com Azure, atualização 1812)

O Microsoft Azure é um serviço de nuvem que fornece uma potência de computação mais poderosa e estável. Desta vez, tentamos enviar nossos dados IoTea para ele.

Etapa 1: Coisas usadas neste projeto

Componentes de hardware

  • Grove - Sensor de dióxido de carbono (MH-Z16)
  • Grove - Sensor Digital de Luz
  • Grove - Sensor de Poeira (PPD42NS)
  • Grove - Sensor de oxigênio (ME2-O2-Ф20)
  • Sensor de umidade e temperatura do solo
  • Gateway LoRa LoRaWAN - Kit de 868 MHz com Raspberry Pi 3
  • Grove - Sensor de temperatura e humi e barômetro (BME280)

Aplicativos de software e serviços online

  • Microsoft Visual Studio 2015
  • Microsoft Azure

Etapa 2: História

Na Montanha Mengding, a nordeste de Ya'an, Sichuan, o cume da montanha corre de oeste para leste em um mar verde. Esta é uma visão muito familiar para Deng, de 36 anos, um dos poucos fabricantes de chá Mengding de sua geração, com uma plantação de 50mu (= 3,3 hectares) situada a 1100m acima do nível do mar. Deng vem de uma família de fabricantes de chá, mas levar adiante o legado familiar não é uma tarefa fácil. “Nossos chás são cultivados em grande altitude em ambiente orgânico para garantir sua excelente qualidade. Mas, ao mesmo tempo, a densidade de crescimento é baixa, o custo é alto e a floração é desigual, tornando o chá difícil de colher. É por isso que os chás de alta montanha são normalmente de safras pequenas e seus valores não são refletidos no mercado.”Nos últimos dois anos, Deng tem tentado conscientizar os consumidores sobre o chá de alta montanha para promover seu valor. E quando ele conheceu Fan, que estava procurando uma plantação para implementar a tecnologia IoTea da Seeed, uma combinação perfeita para uma solução foi feita.

Etapa 3: Conexão de Hardware

Siga o tutorial anterior para conectar seu hardware.

Etapa 4: configuração da nuvem

Etapa 1. Criar Grupo de Recursos

Clique aqui para fazer login no Microsoft Azure. Em seguida, insira Grupos de recursos na lista à esquerda do painel e clique em Adicionar para adicionar um Grupo de recursos.

Imagem
Imagem

Um grupo de recursos é usado para gerenciar todos os recursos no projeto, depois de usar os recursos da nuvem, exclua o grupo de recursos para excluir todos os recursos para evitar cobranças. Na página aberta, preencha o nome do grupo de recursos (como iotea), escolha o local da assinatura e do grupo de recursos se necessário, clique em Criar para criar um grupo de recursos.

Etapa 2. Criar Iot Hub

Agora você pode criar um recurso de nuvem, clique em Criar um recurso à esquerda, escolha Internet das Coisas - Iot Hub, uma nova página será aberta.

Na guia Básico, escolha o Grupo de Recursos que acabou de criar e preencha o Nome do Iot Hub (como iotea), escolha Assinatura e Região, se necessário, e vá para a guia Tamanho e área.

Imagem
Imagem

Na guia Tamanho e escala, escolha F1: nível gratuito ou B1: nível básico na combinação de preços e níveis de escala, o nível básico custará US $ 10,00 por mês. Finalmente, vá para Revisar + criar guia, verifique sua entrada e clique em Criar para criar um Iot Hub.

Imagem
Imagem

Etapa 3. Configurar LORIOT

Entre no Iot Hub que você acabou de criar, clique em Políticas de acesso compartilhado - dispositivo, copie a chave primária na página à direita.

Imagem
Imagem

Abra uma nova janela do navegador (ou guia), faça o login em seu Painel de controle LORIOT, vá para Aplicativo - SampleApp, clique em Saída de dados no grupo de controle - Alterar. No grupo Alterar tipo de saída, escolha Azure Iot Hub, preencha o nome do Iot Hub e a chave primária e clique no botão Confirmar alteração na parte inferior.

Imagem
Imagem

Etapa 4. Adicionar dispositivo Iot

Clique em Dispositivos na lista à esquerda em LORIOT, copie seu dispositivo EUI.

Imagem
Imagem

De volta ao Azure Iot Hub, clique em Dispositivos Iot na lista à esquerda do Iot Hub. Clique em Adicionar, preencha o EUI do dispositivo para o ID do dispositivo na página aberta.

IMPORTANTE: EXCLUA TODOS OS SEPRADORES NO DISPOSITIVO EUI, pareça 1122334455667788.

Imagem
Imagem

Clique em Salvar, tudo feito.

Etapa 5. Receber mensagens D2C (dispositivo para nuvem)

Você pode seguir o Microsoft Docs para ler mensagens D2C.

Etapa 5: Programação de software

A programação do software é dividida em 3 partes: Nó, Gateway e Site, siga o Tutorial anterior para programar a parte do nó e a parte do gateway. As etapas de 1 a 8 da Parte do site também são iguais às do Tutorial anterior.

Se você já configurou o Microsoft Azure, abra um terminal, insira a pasta raiz do seu site, ative o ambiente virtual:

cd ~ / iotea-hb

fonte bin / ativar

instale o módulo do Hub de Eventos do Azure por meio de pip e crie um arquivo new.py (como iothub_recv.py):

pip install azure-eventhub

toque em iothub_recv.py

e, em seguida, escreva os seguintes códigos:

# --------------------------------------------------------------------------------------------

# Copyright (c) Microsoft Corporation. Todos os direitos reservados. # Licenciado sob a licença MIT. Consulte License.txt na raiz do projeto para obter informações sobre a licença. # ------------------------------------------------- ------------------------------------------- from azure importar eventhub do azure. eventhub import EventData, EventHubClient, Offset import logging logger = logging.getLogger ('azure.eventhub') import db, json, time, datetime def get_time (): cntime = datetime.datetime.now () + datetime.timedelta (hours = +8) date = cntime.strftime ('% Y - {} - {}'). Format (cntime.strftime ('% m'). Zfill (2), cntime.strftime ('% d'). Zfill (2)) hora = cntime.strftime ('% H'). Zfill (2) minuto = cntime.strftime ('% M'). Zfill (2) second = cntime.strftime ('% S'). Zfill (2) return [data, hora, minuto, segundo] def get_iothub_data (): list = ['0'] * 11 client = EventHubClient.from_iothub_connection_string ('', debug = True) receiver = client.add_receiver ("$ default", " 3 ", operação = '/ messages / events', offset = Offset (datetime.datetime.utcnow ())) try: client.run () eh_info = client.get_eventhub_info () print (eh_info) received = receiver.receive (timeout = 5) imprimir (recebido) para o item recebido: mim ssage = json.loads (str (item.message)) print (message) if 'data' in message: data = message ['data'] air_temp = str (int (data [0: 2], 16)) air_hum = str (int (dados [2: 4], 16)) pressão = str ((dados [4: 8]), 16)) co2 = str (int (dados [8:12], 16)) poeira = str (int (data [12:16], 16)) iluminação = str (int (data [16:20], 16)) o2 = str (round (int (data [20:22], 16) / 10, 1)) solo_temp = str (int (dados [22:24], 16)) solo_hum = str (int (dados [24:26], 16)) voltagem = str (round (int (dados [26:28]), 16) / int ('ff', 16) * 5, 1)) erro = str (int (dados [28:], 16)) lista = [ar_temp, ar_hum, pressão, co2, poeira, iluminação, o2, solo_temp, solo_hum, voltagem, erro] finalmente: client.stop () retorna lista enquanto True: list = get_time () + get_iothub_data () db.insert (list) print (list)

Antes de executar o programa, altere a string de conexão em

client = EventHubClient.from_iothub_connection_string ('', debug = True)

você pode obter sua string de conexão clicando em Políticas de acesso compartilhado - iotowner no Iot Hub, a chave primária da string de conexão na página aberta é a string de conexão.

Imagem
Imagem

Depois disso, você pode iniciar o programa:

gunicorn iothub_recv: app

Recomendado: