SMS Senden & Empfangen mit GSM SIM900 Shield für Arduino Mega
Komponenten und Zubehör
| Arduino Mega 2560 | × | 1 |
| Seeed SIM900 GSM/GPRS Shield | × | 1 |
Apps und Online-Dienste
- Visuino – Grafische Entwicklungsumgebung für Arduino
- Arduino IDE
Über dieses Projekt
Ein wesentliches Element von IoT-Projekten ist die Gerätevernetzung. WLAN und Bluetooth sind kostengünstig, funktionieren aber nur auf kurze Distanz oder in Hotspot-Bereichen. Wenn das Gerät an einem abgelegenen Ort betrieben werden soll, ist GSM eine gute und einfach einzurichtende Option.
In diesem Tutorial zeige ich, wie einfach es ist, SMS-Nachrichten über GSM mit Arduino zu senden und zu empfangen. In weiteren Tutorials folgen: Internetverbindung über GSM, Serverzugriff und Sprachanrufe.
Schritt 1: Komponenten
- Ein Arduino Mega (Boards mit 2+ Hardware-Serial-Ports empfohlen. Software Serial möglich, aber Hardware-Serial ist zuverlässiger)
- Ein SIM900 GSM/GPRS Shield (oder kompatibles Modul) mit eingelegter SIM-Karte (ich nutzte Seeed Studio V1.0)
- 2 Male-Female Jumper-Kabel
Schritt 2: GSM Shield mit Arduino verbinden
- Jumper-Caps von den RX/TX-Auswahl-Jumpern des GSM Shields entfernen.
- GSM Shield auf Arduino Mega aufstecken.
- Male-Ende eines orangenen Jumper-Kabels an RX1 (Pin 19) des Arduino Mega anschließen.
- Male-Ende eines braunen Jumper-Kabels an TX1 (Pin 18) des Arduino Mega anschließen.
- Female-Ende des orangenen Kabels (RX1) an den mittleren Pin des RX-Jumpers des GSM Shields stecken.
- Female-Ende des braunen Kabels (TX1) an den mittleren Pin des TX-Jumpers des GSM Shields stecken.
- Fertig verbautes Shield (Bild 5).
Schritt 3: Visuino starten & Arduino-Board wählen
- Arduino IDE (Version 1.6.7 oder höher) installieren: arduino.cc
- Visuino installieren: visuino.com
- Visuino starten → „Tools“-Button beim Arduino-Komponenten-Symbol klicken → „Arduino Mega 2560“ auswählen.
Schritt 4: Serial 1 Geschwindigkeit auf 19200 Baud einstellen
Das GSM Shield ist werkseitig auf 19200 Baud konfiguriert. In Visuino: Object Inspector → Serial → Item[1] → Speed → 19200 auswählen.
Schritt 5: GSM/GPRS Serial Komponente hinzufügen & verbinden
Digital Pin 9 wird für Power On/Off des Moduls genutzt.
- In Visuino Toolbox „gsm“ filtern → „GSM/GPRS Serial“ Komponente in Designbereich ziehen.
- Out von GSM1 → In von Serial[1] (Arduino) verbinden.
- Power von GSM1 → Digital von Digital[9] (Arduino) verbinden.
Schritt 6: Text Value Komponente für „GSM Ready“ Meldung
- „Text Value“ Komponente hinzufügen, Wert auf „GSM Ready“ setzen.
- Ready Ausgang von GSM1 → In von TextValue1 verbinden.
- Out von TextValue1 → In von Serial[0] (USB-Serial) verbinden.
Schritt 7: Short Message Modul & Send SMS Funktion hinzufügen
- GSM1 Komponente wählen → Object Inspector → Modules → „Short Message“ hinzufügen.
- Im Short Message Modul → Functions → „Send SMS“ hinzufügen.
Schritt 8: Send SMS konfigurieren & Empfang an Serial verbinden
- Address Eigenschaft von „Send SMS“: Telefonnummer des Empfängers eingeben (zum Testen die eigene SIM-Nummer).
- Text Eigenschaft: Pin-Button klicken → „String SinkPin“ wählen → neuer „Text“ Input-Pin erscheint.
- MessageInfo Out von GSM1 → In von Serial[0] verbinden (empfangene SMS werden am Serial Monitor angezeigt).
Schritt 9: Char To Text Komponente hinzufügen
Serial empfängt Zeichen einzeln. Zum Senden einer SMS müssen Zeilen zu Text zusammengefügt werden.
- „Char to Text“ Komponente hinzufügen.
- Out von Serial[0] → In von CharToText1.
- Out von CharToText1 → Text Input von „Send SMS“ (GSM1).
Schritt 10: Delay Komponente für sauberen Sendeablauf
- „Delay“ Komponente hinzufügen, Interval = 100 ms.
- Out von CharToText1 → In von Delay1.
- Out von Delay1 → Clock Input von „Send SMS“ (GSM1).
Schritt 11: Arduino-Code generieren, kompilieren & hochladen
- In Visuino: F9 drücken oder Generate-Button → Arduino IDE öffnet sich.
- In Arduino IDE: Upload-Button klicken.
Schritt 12: Loslegen!
Herzlichen Glückwunsch! Projekt abgeschlossen.
- Bild 1: Verbundenes, eingeschaltetes Projekt.
- Bild 2: Komplettes Visuino-Diagramm.
- Nach ca. 30 Sekunden erscheint im Serial Terminal „GSM Ready“.
- Text eingeben, „Send“ klicken → SMS wird versendet. Bei eigener SIM-Nummer als Empfänger: Nachricht wird empfangen und im Terminal angezeigt.
- Eingehende SMS von anderen Geräten werden ebenfalls im Serial Terminal angezeigt.
Visuino-Projektdatei zum Download: F1FP7L0IQS4L35B.zip (in Visuino unter visuino.com öffnen)
Herstellungsprozess
- RFID-Anwesenheitssystem mit Arduino & Python – Daten direkt in phpMyAdmin (XAMPP) speichern
- DHT11 Temperatur- & Feuchtesensor mit LED-Anzeige & Piezo-Summer
- Arduino Temperaturoverwachung & Echtzeituhr mit 3,2″ TFT-Display
- Roomba Create 2 per Arduino & Android steuern – Schritt-für-Schritt
- DIY-Voltmeter mit Arduino und Nokia 5110 Display – Schritt-für-Schritt-Anleitung
- Arduino & MPU6050: Präzise Servomotor-Steuerung mit SG90 & MG996R
- Echtzeit-Waldbrand-Überwachungssystem mit SMS-Alarm
- u-blox LEA-6H 02 GPS-Modul: Arduino & Python Integrationsanleitung
- Temperatur & Luftfeuchte mit DHT11 auf Blynk auslesen – Arduino-Tutorial Schritt für Schritt
- Spracherkennung & Sprachsynthese auf Arduino Due meistern