Serwisy partnerskie:
Close icon
Serwisy partnerskie

Wysyłanie SMS-ów za pomocą Arduino UNO i SIM900

Article Image
Kompletny poradnik, krok po kroku pokazujący jak wysłać SMS z Arduino UNO i SIM900D używając komend AT.
1. Praktyczny Kurs Arduino - przewodnik po artykułach składających się na kurs 2. Czym jest Arduino? 3. Porównanie Arduino z Raspberry Pi 4. Instalacja sterownika Arduino w systemie Windows 5. Generowanie pliku hex w Arduino 6. Jak wgrać bootloader w Atmega328? 7. Rozpoczęcie pracy z oprogramowaniem Arduino 8. Rozpoczęcie programowania w Arduino 9. Programowe resetowanie Arduino 10. Wprowadzenie do Arduino UNO 11. Wprowadzenie do Arduino NANO 12. Wprowadzenie do Arduino Pro Mini 13. Wprowadzenie do Arduino Mega 2560 14. Wprowadzenie do Arduino Due 15. Wprowadzenie do Arduino Lilypad 16. Wprowadzenie do ATmega328 17. Biblioteka Arduino dla Proteusa 18. Projekt płytki drukowanej Arduino UNO dla Proteus ARES 19. Biblioteka Arduino Lilypad dla Proteusa 20. Odczyt z portu szeregowego Arduino 21. Projektowanie układów LCD z Arduino 22. Łączenie klawiatury z Arduino 23. Wartość ADC na LCD przy użyciu Arduino 24. Symulacja czujnika ultradźwiękowego w Proteusie 25. Połączenie czujnika ultradźwiękowego z Arduino 26. Wiele czujników ultradźwiękowych z Arduino 27. Czujnik temperatury 18B20 z Arduino 28. Jak używać 18B20 w Proteus ISIS? 29. Łączenie LM35 z Arduino w Proteusie 30. Współpraca siedmiosegmentowego wyświetlacza z Arduino w Proteusie 31. Łączenie czujnika PIR z Arduino 32. Współpraca czujnika płomienia z Arduino 33. Interfejs NRF24L01 z Arduino 34. NRF24L01+ i Arduino - Response Timed Out 35. Połączenie RFID RC522 z Arduino 36. Komunikacja Bluetooth z Arduino przy użyciu HC05 37. Sterowanie serwomotorem za pomocą Arduino w Proteusie 38. Projekt sterowania sygnalizacją świetlną przy użyciu Arduino 39. Przewijanie tekstu na matrycy LED 8×8 z użyciem Arduino 40. Inteligentny system oszczędzania energii 41. Komunikacja USB pomiędzy Androidem i Arduino 42. Automatyka domowa z użyciem XBee i Arduino 43. Domowy system bezpieczeństwa oparty na GSM 44. Wysyłanie SMS-ów za pomocą Arduino UNO i SIM900 45. Odbieranie SMS-ów za pomocą komend AT przy użyciu Arduino 46. Projekt rozpoznawania głosu przy użyciu EasyVR Shield 47. Rozpoczęcie pracy z programem EasyVR Commander 48. Połączenie EasyVR z Arduino UNO 49. Błąd szkolenia - niepowodzenie rozpoznawania w EasyVR 50. Połączenie XBee z komputerem 51. Wprowadzenie do modułu XBee 52. Interfejs XBee z Arduino 53. Rozpoczęcie pracy z kamerą Pixy 54. Jak zainstalować oprogramowanie kamery Pixy - PixyMon 55. Aktualizacja firmware kamery Pixy do najnowszej wersji 56. Jak wytrenować kamerę Pixy za pomocą komputera 57. Sterowanie kierunkiem obrotu silnika prądu stałego za pomocą Arduino 58. Sterowanie prędkością obrotów silnika prądu stałego za pomocą Arduino 59. Sterowanie kierunkiem obrotu silnika krokowego za pomocą Arduino 60. Sterowanie prędkością obrotów silnika krokowego za pomocą Arduino 61. Pobieranie danych z serwera internetowego za pomocą Arduino Wi-Fi 62. Wprowadzenie do Arduino YUN 63. Dostęp do serwera Linux Arduino YUN za pomocą Putty
Rozwiń cały spis treści Zwiń spis treści

Dzisiejszy post, jak sama nazwa wskazuje, jest o tym, jak wysłać SMS używając Arduino UNO i SIM900D za pomocą komend AT. Istnieją różne rodzaje modułów SIM900D dostępnych na rynku, więc nie ma znaczenia, którego modułu użyjemy.

