Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Sms-berichten verzenden en ontvangen met GSM SIM900 Shield

Componenten en benodigdheden

Arduino Mega 2560
× 1
Seeed SIM900 gebaseerd GSM/GPRS Shield
× 1

Apps en online services

Visuino - Grafische ontwikkelomgeving voor Arduino
Arduino IDE

Over dit project

Een van de essentiële elementen van het bouwen van IoT project is de mogelijkheid om apparaten aan te sluiten. Wi-Fi en Bluetooth zijn goede goedkope keuzes, maar ze werken alleen op korte afstand of in hotspot-gebieden. Wanneer het apparaat zich op een externe locatie moet bevinden GSM is een goede en gemakkelijk in te stellen optie.

In deze zelfstudie laat ik je zien hoe gemakkelijk het is om SMS te verzenden en te ontvangen berichten via GSM met Arduino .

In de volgende zelfstudies laat ik je ook zien hoe je verbinding kunt maken via GSM naar internet en toegangsservers, en hoe u spraakoproepen kunt afhandelen.

Stap 1:Componenten

  • Eén Arduino Mega (Je kunt andere boards gebruiken, maar het is het beste om een ​​board te gebruiken met 2 of meer seriële poorten. Het project kan worden aangepast om Software Serial te gebruiken, maar het gebruik van een hardware-serieel wordt aanbevolen)
  • Eén SIM900-gebaseerd GSM-schild of compatibel schild of module met geïnstalleerde simkaart (Afbeelding 2 ) (Ik heb een GSM/GPRS-schild van versie 1.0 van Seeed Studio gebruikt)
  • 2 Vrouw-Man jumperdraden
GPRS_Shield_V1.0

Stap 2:Verbind het GSM-schild met Arduino

  • Verwijderen de jumperpetten van het GSM-schild 's RX en TX selectiejumpers (Afbeelding 1 )
  • Steek de GSM Shield op de top van de Arduino Mega
  • Verbind het mannelijke uiteinde van een Man-Vrouw jumperdraad (Oranje draad ) naar de RX1 Pin van de Arduino Mega (Afbeeldingen 2 en 3 )
  • Verbind het mannelijke uiteinde van een Man-Vrouw jumperdraad (Bruine draad ) naar de TX1 Pin van de Arduino Mega (Afbeeldingen 2 en 3 )
  • Verbind het vrouwelijke uiteinde van de RX1 draad (Oranje draad ) naar de pin in het midden van de RX Selectie Jumper van het GSM-schild (Afbeelding 4 )
  • Verbind het vrouwelijke uiteinde van de TX1 draad (Bruine draad ) naar de pin in het midden van de TX-selectiejumper van het GSM-schild (Afbeelding 4 )
  • Afbeelding 5 toont het geïnstalleerde en verbonden GSM Shield

Stap 3:Start Visuino en selecteer het Arduino-bordtype

Om te beginnen met het programmeren van de Arduino, heb je de Arduino IDE . nodig geïnstalleerd vanaf hier:http://www.arduino.cc/ .

Zorg ervoor dat je 1.6.7 hoger installeert, anders werkt deze tutorial niet!

De Visuino :https://www.visuino.com moet ook worden geïnstalleerd.

  • Start Visuino zoals op de eerste foto
  • Klik op de "Extra " knop op de Arduino-component (Afbeelding 1 ) in Visuino
  • Wanneer het dialoogvenster verschijnt, selecteert u "Arduino Mega 2560 " zoals weergegeven in Afbeelding 2

Stap 4:In Visuino:stel de snelheid van het serie 1-kanaal in op 19200

Het GSM-schild is standaard geconfigureerd voor de snelheid van de seriële 19200-poort. We moeten seriële poort 1 configureren voor deze snelheid:

  • Klap in de Object Inspector de "Serial . uit " eigendom, dan de "Item[ 1 ] " Sub-eigenschap, en selecteer de "Snelheid " Sub-eigendom (Afbeelding 1 )
  • Klik in de Object Inspector op de "Pijl omlaag " naast de waarde van de "Snelheid " Sub-eigendom (Afbeelding 1 )
  • Van de Vervolgkeuzelijst lijst selecteer de "19200 " (Afbeelding 2 ), om de eigenschapswaarde te wijzigen (Afbeelding 3 )

Stap 5:In Visuino:GSM/GPRS seriële component toevoegen en verbinden

