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.

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.
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.

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.
-
Se você ainda não instalou ou não sabe o que é Node-RED, consulte os Tutoriais de Node-RED & SenseCAP.
-
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>
| OrgID | Seu ID de organização. Nós o obtivemos em Get the SenseCAP API. |
| DevEUI | Identificaçã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. |
| Channel | Uma interface física no dispositivo à qual o sensor está conectado. Para o kit K1100, o valor padrão aqui é 1. |
| Reserved | Campos reservados. |
| MeasurementID | ID 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
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
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:
- Version: 2.0.
- URL: http://localhost:8086/
- TOKEN: Gerado na seção Obter Token de API.
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.