Wszystkie moduły SIM900D działają w zasadzie na komendy AT, więc dzisiaj pokażę jak wysłać SMS za pomocą komend AT bez użycia żadnej biblioteki Arduino. Powinieneś najpierw przeczytać instrukcję komend AT, która da ci pojęcie o tychże komendach. Komendy AT to specjalne zestawy komend, które służą do komunikacji z modułem SIM900. Używając tych komend AT pozwalamy naszemu GSM pracować za nas. Jeśli chcemy wysłać SMS, to jest na to konkretna komenda AT, służąca do wysyłania tego typu wiadomości. Podobnie jeśli chcemy zmienić kod PIN dla modułu GSM, na co mamy inną komendę AT. Tak więc, istnieje wiele dostępnych komend AT. Możemy połączyć masz moduł GSM z dowolnym mikrokontrolerem takim jak PIC Microcontroller lub 8051 Microcontroller, ale tutaj połączyłem go z płytką Arduino. Powinniśmy również sprawdzić Jak wysłać SMS z pomocą mikrokontrolera PIC jeśli chcemy użyć mikrokontrolera PIC zamiast płytki Arduino.

Trzeba również sprawdzić Bibliotekę GSM dla Proteusa. Używając tej biblioteki można łatwo symulować nasz moduł GSM w Proteus ISIS. Ponadto, proszę również zajrzeć na stronę Wysyłaj SMS z Sim900D w Proteus ISIS, w którym zaprojektowałem symulację wysyłania SMS w Proteus ISIS.

Uwaga: Zamieściłem również informację o tym, jak Odbierać SMSy za pomocą komend AT przy użyciu SIM900 i Arduino. Jeśli pracujemy na mikrokontrolerze PIC to powinniśmy przeczytać jak Odbierać SMSy z SIM900 i mikrokontrolerem PIC.

Połączenie Arduino UNO z SIM900D

W pierwszej kolejności należy połączyć Arduino UNO z modułem SIM900D, co nie jest zbyt trudne. Jeśli mamy moduł w ręku, to pierwsze co trzeba zrobić, to podłączyć go do prądu i poczekać, aż moduł się połączy.

Zazwyczaj na module SIM900D umieszczony jest LED, który ciągle miga. Jeśli miga szybko, oznacza to, że moduł nie przechwycił jeszcze sygnału. Gdy moduł przechwyci sygnał, LED nadal miga, ale z mniejszą częstotliwością.

Teraz należy znaleźć piny TX i RX modułu SIM900D i połączyć TX modułu z RX Arduino UNO, który jest pinem #0 i analogicznie RX modułu z TX Arduino UNO, który jest pinem #1.

Moduł, którego użyłem do mojego projektu jest pokazany na poniższym rysunku, z oznaczonymi konfiguracjami pinów.

Jeszcze jedna rzecz wymieniona na powyższym rysunku to pKey – należy połączyć go z masą.

