À propos de ce didacticiel

Construisez vous-même votre propre alerte SMS de température Arduino : un système de contrôle thermique ayant des seuils de température MAXIMALE et MINIMALE, des messages d’entretien ainsi que des classiques comme le téléavertissement SMS et le système d’ARMEMENT/de DÉSARMEMENT à distance. Vous pouvez superviser un ou plusieurs capteurs de température 1WIRE et avertir par SMS au sujet des « des événements de chauffage et de refroidissement » et des messages d’entretien, y compris la dernière température. Vous pouvez ACTIVER/DÉSACTIVER le système d’alerte à distance à l’aide d’un simple SMS. Ce projet utilise pour l’intégration de SMS, le shield GSM (c-UGSM) ou le shield 3G (d-u3G) compatible broche à broche.

Pièces nécessaires

Remerciements

Dans ce projet, nous avons utilisé pour le capteur de température 1QIRE le « Dallas Temperature Control Library » développé par Miles Burton et Tim Newsome >> la référence pour la bibliothèque pour les CI de température Dallas est ici. Merci les gars ! Bien joué !

À propos des shields c-UGSM (GSM uniquement) et d-u3G (3G/UMTS)

Ce sont des shields compatibles broche à broche, le premier, le shield c-UGSM est un GSM quadribande uniquement (compatible dans le monde entier) et permet d’utiliser 2 SIM et le second, le shield d-u3G n’utilise qu’une SIM 3G (version pour l’Amérique du Nord) ou 3G + GSM (version pour l’Europe et le reste du monde).

Mesurant 1,25 pouce ;1,57 pouce (31,75 x 39,88 mm)/1,35 pouce x 1,57 pouce (34,29 x 39,88 mm), ces shields sont compacts, pèsent moins de 10 g, sont compatibles USB (communication et alimentation), ont des interfaces numériques 3,3 – 5 V autonivelantes et un chargeur LiPo intégré.

À propos du capteur de température DS18B20

Soudez la résistance de 2,2 kΩ entre la broche Vdd (3) du DS18B20 et la broche DQ (2) du DS18B20. La broche Vdd (3) du DS18B20 doit être reliée au 5V de l’Arduino 5V, la broche DQ (2) du DS18B20 au D4 de l’Arduino et la broche GND (1) au GND de l’Arduino. Reportez-vous détails ci-dessous. Référence du DS18B20 ici.

Câblage du matériel

Dans l’image ci-dessous (exemple de câblage du shield d-u3G – 3G), vous pouvez observer toutes les connexions logiques (câblage).

Pour l’utilisation du shield c-UGSM (version GSM uniquement) : il suffit de relier les fils aux mêmes broches sur le shield GSM.

Superviseur d’alerte thermique par SMS câblage du capteur de température 1WIRE au shiel 3g-gsm Arduino

Superviseur d’alerte thermique par SMS câblage du capteur de température 1WIRE au shiel 3g-gsm Arduino Système du superviseur thermique par SMS Arduino – Câblage logique

Câblage succinct du shield 3G/GSM (power) :

    • Configuration « Sans polymère au lithium » >> reliez l’alimentation +4 V (g-SPS 4V [DDRV] recommandé) à la broche « Vcc-4V » du shield 3G/GSM.
    • Configuration « Avec polymère au lithium » >> reliez l’alimentation +5 ;V (g-SPS 5V [LiPOL] recommandé) à la broche « VIN 5V » du shield 3G/GSM. Branchez la batterie polymère au lithium au(x) connecteur/plaquettes polymère au lithium.

Lire la référence :c-UGSM et d-u3G, comment démarrer.

Le capteur de température est branché de la manière suivante :La broche Vdd (3) du DS18B20 doit être reliée au 5V de l’Arduino 5V, la broche DQ (2) du DS18B20 au D4 de l’Arduino et la broche GND (1) au GND de l’Arduino. N’oubliez pas de souder une résistance 2,2 kΩ entre la broche Vdd (3) du DS18B20 et la broche DQ (2) du DS18B20.

Détail du câblage de l’Arduino au capteur de température 1WIRE MAXIM DALLAS 18B20

Câblage du capteur de température 1WIRE au DS18B20

ASTUCE : si vous souhaitez avoir plusieurs capteurs de température 1WIRE, il suffit de les relier entre eux en mode parallèle (une seule résistance de polarisation; vérifiez les fiches techniques pour la valeur correcte) et piratez le programme (utilisez 1,2 .. sensorIndex dans « sensors.getTempCByIndex(sensorIndex) »).

Programme Arduino du superviseur de température

a. Nous utilisons la bibliothèque de température Dallas version 3.7.2 bêta. Téléchargez-la à partir d’ici :Miles Burton Dallas Temperature library v 3.72 beta.

b. Installez cette bibliothèque >> instructions pour l’installer ici.

c. Créez un dossier nommé « SMS_THERMAL_alarm_supervisor ».

d. Puis, téléchargez le « Kickstart c-UGSM pour Arduino » de c-uGSM CODE SAMPLES and UTILITIES, ou « d-u3G kickstart for Arduino » de d-u3G CODE SAMPLES and UTILITIES si vous utilisez le shield d-u3G. L’IMEI du produit (*) et votre adresse e-mail sont requis pour effectuer le téléchargement. *L’IMEI se trouve sur le dessus du module GSM/3G présent sur votre shield GSM/3G itbrainpower.net, ou vous pouvez le trouver en exécutant la commande « AT + CIMI ».

c. Décompressez l’archive et copiez les fichiers « cuGSM_basic_lbr.h », « cuGSM_basic_lbr.ino », « cuGSM_SMS_lbr.h » ou « cuGSM_SMS_lbr.ino » (« du3_basic_lbr.h », « du3G_basic_lbr.ino », « du3G_SMS_lbr.h » ou « du3G_SMS_lbr.ino » pour les utilisateurs du 4 d-u3G) dans le dossier précédemment créé.

d. Copiez le code à partir du lien ci-dessous et créez un fichier appelé « SMS_THERMAL_alarm_supervisor.ino » dans le même dossier que ci-dessus. Sinon, vous pouvez le télécharger à partir d’ici (clic droit et enregistrer sous) :

SMS_THERMAL_alarm_supervisor.ino:ALERTE THERMIQUE PAR SMS POUR ARDUINO ET SHIELD GSM/3G – code principal

e. Modifiez le fichier « SMS_THERMAL_alarm_supervisor.ino » (double-cliquez sur le fichier, celui-ci sera ouvert par l’environnement ARDUINO).

Écrivez le numéro mobile de destination souhaité à la ligne 19. (Avant cela, vous pouvez vérifier le format de numéro de SMS compatible avec votre NMO, en utilisant notre logiciel d’amorce.)

Saisissez les valeurs souhaitées pour les seuils de température, l’échantillonnage et les temps d’entretien. Vous pouvez modifier les commandes SMS et les messages SMS attribués aux événements d’alerte.

Si vous utilisez le shield c-UGSM, mettez la ligne 17 en commentaire.

Comportement de l’application – Comment l’utiliser

#0 DÉSARME l’alerte, #1 ARME l’ALERTE. Tout autre SMS reçu, crée la réponse d’alerte avec une sorte de « message d’aide ».

SMS D’ENTRETIEN >> le superviseur thermique envoie un SMS (avec l’ÉTAT et la dernière température) à chaque « keepAlivePeriod » (secondes), si la température se trouve dans l’intervalle seuil compris entre « lowTempLevel » et « highTempLevel », ou à chaque « keepAlivePeriod/10 » (secondes), si la température est en dehors de l’intervalle (ÉTAT DE L’ALERTE).

La LED d’Arduino (D13) copie l’état de l’ARMEMENT/du DÉSARMEMENT

… quelques suggestions d’utilisation (complètement folles !?)

    • surveillance de la température d’un nouveau-né… JE PLAISANTE LES GARS ! NE FAITES JAMAIS ÇA !
    • baril de fermentation de bière brassée à la maison 😉
    • surveillance de la température de la cave
    • surveillance des aquariums
    • congélateurs
    • radiateurs

…autres. Quoi qu’il en soit, adaptez toujours le(s) capteur (s) de température à l’environnement (p.ex. : liquides, poussière, vibrations, chaleur, etc.) ou utilisez des capteurs encapsulés appropriés.

LE DIDACTICIEL ET LE PROGRAMME SONT FOURNIS SANS AUCUNE GARANTIE ! UTILISEZ-LES À VOS RISQUES ET PÉRILS !

Améliorations possibles

  • Restreindre le traitement des SMS uniquement à partir de « phoneNumber » (numéro principal)… Il suffit de regarder dans la fonction readSMS (bibliothèque de SMS), après le deuxième readline (), la variable buffd contient l’en-tête des SMS (numéro de l’expéditeur, date + heure)… Traitez cette partie pour extraire le numéro de l’émetteur de SMS…
  • Ajouter des seuils de température supplémentaires, afin de contrôler et de compenser la dérive en température en utilisant une ou plusieurs CELLULES PELTIER au moyen d’une sortie numérique Arduino plus un TIP122 dans une configuration de collecteur ouvert ou de relais. (??)

N’hésitez surtout pas à apporter les changements que vous souhaitez et à ajouter des suggestions dans le champ des commentaires ! Faites-vous plaisir !

Initialement publié par Dragos l’équipe Iosub & itbrainpower