# Mengirim Data Sederhana ke Antares

Pada project ini anda akan diarahkan untuk mengirim data dummy dari **STM32L072 LoRa Discovery Kit B-L072-LRWAN1** ke **Antares IoT Platform** menggunakan konektivitas LoRa dengan protokol LoRaWAN.&#x20;

Dalam protokol LoRaWAN terbagi menjadi dua kelas yaitu Class A dan Class C, masing masing kelas memiliki kekurangan dan kelebihannya masing-masing, untuk lebih detailnya dapat mengunjungi laman berikut.

{% content-ref url="../esp32-lora/lorawan-class" %}
[lorawan-class](https://docs.antares.id/contoh-kode-dan-library/esp32-lora/lorawan-class)
{% endcontent-ref %}

## Prasyarat

Material yang dibutuhkan mengikuti dengan **Prasyarat Umum** pada laman sebelumnya. Jika anda belum menyiapkan kebutuhan pada laman tersebut, maka anda dapat mengunjungi laman berikut.

{% content-ref url="prasyarat-umum-stm32-lora-stm32cube-ide" %}
[prasyarat-umum-stm32-lora-stm32cube-ide](https://docs.antares.id/contoh-kode-dan-library/stm32-lora-stm32cube-ide/prasyarat-umum-stm32-lora-stm32cube-ide)
{% endcontent-ref %}

## Langkah Kerja

### 1. Jalankan Aplikasi STM32 Cube IDE

### 2. Impor Project LoRaWAN End\_Node

Pada bagian ini akan dijelaskan bagaimana cara mengimpor project ke STM32 Cube IDE dari software expansion I-CUBE-LRWAN.&#x20;

Anda dapat memulai membuat application menggunakan STM32Cube IDE. STM32Cube IDE menggunakan workspace untuk menyimpan file application yang akan kita buat. Anda dapat meninggalkannya secara default, atau membuat workspace baru, serta memilih workspace yang pernah Anda buat.

<figure><img src="https://content.gitbook.com/content/rRkxjRLeqOm0pNhLfsus/blobs/gYwh9e88F7jMZohHguCW/1.jpg" alt="" width="563"><figcaption><p>Memilih Workspace di STM32CUBE IDE</p></figcaption></figure>

Setelah memilih direktori untuk workspace nya, maka anda dapat mengklik tombol launch hingga muncul halaman awal dari STM32 CUBE IDE.

<figure><img src="https://content.gitbook.com/content/rRkxjRLeqOm0pNhLfsus/blobs/EEIR9DXLn46cMxazORJs/2.jpg" alt=""><figcaption><p>Halaman Awal dari STM32CUBE IDE</p></figcaption></figure>

Untuk menggunakan contoh application yang telah disediakan oleh software expansion I-CUBE-LRWAN, Anda dapat mengimport application yang telah disediakan pada folder ekspansi tersebut. Pada contoh kali ini kita akan menggunakan contoh LoRaWAN\_End\_Node yang terdapat pada folder **STM32CubeExpansion\_LRWAN\_V2.1.0\Projects\B-L072Z-LRWAN1\Applications\LoRaWAN\LoRaWAN\_End\_Node\LoRaWAN\App**.

Langkah selanjutnya, kita perlu mengimpor file project[ ](#user-content-fn-1)[^1]di dalam folder STM32 Cube Expansion ke software STM32 Cube IDE. Untuk mengimpor file, klik **file** dan pilih **Open Projects from File System.**

<figure><img src="https://content.gitbook.com/content/rRkxjRLeqOm0pNhLfsus/blobs/f7T9i75ddq6uQygdQ9qJ/3.jpg" alt="" width="375"><figcaption><p> Import Project</p></figcaption></figure>

Kemudian klik **Directory** untuk memilih lokasi dari project yang akan diimpor. Untuk tutorial ini, project yang akan diimpor berada pada folder berikut: **STM32CubeExpansion\_LRWAN\_V2.1.0\Projects\B-L072Z-LRWAN1\Applications\LoRaWAN\LoRaWAN\_End\_Node**. Setelah itu klik **finish.**

<figure><img src="https://content.gitbook.com/content/rRkxjRLeqOm0pNhLfsus/blobs/EgRho1SJNMfVrrIIFQHR/4.jpg" alt="" width="563"><figcaption><p>Direktori Untuk Impor Project</p></figcaption></figure>

Setelah project berhasil diimpor, maka file dalam project tersebut akan ditampilkan di sisi kiri dari STM32 Cube IDE seperti berikut.

<figure><img src="https://content.gitbook.com/content/rRkxjRLeqOm0pNhLfsus/blobs/k7mUdQma4ZchWcGLDcYX/5.jpg" alt=""><figcaption><p>Tampilan STM32 Cube IDE Setelah Impor Project</p></figcaption></figure>

### 3. Set LoRaWAN Parameter pada Kode Program

Pada bagian ini akan dijelaskan cara mengintegrasi board **STM32L072 LoRa Discovery Kit** dengan platform Antares.

Pertama, pilih file lora\_app.h yang berada di folder **LoRaWAN\_End\_Node/LoRaWAN/App**. Contoh program yang disediakan pada file tersebut belum sesuai dengan frekuensi LoRaWAN Indonesia. Oleh karena itu, Anda perlu menyesuaikannya.&#x20;

Pada baris 43 program tertulis LORAMAC\_REGION\_EU868. Untuk menyesuaikan dengan frekuensi LoRaWAN di Indonesia, silahkan ganti bagian tersebut menjadi LORAMAC\_REGION\_AS923.

<figure><img src="https://content.gitbook.com/content/rRkxjRLeqOm0pNhLfsus/blobs/M6xBiZb1586O3dUIXCt0/6.jpg" alt="" width="563"><figcaption><p>Potongan Program Sebelum Diubah</p></figcaption></figure>

<figure><img src="https://content.gitbook.com/content/rRkxjRLeqOm0pNhLfsus/blobs/JW8CAXeRvIb40suJPfF6/7.jpg" alt="" width="563"><figcaption><p>Potongan Program Sesudah Diubah</p></figcaption></figure>

Selanjutnya, pilih file lorawan\_conf.h yang berada di folder **LoRaWAN\_End\_Node/LoRaWAN/Target**. Pada program di file tersebut terdapat bagian yang perlu disesuaikan yang masih berkaitan dengan frekuensi LoRaWan di Indonesia. Pada baris 49, dapat dilihat bahwa kode program menggunakan **REGION\_EU868** yang mana hal ini tidak sesuai dengan frekuensi LoRaWan di Indonesia.&#x20;

<figure><img src="https://content.gitbook.com/content/rRkxjRLeqOm0pNhLfsus/blobs/1upTwBBsCstaG9a0dcYm/8.jpg" alt=""><figcaption><p>Kode Program Sebelum Disesuaikan</p></figcaption></figure>

Sehingga untuk baris 49 bisa dijadikan comment seperti berikut.

```
/*#define REGION_EU868*/
```

Kemudian untuk program ini dipilih REGION\_AS923. Sehingga untuk baris 44 bisa di uncomment seperti berikut.

```
#define REGION_AS923
```

<figure><img src="https://content.gitbook.com/content/rRkxjRLeqOm0pNhLfsus/blobs/FLBjjPB7tSFaA5fixDQJ/9.jpg" alt=""><figcaption><p>Kode Program Setelah Disesuaikan</p></figcaption></figure>

Selanjutnya tambahkan satu baris kode berikut pada program setelah bagian define REGION\_AS923.

```
#define REGION_AS923_DEFAULT_CHANNEL_PLAN 2
```

Berikut tampilan dari kode setelah ditambahkan.

<figure><img src="https://content.gitbook.com/content/rRkxjRLeqOm0pNhLfsus/blobs/EgTgoVcZ8FBkMK9RvUNg/10.jpg" alt=""><figcaption><p>Tampilan Kode</p></figcaption></figure>

Selanjutnya Anda dapat mem-*build* application dengan cara **CTRL+B**, atau dapat juga memilih tab **Project > Build All**.

<figure><img src="https://content.gitbook.com/content/rRkxjRLeqOm0pNhLfsus/blobs/BRvQ2oY57QnYsR0Qsvbm/11.jpg" alt="" width="563"><figcaption><p> Build Project</p></figcaption></figure>

Kemudian untuk mendownload program ke dalam board B-L072Z-LRWAN bisa dengan menekan **F11** pada keyboard atau dengan memilih tab **Run > Debug.**

<figure><img src="https://content.gitbook.com/content/rRkxjRLeqOm0pNhLfsus/blobs/ZXIOMJkTeHof7VkxmqVa/12.jpg" alt="" width="563"><figcaption><p>Run Debug</p></figcaption></figure>

Kemudian pada console akan tertulis "**Download verified successfully"** yang menunjukkan bahwa program berhasil terdownload ke board.

<figure><img src="https://content.gitbook.com/content/rRkxjRLeqOm0pNhLfsus/blobs/z6f8IqBpkN8ZxOaGRo1x/13.jpg" alt=""><figcaption><p>Laman mendownload program</p></figcaption></figure>

Setelah program terdownload ke board, Anda dapat melihat log program dengan cara mengklik ikon ***open console*** pada STM32Cube IDE. Kemudian pilih **Command Shell Console.**

<figure><img src="https://content.gitbook.com/content/rRkxjRLeqOm0pNhLfsus/blobs/qrsYqht4cOMJzHJ1lQYq/14.jpg" alt="" width="563"><figcaption><p>Open Console</p></figcaption></figure>

Berikut adalah tampilan dari Command Shell Console.

<figure><img src="https://content.gitbook.com/content/rRkxjRLeqOm0pNhLfsus/blobs/HsNSE9TBmHKHm2i81m9J/15.jpg" alt=""><figcaption><p>Remote Connection</p></figcaption></figure>

Selanjutnya, pada Connection Type pilih **Serial Port**.&#x20;

<figure><img src="https://content.gitbook.com/content/rRkxjRLeqOm0pNhLfsus/blobs/o36iSQrF1Ir8VJs4SW3u/16.jpg" alt=""><figcaption><p>Mengatur Connection Type</p></figcaption></figure>

Lalu pada pilihan Connection name, tekan **New.**  Terlihat bagian connection name masih kosong. Karena port connection belum terdaftar, maka Anda dapat secara bebas memberi nama koneksi ini.&#x20;

Hubungkan **STM32 LoRa Discovery Kit**  dengan komputer anda dan pastikan **Communication Port** terbaca.

{% hint style="info" %}
Pada sistem operasi Windows pengecekan dapat dilakukan melalui **Device Manager.** Jika **STM32 LoRa Discovery Kit** Anda terbaca maka tampil **STMicroelectronics STLink Virtual COM Port** dengan port menyesuaikan ketersediaan port (pada kasus ini terbaca **COM4**).
{% endhint %}

<figure><img src="https://3995702122-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrRkxjRLeqOm0pNhLfsus%2Fuploads%2F7aPLuJfu2tqkOw93h46w%2Fimage.png?alt=media&#x26;token=3ab8e667-4231-490c-b3d4-bfd34b8c4cfc" alt=""><figcaption><p>Gambar Device Manager pada Windows</p></figcaption></figure>

&#x20;Misalnya connection name adalah COM4 (Menyesuaikan dengan serial port). Selanjutnya klik finish

<figure><img src="https://content.gitbook.com/content/rRkxjRLeqOm0pNhLfsus/blobs/NTncsiLiqz38ZIB0LgsV/17.jpg" alt=""><figcaption><p>Connection Name</p></figcaption></figure>

Selanjutnya pada connection name, pilih COM4 yang baru saja ditambahkan. Kemudian, klik **OK**.

<figure><img src="https://content.gitbook.com/content/rRkxjRLeqOm0pNhLfsus/blobs/daSomYUJqgqlUSezHEOT/18.jpg" alt="" width="375"><figcaption><p>Connection name</p></figcaption></figure>

Berikut adalah tampilan dari console. Console masih kosong dan belum menampilkan apa-apa. Dapat dilihat pada bagian atas console menunjukkan bahwa **COM4** (CONNECTED).

<figure><img src="https://content.gitbook.com/content/rRkxjRLeqOm0pNhLfsus/blobs/HEkTYAryjRH3gTNglRxA/19.jpg" alt=""><figcaption><p>Tampilan Communication Port Berhasil Terbuka</p></figcaption></figure>

Untuk bisa mendapatkan informasi dari board seperti **Application EUI, Device EUI**, **dan Application Key** pada tampilan console, tekan tombol reset dari board sebanyak 1 kali hingga informasi mengenai board muncul di console. Berikut adalah informasi dari board yang ditampilkan oleh console.

<figure><img src="https://content.gitbook.com/content/rRkxjRLeqOm0pNhLfsus/blobs/LNOeodh5X4kFkPj69MQr/20.jpg" alt=""><figcaption><p>Tampilan Informasi Board</p></figcaption></figure>

Informasi dari board tersebut digunakan untuk menghubungkan board dengan platform Antares. &#x20;

### 4. Set LoRaWAN Parameter di Antares

Setelah masuk ke platform Antares, pilih **Application** dan klik **Create an Application**.

<figure><img src="https://3995702122-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrRkxjRLeqOm0pNhLfsus%2Fuploads%2FQoGZV30rrYyTo3lXxMM8%2Fimage.png?alt=media&#x26;token=ff187857-4c32-4eb9-a391-635f677e8a45" alt=""><figcaption><p>Membuat Aplikasi di Antares</p></figcaption></figure>

Kemudian isikan Application Name dan Application ID. Pada tutorial ini, misalkan Application Name adalah LoraSTM32 dan Application ID adalah 1. Kemudian tekan **Add.**

<figure><img src="https://3995702122-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrRkxjRLeqOm0pNhLfsus%2Fuploads%2FwR49bCxYVeIJ5H5RofH4%2Fapp%20stm%2032.png?alt=media&#x26;token=a1c42a65-3ded-403f-9960-a7ff73fa3cd3" alt=""><figcaption></figcaption></figure>

Selanjutnya, tambahkan device di dalam application. Pada tutorial ini, nama device yang dibuat misalkan **Lorawan**. Setelah device dibuat, klik **Set Lora**.

<figure><img src="https://3995702122-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrRkxjRLeqOm0pNhLfsus%2Fuploads%2FICy83SSSsSbVnEEF1PIW%2Florawan%20set.png?alt=media&#x26;token=d5fcce6e-1d46-4d43-b51b-550776614fd3" alt=""><figcaption></figcaption></figure>

Contoh program yang diberikan sebelumnya menggunakan **class A** dengan **activation mode OTAA**. Parameter OTAA, seperti **Application EUI, Device EUI**, **dan Application Key** dapat ditemukan di log seperti pada Menu Set Lora.

<figure><img src="https://content.gitbook.com/content/rRkxjRLeqOm0pNhLfsus/blobs/oV8UqOWKWDD6Xj8kUqhQ/BUAT%20GITBOOK.png" alt=""><figcaption><p>Input Parameter Pada Menu Set Lora</p></figcaption></figure>

### 5. Run Program

&#x20;Untuk bisa menghubungkan board dengan device pada platform Antares, klik **Run > Run** pada STM32 CUBE IDE.

<figure><img src="https://content.gitbook.com/content/rRkxjRLeqOm0pNhLfsus/blobs/ZabtCQ6BaIwXtgdXFxME/25.jpg" alt="" width="269"><figcaption><p>Menjalankan Program</p></figcaption></figure>

Setelah program dijalankan, maka dapat dilihat pada console bahwa perangkat sudah terhubung dengan platform Antares sehingga tertulis **Joined** seperti berikut.

<figure><img src="https://content.gitbook.com/content/rRkxjRLeqOm0pNhLfsus/blobs/BBhx9eqWvA67v6JiKSve/26.jpg" alt=""><figcaption><p>Board Berhasil terhubung ke Platform Antares</p></figcaption></figure>

### &#x20;6. Periksa Data di Antares

Setelah upload program berhasil, selanjutnya buka halaman device antares kemudian lihat apakah data lora sudah berhasil dikirim.&#x20;

<figure><img src="https://3995702122-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrRkxjRLeqOm0pNhLfsus%2Fuploads%2FKIVz9pLVKIFqxPx7v1do%2F144.png?alt=media&#x26;token=f2d44fbb-2287-4c56-b5fc-174ee4390fd5" alt=""><figcaption><p>Data yang Diterima pada Platform Antares</p></figcaption></figure>

{% hint style="info" %}
Data yang dikirimkan dari **STM32L072 LoRa Discovery Kit B-L072-LRWAN1** berupa **`"counter"`**, **`"port"`**, dan pesan yang berada didalam JSON field **`"data".`** Sementara parameter lainnya adalah parameter pendukung yang dihasilkan oleh Infrastruktur LoRaWAN Antares.
{% endhint %}

[^1]:
