Contrôleur SMS basé sur SIM800L

Pin
Send
Share
Send


SIM800L V2.0 GSM / GPRS est un module GSM / GPRS quadribande compatible avec Arduino. Le module est utilisé pour implémenter les fonctions de GSM (appels et SMS) et GPRS. L'avantage de ce module est l'interface TTL avec une tension de 5V, ce qui vous permet de le connecter directement à un système Arduino ou à tout autre système avec une alimentation de 5V. La plupart des modules GSM / GPRS sur le marché nécessitent des connexions de régulateur ou une conversion de niveau, tandis que dans SIM800L V.2, GSM / GPRS ne nécessite pas de circuits de conversion de niveau d'interface supplémentaires.
Voici un exemple de projet utilisant SIM800L V.2 GSM / GPRS. Le projet a pour but de contrôler les commutateurs à l'aide du contrôleur SMS. Vous pouvez facilement allumer et éteindre la plupart des appareils ménagers de la maison, tels qu'un lama, un ventilateur, etc.

Caractéristiques du module SIM800L V.2 GSM / GPRS


Vous trouverez ci-dessous toutes les spécifications techniques du module SIM800L V.2 GSM / GPRS:
  • Interface série TTL compatible avec les microcontrôleurs 3,3V et 5V compatibles avec Arduino.
  • Le module SIM800L possède une interface série TTL.
  • Prise d'antenne
  • Prise en charge réseau: quatre bandes 850/900/1800/1900 MHz, capable de passer des appels, d'envoyer des SMS et de transférer des données avec une consommation de batterie considérablement réduite.
  • Interface VDD TTL UART, vous permettant ainsi de connecter directement un MCU tel que 51MCU, ARM ou MSP430. Prise VDD utilisée pour correspondre à la tension TTL.
  • Modèle: SIMCOM SIM800L
  • Tension de travail: de 3,7V à 5V;
  • dimensions: 40mm x 28mm x 3mm
  • GPRS multislot classe 12/10
  • Service de traitement par lots GPRS, classe B
  • Correspond à la phase GSM 2/2 +
  • Classe 4 (2 Watts @ 850/900 MHz)
  • Classe 1 (1 Wat @ 1800/1900 MHz)

Matériel requis


Vous aurez besoin de:


1. Module SIM800L V.2 GSM / GPRS.
2. Arduino Uno.
3. Module de relais 4 volts à 5 canaux.
4. Fils - cavaliers.
5. Alimentation 5 V.
(Liens actifs vers le magasin pour achat)

Assemblage et configuration


Une fois que vous avez connecté tous les composants, créez un programme, puis téléchargez-le sur votre Arduino. Mais d’abord, vous devez installer la bibliothèque GPRS, que vous pouvez télécharger:
gprs.zip 28.02 Kb (téléchargements: 509)

Code de programme pour Arduino


