pembuatan sms gateway dengan menggunakan arduino uno dan gprs shield
DESCRIPTION
Di modul ini dijelaskan cara pembuatan SMS gateway dengan menggunakan arduino dan GPRS shield.TRANSCRIPT
PEMBUATAN SMS GATEWAY DENGAN MENGGUNAKAN
ARDUINO UNO DAN GPRS SHIELD
Mata kuliah : Aplikasi Mikrokontroler
Dosen : Denny Darlis
Disusun oleh : Kelompok 3
1. Bhakti Al Akbar Pasaribu
2. Ahmad Sven Heddin Timoryansyah
3. Ferio Dheoputro
4. Ruli Erinton
Bandung, Telkom University
2013 / 2014
1. JUDUL
Pembuatan SMS Gateway dengan menggunakan Arduino Uno dan GPRS Shield
2. TUJUAN
2.1 Mengetahui Prinsip Kerja GPRS Shield
2.2 Mengetahui Prinsip Kerja Arduino UNO R3
2.3 Dapat menggunakan Software Arduino 1.0.5
2.4 Dapat menggunakan Software SSCOM3.2E
2.5 Mengimplementasikan GPRS Shield dan Arduino UNO R3 untuk SMS Gateway
3. ALAT DAN BAHAN
- Software Arduino 1.0.5
- Arduino Uno R3
- GPRS Shield
- SSCOM 3.2
- SIM Card
- Kabel USB untuk arduino
4. DEKSRIPSI
4.1 Software Arduino 1.0.5
Arduino merupakan sebuah software open-source dengan kode-kode yang lebih mudah
digunakan dan di-upload ke papan input/output. Arduino dapat digunakan untuk platform
Windows, Mac OS X, dan Linux.
Gambar : Software Arduino
4.2 Arduino UNO R3
Arduino Uno R3 adalah board mikrokontroler berbasis ATmega328. Arduino Uno ini Memiliki
14 pin input dari output digital dimana 6 pin input tersebut dapat digunakan sebagai output PWM
dan 6 pin input analog, 16 MHz osilator kristal, koneksi USB, jack power, ICSP header, dan tombol
reset. Untuk menggunakan Arduino cukup menghubungkan kabel USB dari komputer ke arduino
nya, selain itu bisa juga dengan menggunakan adaptor dan baterai.
Gambar : Arduino UNO R3
4.2.1 Spesifikasi Arduino Uno R3
a. Microcontroller ATmega328
b. Operasi dengan daya 5V VoltageI
c. Input Tegangan (disarankan) 7-12V
d. Input Tegangan (batas) 6-20V Digital I / O Pins 14 (dimana 6 memberikan output PWM)
e. Analog Input Pin 6
f. DC Lancar per I / O Pin 40 mA
g. Saat 3.3V Pin 50 mA DC
h. Flash Memory 32 KB (ATmega328) yang 0,5 KB digunakan oleh bootloader
i. SRAM 2 KB (ATmega328)
j. EEPROM 1 KB (ATmega328)
k. Clock Speed 16 MHz.
4.2.2 Daya
Arduino Uno R3 dapat diaktifkan melalui koneksi USB atau dengan catu daya eksternal
( otomatis ). Eksternal ( bukan USB ) daya dapat berasal baik dari AC-ke adaptor-DC atau baterai.
Adaptor ini dapat dihubungkan dengan menancapkan plug jack pusat-positif ukuran 2.1mm
konektor POWER. Ujung kepala dari baterai dapat dimasukkan kedalam GNDdan Vin pin header
dari konektor power. Kisaran kebutuhan daya yang disarankan untuk board Uno adalah 7 sampai
dengan 12 volt, jika diberi daya kurang dari 7 volt kemungkinan pin 5v Uno dapat beroperasi
tetapi tidak stabil kemudian jika diberi daya lebih dari 12V, regulator tegangan bisa panas dan
dapat merusak board Arduino Uno.
Pin listrik adalah sebagai berikut:
a. VIN : Tegangan masukan kepada board Arduino ketika itu menggunakan sumber
daya eksternal (sebagai pengganti dari 5 volt koneksi USB atau sumber daya
lainnya).
b. 5V : Catu daya digunakan untuk daya mikrokontroler dan komponen lainnya.
c. 3v3 : Sebuah pasokan 3,3 volt dihasilkan oleh regulator on-board.
d. GND : Ground pin.
4.2.3 Memori
ATmega328 memiliki 32 KB ( dengan 0,5 KB digunakan untuk bootloader ), 2 KB dari SRAM
dan 1 KB EEPROM (yang dapat dibaca dan ditulis dengan EEPROM library).
4.2.4 Input dan Output
Masing-masing dari 14 pin digital di Uno dapat digunakan sebagai input atau output, dengan
menggunakan fungsi pinMode (), digitalWrite (), dan digitalRead (), beroperasi dengan daya 5 volt.
Setiap pin dapat memberikan atau menerima maksimum 40 mA dan memiliki internal pull-up
resistor (secara default terputus) dari 20-50 kOhms.
Selain itu, beberapa pin memiliki fungsi khusus:
a. Serial: 0 (RX) dan 1 (TX). Digunakan untuk menerima (RX) dan mengirimkan (TX)
TTL data serial. Pin ini dihubungkan ke pin yang berkaitan dengan chip Serial
ATmega8U2 USB-to-TTL.
b. Eksternal menyela : 2 dan 3. Pin ini dapat dikonfigurasi untuk memicu interrupt
pada nilai yang rendah, dengan batasan tepi naik atau turun, atau perubahan
nilai. Lihat (attachInterrupt) fungsi untuk rincian lebih lanjut.
c. PWM: 3, 5, 6, 9, 10, dan 11. Menyediakan output PWM 8-bit dengan fungsi
analogWrite ().
d. SPI: 10 (SS), 11 (Mosi), 12 (MISO), 13 (SCK). Pin ini mendukung komunikasi SPI
menggunakan SPI library.
e. LED: 13. Ada built-in LED terhubung ke pin digital 13. Ketika pin bernilai nilai
HIGH, LED on, ketika pin bernilai LOW, LED off.
f. Uno memiliki 6 masukan analog, berlabel A0 sampai dengan A5, yang
masing-masing menyediakan 10 bit dengan resolusi (yaitu 1024 nilai yang
berbeda). Selain itu, beberapa pin memiliki fungsi khusus:
g. I2C: A4 (SDA) dan A5 (SCL). Dukungan I2C (TWI) komunikasi menggunakan
perpustakaan Wire.
h. Aref. Tegangan referensi (0 sampai 5V saja) untuk input analog. Digunakan
dengan fungsi analogReference ().
i. Reset. Bawa baris ini LOW untuk me-reset mikrokontroler.
4.2.5 Komunikasi
Arduino Uno R3 memiliki sejumlah fasilitas untuk berkomunikasi dengan komputer, Arduino
lain, atau mikrokontroler lainnya. ATmega328 menyediakan UART TTL (5V) untuk komunikasi
serial, yang tersedia di pin digital 0 (RX) dan 1 (TX). Sebuah ATmega8U2 sebagai saluran
komunikasi serial melalui USB dan sebagai port virtual COM untuk perangkat lunak pada
komputer. Firmware ’8 U2 menggunakan driver USB standar COM, dan tidak ada driver eksternal
yang diperlukan. Namun, pada Windows diperlukan, sebuah file inf. Perangkat lunak Arduino
terdapat monitor serial yang memungkinkan digunakan memonitor data tekstual sederhana yang
akan dikirim ke atau dari board Arduino. LED RX dan TX di papan tulis akan berkedip ketika data
sedang dikirim melalui chip USB-to-serial dengan koneksi USB ke komputer (tetapi tidak untuk
komunikasi serial pada pin 0 dan 1).
Sebuah Software Serial library memungkinkan untuk berkomunikasi secara serial pada salah
satu pin digital pada board Uno’s. ATmega328 juga mendukung I2C (TWI) dan komunikasi SPI.
Perangkat lunak Arduino termasuk perpustakaan Kawat untuk menyederhanakan penggunaan
bus I2C, lihat dokumentasi untuk rincian. Untuk komunikasi SPI, menggunakan perpustakaan SPI.
4.2.6 Pemrograman
Arduino Uno R3 dapat diprogram dengan menggunakan software Arduino. Tapi sebelum
mengupload kode program, serial port, board nya harus disamakan terlebih dahulu dengan yang
dipakai.
4.3 GPRS Shield
GPRS Shield menyediakan cara untuk menggunakan jaringan GSM ponsel untuk menerima
data dari lokasi terpencil. Shield memungkingkan untuk mencapai :
a. Short Message Service
b. Audio
c. Layanan GPRS
GPRS shield kompatibel dengan semua papan yang memiliki faktor bentuk yang sama ( and
pinout ) sebagai sebuah papan standar Arduino. GPRS shield dikonfigurasi dan dikendalikan
melalui UART menggunakan AT Command sederhana.
Berdasarkan modul SIM900 dari SIMCOM, GPRS Shield seperi ponsel. Selain fitur komunikasi,
GPRS Shield memiliki 12GPIOs, 2 PWMs dan ADC.
Gambar : GPRS Shield
4.3.1 Fitur – Fitur GPRS Shield
a. Berdasarkan SIM900 Modul SIMCOM.
b. Quad-Band 850 MHz/900/1800/1900 : akan bekerja pada jaringan GSM di semua
Negara di seluruh dunia.
c. Kontrol melalu AT Commands – Perintah Standar : GSM 07.07 & 07.05 | Perintah
Ditingkatkan : SIMCOM AT Commands.
d. Short Message Service : sehingga dapat mengirim data dalam jumlah kecil melalui
jaringan (heksadesimal ASCII atau mentah).
e. Tertanam TCP/UDP : memungkinkan untuk meng-upload data ke server web.
f. Speaker dan Headphone jack – dapat mengirim sinyal DTMF atau memutar
rekaman seperti mesin penjawab.
g. SIM Card GSM dan Antenna onboard
h. 12 GPIOs, 2 PWMs dan ADC (2,8 volt) – untuk menambah Arduino.
i. Konsumsi daya rendah – 1.5mA (sleep mode)
F. Rentang Suhu Industri -40oC sampai + 85oC
4.3.2 Aplikasi GPRS Shield
a. M2M (Machine 2 Machine) Application : Untuk mentransfer data kontrol
menggunakan SMS atau GPRS antara dua mesin yang terletak di dua pabrik yang
berbeda.
b. Remote control of appliances : Kirim SMS saat Anda berada di luar untuk
mengaktifkan atau menonaktifkan mesin cuci di rumah.
c. Vehicle Tracking System - Pasangkan GPRS Shield dengan modul Arduino dan
GPS dan menginstalnya di mobil dan publikasikan di internet. Dapat digunakan
sebagai alarm pencuri otomatis.
4.3.3 Spesifikasi
Spesifikasi untuk SIM900's :
4.3.4 Fungsi Antarmuka
Gambar : PCB GPRS Shield
Keterangan Gambar :
a. Power select : Power supply untuk GPRS Shield ( daya 5v untuk arduino ).
b. Power jack : Koneksikan dengan power supply eksternal dengan tegangan
4.8~5VDC.
c. Antenna interface : Koneksi eksternal antena
d. Serial port select : Pilih antara port software dan hardware untuk terhubung ke
GPRS Shield.
e. Hardware Serial : D0/D1 Arduino/Seeeduino
f. Software serial : D7/D8, hanya untuk Arduino/Seeeduino only
g. Status LED : Indikator apakah SIM900 sudah menyala atau tidak
h. Net light : Memberi tau status apakah SIM900 sudah terhubung dengan net.
i. UART of SIM900 - UART pins breakout of SIM900
j. Microphone : Untuk menjawab panggilan telepon.
k. Speaker : Untuk menjawab panggila telepon.
l. GPIO,PWM and ADC of SIM900 - GPIO,PWM and ADC pins breakout of SIM900
m. Power key : Untuk menyalakan dan mematikan GPRS Shield.
4.3.5 Kegunaan
4.3.5.1 Status Cahaya
5. Prosedur Pengerjaan
a. Siapkan Alat-alat yang diperlukan yaitu GPRS Shield, Arduino UNO R3, Software Arduino
1.0.5, SSCOM3.2, SIM Card dan kabel USB.
b. Pasang SIM Card pada board GPRS Shield. Sebelum menghubungkan port USB, pastikan
GPRS Shield dalam keadaan mati. Jika sudah hubungkan board tersebut pada port
USB Laptop untuk tahap selanjutnya..
c. Pasangkan GPRS Shield pada board Arduino UNO R3, lalu pasang Antenna di board GPRS
Shield tersebut.
d. Colokkan kabel USB ke arduino dan komputer
Jika LED merahnya belum menyala, tekan tombol switchnya sehingga LED berwarna
hijau kemudian disudut Board tekan tombol berwarna putih dan tahan selama 2 detik
sehingga LED yang lain akan berwarna merah. Itu artinya board tersebut siap untuk
dieksekusi.
e. Buka aplikasi Arduino 1.0.5 dan masukan kode berikut.
SoftwareSerial GPRS(7, 8);
unsigned char buffer[64]; // buffer array for data recieve over serial port
int count=0; // counter for buffer array
void setup()
{
GPRS.begin(19200); // the GPRS baud rate
Serial.begin(19200); // the Serial port of Arduino baud rate.
}
void loop()
{
if (GPRS.available()) // if date is comming from softwareserial port ==> data is comming from gprs
shield
{
while(GPRS.available()) // reading data into char array
{
buffer[count++]=GPRS.read(); // writing data into array
if(count == 64)break;
}
Serial.write(buffer,count); // if no data transmission ends, write buffer to hardware serial port
clearBufferArray(); // call clearBufferArray function to clear the storaged data from the array
count = 0; // set counter of while loop to zero
}
if (Serial.available()) // if data is available on hardwareserial port ==> data is comming from PC or
notebook
GPRS.write(Serial.read()); // write it to the GPRS shield
}
void clearBufferArray() // function to clear buffer array
{
for (int i=0; i<count;i++)
{ buffer[i]=NULL;} // clear all index of array with command NULL
}
f. Setelah kode-kode tersebut dimasukan, lalu klik “verify” untuk memverifikasi kode-kode
tersebut apa ada error atau tidak.
g. Jika kode sudah benar dan tidak ada error, klik “upload” untuk memasukkan
programnya ke dalam mikrokontroler.
h. Kemudian, buka aplikasi SSCOM3.2 untuk melakukan percobaan kirim dan terima SMS
menggunakan GPRS Shield.
i. Untuk penyetingannya samakan dengan arduino, tentang serial port, dsb.
j. Tandai SENDNEW pada SSCOM dan ketik AT+IPR=19200 pada kolom data input,
samakan settingan pada BaudRate 19200 dan pada kodingan Arduino 19200 juga. Jika
sudah muncul OK, ketik AT+CMGF=1 pada kolom data input lalu klik SEND, jika sudah
muncul OK maka device sudah siapuntuk mengirim pesan.
k. Pada data input ketik AT+CMGS=”+628xxxxxxxxxx” yaitu nomor handphone yang akan
kita kirimi pesan, lalu klik SEND. Perintah ini ditujukan untuk nomor handphone yang
akan kita kirimkan pesan.
Lalu ketik pesan yang akan kita kirim di tampilan SSCOM dan tekan Enter, setelah
muncul “+CMGS:xx” dan “OK” maka pesan telah berhasil kita kirim.
L. Setelah itu, kita akan mencoba membalas SMS tersebut. Cara membalasnya seperti
biasa di handphone.
M. Setelah itu, maka ada peringatan bahwa ada pesan yang masuk. Untuk membuka daftar
SMS yang ada pada SIM Card ketik AT+CMGL.
N. Untuk membaca pesan masuk, gunakan kode ketik AT+CMGR=nilai SM sebelumnya
untuk membaca pesan SMS tersebut.
Seperti inilah gambar pesan yang telah masuk di software SSCOM ini.
Terima kasih!