Envoyez et recevez des SMS facilement avec le shield GSM SIM900 pour Arduino Mega
Composants et fournitures
| Arduino Mega 2560 | × | 1 |
| Shield GSM/GPRS basé sur SIM900 (Seeed Studio) | × | 1 |
Applications et services en ligne
- Visuino – Environnement de développement graphique pour Arduino
- Arduino IDE
À propos de ce projet
L'un des éléments essentiels de la construction de projets IoT est la capacité à connecter les appareils. Le Wi-Fi et le Bluetooth sont de bons choix à faible coût, mais ils ne fonctionnent qu'à courte portée ou dans les zones de hotspot. Lorsque l'appareil doit se trouver à un emplacement distant, le GSM est une option bonne et facile à configurer.
Dans ce tutoriel, je vais vous montrer à quel point il est facile d'envoyer et de recevoir des messages SMS via GSM avec Arduino.
Dans les prochains tutoriels, je vous montrerai également comment vous pouvez vous connecter via GSM à Internet et accéder à des serveurs, et comment vous pouvez gérer les appels vocaux.
Étape 1 : Composants
- Un Arduino Mega (Vous pouvez utiliser d'autres cartes, mais il est préférable d'utiliser une carte qui possède 2 ports série ou plus. Le projet peut être modifié pour utiliser Software Serial, mais l'utilisation d'un port série matériel est recommandée)
- Un Shield GSM basé sur SIM900 ou un shield/module compatible avec une carte SIM installée (Image 2) (J'ai utilisé un Shield GSM/GPRS Version 1.0 de Seeed Studio)
- 2 fils de connexion Femelle-Mâle
Étape 2 : Connectez le shield GSM à l'Arduino
- Retirez les cavaliers (jumpers) des sélecteurs RX et TX du shield GSM (Image 1)
- Branchez le shield GSM sur le dessus de l'Arduino Mega
- Connectez l'extrémité mâle d'un fil Mâle-Femelle (fil orange) à la broche RX1 de l'Arduino Mega (Images 2 et 3)
- Connectez l'extrémité mâle d'un fil Mâle-Femelle (fil marron) à la broche TX1 de l'Arduino Mega (Images 2 et 3)
- Connectez l'extrémité femelle du fil RX1 (fil orange) à la broche centrale du sélecteur RX du shield GSM (Image 4)
- Connectez l'extrémité femelle du fil TX1 (fil marron) à la broche centrale du sélecteur TX du shield GSM (Image 4)
- Image 5 montre le shield GSM installé et connecté
Étape 3 : Démarrez Visuino et sélectionnez le type de carte Arduino
Pour commencer à programmer l'Arduino, vous aurez besoin de l'IDE Arduino installé depuis ici : https://www.arduino.cc/ .
Assurez-vous d'installer la version 1.6.7 ou supérieure, sinon ce tutoriel ne fonctionnera pas !
Visuino : https://www.visuino.com doit également être installé.
- Démarrez Visuino comme montré dans la première image
- Cliquez sur le bouton « Outils » sur le composant Arduino (Image 1) dans Visuino
- Lorsque la boîte de dialogue apparaît, sélectionnez « Arduino Mega 2560 » comme montré dans Image 2
Étape 4 : Dans Visuino : Réglez la vitesse du canal série 1 à 19200
Le shield GSM est configuré par défaut pour une vitesse de port série de 19200. Nous devons configurer le port série 1 pour cette vitesse :
- Dans l'inspecteur d'objets, développez la propriété « Serial », puis la sous-propriété « Item[ 1 ] », et sélectionnez sa sous-propriété « Speed » (Image 1)
- Dans l'inspecteur d'objets, cliquez sur le bouton « Flèche vers le bas » à côté de la valeur de la sous-propriété « Speed » (Image 1)
- Dans la liste déroulante, sélectionnez « 19200 » (Image 2) pour changer la valeur de la propriété (Image 3)
Étape 5 : Dans Visuino : Ajoutez et connectez le composant GSM/GPRS Série
Nous avons besoin d'un composant pour contrôler le module GSM. Le module est contrôlé via le canal série, donc nous devons le connecter. La broche numérique 9 est utilisée pour mettre le module Marche/Arrêt :
- Tapez « gsm » dans la boîte de filtre de la boîte à outils des composants, puis sélectionnez le composant « GSM/GPRS Serial » (Image 1) et déposez-le dans la zone de conception (Image 2)
- Connectez la broche de sortie « Out » du composant GSM1 à la broche d'entrée « In » du canal « Serial[ 1 ] » du composant Arduino (Image 2)
- Connectez la broche de sortie « Power » du composant GSM1 à la broche d'entrée « Digital » du canal « Digital[ 9 ] » du composant Arduino (Image 3). Cette broche allumera/éteindra l'alimentation du module GSM
Étape 6 : Dans Visuino : Ajoutez, configurez et connectez le composant Valeur Texte
Il faut un certain temps pour que le module GSM s'initialise. C'est bien d'avoir une indication que le module est prêt. Pour cela, nous enverrons le texte « GSM Ready » sur le port série lorsque le module sera prêt :
- Tapez « text val » dans la boîte de filtre de la boîte à outils des composants, puis sélectionnez le composant « Text Value » (Image 1) et déposez-le dans la zone de conception (Image 2)
- Dans l'inspecteur d'objets, définissez la valeur de la propriété « Value » sur « GSM Ready » (Image 2)
- Connectez la broche de sortie « Ready » du composant GSM1 à la broche d'entrée « In » du composant TextValue1 (Image 3)
- Connectez la broche de sortie « Out » du composant TextValue1 à la broche d'entrée « In » du canal « Serial[ 0 ] » du composant Arduino (Image 4)
Étape 7 : Dans Visuino : Ajoutez l'élément Message Court au composant GSM, puis la fonction Envoyer Message à l'élément
Le composant GSM se compose de nombreux modules effectuant différentes tâches. Puisque nous n'utiliserons que les SMS, nous n'avons besoin d'ajouter que le module « Short Message », puis d'ajouter une fonction « Send SMS » :
- Dans la zone de conception, sélectionnez le composant GSM1 (Image 1)
- Dans l'inspecteur d'objets, cliquez sur le bouton « ... » à côté de la valeur de la propriété « Module » du composant GSM1 (Image 1)
- Dans l'éditeur de modules, sélectionnez « Short Message », puis cliquez sur le bouton « + » (Image 2) pour en ajouter un (Image 3)
- Dans l'inspecteur d'objets, cliquez sur le bouton « ... » à côté de la valeur de la propriété « Functions » du module « Short Message » (Image 3)
- Dans l'éditeur de fonctions, sélectionnez « Send SMS », puis cliquez sur le bouton « + » (Image 2) pour en ajouter un
Étape 8 : Dans Visuino : Configurez la fonction Send SMS et connectez les infos de message reçu au série
- Dans l'inspecteur d'objets, définissez la valeur de la propriété « Address » de l'élément « Send SMS » sur le numéro de téléphone où vous voulez envoyer le message (Dans mon cas, pour tester, j'ai entré le numéro de ma carte SIM pour que le module reçoive et affiche les messages qu'il envoie) (Image 1 - montre un numéro fictif)
- Dans l'inspecteur d'objets, sélectionnez la propriété « Text » (Image 2)
- Cliquez sur le bouton « Pin » devant la propriété « Text » (Image 2)
- Dans la liste déroulante, sélectionnez « String SinkPin » (Image 3). Cela ajoutera une nouvelle broche « Text » à la fonction « Send SMS » (Image 4)
- Fermez les boîtes de dialogue de l'éditeur d'éléments (Image 4)
- Connectez la broche de sortie « Out » du bloc « MessageInfo » du composant GSM1 à la broche d'entrée « In » du canal « Serial[ 0 ] » du composant Arduino (Image 4)
Étape 9 : Dans Visuino : Ajoutez et connectez le composant Caractère vers Texte
Le port série reçoit un caractère à la fois. Pour envoyer des messages SMS, nous devons récupérer tous les caractères d'une ligne, créer un texte à partir de cela et l'envoyer au module GSM :
- Tapez « char » dans la boîte de filtre de la boîte à outils des composants, puis sélectionnez le composant « Char to Text » (Image 1) et déposez-le dans la zone de conception (Image 2)
- Connectez la broche de sortie « Out » du canal « Serial[ 0 ] » du composant Arduino à la broche d'entrée « In » du composant CharToText1 (Image 2)
- Connectez la broche de sortie « Out » du composant CharToText1 à la broche d'entrée « Text » de l'élément « Send SMS » du composant GSM1 (Image 3)
Étape 10 : Dans Visuino : Ajoutez, configurez et connectez le composant Délai
Nous devons nous assurer que nous envoyons le SMS après que le texte ait été correctement mis à jour. Nous pouvons utiliser un composant Délai avec un court délai pour cela :
- Tapez « delay » dans la boîte de filtre de la boîte à outils des composants, puis sélectionnez le composant « Delay » (Image 1) et déposez-le dans la zone de conception (Image 2)
- Dans l'inspecteur d'objets, définissez la valeur de la propriété « Interval » sur « 100 » (Image 2)
- Connectez la broche de sortie « Out » du composant CharToText1 à la broche d'entrée « In » du composant Delay1 (Image 3)
- Connectez la broche de sortie « Out » du composant Delay1 à la broche d'entrée « Clock » de l'élément « Send SMS » du composant GSM1 (Image 4)
Étape 11 : Générez, compilez et téléversez le code Arduino
- Dans Visuino, appuyez sur F9 ou cliquez sur le bouton montré sur Image 1 pour générer le code Arduino et ouvrir l'IDE Arduino
- Dans l'IDE Arduino, cliquez sur le bouton Téléverser pour compiler et téléverser le code (Image 2)
Étape 12 : Et jouez !
Félicitations ! Vous avez terminé le projet.
Image 1 montre le projet connecté et alimenté. Sur Image 2, vous pouvez voir le diagramme Visuino complet. Si vous vous connectez avec un terminal série à l'Arduino, après environ 30 secondes, vous verrez le message « GSM Ready » apparaître (Image 3).
Une fois le message apparu, si vous tapez du texte et cliquez sur « Envoyer » (Image 4), le texte sera envoyé comme message SMS. Si vous avez sélectionné comme numéro de téléphone à l'Étape 8 celui de la carte SIM sur le shield, après un moment vous recevrez le message, et il sera affiché sur le terminal série (Image 5). Si vous avez défini le numéro d'un autre appareil à l'Étape 8, les messages seront envoyés à cet appareil.
Vous pouvez envoyer des messages SMS au numéro de téléphone depuis d'autres téléphones et appareils, et ils seront également affichés dans le terminal série.
Le projet Visuino que j'ai créé pour ce tutoriel est également joint. Vous pouvez le télécharger et l'ouvrir dans Visuino : https://www.visuino.com
F1FP7L0IQS4L35B.zip
Processus de fabrication
- Système de pointage RFID fiable avec Arduino et Python (base de données phpMyAdmin)
- Projet capteur DHT11 température/humidité avec indicateurs LED et buzzer piézo
- Moniteur de Température et Horloge Temps Réel Arduino avec Écran TFT 3.2"
- Contrôlez votre Roomba Create 2 avec Arduino et Android – Guide pas à pas
- Construire un voltmètre DIY avec Arduino et écran Nokia 5110
- Arduino et MPU6050 : Contrôle précis de servo-moteur avec SG90 et MG996R
- Système de surveillance d'incendie forestier en temps réel avec alertes SMS
- Module GPS u-blox LEA‑6H 02 : guide d'intégration Arduino et Python
- Lire température et humidité avec DHT11 sur Blynk – Tutoriel Arduino pas à pas