Pular para o conteúdo principal

Conectando SenseCAP ao Grafana via Node-RED

SenseCAP K1100 - The Sensor Prototype Kit representa a Seeed Studio concentrando a essência da comunicação LoRa® em tecnologia e produtos de inteligência de borda, para a implantação e o domínio mais fáceis de aplicações LoRa® e IoT.

pir

Atualizável para sensores industriais

Com o controlador S2110 e o registrador de dados S2100 da SenseCAP, você pode facilmente transformar o Grove em um sensor LoRaWAN®. A Seeed não apenas ajuda você na prototipagem, mas também oferece a possibilidade de expandir seu projeto com a série SenseCAP de robustes sensores industriais.

O invólucro IP66, a configuração por Bluetooth, a compatibilidade com a rede global LoRaWAN®, a bateria interna de 19 Ah e o forte suporte do aplicativo fazem do SenseCAP S210x a melhor escolha para aplicações industriais. A série inclui sensores para umidade do solo, temperatura e umidade do ar, intensidade de luz, CO2, EC e uma estação meteorológica 8 em 1. Experimente o mais recente SenseCAP S210x para o seu próximo projeto industrial de sucesso.

Sensor Industrial SenseCAP
S2100
Registrador de Dados
S2101
Temp. e Umidade do Ar
S2102
Luz
S2103
Temp. e Umidade do Ar & CO2
S2104
Umidade e Temp. do Solo
S2105
Umidade e Temp. do Solo & EC
S2110
Controlador LoRaWAN®
S2120
Estação Meteorológica 8 em 1

Grafana

Grafana é uma solução de código aberto para executar análises de dados, trazendo métricas que dão sentido à enorme quantidade de dados e para monitorar nossos aplicativos com a ajuda de painéis personalizáveis interessantes. O Grafana se conecta a todas as fontes de dados possíveis, comumente chamadas de bancos de dados, como Graphite, Prometheus, Influx DB, ElasticSearch, MySQL, PostgreSQL etc. Por ser uma solução de código aberto, o Grafana também nos permite escrever plugins do zero para integração com várias fontes de dados diferentes. A ferramenta nos ajuda a estudar, analisar e monitorar dados ao longo de um período de tempo, chamado tecnicamente de análise de séries temporais.

Ele nos ajuda a rastrear o comportamento do usuário, o comportamento da aplicação, a frequência de erros que aparecem em produção ou em um ambiente de pré-produção, o tipo de erros que aparecem e os cenários contextuais fornecendo dados relativos.

pir

O conteúdo deste capítulo continuará a usar o Node-RED introdzido anteriormente e usará o Grafana para visualizar os dados da sua instância InfluxDB 2.4.

Antes disso, prepare o seguinte.

  1. Se você ainda não instalou ou não sabe o que é Node-RED, consulte os Tutoriais de Node-RED & SenseCAP.

  2. Comece implantando o SenseCAP no Node-RED do InfluxDB, cujos detalhes podem ser encontrados na wiki Connect SenseCAP to InfluxDB via Node-RED.

Criar nó MQTT

Passo 1. Inicie o Node-RED

Inicie o Node-RED digitando o comando node-red no terminal e abra um navegador e insira o endereço http://localhost:1880 na barra de endereços para acessar o editor do Node-RED.

Passo 2. Criar nó MQTT

Usamos o nó Network -> mqtt in e configuramos o mqtt no formato da SenseCAP API conforme solicitado no tutorial anterior.

  • Servidor: openstream.api.sensecap.seeed.cc

  • Porta: 1883

  • Protocolo: MQTT V3.1.1

  • ID do Cliente: O formato é org-<Organization ID>-<Random ID>

    • <Orgnization ID> Seu ID de organização. Nós o obtivemos em Get the SenseCAP API.
    • <Random ID> usa seus próprios números ou letras minúsculas gerados aleatoriamente.
  • Formato do Tópico: /device_sensor_data/<OrgID>/<DeviceEUI>/<Channel>/<Reserved>/<MeasurementID>

OrgIDSeu ID de organização. Nós o obtivemos em Get the SenseCAP API.
DevEUIIdentificação exclusiva de dispositivos sensores. Essas informações podem ser encontradas na etiqueta na parte de trás do Grove - Wio E5, bem como no dispositivo do console SenseCAP.
ChannelUma interface física no dispositivo à qual o sensor está conectado. Para o kit K1100, o valor padrão aqui é 1.
ReservedCampos reservados.
MeasurementIDID do valor medido. Esse ID pode ser encontrado na seção Measurement IDs da documentação SenseCAP

