Heim > Backend-Entwicklung > Python-Tutorial > Verwendung von AWS Lambda als Datenverarbeitung für jedes IoT-Projekt.

Verwendung von AWS Lambda als Datenverarbeitung für jedes IoT-Projekt.

Mary-Kate Olsen
Freigeben: 2024-12-21 04:13:10
Original
861 Leute haben es durchsucht

Using AWS Lambda as data processing for any IoT project.

Um etwas zu beginnen, bedarf es der richtigen Planung und Vorbereitung. Diese Idee kam mir, als ich ein Wahlfach mit dem Titel „Internet der Dinge“ belegte. Es wurde nicht gut gelehrt? aber es brachte mich auf diese Idee. Ein einfacher Feuchtigkeitsprüfer kann Sie auf dem Laufenden halten, wenn Sie Ihre Pflanzen gießen müssen.? Mit Aws Lambda konnten wir ihren Server anstelle von Laptops nutzen und ihn für eine lange Zeit eingeschaltet lassen, während er für etwas anderes verwendet werden könnte.

Warum AWS Lambda?

  1. Kosten: Es ist ziemlich günstig und es gibt eine Option, bei der die ersten Interaktionen kostenlos sind. Für jemanden, der anfangen möchte, aber wenig Geld hat, ist AWS Lambda eine gute Option.

  2. Echtzeitverarbeitung: Mit Servern, die immer eingeschaltet sind, kann es Daten in Echtzeit verarbeiten, Aktionen basierend auf den empfangenen Daten ausführen und Benachrichtigungen senden.

  3. Skalierbarkeit: Wenn Sie dieses Projekt mit der Zeit erweitern möchten, kann AWS Lambda gut auf alles skalieren, was Sie benötigen.

  4. Integration mit anderen AWS-Diensten: Da AWS viele Dienste bereitstellt, fungiert es als One-Stop-Shop für Ihre Bedürfnisse. Sie müssen nicht woanders suchen, wenn die Dienste, die Sie suchen, bereits hier sind.

Der IoT-Anwendungsfall: Temperaturüberwachung ?️

Stellen wir uns ein Feuchtigkeitsüberwachungssystem vor. Sensoren senden regelmäßig Daten an AWS IoT Core, was eine eingerichtete AWS Lambda-Funktion auslöst, um die Daten in DynamoDB zu verarbeiten und zu speichern. Die Lambda-Funktion sendet auch Benachrichtigungen an Benutzer.

Schritt-für-Schritt-Anleitung zur Umsetzung Ihres IoT-Projekts?

1) AWS IoT Core einrichten ?️

  • Erstellen Sie ein IoT-Ding: Navigieren Sie zur AWS IoT Core Console und definieren Sie Ihr IoT-Gerät.
  • Zertifikate generieren: Laden Sie das Gerätezertifikat und die Schlüssel für eine sichere Kommunikation herunter.
  • Richtlinien anhängen: Erteilen Sie Ihrem IoT-Gerät die Berechtigung, Themen zu veröffentlichen und zu abonnieren.

2) Schreiben Sie die Lambda-Funktion ?
Erstellen Sie eine Python-Funktion zur Verarbeitung eingehender IoT-Daten:

import json
import boto3

def lambda_handler(event, context):
    # Parse the incoming event
    payload = json.loads(event['body'])
    temperature = payload['temperature']
    device_id = payload['device_id']

    # Store in DynamoDB
    dynamodb = boto3.client('dynamodb')
    dynamodb.put_item(
        TableName='TemperatureReadings',
        Item={
            'DeviceID': {'S': device_id},
            'Temperature': {'N': str(temperature)},
        }
    )

    # Send an alert if temperature exceeds threshold
    if temperature > 30:
        print(f"ALERT! High temperature: {temperature}°C")

    return {
        'statusCode': 200,
        'body': json.dumps('Data processed successfully!')
    }

Nach dem Login kopieren
Nach dem Login kopieren

3) IoT Core mit Lambda verbinden?

  • Erstellen Sie eine Regel: Erstellen Sie in AWS IoT Core eine Regel zum Auslösen Ihrer Lambda-Funktion.
  • Definieren Sie das Thema: Geben Sie das MQTT-Thema an, zu dem Ihr Gerät veröffentlicht (z. B. Sensoren/Temperatur).
  • Aktion hinzufügen: Verknüpfen Sie die Regel mit Ihrer Lambda-Funktion.

4) Die Lambda-Funktion bereitstellen?

  • Laden Sie Ihren Code als ZIP-Datei hoch oder verwenden Sie den Inline-Code-Editor in der AWS Management Console.
  • Legen Sie die erforderlichen Umgebungsvariablen fest und konfigurieren Sie einen Trigger von IoT Core.

5) Testen Sie Ihr Setup?
Veröffentlichen Sie eine Testnachricht zum MQTT-Thema von Ihrem IoT-Gerät:

import json
import boto3

def lambda_handler(event, context):
    # Parse the incoming event
    payload = json.loads(event['body'])
    temperature = payload['temperature']
    device_id = payload['device_id']

    # Store in DynamoDB
    dynamodb = boto3.client('dynamodb')
    dynamodb.put_item(
        TableName='TemperatureReadings',
        Item={
            'DeviceID': {'S': device_id},
            'Temperature': {'N': str(temperature)},
        }
    )

    # Send an alert if temperature exceeds threshold
    if temperature > 30:
        print(f"ALERT! High temperature: {temperature}°C")

    return {
        'statusCode': 200,
        'body': json.dumps('Data processed successfully!')
    }

Nach dem Login kopieren
Nach dem Login kopieren

Letzte Gedanken?

Die Bereitstellung eines IoT-Projekts mit AWS Lambda ist für Entwickler von entscheidender Bedeutung und bietet Skalierbarkeit, Kosteneffizienz und ein serverloses Erlebnis. Durch die Kombination von IoT Core und Lambda können Sie reaktionsfähige und intelligente Systeme aufbauen, die mit Ihren Anforderungen wachsen.

Frohe Feiertage! ☃︎???❄️☃️??

Das obige ist der detaillierte Inhalt vonVerwendung von AWS Lambda als Datenverarbeitung für jedes IoT-Projekt.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage