Limpiador de datos de sensores IoT + Registrador de InfluxDB (n8n | Webhook | Function | InfluxDB)

Principiante

Este es unEngineering, Multimodal AIflujo de automatización del dominio deautomatización que contiene 4 nodos.Utiliza principalmente nodos como Set, Webhook, Function, HttpRequest. Limpieza de datos de sensores IoT y registro en InfluxDB (Webhook | Function | HTTP)

Requisitos previos
  • Punto final de HTTP Webhook (n8n generará automáticamente)
  • Pueden requerirse credenciales de autenticación para la API de destino

Nodos utilizados (4)

Vista previa del flujo de trabajo
Visualización de las conexiones entre nodos, con soporte para zoom y panorámica
Exportar flujo de trabajo
Copie la siguiente configuración JSON en n8n para importar y usar este flujo de trabajo
{
  "id": "Vz7fCuVAkUFMUjHC",
  "meta": {
    "instanceId": "14e4c77104722ab186539dfea5182e419aecc83d85963fe13f6de862c875ebfa",
    "templateCredsSetupCompleted": true
  },
  "name": "IoT Sensor Data Cleaner + InfluxDB Logger (n8n | Webhook | Function | InfluxDB)",
  "tags": [],
  "nodes": [
    {
      "id": "0a94db25-793e-4d2d-867a-5fe8132c849c",
      "name": "Entrada de Sensor",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -620,
        -60
      ],
      "webhookId": "278534e3-2340-4504-ac50-9c0c1df4e4de",
      "parameters": {
        "path": "sensor-data",
        "options": {
          "responseData": "{\"status\":\"received\"}"
        },
        "httpMethod": "POST"
      },
      "typeVersion": 1
    },
    {
      "id": "7b1507ea-8760-45ff-bee8-d656723ce34e",
      "name": "Limpiar y Transformar Datos",
      "type": "n8n-nodes-base.function",
      "position": [
        -220,
        -60
      ],
      "parameters": {
        "functionCode": "const data = $json.body;\n\nfunction isValid(value, min, max) {\n  return typeof value === 'number' && value >= min && value <= max;\n}\n\nif (!isValid(data.temperature, -50, 150) || \n    !isValid(data.humidity, 0, 100) || \n    !isValid(data.voltage, 0, 500)) {\n  throw new Error('Invalid sensor data range');\n}\n\nconst cleaned = {\n  temperature: Math.round(data.temperature * 10) / 10,\n  humidity: Math.round(data.humidity * 10) / 10,\n  voltage: Math.round(data.voltage * 10) / 10,\n  timestamp: new Date(data.timestamp).toISOString()\n};\n\nreturn [\n  {\n    json: cleaned\n  }\n];"
      },
      "typeVersion": 1
    },
    {
      "id": "2bd6195b-4989-4e86-a622-79c5131ccf4e",
      "name": "Configurar Configuración",
      "type": "n8n-nodes-base.set",
      "position": [
        -420,
        -60
      ],
      "parameters": {
        "values": {
          "string": [
            {
              "name": "influxDbHost",
              "value": "hosturl"
            },
            {
              "name": "influxDbToken",
              "value": "token"
            },
            {
              "name": "influxDbBucket",
              "value": "bucket"
            },
            {
              "name": "influxDbOrg",
              "value": "org"
            },
            {
              "name": "measurement",
              "value": "table"
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 1
    },
    {
      "id": "6afbb252-6628-4ad3-81da-f8a5db70c171",
      "name": "Solicitud HTTP",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        20,
        -60
      ],
      "parameters": {
        "url": "={{$node[\"Set Config\"].json[\"influxDbHost\"]}}/api/v2/write",
        "body": "={{$node[\"Set Config\"].json[\"measurement\"]}} temperature={{$json[\"temperature\"]}},humidity={{$json[\"humidity\"]}},voltage={{$json[\"voltage\"]}} {{Date.parse($json[\"timestamp\"])}}",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "sendQuery": true,
        "contentType": "raw",
        "sendHeaders": true,
        "rawContentType": "text/plain",
        "queryParameters": {
          "parameters": [
            {
              "name": "bucket",
              "value": "={{$node[\"Set Config\"].json[\"influxDbBucket\"]}}"
            },
            {
              "name": "org",
              "value": "={{$node[\"Set Config\"].json[\"influxDbOrg\"]}}"
            },
            {
              "name": "precision",
              "value": "={{$node[\"Set Config\"].json[\"precision\"]}}"
            }
          ]
        },
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Token {{$node[\"Set Config\"].json[\"influxDbToken\"]}}"
            }
          ]
        }
      },
      "typeVersion": 4.2
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "bbe71c64-0ee9-4bef-af35-99f00227f20f",
  "connections": {
    "2bd6195b-4989-4e86-a622-79c5131ccf4e": {
      "main": [
        [
          {
            "node": "7b1507ea-8760-45ff-bee8-d656723ce34e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6afbb252-6628-4ad3-81da-f8a5db70c171": {
      "main": [
        []
      ]
    },
    "0a94db25-793e-4d2d-867a-5fe8132c849c": {
      "main": [
        [
          {
            "node": "2bd6195b-4989-4e86-a622-79c5131ccf4e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "7b1507ea-8760-45ff-bee8-d656723ce34e": {
      "main": [
        [
          {
            "node": "6afbb252-6628-4ad3-81da-f8a5db70c171",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Preguntas frecuentes

¿Cómo usar este flujo de trabajo?

Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.

¿En qué escenarios es adecuado este flujo de trabajo?

Principiante - Ingeniería, IA Multimodal

¿Es de pago?

Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.

Información del flujo de trabajo
Nivel de dificultad
Principiante
Número de nodos4
Categoría2
Tipos de nodos4
Descripción de la dificultad

Adecuado para principiantes de n8n, flujos de trabajo simples con 1-5 nodos

Autor
WeblineIndia

WeblineIndia

@weblineindia

A Leading Software Engineering, Consulting & Outsourcing Services Company in USA & India serving Clients Globally since 1999.

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34