Maison >développement back-end >Tutoriel Python >Utiliser AWS Lambda comme traitement de données pour tout projet IoT.
Pour commencer quelque chose, une planification et une préparation appropriées sont nécessaires. Cette idée m'est venue lorsque j'ai suivi un cours au choix intitulé Internet des objets. Cela n'a pas été bien enseigné ? mais ça m'a donné cette idée. Un simple vérificateur d'humidité peut vous informer lorsque vous devez arroser vos plantes. Grâce à AWS Lambda, nous pourrions utiliser leur serveur au lieu d'utiliser des ordinateurs portables et le garder allumé longtemps alors qu'il pourrait être utilisé pour autre chose.
Coûts : C'est assez bon marché et il propose une option où les premières interactions sont gratuites. Ainsi, pour quelqu'un qui souhaite commencer mais qui manque d'argent, AWS Lambda est une bonne option.
Traitement en temps réel : avec des serveurs toujours allumés, il peut traiter les données en temps réel, effectuer des actions en fonction des données reçues et envoyer des notifications.
Évolutivité : avec le temps, si vous souhaitez étendre ce projet, AWS Lambda peut s'adapter à tout ce dont vous avez besoin.
Intégration avec d'autres services AWS : étant donné qu'AWS fournit de nombreux services, il agit comme un guichet unique pour vos besoins. Pas besoin de chercher ailleurs si les services que vous recherchez sont déjà là.
Imaginons un système de surveillance de l’humidité. Les capteurs envoient périodiquement des données à AWS IoT Core, ce qui déclenche une fonction AWS Lambda de configuration pour traiter et stocker les données dans DynamoDB. La fonction Lambda envoie également des notifications aux utilisateurs.
1) Configurer AWS IoT Core ?️
2) Écrire la fonction Lambda ?
Créez une fonction Python pour traiter les données IoT entrantes :
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!') }
3) Connecter IoT Core à Lambda ?
4) Déployer la fonction Lambda ?
5) Testez votre configuration ?
Publiez un message de test sur le sujet MQTT depuis votre appareil IoT :
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!') }
Le déploiement d'un projet IoT avec AWS Lambda change la donne pour les développeurs, offrant évolutivité, rentabilité et une expérience sans serveur. En combinant IoT Core et Lambda, vous pouvez créer des systèmes réactifs et intelligents qui évoluent avec vos besoins.
Joyeuses fêtes ! ☃︎??❄️☃️??
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!