Mengirim dan Menerima SMS Menggunakan Mikrokontroler
Sebagai Media Penjaga Rumah (scurity system)
SMS adalah layanan yang boleh dibilang paling populer bagi pengguna telepon genggam/HP meskipun sekarang teknologi mobile phone sudah berkembang pesat dan berganti nama serta berganti zaman menjadi smart phone tetapi kebanyakan orang masih memilih sms sebagai media komunikasi yang tepat untuk mereka. Dulu mungkin kita hanya bisa mengirim dan menerima sms menggunakan HP, meskipun bisa saja menggunakan media lain seperti komputer PC. Tinggal sambungkan HP ke komputer dan download aplikasinya maka kita sudah dapat menerima/mengirim sms menggunakan komputer.
Tetapi yang saya bahas sekarang adalah mengirim sms mengunakan mikrokontroler. Kenapa harus mikrokontroler? jawabanya simple saja karena mikrokontroler bentuknya kecil tetapi dengan kemampuan dan hampir sama dengan komputer, mungkin yang membedakan adalah dalam hal kapasitas dan kecepatan dalam bekerja. Aplikasi ini bisa dimanfaatkan dibanyak bidang, mulai dari monitoring, poling, sms getway dan lain-lain.
Baiklah langsung saja, pertama peralatan yang kita butuhkan adalah pertama mikrokontroler yang sudah dilengkapi dengan perangkat komunikasi serial. Dan yang tidak kalah penting lagi adalah modem GSM yang mendukung komunikasi serial (AT-COMMAND). Saya menggunakan modem GSM dengan merek weavcom fastrac seperti terlihat pada gambar dibawah.
Berikut adalah contoh design board mikrokontroler yang saya gunakan, menggunakan mikrokontroler AVR mega 16 dilengkapi dengan 8 buah relay dengan tampilan LCD 2x16 dan beberapa pin input yang bisa dimanfaatkan untuk input sensor dan juga input tegangan (ADC).
Modem menggunakan modem WEAVCOM (serial)
Dengan sistem ini kita dapat mengendalikan peralatan listrik (lampu/alarm/dll) dari jarak jauh cukup dengan cara sms saja, selain itu juga dapat berfungsi sebagai "penjaga keamanan" yang siap menginformasikan kepada kita apapun yang terjadi pada rumah kita baik dengan cara sms atau melakukan panggilan ke nomer hp pribadi kita.
Baiklah tiba saatnya kita bahas bagaimana caranya supaya mikrokontroler ini dapat bekerja seperti yang kita inginkan, yaitu membaca sms dari modem untuk kemudian mengerjakan perintah sesuai dengan isi sms dan juga mengirim sms kepada no hp kita baik secara berkala ataupun saat terjadi peristiwa tertentu. Untuk dapat bekerja seperti itu tentunya mikrokontroler tersebut harus kita "ajari" dan kita training, caranya adalah dengan cara memberi program atau perintah-perintah dalam bahasa mesin. Banyak bahasa pemrograman yang dapat digunakan mulai dari assembly kemudian C dan juga BASCOM, dalam kesempatan ini saya menggunakan bahasa C dengan compiler dan editor programnya menggunakan CodeVision AVR. Berikut contoh rutin program untuk memerintahkan mikrokontroler mengirim sms:
send_sms();
{
printf("AT+CMGS=");
printf("08572503xxxx\r\n"); // ini nomer hp yang dituju
delay_ms(500);
printf("Mengirim sms menggunakan mikrokontroler oleh microvision-jogja"); // ini isi sms
putchar(26);
printf("\r\n");
delay_ms(500);
}
Perintah diatas akan memerintahkan mikrokontroler untuk mengirim sms dengan isi pesan "Mengirim sms menggunakan mikrokontroler oleh microvision-jogja" ke no HP 08572503xxxx. Kemudian berikut adalah potongan perintah untuk membaca sms yang masuk:
while(cek[a]!=0x0A);
if(cek[1]=='C' && cek[2]=='E' && cek[3]=='K') // jika isi sms CEK
{
lcd_clear();lcd_gotoxy(0,1);lcd_putsf(" Ceking........ ");
delay_ms(100);
printf("AT+CMGD=1");
putchar(0x0D);
while(getchar()!='K'){};
while(getchar()!=0x0A){};
printf("AT+CMGD=2");
putchar(0x0D);
while(getchar()!='K'){};
while(getchar()!=0x0A){};
delay_ms(10);
//------------------
printf("AT+CMGF=1");
putchar(0x0D);
while(getchar()!= 'K'){};
while(getchar()!=0x0A){};
delay_ms(10);
cek_status(); // perintah yang dikerjakan jika ada sms dengan isi CEK
}
Link download modul AT-COMMAND dengan modem weavcom: download dan link ini.
25 Comments
maaf bang yang line merah itu jumper bukan?, maaf bang klo boleh mnta skema pcb layout sma source programnya buat tugas kuliah, terima kasih sebalumnya.
ReplyDeleteitu yang line merah jumper bang,? maaf bang kalo boleh mnta pcb layout sama source programya, buat tugas kuliah. terima kasih sebelumnya.
ReplyDeleteSilahkan Tinggalkan email.....
Deleteaku juga minta programnya donk pak
Deletepak minta sourcecodenya donk .. please ....!
ReplyDeletetriagus.smkn3tbn029@gmail.com
pak minta sourcecodenya donk ..!! please
ReplyDeletetriagus.smkn3tbn029@gmail.com
buat tugas
Silahkan cek email pak...
Deletebisa saya minta source code programnnya mas ?
Deleterifaianugrah1@gmail.com
terima kasih sebelumnnya mas
Boleh minta source codenya?
ReplyDeleteterima kasih
beta_f23@yahoo.com
cek email mas....
Deletecek email...
ReplyDeleteboleh minta programnya mas ? rifaianugrah1@gmail.com
ReplyDeleteterima kasih sebelumnya
Silahkan mas itu rutin programnya copy saja, jangan lupa setting hardware dan pastikan ok supaya komunikasi modem dengan MCU berjalan lancar.
Deletemaaf pak mau tanya kalo misalkan pake modem wavecom type usb hubungan ke mikro gimana ya pak?
ReplyDeleteijin mas, untuk ngirim smsnya bisa sampe ke berapa nomor mas?
ReplyDeleteuntuk mengirim sms bisa ke beberapa nomer, waktu yang dibutuhkan modem untuk mengirim satu pesan (sms) kurang lebih 450 ms.
Deleteminta sourcecodenya dong pak
ReplyDeletenoval.kurniawan93@gmail.com
Pak boleh minta sourcenya nggak, hafri.rianto@gmail.com
ReplyDeleteMas minta source code nya,, yoeckoe@gmail.com
ReplyDeletemas boleh minta source kode.nya . buat belajar mas .hehe
ReplyDeleteemail: nova156031@yahoo.co.id
Maaf mas .. minta source programnya dong, buat referensi
ReplyDeleteetika.angelica@gmail.com
selamat malam mas....mau tanya,,kalo untuk menambahkan nomer tujuan gimana mas
ReplyDeletelebih dari 2 nomer
tambahkan perintah ini lagi
Deletesend_sms();
{
printf("AT+CMGS=");
printf("08572503xxxx\r\n"); // ini nomer hp yang dituju
delay_ms(500);
printf("Mengirim sms menggunakan mikrokontroler oleh microvision-jogja"); // ini isi sms
putchar(26);
printf("\r\n");
delay_ms(500);
}
ganti dengan nomer yang baru, misal;
send_sms2();
{
printf("AT+CMGS=");
printf("08232503xxxx\r\n"); // ini nomer hp yang dituju
delay_ms(500);
printf("Mengirim sms menggunakan mikrokontroler oleh microvision-jogja"); // ini isi sms
putchar(26);
printf("\r\n");
delay_ms(500);
}
Mas boleh minta source program dan skema PCB nya ? Untuk tugas akhir
ReplyDeleteegamahaputra@gmail.com
OKe..
DeleteSilahkan Tinggalkan Komentar Anda