Cara Mengirim dan Menerima SMS Menggunakan Modem GSM

Coba Instrumen Kami Untuk Menghilangkan Masalah





Pada artikel kali ini kita akan belajar bagaimana cara mengirim dan menerima SMS menggunakan modem GSM yang dikendalikan oleh Arduino. Mari kita lihat, apa itu modem GSM, bagaimana menghubungkannya dengan Arduino, bagaimana mengirim SMS dengan pengaturan.

Kami juga akan mengeksplorasi apa saja aplikasi yang dapat kami capai dengan modem GSM selain mengirim pesan teks oleh manusia.



Apa itu modem GSM?

GSM adalah singkatan dari Sistem Global untuk Komunikasi Seluler, itu adalah standar yang dikembangkan oleh ETSI (Institut Standar Telekomunikasi Eropa) yang menjelaskan protokol untuk komunikasi 2G.

Ini adalah protokol digital pertama untuk komunikasi seluler yang dioptimalkan untuk komunikasi suara dupleks penuh. Singkatnya, komunikasi dupleks penuh berarti kedua belah pihak dapat mengirim / menerima data (atau suara) secara bersamaan.



Protokol GSM juga memungkinkan transfer data paket, seperti GPRS dan EDGE.

Modem GSM SIM800:

Modem GSM adalah perangkat keras yang menerima kartu SIM yang valid (Subscriber Identity Module), pada dasarnya semua SIM akan berfungsi, yang mendukung protokol GSM dan dengan langganan jaringan.

Ini seperti ponsel tanpa Layar dan keypad. Ini memiliki empat pin I / O tergantung pada model yang Anda pilih.

Dua untuk TX dan RX (mengirim dan menerima), dua pin lainnya untuk VCC dan GND, yang umum di semua.

Ini juga terdiri dari port RS232 untuk komunikasi serial antara modem dan komputer, namun kami tidak akan menggunakannya dalam proyek ini.

Ini memiliki colokan listrik DC standar, yang dapat didukung dari sumber daya eksternal seperti adaptor tegangan.

Ini memiliki tegangan kerja mulai dari 5 hingga 12V pada jack DC, tergantung pada modelnya. Ini memiliki 3 indikator LED, untuk daya, status, dan jaringan.

LED daya menunjukkan adanya daya, LED status menunjukkan apakah modem GSM beroperasi atau tidak, LED Jaringan menunjukkan pembentukan jaringan seluler.

Awalnya, LED jaringan berkedip setiap satu detik saat mencari jaringan, setelah menetapkan jaringan seluler, LED akan berkedip setiap 3 detik.

Anda perlu menekan tombol daya selama 2 hingga 3 detik untuk mengaktifkan modem GSM, setelah Anda selesai, itu mengunci ke jaringan seluler.

Untuk memverifikasi bahwa modem GSM Anda berfungsi, panggil saja nomor yang Anda masukkan ke kartu SIM. Anda harus mendapatkan nada dering kembali. Jika ya, maka modul Anda berfungsi dengan baik.

Kami akan menggunakan modem GSM SIM800 yang mendukung quad-band 850/900/1800/1900 MHz. Jika Anda memiliki modem SIM900, tidak perlu khawatir, program dan rangkaiannya kompatibel dalam proyek ini.

Sekarang, Anda akan mendapatkan sedikit gambaran tentang modem GSM, sekarang mari pelajari cara menghubungkannya dengan Arduino.

Diagram Sirkuit:

Seperti yang dapat Anda simpulkan dari diagram, koneksi sirkuit sangat mudah. Anda hanya perlu 3 pin tajuk pria ke wanita. Kabel USB wajib dalam proyek ini, karena kami akan berkomunikasi melalui monitor serial.

Selalu, nyalakan modem GSM dengan adaptor eksternal. Daya dari arduino kurang mencukupi untuk modem GSM bahkan bisa membebani pengatur tegangan arduino tersebut.

Itu semua tentang bagian perangkat keras. Sekarang, mari beralih ke pengkodean.

Program:

//-------------Program developed by R.Girish---------------//
#include
#define rxPin 9 // gsm TX------> arduino 9
#define txPin 8 //gsm RX--------> arduino 8
SoftwareSerial mySerial = SoftwareSerial(rxPin, txPin)
char text[150]
String message=''
int x
void setup()
{
Serial.begin(9600)
while (!Serial){}
mySerial.begin(9600)
delay(1000)
Serial.println('Write your message (with dot at end):')
}
void loop()
{
x=0
while( Serial.available()>0 )
{
text[x] = Serial.read()
message += text[x]
x++
if (text[x-1]==46)
{
Serial.println('Your message is sending......')
SendTextMessage()
ShowSerialData()
delay(1000)
Serial.println('r')
Serial.println('Success')
message=''
x=0
}}}
void SendTextMessage()
{
mySerial.print('AT+CMGF=1r')
delay(1000)
mySerial.print('AT+CMGS='+91xxxxxxxxxx'r') // Replace x with your 10 digit phone number
delay(1000)
mySerial.println(message)
mySerial.print('r')
delay(1000)
mySerial.println((char)26)
mySerial.println()
}
void ShowSerialData()
{
while(mySerial.available()!=0)
Serial.write(mySerial.read())
}
//-------------Program developed by R.Girish---------------//

Jangan lupa titik (.) Di setiap akhir pesan , jika tidak, pesan tidak akan dikirim ke nomor yang ditentukan dalam program. Ganti x dengan 10 nomor telepon digital Anda dalam program ini. Pastikan Anda memiliki paket SMS yang berfungsi di kartu SIM Anda.

Jika Anda bukan dari India, harap ubah kode negara di program.