Passo 3. Validar nós MQTT

Depois de configurado, clique no botão Deploy no canto superior direito para verificar se a configuração foi bem-sucedida. Se estiver preenchida corretamente, a palavra Connected será exibida.

Iniciar InfluxDB OSS

dica

Você pode consultar o tutorial detalhado fornecido pela InfluxDB para concluir a instalação e implantação do InfluxDB, que é compatível com diferentes sistemas. A seguir será orientada a instalação usando um sistema Windows 11 como exemplo.

Passo 1. Baixar o InfluxDB v2.4

Clique aqui para baixar o arquivo zip do InfluxDB v2.4.

Extraia o arquivo baixado em C:\Program Files\InfluxData\ e renomeie os arquivos, se desejar.

Passo 2. Iniciar o InfluxDB

No Powershell, navegue até C:\Program Files\InfluxData\influxdb e inicie o InfluxDB executando o daemon influxd:

cd -Path 'C:\Program Files\InfluxData\influxdb'
.\influxd
dica

Use Powershell ou WSL para executar os comandos influx e influxd. Os exemplos de linha de comando nesta documentação usam influx e influxd como se estivessem instalados no PATH do sistema. Se esses binários não estiverem instalados no seu PATH, substitua influx e influxd nos exemplos fornecidos por .\influx e .\influxd, respectivamente.

Por padrão, o InfluxDB usa a porta TCP 8086 para comunicação cliente-servidor por meio da InfluxDB HTTP API.

Configurar InfluxDB

Passo 1. Registrar uma conta InfluxDB

Continue com as etapas acima e registre uma conta na página que é aberta.

Anote o Organisation Name que você definiu aqui; iremos usá-lo mais tarde na configuração do Node-RED.

Passo 2. Obter URL

Por padrão, o InfluxDB usa a porta TCP 8086 para comunicação cliente-servidor por meio da InfluxDB HTTP API.

http://localhost:8086/

Para esta seção, a URL do InfluxDB é a seguinte, por favor anote-a, pois iremos usá-la posteriormente na configuração do Node-RED.

Passo 3. Obter Token de API

Vá para a página API Tokens, como mostrado abaixo, crie uma nova interface de API para o Node-RED e anote o Token.

Configurar Node-RED

Passo 1. Baixar Palettes do InfluxDB

Clique na barra de menu superior direita e selecione Settings.

Pesquise e instale node-red-contrib-influxdb em Paletts -> Install.

Adicione influx.batch da barra de armazenamento à esquerda, dê um clique duplo nele para entrar na página de configuração e clique no botão de edição para editar o nó influx.batch.

Passo 2. Editar nó influx.batch:

Quando terminar, clique no botão Add no canto superior direito para retornar à página de propriedades do influx batch; neste ponto, preencha o nome da sua Organization e o Bucket name.

Passo 3. Configurar o nó function

O envio de dados para o InfluxDB precisa seguir um formato de dados específico, portanto é necessário adicionar um nó function para processar o formato dos dados.

Arraste o nó function da barra de funções à esquerda, dê um clique duplo nele para entrar na página de edição e copie o código para On Message.