Gdy połączenia są już gotowe, wgrywamy poniższy szkic do naszego Arduino UNO i zaczynamy wysyłać wiadomości.

    void setup()
    {
    Serial.begin(9600);
    }
    void loop()
    {
    delay(1200);
    Serial.print("AT");
    delay(1200);
    bool bOK = false;
    while (Serial.available() > 0)
    {
    char inChar = (char)Serial.read();
    bOK = true;
    }

    if(bOK)
    {
    index = 0;
    Serial.println();
    Serial.println("AT+CMGF=1"); // sets the SMS mode to text
    delay(100);
    delay(1200);
    bool bOK = false;
    while (Serial.available() > 0) {
    //Serial.write(Serial.read());
    char inChar = (char)Serial.read();
    bOK = true;
    }
    if(bOK)
    {
    Serial.println();
    Serial.print("AT+CMGS=""); // wyślij numer SMS
    Serial.print("+923004772379");
    Serial.println(""");
    delay(1000);
    Serial.print("Nowy post został utworzony przez Zain."); // Treść SMS

    delay(500);

    Serial.write(0x1A);
    Serial.write(0x0D);
    Serial.write(0x0A);

    }
    }
    }

Należy zamienić numer telefonu komórkowego z numerem, na który chcemy wysłać SMS. Ja wpisałem swój.

Należy również zmienić treść SMS i można napisać wszystko, co chce się wysłać jako SMS.

Do wysłania wiadomości SMS wymagane są komendy AT. Dodałem komentarze przed tymi komendami, ale nadal jeśli pojawią się jakieś problemy, zachęcam do pytania w komentarzach.

To wszystko na dzisiaj, w następnym poście, przyjrzymy się jak odbierać SMSy z SIM900 i Arduino.

Wykaz elementów
Ilość
Symbol
Nazwa/opis/gdzie kupić

Artykuł Send SMS with Arduino UNO and SIM900D opracowano w wersji polskiej na podstawie współpracy z portalem www.theengineeringprojects.com.

1. Praktyczny Kurs Arduino - przewodnik po artykułach składających się na kurs 2. Czym jest Arduino? 3. Porównanie Arduino z Raspberry Pi 4. Instalacja sterownika Arduino w systemie Windows 5. Generowanie pliku hex w Arduino 6. Jak wgrać bootloader w Atmega328? 7. Rozpoczęcie pracy z oprogramowaniem Arduino 8. Rozpoczęcie programowania w Arduino 9. Programowe resetowanie Arduino 10. Wprowadzenie do Arduino UNO 11. Wprowadzenie do Arduino NANO 12. Wprowadzenie do Arduino Pro Mini 13. Wprowadzenie do Arduino Mega 2560 14. Wprowadzenie do Arduino Due 15. Wprowadzenie do Arduino Lilypad 16. Wprowadzenie do ATmega328 17. Biblioteka Arduino dla Proteusa 18. Projekt płytki drukowanej Arduino UNO dla Proteus ARES 19. Biblioteka Arduino Lilypad dla Proteusa 20. Odczyt z portu szeregowego Arduino 21. Projektowanie układów LCD z Arduino 22. Łączenie klawiatury z Arduino 23. Wartość ADC na LCD przy użyciu Arduino 24. Symulacja czujnika ultradźwiękowego w Proteusie 25. Połączenie czujnika ultradźwiękowego z Arduino 26. Wiele czujników ultradźwiękowych z Arduino 27. Czujnik temperatury 18B20 z Arduino 28. Jak używać 18B20 w Proteus ISIS? 29. Łączenie LM35 z Arduino w Proteusie 30. Współpraca siedmiosegmentowego wyświetlacza z Arduino w Proteusie 31. Łączenie czujnika PIR z Arduino 32. Współpraca czujnika płomienia z Arduino 33. Interfejs NRF24L01 z Arduino 34. NRF24L01+ i Arduino - Response Timed Out 35. Połączenie RFID RC522 z Arduino 36. Komunikacja Bluetooth z Arduino przy użyciu HC05 37. Sterowanie serwomotorem za pomocą Arduino w Proteusie 38. Projekt sterowania sygnalizacją świetlną przy użyciu Arduino 39. Przewijanie tekstu na matrycy LED 8×8 z użyciem Arduino 40. Inteligentny system oszczędzania energii 41. Komunikacja USB pomiędzy Androidem i Arduino 42. Automatyka domowa z użyciem XBee i Arduino 43. Domowy system bezpieczeństwa oparty na GSM 44. Wysyłanie SMS-ów za pomocą Arduino UNO i SIM900 45. Odbieranie SMS-ów za pomocą komend AT przy użyciu Arduino 46. Projekt rozpoznawania głosu przy użyciu EasyVR Shield 47. Rozpoczęcie pracy z programem EasyVR Commander 48. Połączenie EasyVR z Arduino UNO 49. Błąd szkolenia - niepowodzenie rozpoznawania w EasyVR 50. Połączenie XBee z komputerem 51. Wprowadzenie do modułu XBee 52. Interfejs XBee z Arduino 53. Rozpoczęcie pracy z kamerą Pixy 54. Jak zainstalować oprogramowanie kamery Pixy - PixyMon 55. Aktualizacja firmware kamery Pixy do najnowszej wersji 56. Jak wytrenować kamerę Pixy za pomocą komputera 57. Sterowanie kierunkiem obrotu silnika prądu stałego za pomocą Arduino 58. Sterowanie prędkością obrotów silnika prądu stałego za pomocą Arduino 59. Sterowanie kierunkiem obrotu silnika krokowego za pomocą Arduino 60. Sterowanie prędkością obrotów silnika krokowego za pomocą Arduino 61. Pobieranie danych z serwera internetowego za pomocą Arduino Wi-Fi 62. Wprowadzenie do Arduino YUN 63. Dostęp do serwera Linux Arduino YUN za pomocą Putty
Rozwiń cały spis treści Zwiń spis treści
Firma:
Tematyka materiału: Kurs Arduino, pierwsze kroki, Projekty Arduino, SIM900D, 2.4GHz, Symulator Arduino Proteus
AUTOR
Źródło
www.theengineeringprojects.com
Udostępnij
Zobacz wszystkie quizy
Quiz weekendowy
Edukacja
1/10 Jak działa rezystor LDR?
Oceń najnowsze wydanie EdW
Wypełnij ankietę i odbierz prezent
UK Logo
Elektronika dla Wszystkich
Zapisując się na nasz newsletter możesz otrzymać GRATIS
najnowsze e-wydanie magazynu "Elektronika dla Wszystkich"