Sebagai contoh:

Untuk Inggris: +44
Untuk AS: +1
Untuk Kanada: +1
Untuk Rusia: +7

Anda juga dapat mengotomatiskan pesan yang dikirim oleh modem GSM dengan mengkodekan Arduino dengan tepat. Anda dapat menerima peringatan pesan otomatis di ponsel Anda seperti: peringatan anti-pencurian, peringatan kebakaran, peringatan cuaca di area Anda, dll.

Anda bahkan dapat terhubung ke internet dengan GPRS di modem GSM, tetapi itu adalah subjek artikel lain.

Dalam salah satu artikel mendatang kita akan belajar Cara Menerima SMS Menggunakan Modem GSM dan Arduino

Jika Anda memiliki pertanyaan lebih lanjut tentang bagaimana cara mengirim SMS menggunakan Modem GSM, silakan tanyakan di bagian komentar.

Cara Menerima SMS Menggunakan Modem GSM

Pada pembahasan di atas kita belajar cara mengirim pesan teks menggunakan modem GSM dan juga membahas dasar-dasar modem GSM.

Pada bagian ini kita akan membahas tentang cara menerima SMS melalui monitor serial arduino IDE. Kami tidak hanya akan menerima SMS tetapi, juga mengirim pesan teks dengan menekan tombol yang berbeda. Untuk sekejap, menekan 's' akan mengirim pesan teks pra-masukkan, menekan 'r' akan menerima SMS waktu nyata.

Berikut adalah prototipe penulis:

Bagaimana itu bekerja

Rangkaian untuk menerima SMS menggunakan moden GSM ini sangat sederhana, anda hanya membutuhkan 3 buah pin header male to female. TX modem GSM dihubungkan ke pin # 9 dari arduino dan RX dari modem GSM dihubungkan ke pin # 8 dari arduino dan koneksi ground to ground juga diberikan antara GSM dan Arduino.

Selalu gunakan catu daya eksternal untuk modem GSM, jangan hubungkan 5Vcc dari arduino ke modem GSM, karena ada kemungkinan besar terjadi kelebihan beban pada pengatur tegangan arduino.

Jangan lupa untuk menerapkan pemotong tarif SMS atau yang serupa pada langganan SMS Anda untuk mengurangi biaya SMS Anda.

Jika tidak, saldo akun Anda akan kosong setelah mengirim beberapa SMS, karena tidak akan ada pengakuan dari operator seluler Anda setelah setiap SMS yang dikirim, karena kartu SIM ada di modem GSM.

Satu-satunya pengakuan yang Anda dapatkan adalah SMS peringatan, mengenai akun Anda yang kosong, jadi berhati-hatilah dengan pengeluaran Anda. Sekarang mari beralih ke bagian coding proyek ini.

Program:

//-----------------Program developed by R.Girish-------------//
#include
SoftwareSerial gsm(9,8)
void setup()
{
gsm.begin(9600) // Setting the baud rate of GSM Module
Serial.begin(9600) // Setting the baud rate of Serial Monitor (Arduino)
delay(100)
}
void loop()
{
if (Serial.available()>0)
switch(Serial.read())
{
case 's':
Send()
break
case 'r':
Recieve()
break
case 'S':
Send()
break
case 'R':
Recieve()
break
}
if (gsm.available()>0)
Serial.write(gsm.read())
}
void Send()
{
gsm.println('AT+CMGF=1')
delay(1000)
gsm.println('AT+CMGS='+91xxxxxxxxxx'r') // Replace x with mobile number
delay(1000)
gsm.println('Hello I am GSM modem!!!')// The SMS text you want to send
delay(100)
gsm.println((char)26) // ASCII code of CTRL+Z
delay(1000)
}
void Recieve()
{
gsm.println('AT+CNMI=2,2,0,0,0') // AT Command to receive a live SMS
delay(1000)
}
//-----------------Program developed by R.Girish-------------//

Memasukkan Nomor Telepon

Masukkan nomor telepon penerima di 'xxxxxxxxxxx' dalam program dengan kode negara Anda di awal.

Masukkan teks yang ingin Anda kirim ke program dengan tanda kutip: gsm.println ('Hello I am GSM modem !!!') // Teks SMS yang ingin Anda kirim

Kompilasi program dan unggah ke Arduino.

Masukkan kartu SIM dan nyalakan modem GSM dengan catu daya eksternal dan tekan tombol daya selama 3 detik (tergantung model), tunggu 10 hingga 20 detik untuk membuat jaringan seluler, LED jaringan akan berkedip sekali dalam setiap 3 detik. Jika semua yang disebutkan di atas sudah selesai, kami siap untuk melanjutkan ke langkah berikutnya.

Sekarang buka monitor serial dan tekan 'r' modem GSM siap menerima SMS. Sekarang kirim pesan teks dari ponsel manapun ke nomor SIM yang dimasukkan pada modem GSM.
Pesan teks akan muncul di monitor serial, seperti yang diilustrasikan di bawah ini:

'Hello world' adalah pesan yang dikirim ke modem GSM dan nomor pengirim pesan teks juga ditampilkan.

Sekarang, biarkan mengirim SMS ke nomor yang telah dimasukkan sebelumnya dalam program dengan pesan yang telah dimasukkan sebelumnya. Tekan 's' dan Anda akan melihat gambar serupa di bawah ini: SMS yang dikirim adalah 'Halo, saya modem GSM'.

Sekarang Anda sudah tahu cara mengirim dan menerima SMS menggunakan modem GSM.




Sepasang: Sirkuit Pengendali Motor Bluetooth Berikutnya: Cara Mendesain Sirkuit Pemanas Induksi