Mengirim Data Sederhana ke Antares
Last updated
Last updated
Pada project ini Anda akan diarahkan untuk mengirim data sederhana dari board NB-LYNX-95 ke Antares IoT Platform menggunakan serangkaian AT Command dari modul BG95-M3.
Material yang dibutuhkan mengikuti Prasyarat Umum pada laman sebelumnya. Jika Anda belum menyiapkan kebutuhan pada laman tersebut, maka Anda dapat mengunjungi laman berikut.
Hal yang perlu Anda lakukan pertama kali adalah melakukan setup peralatan dengan cara menghubungkan board NB-LYNX-95 ke perangkat laptop/komputer Anda menggunakan kabel USB-C.
Pastikan Anda telah memasang antena pada port antena GSM sebelum menghubungkan board NB-LYNX-95 ke laptop/komputer.
Berikut adalah board NB-LYNX-95 yang sudah dihubungkan ke laptop/komputer.
Untuk mengirim data ke Antares, Anda perlu menginputkan kode program di bawah pada Arduino IDE.
Jangan lupa untuk menggganti APPNAME dengan nama aplikasi yang Anda buat di platform Antares, DEVNAME dengan nama device yang dibuat pada platform Antares, dan ACCESSKEY dengan access-key akun Anda.
Setelah menginputkan kode program, jangan lupa untuk menyimpan kode program tersebut dengan memilih File > Save As. Berikut adalah tampilan pada Arduino IDE ketika Anda sudah menginputkan kodenya.
Supaya board NB-LYNX-95 dapat berkomunikasi dengan platform Antares, digunakan modul BG95-M3. BG95-M3 merupakan modul komunikasi seluler yang dikembangkan oleh Quectel. Modul ini menerapkan beberapa protokol yang memungkinkan perangkat untuk terhubung ke jaringan internet menggunakan AT command. Berikut dijelaskan beberapa AT command yang digunakan pada kode program.
Pada kode program terdapat command "AT\r\n" yang dikirimkan sebagai starting point atau tahap inisialisasi modul SIM7000. \r merupakan carriage return , sedangkan \n merupakan line feed. Command ini dikirimkan untuk mendapatkan respons “OK”.
Pada kode program terdapat command "ATE0\r\n" yang dikirimkan setelah mendapatkan respons “OK”. Command ini digunakan untuk menonaktifkan echo mode yang menandakan bahwa inisialisasi telah berhasil.
Pada kode program terdapat command “AT+QCFG="nwscanseq",03,1\r\n” yang dikirimkan untuk mengatur urutan pencarian RAT (Radio Access Technology). Pada command tersebut tedapat parameter “03” yang merupakan <scanseq> sebagai urutan pencarian untuk NB-IoT, sedangkan parameter “1” merupakan <effect> supaya konfigurasi segera berlaku.
Berikut parameter <scanseq> lain yang dapat digunakan
00 = Otomatis (eMTC --> NB-IoT --> GSM)
01 = GSM
02 = eMTC
03 = NB-IoT
Berikut parameter <effect> lain yang dapat digunakan
0 = Konfigurasi berlaku ketika UE (user equipment) di-restart
1 = Konfigurasi akan segera berlaku
Pada kode program terdapat command “AT+QCFG="nwscanmode",3,1\r\n” yang dikirimkan untuk menentukan RAT yang boleh dicari. Parameter “3” merupakan <scanmode> untuk melakukan pencarian pada LTE saja, sedangkan parameter “1” merupakan supaya konfigurasi segera berlaku.
Berikut parameter lengkap <scanmode> yang dapat digunakan
0 = Otomatis
1 = GSM saja
3 = LTE saja
Pada kode program terdapat command “AT+QCFG="iotopmode",1,1\r\n” yang dikirimkan untuk menentukan kategori jaringan yang akan dicari di bawah LTE RAT. Parameter “1” merupakan untuk mencari kategori jaringan berupa NB-IoT, sedangkan parameter “1” berikutnya merupakan <effect> supaya konfigurasi segera berlaku.
Berikut parameter lengkap <mode> yang dapat digunakan
0 = eMTC
1 = NB-IoT
2 = eMTC dan NB-IoT
Pada kode program terdapat command “AT+QCFG="band",3,80,80,1\r\n” yang dikirimkan untuk menentukan pita frekuensi yang diperbolehkan untuk dicari. Parameter “3” merupakan <gsmbandval> untuk mengatur frekuensi GSM di Indonesia yang berada pada 900 MHz dan 1800 MHz, parameter “80” merupakan <emtcbandval> untuk mengatur frekuensi pada LTE B8, sedangkan parameter “80” berikutnya merupakan <nbiotbandval> untuk mengatur frekuensi NB-IoT pada LTE B8, kemudian parameter “1” merupakan <effect> supaya konfigurasi segera berlaku.
Pada kode program terdapat command “AT+QCFG="servicedomain",1,1\r\n” yang dikirimkan untuk menentukan domain service yang terdaftar. Parameter “1” merupakan <service> untuk menentukan domain service sebagai PS (Packet Swithced) saja, sedangkan parameter “1” berikutnya merupakan <effect> supaya konfigurasi segera berlaku.
Berikut parameter lengkap <service> yang dapat digunakan
1 = PS (Packet Swithced ) saja
2 = CS (Circuit Switched) dan PS (Packet Swithced)
Pada kode program terdapat command “AT+QIDEACT=1\r\n” yang dikirimkan untuk menonaktifkan PDP context, dalam hal ini diatur pada parameter <contextID> dengan nilai “1”, dan menutup semua koneksi TCP/IP.
Pada kode program terdapat command “AT+QICSGP=1,1,"" + String(APN) + "","","",0\r\n” untuk mengatur parameter TCP/IP context <APN>, <username>, <password>, dan <authentication>. Parameter “1” menunjukkan nilai <contextID>, sedangkan parameter “1” berikutnya menunjukkan nilai <context_type> untuk mengatur protokol yang digunakan berupa IPv4.
Pada command tersebut parameter <APN> yang diatur dengan String(APN) sesuai dengan yang sudah didefinisikan pada awal program dengan value "nb1internet". Untuk parameter lain seperti <username> dan <password> dibiarkan kosong pada command ini, sedangkan untuk parameter <authentication> diatur sebagai “0” yang menandakan tidak ada metode autentikasi yang digunakan
Berikut parameter lengkap <context_type> yang dapat digunakan
1 = IPv4
2 = IPv6
3 = IPv4v6
Berikut parameter lengkap <authentication> yang dapat digunakan
0 = Tidak ada autentikasi
1 = PAP
2 = CHAP
3 = PAP atau CHAP
Pada kode program terdapat command “AT+QIACT=1\r\n” yang dikirimkan untuk mengaktifkan PDP context dengan nilai <contextID> adalah “1”.
Pada kode program terdapat command “AT+QIACT?\r\n” yang dikirimkan untuk menampilkan PDP context yang aktif beserta dengan IP address.
Pada kode program terdapat command “AT+QIOPEN=1,0,"TCP","platform.antares.id",8080\r\n” yang dikirimkan untuk membuka socket service, dalam hal ini adalah Antares IoT Platform. Parameter “1” merupakan <contextID>, sedangkan parameter “0” merupakan <connectID>. Selanjutnya didefinisikan juga parameter “TCP” sebagai <service_type>, “platform.antares.id” sebagai <domain_name> dari Antares IoT Platform, sedangkan parameter “8080” sebagai <remote_port> dari remote server.
Pada kode program terdapat command “AT+QISEND=0\r\n” yang dikirimkan untuk mengirimkan data pada socket service yang telah diatur sebelumnya. Parameter “0” merupakan nilai dari <connectID>.
Pada kode program terdapat command “AT+QICLOSE=0\r\n” yang dikirimkan untuk menutup socket service yang sedang berjalan. Parameter “0” merupakan nilai dari <connectID>.
Pertama. Anda harus mengatur board yang digunakan dengan memilih ESP32 Dev Module pada bagian Tools > Board > esp32.
Setelah itu, Anda perlu mengatur port yang digunakan dengan membuka Tools > Port > COM(X). Nilai X menyesuaikan dengan nomor port yang digunakan oleh board NB-LYNX-7000.
Setelah Anda mempersiapkan kode program, selanjutnya Anda dapat meng-upload kode program tersebut dengan menekan tombol upload seperti ditunjukkan pada gambar di bawah.
Jika kode program sudah berhasil di-upload, Anda dapat membuka Serial Monitor dengan menekan icon seperti ditunjukkan pada gambar di bawah. Icon tersebut dapat Anda temukan pada bagian atas sebelah kanan.
Anda perlu mengatur baud rate Serial Monitor menjadi 115200 supaya output-nya dapat terbaca.
Tampilan Serial Monitor akan menjadi seperti pada gambar di bawah yang menandakan proses inisiasi modul BG95-M3.
Selanjutnya proses yang akan terjadi pada serial monitor adalah pengaturan mode menjadi NB-IoT dengan jaringan LTE. Berikut tampilan yang muncul pada serial monitor.
Setelah berhasil, proses yang bekerja adalah pengaturan konektivitas jaringan dengan memulai koneksi IP. Berikut adalah tampilan yang muncul pada serial monitor.
Setelah IP berhasil didapatkan, modul NB-LYNX-95 telah siap untuk mengirimkan data ke Antares IoT Platform. Proses pengiriman data ditandai dengan tulisan "Sending frame" yang dimulai dari frame 0. Kemudian modul tersebut akan mengakses server Antares dengan koneksi TCP untuk mengirimkan data. Berikut adalah tampilan pada serial monitor.
Pada gambar di atas, modul NB-LYNX-95 telah berhasil mengirimkan satu data pada Antares IoT Platform. Kode program dirancang untuk terus menerus mengirimkan data ke Antares IoT Platform yang ditandai dengan hitungan frame. Berikut adalah tampilan pada serial monitor ketika mengirimkan data berikutnya.
Untuk memastikan bahwa data telah terkirim dengan benar dari modul NB-LYNX-95 ke Antares IoT Platform, Anda dapat membuka URL device Anda. Gambar berikut menunjukkan tampilan pada Antares IoT Platform yang sudah menerima data dari NB-LYNX-7000.