Après avoir connecté votre SIM800L, module de relais à 4 canaux et Arduino à votre ordinateur, entrez le code ci-dessous et vous avez terminé.
#include #include #define TIMEOUT 5000 #define ACTIVE LOW #define OFF Octet de poids élevé Relay = {A0, A1, A2, A3}; octet StatRelay4; char buffNumber20; char currentLine500 = ""; int currentLineIndex = 0; bool nextLineIsMessage = false; String replyNumber = "089510863958"; GPRS GPRS; void setup () {for (int i = 0; i >> Lire automatiquement les SMS "); gprs.preInit (); delay (1000); while (0! = gprs.init ()) {delay (1000); Série .print ("init errorrn");} // Gérer le message en mode ASCII si (0! = gprs.sendCmdAndWaitForResp ("AT + CMGF = 1rn", "OK", TIMEOUT)) {ERROR ("ERROR: CNMI") ; return;} // Lire les SMS entrants si (0! = gprs.sendCmdAndWaitForResp ("AT + CNMI = 1,2,0,0,0rr", "OK", TIMEOUT)) {ERROR ("ERROR: CNMI") ; return;} int pjg = replyNumber.length () + 1; buffNumberpjg; replyNumber.toCharArray (buffNumber, pjg); Serial.print ("Envoi de réponse à number =>"); Serial.println (buffNumber); Serial.println ("Initialization Done"); Serial.println ("====================================== =======================))} void loop () {// Change le statut du relais ON / OFF pour (int i = 0; i 0) {if (nextLineIsMessage) {Serial.println (lastLine); // ================================== ============================ >> Fonction du contrôleur de relais // Contrôleur de relais 1 if (lastLine.indexOf ("Relais 1 ON ")> = 0) {StatRelay0 = AKTIF; Serial.print ("Reply ==== >>>>"); Serial.println ("Statut du relais 1 actif"); gprs.sendSMS (buffNumber, "Statut du relais 1 actif"); } else if (lastLine.indexOf ("Relais 1 désactivé")> = 0) {StatRelay0 = MATI; Serial.print ("Reply ==== >>>>"); Serial.println ("Statut du relais 1 désactivé"); gprs.sendSMS (buffNumber, "Statut du relais 1 désactivé"); } // Contrôleur de relais 2 si (lastLine.indexOf ("Relais 2 activé")> = 0) {StatRelay1 = AKTIF; Serial.print ("Reply ==== >>>>"); Serial.println ("Statut du relais 2 actif"); gprs.sendSMS (buffNumber, "Statut du relais 2 actif"); } else if (lastLine.indexOf ("Relais 2 OFF")> = 0) {StatRelay1 = MATI; Serial.print ("Reply ==== >>>>"); Serial.println ("Etat du relais 2 désactivé"); gprs.sendSMS (buffNumber, "Statut du relais 2 désactivé"); } // Contrôleur du relais 3 si (lastLine.indexOf ("Relais 3 sur")>> 0) {StatRelay2 = AKTIF; Serial.print ("Reply ==== >>>>"); Serial.println ("Statut du relais 3 actif"); gprs.sendSMS (buffNumber, "Statut du relais 3 actif"); } else if (lastLine.indexOf ("Relais 3 désactivé")> = 0) {StatRelay2 = MATI; Serial.print ("Reply ==== >>>>"); Serial.println ("Statut du relais 3 désactivé"); gprs.sendSMS (buffNumber, "Statut du relais 3 désactivé"); } // Contrôleur du relais 4 si (lastLine.indexOf ("Relais 4 ON")> = 0) {StatRelay3 = AKTIF; Serial.print ("Reply ==== >>>>"); Serial.println ("Statut du relais 4 actif"); gprs.sendSMS (buffNumber, "Statut du relais 1 actif"); } else if (lastLine.indexOf ("Relais 4 OFF")> = 0) {StatRelay3 = MATI; Serial.print ("Reply ==== >>>>"); Serial.println ("Statut du relais 4 désactivé"); gprs.sendSMS (buffNumber, "Statut du relais 4 désactivé"); } nextLineIsMessage = false; } // ============================================= ================== >>} // Efface le tableau de caractères pour la ligne suivante de lecture pour (int i = 0; i <sizeof (currentLine); ++ i) {currentLinei = (char) 0; } currentLineIndex = 0; } else {currentLinecurcurrentLineIndex ++ = lastCharRead; }}}

Vérification de l'appareil


L'outil fonctionne en envoyant des SMS à SIM800L avec une séquence de caractères spécifique. Par exemple, pour activer le relais 1, utilisez la commande "Relais 1 ON" et pour le désactiver, utilisez la commande "Relais 1 OFF". Les autres relais ont presque les mêmes commandes, à l'exception du numéro de série de chaque relais sur lequel vous souhaitez agir. Après l'envoi automatique d'un message, le SIM800 envoie une réponse sous la forme d'un message d'état pour chaque carte SIM.

Assemblage vidéo, configuration et vérification du périphérique



Article original en anglais

Pin
Send
Share
Send