var payload = msg.payload;
var topic = msg.topic;
var strs = topic.split("/");
var length = strs.length
if (length >= 2) {
var measurementId = strs[length - 1]
var body = {}
var value = payload.value
if (measurementId == 4100) {
body.co2 = value
measurement = "co2"
} else if (measurementId == 4103) {
body.soilmoisture = value
measurement = "soilmoisture"
} else if (measurementId == 4150) {
body.accelX = value
measurement = "accelX"
} else if (measurementId == 4151) {
body.accelY = value
measurement = "accelY"
} else if (measurementId == 4152) {
body.accelZ = value
measurement = "accelZ"
} else if (measurementId == 4192) {
body.soundintensity = value
measurement = "soundintensity"
} else if (measurementId == 4193) {
body.lightIntensity = value
measurement = "lightIntensity"
} else if (measurementId == 4195) {
body.tvoc = value
measurement = "tvoc"
} else if (measurementId == 4097) {
body.airtemperature = value
measurement = "airtemperature"
} else if (measurementId == 4098) {
body.airhumidity = value
measurement = "airhumidity"
} else if (measurementId == 4175) {
body.AIdetection_1 = value
measurement = "AIdetection_1"
} else if (measurementId == 4176) {
body.AIdetection_2 = value
measurement = "AIdetection_2"
} else if (measurementId == 4177) {
body.AIdetection_3 = value
measurement = "AIdetection_3"
} else if (measurementId == 4178) {
body.AIdetection_4 = value
measurement = "AIdetection_4"
} else if (measurementId == 4179) {
body.AIdetection_5 = value
measurement = "AIdetection_5"
} else if (measurementId == 4180) {
body.AIdetection_6 = value
measurement = "AIdetection_6"
} else if (measurementId == 4181) {
body.AIdetection_7 = value
measurement = "AIdetection_7"
} else if (measurementId == 4182) {
body.AIdetection_8 = value
measurement = "AIdetection_8"
} else if (measurementId == 4183) {
body.AIdetection_9 = value
measurement = "AIdetection_9"
} else if (measurementId == 4184) {
body.AIdetection_10 = value
measurement = "AIdetection_10"
}
msg.payload = [{
measurement: measurement,
fields: body,
tags: {
device: "SenseCAP K1100"
},
timestamp: new Date()
}];
}
return msg;

Em seguida, conectamos todos os nós e clicamos no botão Deploy e, se tudo estiver configurado corretamente, você poderá ver o nó mqtt in mostrando connected.

Se você quiser ver as informações de registro dos dados, pode adicionar um nó debug após o nó function.

Quando o Wio Terminal começar a ligar e funcionar e começar a enviar dados para o servidor SenseCAP PaaS, poderemos verificar os dados no log de debug do Node-RED.

Configurar Grafana

Passo 1. Instalar Grafana

O Grafana pode ser instalado em muitos sistemas operacionais diferentes. Para obter uma lista dos requisitos mínimos de hardware e software, bem como instruções sobre a instalação do Grafana, consulte Install Grafana.

Tomando o Windows 11 como exemplo, baixe o pacote de instalação no site do Grafana e clique duas vezes para abri-lo para instalação.

Passo 2. Fazer login no Grafana

Abra seu navegador e vá para http://localhost:3000/. A porta HTTP padrão na qual o Grafana escuta é 3000, a menos que você tenha configurado uma porta diferente.

Na página de login, insira admin como nome de usuário e senha.

Clique em Sign in. Se for bem-sucedido, você verá um aviso para alterar a senha.

Passo 3. Adicionar fonte de dados

Na página principal, clicamos no ícone de engrenagem no canto inferior esquerdo e depois clicamos em Add data source.

Selecione InfluxDB na lista de fontes de dados disponíveis.

Passo 3. Configurar a fonte de dados InfluxDB

Na página de configuração da fonte de dados, insira um nome para sua fonte de dados InfluxDB.

Em seguida, escolha ou insira o seguinte:

  • Query Language: Flux
  • Em HTTP, faça o seguinte:
  • Em Auth, faça o seguinte:
    • Feche Basic auth.
  • Em InfluxDB Details, faça o seguinte:
    • Organization: ID da organização. O ID da organização pode ser visualizado na página About do InfuxDB.
    • Token: Seu token de API do InfluxDB.
    • Default Bucket: O bucket padrão a ser usado nas consultas Flux.

Clique em Save & Test. O Grafana tenta se conectar à fonte de dados InfluxDB 2.4 e retorna os resultados do teste. Se tudo correr bem, você verá a seguinte mensagem de saída.

Consultar e visualizar dados

Com sua conexão InfluxDB configurada, use o Grafana e Flux para consultar e visualizar séries temporais de dados armazenadas na sua instância InfluxDB.

Para mais informações sobre o uso do Grafana, consulte a documentação do Grafana. Se você está apenas começando a aprender Flux, veja Introdução ao Flux.

Também damos as boas-vindas ao envio dos seus painéis de dados para nós e aguardamos ansiosamente o seu trabalho!

Suporte Técnico & Discussão de Produto

Obrigado por escolher nossos produtos! Estamos aqui para fornecer diferentes tipos de suporte para garantir que sua experiência com nossos produtos seja a mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.

Loading Comments...