We moeten een component toevoegen om de GSM-module te bedienen. De module wordt bestuurd via het seriële kanaal, dus we moeten hem aansluiten. Digitale pin 9 wordt gebruikt om Aan/Uit . aan te zetten de module:

  • Typ "gsm " in het filtervak ​​van de Component Toolbox en selecteer vervolgens de "GSM/GPRS-serieel " component (Afbeelding 1 ), en zet het neer in het ontwerpgebied (Afbeelding 2 )
  • Sluit de "Out . aan " uitgangspin van de GSM1 component naar de "In " invoerpin van de "Serial[ 1 ] " kanaal van de Arduino component (Afbeelding 2 )
  • Sluit de "Power . aan " uitgangspin van de GSM1 component naar de "Digitale " invoerpin van de "Digitale[ 9 ] " kanaal van de Arduino component (Afbeelding 3 ). Deze pin wordt Aan/Uit de kracht van de GSM-module

Stap 6:In Visuino:component Tekstwaarde toevoegen, instellen en verbinden

Het duurt even voordat de GMS-module is geïnitialiseerd. Het is fijn als we een indicatie hebben dat de module klaar is. Hiervoor sturen we "GSM Ready" tekst naar de seriële poort wanneer de module gereed is:

  • Typ "tekst waarde " in het vak Filter van de Component Toolbox en selecteer vervolgens de "Tekstwaarde " component (Afbeelding 1 ), en zet het neer in het ontwerpgebied (Afbeelding 2 )
  • Stel in de Object Inspector de waarde van de "Waarde . in " eigendom naar "GSM Ready " (Afbeelding 2 )
  • Verbind de "Klaar " uitgangspin van de GSM1 component naar de "In " invoerpin van de TextValue1 component (Afbeelding 3 )
  • Sluit de "Out . aan " uitvoerpin van de TextValue1 component naar de "In " invoerpin van de "Serial[ 0 ] " kanaal van de Arduino component (Afbeelding 4 )

Stap 7:In Visuino:voeg een kort berichtelement toe aan de GSM-component en verzend vervolgens de berichtfunctie naar het element

De GSM-component bestaat uit vele modules die verschillende taken uitvoeren. Omdat we alleen sms zullen gebruiken, hoeven we alleen de module "Short Message" toe te voegen en er een functie "SMS verzenden" aan toe te voegen:

  • Selecteer in het ontwerpgebied de GSM1 component (Afbeelding 1 )
  • Klik in de Object Inspector op de "... " knop naast de waarde van de "Module " eigendom van de GSM1 component (Afbeelding 1 )
  • Selecteer in de module-editor "Kort bericht ”, en klik vervolgens op de knop "" (Afbeelding 2 ) om er een toe te voegen (Afbeelding 3 )
  • Klik in de Object Inspector op de "... " knop naast de waarde van de "Functies " eigenschap van de "Korte Bericht " module (Afbeelding 3 )
  • Selecteer in de Functie-editor "SMS verzenden ”, en klik vervolgens op de knop "" (Afbeelding 2 ) om er een toe te voegen

Stap 8:In Visuino:Configureer de functie SMS verzenden en verbind de ontvangen berichtinformatie met de seriële

  • Stel in de Object Inspector de waarde van het "Adres . in " eigenschap van de "SMS verzenden " element toe aan het telefoonnummer waar je het bericht naartoe wilt sturen (in mijn geval heb ik om te testen het nummer van mijn simkaart ingevoerd zodat de module de berichten die het verzendt zal ontvangen en afdrukken) (Afbeelding 1 - laat een verzonnen nummer zien)
  • Selecteer in de Object Inspector de "Tekst " eigendom (Afbeelding 2 )
  • Klik op de "Pin ." " knop voor de "Tekst " eigendom (Afbeelding 2 )
  • Van de Vervolgkeuzelijst lijst, selecteer de "String SinkPin " (Afbeelding 3 ). Hiermee wordt nieuwe "Tekst . toegevoegd " pin naar de "Sms verzenden " functie (Afbeelding 4 )
  • Sluit de dialoogvensters van de Element-editor (Afbeelding 4 )
  • Sluit de "Out . aan " uitvoerpin van de "MessageInfo " blok van de GSM1 component naar de "In " invoerpin van de "Serial[ 0 ] " kanaal van de Arduino component (Afbeelding 4 )

