|
Composant
|
Quantité
|
|
Raspberry Pi (n’importe quel modèle 3,4,5)
|
1
|
|
Capteur de température DHT11
|
1
|
|
220 ω résistances (pour les LED)
|
1
|
|
LED (rouge, vert)
|
2
|
|
Fils de planche à pain et à cavalier
|
Au besoin
|
sudo apt update && sudo apt upgrade -y
|

sudo pip3 install --break-system-packages Adafruit_DHT
|
|
sudo apt installer python3-vev -y
|
# Installez le package Venv
|
|
Python3 -M Venv Myenv
|
# Créez un nouvel environnement virtuel nommé «Myenv»
|
|
Source Myenv / bin / Activate
|
# Activer l’environnement virtuel
|
|
PIP Installer Adafruit_DHT Demandes
|
# Installez les packages requis à l’intérieur du Venv
|



Connexions à broches
|
Épingles de capteur
|
Broches de Raspberry Pi pi gpio
|
|
DONNÉES
|
GPIO4 (broche 7)
|
|
GND
|
Terrain d’entente
|
|
VCC
|
5V
|
|
LED vert
|
GPIO23 (broche 16)
|
|
LED rouge
|
GPIO24 (broche 18)
|



|
Informations
|
Description
|
|
Date d’expiration
|
Indique quand la clé expirera
|
|
Nombre d’utilisation
|
Montre le nombre de fois que la clé a été utilisée
|
|
Copier le raccourci
|
Vous pouvez cliquer sur l’icône du presse-papiers à côté de la touche pour le copier instantanément dans votre presse-papiers pour une utilisation dans le code
|

