Nettoyeur de données de capteurs IoT + enregistreur InfluxDB (n8n | Webhook | Function | InfluxDB)

Débutant

Ceci est unEngineering, Multimodal AIworkflow d'automatisation du domainecontenant 4 nœuds.Utilise principalement des nœuds comme Set, Webhook, Function, HttpRequest. Nettoyage des données de capteurs IoT et enregistrement dans InfluxDB (Webhook | Function | HTTP)

Prérequis
  • Point de terminaison HTTP Webhook (généré automatiquement par n8n)
  • Peut nécessiter les informations d'identification d'authentification de l'API cible

Nœuds utilisés (4)

Aperçu du workflow
Visualisation des connexions entre les nœuds, avec support du zoom et du déplacement
Exporter le workflow
Copiez la configuration JSON suivante dans n8n pour importer et utiliser ce workflow
{
  "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": "Entrée Capteur",
      "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": "Nettoyer & Transformer les Données",
      "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": "Définir la Configuration",
      "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": "Requête 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
          }
        ]
      ]
    }
  }
}
Foire aux questions

Comment utiliser ce workflow ?

Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.

Dans quelles scénarios ce workflow est-il adapté ?

Débutant - Ingénierie, IA Multimodale

Est-ce payant ?

Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.

Informations sur le workflow
Niveau de difficulté
Débutant
Nombre de nœuds4
Catégorie2
Types de nœuds4
Description de la difficulté

Adapté aux nouveaux utilisateurs de n8n, avec des workflows simples contenant 1-5 nœuds

Auteur
WeblineIndia

WeblineIndia

@weblineindia

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

Liens externes
Voir sur n8n.io

Partager ce workflow

Catégories

Catégories: 34