Stap 9:In Visuino:Char To Text-component toevoegen en verbinden

De seriële poort ontvangt één teken tegelijk. Om een ​​sms-bericht te verzenden, moeten we alle tekens uit een regel halen, er een tekst van maken en deze naar de GSM-module sturen:

  • Typ "char " in het vak Filter van de Component Toolbox en selecteer vervolgens de "Teken naar tekst " component (Afbeelding 1 ), en zet het neer in het ontwerpgebied (Afbeelding 2 )
  • Sluit de "Out . aan " output pin van de "Serial[ 0 ] " kanaal van de Arduino component naar de "In " invoerpin van de CharToText1 component (Afbeelding 2 )
  • Sluit de "Out . aan " uitvoerpin van de CharToText1 component naar de "Tekst " invoerpin van de "SMS verzenden " element van de GSM1 component (Afbeelding 3 )

Stap 10:In Visuino:Vertragingscomponent toevoegen, instellen en verbinden

We moeten ervoor zorgen dat we de sms verzenden nadat de tekst correct is bijgewerkt. We kunnen daarvoor een vertragingscomponent met korte vertraging gebruiken:

  • Typ "vertraging " in het vak Filter van de Component Toolbox en selecteer vervolgens de "Vertraging " component (Afbeelding 1 ), en zet het neer in het ontwerpgebied (Afbeelding 2 )
  • Stel in de Object Inspector de waarde van het "Interval . in " eigendom naar "100 " (Afbeelding 2 )
  • Sluit de "Out . aan " uitvoerpin van de CharToText1 component naar de "In " invoerpin van de Delay1 component (Afbeelding 3 )
  • Sluit de "Out . aan " output pin van de Delay1 component naar de "Klok " invoerpin van de "SMS verzenden " element van de GSM1 component (Afbeelding 4 )

Stap 11:Genereer, compileer en upload de Arduino-code

  • In Visuino , Druk op F9 of klik op de knop die wordt weergegeven op Afbeelding 1 om de Arduino-code te genereren en de Arduino IDE te openen
  • In de Arduino IDE , klik op de Uploaden knop, om de code te compileren en te uploaden (Afbeelding 2 )

Stap 12:En speel...

Gefeliciteerd! Je hebt het project voltooid.

Afbeelding 1 toont het aangesloten en ingeschakelde project. Op Afbeelding 2 je kunt de volledige Visuino . zien diagram. Als u verbinding maakt met Serial Terminal met de Arduino, ziet u na ongeveer 30 seconden het bericht "GSM Ready " verschijnt (Afbeelding 3 )

Zodra het bericht verschijnt, typt u wat tekst en klikt u op "Verzenden " (Afbeelding 4 ), wordt de tekst als sms-bericht verzonden. Als je hebt gekozen als telefoonnummer op Stap 8 naar de telefoon van de simkaart op het schild, na een tijdje ontvangt u het bericht en wordt het weergegeven op de seriële terminal (Afbeelding 5 ). Als je het nummer van een ander apparaat hebt ingesteld op Stap 8 , worden de berichten naar dat apparaat verzonden.

U kunt vanaf andere telefoons en apparaten SMS-berichten naar het telefoonnummer sturen, en deze worden ook weergegeven in de seriële terminal.

Ook bijgevoegd is de Visuino project, dat ik voor deze zelfstudie heb gemaakt. Je kunt het downloaden en openen in Visuino :https://www.visuino.com

F1FP7L0IQS4L35B.zip


Productieproces

  1. Aanwezigheidssysteem met Arduino en RFID met Python
  2. DHT11-sensor met LED's en een piëzo-luidspreker
  3. Arduino Temp. Monitor en realtimeklok met 3.2-weergave
  4. Een Roomba-robot besturen met Arduino en Android-apparaat
  5. DIY voltmeter met Arduino en een Nokia 5110-display
  6. Besturing van servomotor met Arduino en MPU6050
  7. Bosbrandbewakings- en detectiesysteem (met sms-waarschuwingen)
  8. u-blox LEA-6H 02 GPS-module met Arduino en Python
  9. De temperatuur en vochtigheid op Blynk aflezen met DHT11
  10. Spraakherkenning en synthese met Arduino
  11. 4x4x4 LED-kubus met Arduino Uno en 1sheeld