Conectando SenseCAP ao InfluxDB 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 só ajuda você com a prototipagem, mas também oferece a possibilidade de expandir seu projeto com a série SenseCAP de robustos sensores industriais.
A carcaça IP66, a configuração via Bluetooth, a compatibilidade com a rede global LoRaWAN®, a bateria interna de 19 Ah e o forte suporte do APP tornam o 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.
Sobre o InfluxDB
InfluxDB é um banco de dados de séries temporais de código aberto, com foco em leitura de alto desempenho, gravação de alto desempenho, armazenamento eficiente e análise em tempo real de grandes quantidades de dados de séries temporais. Além de protocolos nativos como HTTP e UDP, também é compatível com protocolos de comunicação de componentes como CollectD, Graphite, OpenTSDB e Prometheus. Amplamente utilizado em monitoramento DevOps, monitoramento de IoT, análise em tempo real e outros cenários.

O conteúdo deste capítulo continuará a usar o Node-RED apresentado anteriormente e facilitará o gerenciamento do kit K1100 no InfluxDB por meio do uso do Node-RED.
Se você ainda não instalou ou não sabe o que é Node-RED, consulte Tutoriais de Node-RED & SenseCAP.
Criar nó MQTT
Passo 1. Iniciar 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
-
Client ID: 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. Este ID pode ser encontrado na seção Measurement IDs da documentação do SenseCAP |
Passo 3. Validar nós MQTT
Uma vez configurado, clique no botão Deploy no canto superior direito para verificar se a configuração foi bem-sucedida. Se estiver tudo preenchido corretamente, a palavra Connected será exibida.

Configurar InfluxDB
Passo 1. Registrar-se ou fazer login no InfluxDB
Se você já se registrou no InfluxDB, faça login no site do InfluxDB.

Se você não usa ou não se registrou no InfluxDB, conclua seu registro e login aqui.

Ao se registrar, pode aparecer uma página pedindo para você escolher o provedor, você pode escolher de acordo com sua preferência ou simplesmente escolher um.

Passo 2. Obter API Token
Conforme mostrado abaixo, clique em Bucket.

Em seguida, clique em CREATE BUCKET.

Digite o nome na nova janela pop-up e selecione o período de retenção de dados gratuito - 30 dias.

Depois, conforme mostrado abaixo, clique em API Tokens.

Então escolhemos criar um Custom API Token.

Dê permissões de read e write aos Buckets que acabamos de criar e clique no botão Create abaixo.

Depois de criado, você pode salvá-lo copiando o API Token para a área de transferência. Salve-o em um local seguro por enquanto, pois iremos usá-lo em um passo posterior.

Se você fechar a janela aqui, não poderá obter este API Token novamente.
Configurar Node-RED
Passo 1. Baixar Paletts 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, clique duas vezes 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 o nó influx.batch:
- Version: 2.0.
- URL: Obtida em Settings -> Orgnization Profile.


- TOKEN: Que você gera na seção Obtain API Token.

Quando terminar, clique no botão Add no canto superior direito para voltar à página de propriedades do influx batch, neste ponto preencha sua Orgnization (o padrão é o endereço de e-mail que você usou para se registrar no InfluxDB) e o nome do Bucket.

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

Arraste o nó function da barra de funções à esquerda, clique duas vezes 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;
Depois 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 log 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, então poderemos verificar os dados no log de debug do Node-RED.

Configurar dashboards visuais do InfluxDB
Para obter uma visualização mais visual dos dados do sensor, podemos desenhar alguns gráficos de linha.
Volte para o InflucDB Cloud e clique em CREATE DASHBOARD para ADD CELL.

Se o SenseCAP tiver começado a enviar mensagens de dados para o InfluxDB, então você poderá ver o rótulo do sensor nesta página. Para o conteúdo dos dados que você deseja exibir, basta marcar a caixa.


Solução de Problemas
P1: Por que não consigo encontrar a Palette no Node-RED?
R: Se você não conseguir encontrar a Palette nas configurações, verifique se há uma mensagem de erro em seu terminal quando iniciar o Node-RED.

O cenário mais comum é que sua versão do npm é muito antiga para iniciar o editor de Palette.
Se sua situação for como a descrita acima, execute o Powershell como administrador e digite o seguinte comando para atualizar o npm.
npm install -g npm
Então basta reiniciar o Node-RED.
Suporte Técnico & Discussão de Produtos
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.