|
ID de modèle
|
Type de modèle
|
Format de message
|
|
101
|
Alerte d’état de l’appareil
|
Votre {# var #} est actuellement à {# var #}.
–
Propulsé par CircuitDigest pour les ingénieurs et les fabricants de l’Inde. Visitez www.raspberryme.com.
|
|
102
|
Alerte de température
|
La température dans {# var #} a atteint {# var #} ° C. Veuillez prendre les mesures nécessaires.
–
Propulsé par CircuitDigest pour les ingénieurs et les fabricants de l’Inde. Visitez www.raspberryme.com.
|
|
103
|
Motion détectée
|
Motion détecté par {# var #} dans le {# var #}. Enquêter immédiatement.
–
Propulsé par CircuitDigest pour les ingénieurs et les fabricants de l’Inde. Visitez www.raspberryme.com.
|
|
104
|
Alerte basse batterie
|
Le niveau de batterie de {# var #} est extrêmement bas à {#var #}%. Rechargez immédiatement.
–
Propulsé par CircuitDigest pour les ingénieurs et les fabricants de l’Inde. Visitez www.raspberryme.com.
|
|
105
|
Rappel périodique
|
Votre {# var #} est actuellement à {# var #}.
–
Propulsé par CircuitDigest pour les ingénieurs et les fabricants de l’Inde. Visitez www.raspberryme.com.
|
|
106
|
Rappel de service
|
Il est temps de servir votre {# var #}. Le dernier service était sur {# var #}.
–
Propulsé par CircuitDigest pour les ingénieurs et les fabricants de l’Inde. Visitez www.raspberryme.com.
|
|
107
|
Notification d’erreur
|
Erreur {# var #} a été détectée dans {# var #}. Veuillez dépanner immédiatement.
–
Propulsé par CircuitDigest pour les ingénieurs et les fabricants de l’Inde. Visitez www.raspberryme.com.
|
|
108
|
Statut de porte / fenêtre
|
Le {# var #} est actuellement {# var #}. Veuillez assurer la sécurité.
–
Propulsé par CircuitDigest pour les ingénieurs et les fabricants de l’Inde. Visitez www.raspberryme.com.
|
|
109
|
Redémarrage du système
|
Le système {# var #} a été redémarré à {# var #}. Vérifiez la fonctionnalité.
–
Propulsé par CircuitDigest pour les ingénieurs et les fabricants de l’Inde. Visitez www.raspberryme.com.
|
|
110
|
Suivi de l’emplacement
|
Le périphérique {# var #} est actuellement situé à {# var #}.
–
Propulsé par CircuitDigest pour les ingénieurs et les fabricants de l’Inde. Visitez www.raspberryme.com.
|
|
111
|
Achèvement de la tâche
|
La tâche {# var #} a été terminée avec succès à {# var #}.
–
Propulsé par CircuitDigest pour les ingénieurs et les fabricants de l’Inde. Visitez www.raspberryme.com.
|
|
112
|
Alerte perdue de connexion
|
La connexion avec {# var #} a été perdue à {# var #}. Veuillez vérifier le réseau ou l’appareil.
–
Propulsé par CircuitDigest pour les ingénieurs et les fabricants de l’Inde. Visitez www.raspberryme.com.
|
|
113
|
Entretien nécessaire
|
Le {# var #} nécessite une maintenance. Problème détecté: {# var #}.
–
Propulsé par CircuitDigest pour les ingénieurs et les fabricants de l’Inde. Visitez www.raspberryme.com.
|
|
114
|
Alerte de surcharge
|
Le {# var #} connaît une surcharge. Charge actuelle: {# var #}. Veuillez réduire l’utilisation.
–
Propulsé par CircuitDigest pour les ingénieurs et les fabricants de l’Inde. Visitez www.raspberryme.com.
|
|
115
|
Accès non autorisé
|
Accès non autorisé détecté dans {# var #} à {# var #}. Vérifiez immédiatement.
–
Propulsé par CircuitDigest pour les ingénieurs et les fabricants de l’Inde. Visitez www.raspberryme.com.
|
|
Clé API
|
Disponible sur votre page Circuit Digest Cloud Profile.
|
|
ID de modèle SMS
|
Choisissez-en un dans la liste des modèles fournis.
|
|
Variable 1
|
Une valeur personnalisée (jusqu’à 30 caractères alphanumériques; caractères spéciaux non autorisés).
|
|
Variable 2
|
Une autre valeur personnalisée (également jusqu’à 30 caractères alphanumériques; caractères spéciaux non autorisés).
|
|
URL de base
|
https://www.raspberryme.cloud/send_sms
|
|
Méthode HTTP
|
POSTE
|
|
Paramètre de requête
|
ID – Spécifie l’ID de modèle (par exemple, 101)
|
|
Autorisation
|
Votre clé API
|
|
Type de contenu
|
Application / JSON
|
import time
import requests
import adafruit_dht
import board
import RPi.GPIO as GPIO
from datetime import datetime
These are the essential libraries used in the script. time is for delays, requests handle HTTP API calls, adafruit_dht and board are used to interface with the DHT11 sensor, RPi.GPIO controls the GPIO pins, and datetime is used to fetch the current time for SMS content.
API_KEY = 'xxxxxxxxxx' # Your API Key
TEMPLATE_ID = '102'
MOBILE_NUMBER = '91xxxxxxxxxx' # Target Mobile Number
LOCATION = 'Home'
TEMP_THRESHOLD = 33 # °C: Trigger SMS if temp exceeds this
READ_INTERVAL = 10 # Seconds between sensor reads
COOLDOWN_TIME = 60 # Seconds to wait after sending SMS
API_URL = f'https://www.raspberryme.cloud/send_sms?ID={TEMPLATE_ID}'
DHT_PIN = board.D4 # GPIO4 = Pin 7
GREEN_LED = 23 # GPIO23 = Pin 16 (Success)
RED_LED = 24 # GPIO24 = Pin 18 (Failure)
GPIO.setmode(GPIO.BCM)
GPIO.setup(GREEN_LED, GPIO.OUT)
GPIO.setup(RED_LED, GPIO.OUT)
dht = adafruit_dht.DHT11(DHT_PIN)
def led_feedback(success):
if success:
GPIO.output(GREEN_LED, GPIO.HIGH)
time.sleep(1)
GPIO.output(GREEN_LED, GPIO.LOW)
else:
GPIO.output(RED_LED, GPIO.HIGH)
time.sleep(1)
GPIO.output(RED_LED, GPIO.LOW)
def send_sms(temp):
current_time = datetime.now().strftime("%I:%M %p")
var1 = f"{LOCATION} at {current_time}"
var2 = f"{temp}"
payload = {
"mobiles": MOBILE_NUMBER,
"var1": var1,
"var2": var2
}
headers = {
"Authorization": API_KEY,
"Content-Type": "application/json"
}
try:
response = requests.post(API_URL, headers=headers, json=payload)
if response.status_code == 200:
print(f"[OK] SMS sent: {var1}, Temp = {var2}")
print("Response:", response.json())
led_feedback(True)
else:
print(f"[ERROR] SMS failed. Status: {response.status_code}")
print("Response:", response.text)
led_feedback(False)
except requests.exceptions.RequestException as e:
print("Connection error:", e)
led_feedback(False)
print("Monitoring temperature... (Press Ctrl+C to stop)")
try:
while True:
try:
temperature = dht.temperature
humidity = dht.humidity
if temperature is not None:
print(f"Temperature: {temperature}C | Humidity: {humidity}%")
if temperature > TEMP_THRESHOLD:
send_sms(temperature)
time.sleep(COOLDOWN_TIME) # Prevent repeated alerts
else:
print("Sensor read failed.")
except Exception as sensor_error:
print("Sensor error:", sensor_error)
time.sleep(READ_INTERVAL)
except KeyboardInterrupt:
print("Script terminated by user.")
finally:
GPIO.cleanup()
|
Problème
|
Solution
|
|
SMS non reçus
|
Assurez-vous que le numéro de mobile est vérifié dans votre compte Circuit Digest.
|
|
L’installation de la bibliothèque échoue
|
Utilisez «- les packages de rupture-système» ou créez un virtualenv comme discuté.
|
|
Erreur de délai d’expiration ou de connexion du réseau lors de l’envoi de la demande
|
Assurez-vous que le PI est connecté à Internet et que DNS fonctionne correctement. Essayez de ping www.google.com pour confirmer la connectivité.
|
|
La broche GPIO ne répond pas ou les LED ne clignotent pas
|
Vérifiez les numéros de broches (BCM vs numérotation physique)
|
|
Erreurs de lecture du capteur
|
Normal pour DHT11 – Système RÉPUTALEMENT
|
| La température dans la maison à 12 h 45 a atteint 34 ° C. Veuillez prendre les mesures nécessaires. |


Comment envoyer des SMS en utilisant ESP32
Apprenez à envoyer des SMS à partir d’ESP32 à l’aide d’une API SMS gratuite sans carte SIM ou module GSM. Une méthode simple basée sur HTTP idéale pour les notifications IoT.


Retrouvez l’histoire de Raspberry Pi dans cette vidéo :
-
SUNFOUNDER AI Fusion Lab Kit pour Raspberry Pi 5/4/3B+/Zero 2w, Multi-LLMs ChatGPT-4o/Gemini/Grok, OpenCV & MediaPipe, Python, cours vidéo pour les ingénieurs en herbe
-
Raspberry Pi® Build HAT Carte d'extension compatible avec (kits de développement) : Raspberry Pi, LEGO®