Antares
Antares
id
id
  • Pendahuluan
    • Registrasi Akun
    • Buat App
    • Tambah Device ke Application
    • Instalasi Board pada Arduino IDE
      • ESP8266
      • ESP32
      • STM32
    • Instalasi Arduino IDE
    • Instalasi Library Arduino
      • Antares LoRaWAN
      • Antares Wi-Fi HTTP
      • Antares Wi-Fi MQTT
      • DHT11 Sensor Library
      • Adafruit SSD1306
    • Instalasi STM32 Cube IDE
    • Instalasi STM32 Cube Programmer
    • Instalasi Expansion Pack I-CUBE-LRWAN
    • Instalasi Software
      • Instalasi MQTTX
      • Instalasi Postman
      • Instalasi Operating System (OS) pada SD Card
    • Quickstart
  • Antares Insight Hub
    • Getting Started
      • Request Demo
      • Request Free Trial
    • Usecase
      • Power Meter
        • Prasyarat Usecase Power Meter
        • Power Meter Device Recommendation
        • Payload Example Power Meter
        • Setup Device Threshold Power Meter
      • Water Meter
        • Prasyarat Usecase Water Meter
        • Water Meter Device Recommendation
        • Payload Example Water Meter
        • Setup Device Threshold Water Meter
      • Water Level
        • Prasyarat Usecase Water Level
        • Water Level Device Recommendation
        • Payload Example Water Level
        • Setup Device Threshold Water Level
      • Environment Monitoring
        • Prasyarat Usecase Environment Monitoring
        • Environment Monitoring Device Recommendation
        • Payload Example Environment Monitoring
        • Setup Device Threshold Environment Monitoring
    • Settings
      • Manage Alert Recipient (Telegram)
      • Manage User
      • Roles
  • Subscription and Payment
    • Platform
      • Cara Menggunakan Layanan Platform
      • Tata Cara Pembelian Layanan Platform
        • Pembayaran Menggunakan Virtual Account
          • Bank Mandiri
          • Bank Permata
          • Bank BRI
          • Bank BNI
        • Pembayaran Menggunakan e-Wallet (LinkAja)
        • Pembayaran Menggunakan Credit Cards (CC)
        • Pembayaran Menggunakan Antares Coins
      • Tata Cara Memperpanjang Layanan Platform
      • Tata Cara Mengganti Layanan Platform
    • Connectivity
      • Cara Menggunakan Layanan Connectivity
      • Tata Cara Pembelian Layanan Connectivity
        • Pembayaran Menggunakan Virtual Account
          • Bank Mandiri
          • Bank Permata
          • Bank BRI
          • Bank BNI
        • Pembayaran Menggunakan e-Wallet (LinkAja)
        • Pembayaran Menggunakan Credit Cards (CC)
        • Pembayaran Menggunakan Antares Coins
      • Tata Cara Memperpanjang Layanan Connectivity
      • Tata Cara Mengganti Layanan Connectivity
    • Antares Coins
      • Tata Cara Pembayaran Top Up Antares Coins
        • Pembayaran Menggunakan Virtual Account
          • Bank Mandiri
          • Bank Permata
          • Bank BRI
          • Bank BNI
        • Pembayaran Menggunakan e-Wallet (LinkAja)
        • Pembayaran Menggunakan Credit Cards (CC)
  • Contoh kode dan library
    • ESP8266 (Wi-Fi)
      • Prasyarat Umum ESP8266 Wi-Fi
      • ESP8266 (Wi-Fi) Protokol HTTP
        • Mengirim Data Sederhana ke Antares dengan Protokol HTTP
        • Mengambil Data Terakhir dari Server Antares dengan Protokol HTTP
        • Project Sederhana ESP8266 HTTP Antares
          • Post Data DHT 11 Secara Periodik
          • Post Data DHT 11 dengan Push Button
          • Post Data DHT 11 dan ditampilkan pada Display OLED
          • Get Data ditampilkan pada Display OLED
          • Post dan Get Data DHT 11 ditampilkan pada Display OLED
          • Mengontrol Relay dan LED Melalui Perintah Get
      • ESP8266 (Wi-Fi) Protokol MQTT
        • Mengirim Data Sederhana ke Antares dengan Protokol MQTT
        • Mengambil Data Terakhir dari Server Antares dengan Protokol MQTT
        • Project Sederhana ESP8266 MQTT Antares
          • Send Data DHT 11 Secara Periodik
          • Send Data DHT 11 dengan Push Button
          • Send Data DHT 11 dan ditampilkan pada Display OLED
          • Retrieve Data ditampilkan pada Display OLED
          • Send Data DHT 11 dan Retrieve Data ditampilkan pada Display OLED
          • Mengontrol Relay dan LED Melalui Perintah Get
    • Arduino Uno
      • Instalasi Arduino IDE
      • Instalasi Library Antares Ethernet Shield
      • Konfigurasi
      • Kirim Data Sederhana ke Antares
    • ESP32 (Wi-Fi)
      • Prasyarat Umum ESP32 Wi-Fi
      • ESP32 (Wi-Fi) Protokol HTTP
        • Mengirim Data Sederhana ke Antares dengan Protokol HTTP
        • Mengambil Data Terakhir dari Server Antares dengan Protokol HTTP
        • Project Sederhana Lynx-32 HTTP Antares
          • Post Data DHT 11 Secara Periodik
          • Post Data DHT 11 dengan Push Button
          • Post Data DHT 11 dan ditampilkan pada Display OLED
          • Get Data ditampilkan pada Display OLED
          • Post dan Get Data DHT 11 ditampilkan pada Display OLED
          • Mengontrol Relay dan LED Melalui Perintah Get
      • ESP32 (Wi-Fi) Protokol MQTT
        • Mengirim Data Sederhana ke Antares dengan Protokol MQTT
        • Mengambil Data Terakhir dari Server Antares dengan Protokol MQTT
        • Project Sederhana Lynx-32 MQTT Antares
          • Send Data DHT 11 Secara Periodik
          • Send Data DHT 11 dengan Push Button
          • Send Data DHT 11 dan ditampilkan pada Display OLED
          • Retrieve Data ditampilkan pada Display OLED
          • Send Data DHT 11 dan Retrieve Data ditampilkan pada Display OLED
          • Mengontrol Relay dan LED Melalui Perintah Retrieve
      • Protokol HTTP & MQTT
    • ESP32 (LoRa)
      • Prasyarat Umum ESP32 LoRa
      • Mengirim Data Sederhana ke Antares
      • Project Sederhana Lynx-32 LoRa Antares
        • Uplink Data DHT11 Secara Periodik
        • Uplink Data DHT11 dengan Push Button
        • Uplink Data DHT11 dan Ditampilkan pada Display Oled
        • Downlink Data Ditampilkan pada Display Oled
        • Uplink Data DHT 11 dan Downlink Data ditampilkan pada Display OLED
        • Mengontrol Relay dan LED melalui perintah Downlink
      • LoRaWAN Class
    • STM32 (LoRa) STM32Cube IDE
      • Prasyarat Umum STM32 (LoRa) STM32Cube IDE
      • Mengirim Data Sederhana ke Antares
    • STM32 (LoRa) Arduino IDE
      • Prasyarat Umum STM32 (LoRa) Arduino IDE
      • Mengirim Data Sederhana ke Antares
    • Raspberry Pi
      • GUI (Graphical User Interface)
        • Prasyarat Umum Raspberry GUI
        • Mengirim Data Menggunakan Node.js
        • Monitoring Suhu dan Kelembaban Menggunakan Sensor DHT11
      • SSH (Secure Shell)
        • Prasyarat Umum Raspberry SSH
        • Mengirim Data Menggunakan Node.js
        • Monitoring Suhu dan Kelembaban Menggunakan Sensor DHT11
    • NB-IoT
      • NB-Lynx-7000
        • Prasyarat Umum NB-Lynx-7000
        • Mengirim Data Sederhana ke Antares
        • Mengambil Data GNSS (Global Navigation Satellite System)
      • NB-Lynx-95
        • Prasyarat Umum NB-Lynx-95
        • Mengirim Data Sederhana ke Antares
    • Android
      • Mengambil data dari ANTARES mengunakan Android
      • Coding Stuff
    • MIT App Inventor
    • Node-RED
    • Postman
    • MQTT | Push data to Device
    • HTTP | Subscribe and Notify Mechanism
    • Library PHP
    • MQTT | Subscribe LoRa Device
    • LoRaWAN | Downlink Tutorial
    • Register Perangkat LoRaWAN
      • Register Menu
    • GPS TrackerID
  • Data Model
  • Port Configuration
  • API | HTTP
    • Device
    • Data of Device
    • Subscriber
  • API | MQTT
    • Device
    • Subscriber
  • Daftar Akronim
  • Software Relevan
Powered by GitBook
On this page
  • Mengirim Downlink via Software POSTMAN
  • Mengirim Downlink via Software MQTT FX
  1. Contoh kode dan library

LoRaWAN | Downlink Tutorial

PreviousMQTT | Subscribe LoRa DeviceNextRegister Perangkat LoRaWAN

Last updated 8 months ago

LoRaWAN Downlink Tutorial

1. Pendahuluan

Pada tutorial ini, Anda akan menggunakan software POSTMAN atau MQTT FX untuk mengirim pesan downlink ke perangkat LoRaWAN Anda. Modul yang digunakan pada tutorial ini adalah modul Arduino LoRa Antares berbasis Arduino Pro Mini (ATMEGA328P).

2. Prasyarat

Sebelum memulai, pastikan Anda telah memenuhi syarat sebagai berikut:

b. Untuk mengetahui cara installasi library ESP32 Klik Tutorial Berikut Tutorial Install Board ESP32

c. Library LoRaWAN: Download Library LoraWAN pada Arduino IDE. Klik link di bawah:

*Note: Library hanya untuk board LYNX-32.

3. Konfigurasi Perangkat

a. Masuk pada laman console Antares akun Anda. Buat device pada aplikasi di console akun anda. Jika sudah memiliki device Anda bisa langsung buak page device yang telah Anda buat sebelumnya. Kemudian klik Set LoRa seperti pada gambar berikut:

Lalu akan muncul kotak dialog Set LoRa Device seperti gambar di bawah. Pada pilihan Select LoRa Device Class, pilih Class C > Aktivasi ABP > ABP Parameter Inherit > Klik Set LoRa .

b. Pada Arduino IDE, konfigurasikan Arduino Pro or Pro Mini sebagai board yang akan Anda gunakan. Klik Tools > Board > Arduino Pro or Pro Mini.

c. Pada Arduino IDE, konfigurasikan Processor ESP32 dev board sebagai processor yang akan Anda gunakan. Klik Tools > Processor > ESP32 dev board. *Notes: Jika menggunakan board lain, pilih sesuai board yang digunakan

d. Pada Arduino IDE, konfigurasikan Port sesuai dengan Board Arduino LoRa yang Anda gunakan. Klik Tools > Port > COM ....

e. Pada Arduino IDE, upload program example class C dari library loraid melalui File > Examples> Antares LoRaWAN > send-class-C-ABP. Sesuaikan data access key dan juga device address sesuai akun di ANTARES. Berikut source code untuk file example class C:.

#include <lorawan.h>

//ABP Credentials
const char *devAddr = "Lora-Device-Address";
const char *nwkSKey = "Network-Session-Key";
const char *appSKey = "Application-Session-Key";



const unsigned long interval = 10000;    // 10 s interval to send message
unsigned long previousMillis = 0;  // will store last time message sent
unsigned int counter = 0;     // message counter

char myStr[50];
byte outStr[255];
byte recvStatus = 0;
int port, channel, freq;
bool newmessage = false;

const sRFM_pins RFM_pins = {
  .CS = 5,
  .RST = 0,
  .DIO0 = 27,
  .DIO1 = 2,
};

void setup() {
  // Setup loraid access
  Serial.begin(115200);
  delay(2000);
  if (!lora.init()) {
    Serial.println("RFM95 not detected");
    delay(5000);
    return;
  }

  // Set LoRaWAN Class change CLASS_A or CLASS_C
  lora.setDeviceClass(CLASS_C);

  // Set Data Rate
  lora.setDataRate(SF10BW125);

  // Set FramePort Tx
  lora.setFramePortTx(5);

  // set channel to random
  lora.setChannel(MULTI);

  // Set TxPower to 15 dBi (max)
  lora.setTxPower(15);

  // Put ABP Key and DevAddress here
  lora.setNwkSKey(nwkSKey);
  lora.setAppSKey(appSKey);
  lora.setDevAddr(devAddr);
}

void loop() {
  // Check interval overflow
  if (millis() - previousMillis > interval) {
    previousMillis = millis();

    sprintf(myStr, "Lora Counter-%d", counter++);

    
    Serial.print("Sending: ");
    Serial.println(myStr);
    lora.sendUplink(myStr, strlen(myStr), 0);
    port = lora.getFramePortTx();
    channel = lora.getChannel();
    freq = lora.getChannelFreq(channel);
    Serial.print(F("fport: "));    Serial.print(port);Serial.print(" ");
    Serial.print(F("Ch: "));    Serial.print(channel);Serial.print(" ");
    Serial.print(F("Freq: "));    Serial.print(freq);Serial.println(" ");

  }

  // Check Lora RX
  lora.update();

  recvStatus = lora.readDataByte(outStr);
  if (recvStatus) {
    newmessage = true;
    int counter = 0;
    port = lora.getFramePortRx();
    channel = lora.getChannelRx();
    freq = lora.getChannelRxFreq(channel);

    for (int i = 0; i < recvStatus; i++)
    {
      if (((outStr[i] >= 32) && (outStr[i] <= 126)) || (outStr[i] == 10) || (outStr[i] == 13))
        counter++;
    }
    if (port != 0)
    {
      if (counter == recvStatus)
      {
        Serial.print(F("Received String : "));
        for (int i = 0; i < recvStatus; i++)
        {
          Serial.print(char(outStr[i]));
        }
      }
      else
      {
        Serial.print(F("Received Hex: "));
        for (int i = 0; i < recvStatus; i++)
        {
          Serial.print(outStr[i], HEX); Serial.print(" ");
        }
      }
      Serial.println();
      Serial.print(F("fport: "));    Serial.print(port);Serial.print(" ");
      Serial.print(F("Ch: "));    Serial.print(channel);Serial.print(" ");
      Serial.print(F("Freq: "));    Serial.println(freq);Serial.println(" ");
    }
    else
    {
      Serial.print(F("Received Mac Cmd : "));
      for (int i = 0; i < recvStatus; i++)
      {
        Serial.print(outStr[i], HEX); Serial.print(" ");
      }
      Serial.println();
      Serial.print(F("fport: "));    Serial.print(port);Serial.print(" ");
      Serial.print(F("Ch: "));    Serial.print(channel);Serial.print(" ");
      Serial.print(F("Freq: "));    Serial.println(freq);Serial.println(" ");
    }
  }
} 

Setelah mengupload program example class C pada board yang digunakan. Pastikan perangkat sudah mengirimkan data lora dan sampai pada platform ANTARES. Jika data dari board sudah dapat masuk ke ANTARES, maka langkah selanjutnya yaitu melakukan downlink (mengirimkan message) ke perangkat melalui Platform ANTARES via POSTMAN atau MQTT FX.

Mengirim Downlink via Software POSTMAN

Setelah Anda selesai melakukan konfigurasi pada perangkat dan perangkat sudah dipastikan dapat mengirim data ke ANTARES, saatnya mencoba untuk mengirim downlink ke device melalui Platform ANTARES dengan menggunakan software POSTMAN

Untuk melakukan downlink digunakan metode POST. Untuk melakukan metode POST ini diperlukan paramter header dan juga body. Petama-tama Isi parameter Header sesuai tabel dibawah ini: *Notes: Sesuaikan parameter access key dan alamat URI sesuai akun Anda

Field

Initial Value

Current Value

access-key

your-access-key

your-access-key

application-name

your app name in ANTARES

your app name in ANTARES

device-name

your device name in ANTARES

your device name in ANTARES

e-mail

Your e-mail

Your e-mail

Jika sudah diisi, tampilan header akan menjadi seperti ini

Kemudian selanjutnya ke bagian body. Pada bagian body ini berisikan data yang ingin dikirimkan ke device LoRa Anda. Isi parameter Body sesuai dengan apa yang ingin dikirimkan ke perangkat dengan mengikuti format di bawah ini:

Field

Value

Body

Jika parameter body sudah diisi maka akan seperti pada gambar di bawah ini:

Klik send untuk mengeksekusi POST downlink message ke ANTARES. Jika sudah di POST maka downlink message akan langsung dikirimkan ke perangkat melalui gateway LoRa terdekat. Message downlink dapat dilihat melalui serial monitor pada Arduino IDE

Jika menggunakan board arduino dapat menggunakan Baud Rate 9600 untuk melihat data downlink yang diterima. Berikut contoh serial monitor saat berhasil menerima downlink:

Mengirim Downlink via Software MQTT FX

Setelah Anda selesai melakukan konfigurasi pada perangkat dan perangkat sudah dipastikan dapat mengirim data ke ANTARES, selain menggunakan POSTMAN, Bagi Anda yang lebih cocok menggunakan protokol MQTT, Anda dapat mencoba untuk mengirim downlink ke device melalui Platform ANTARES dengan menggunakan software MQTT FX

Pada bagian ini, Anda untuk mengirimkan data melalui MQTT FX, diperlukan konfigurasi broker ke Platform ANTARES sebagai berikut:

Host

mqtt.antares.id

Port

1883

Untuk bagian Client ID bisa disesuaikan dengan access key akun Anda ataupun uniqe code lainnya. Setelah sesuai dapat disimpan dengan menekan tombol save.

Setelah konfigurasi broker sudah sesuai dapat langsung dihubungkan ke broker MQTT ANTARES dengan menekan tombol Connect.

Jika sudah terhubung maka akan menampilkan lingkaran hijau di atas kanan seperti pada gambar:

Setelah terhubung, langkah selanjutnya yaitu mengirimkan publish ke ANTARES ke device yang terdaftar di ANTARES dengan menginputkan topic dan juga content body sebagai berikut:

Topic

/oneM2M/req/your-access-key/antares-cse/json

Payload

Setelah data access key dan alamat device sudah sesuai, klik tombol publiish untuk mengirimkan data ke ANTARES

Jika berhasil masuk ke ANTARES, maka pada device ANTARES akan muncul seperti pada gambar dibawah ini:

Jika data downlink masuk ke Platform ANTARES, maka akan langsung di forwardkan ke NS Lora dan dikirimkan melalui gateway terdekat. Data dapat diterima oleh perangkat seperti pada gambar berikut:

a. Install Arduino IDE pada komputer Anda. Klik jika Anda belum menginstall.

d. Untuk menggunakan RESTFUL API berbasis protokol HTTP, Anda perlu meng-install software POSTMAN. Klik jika Anda belum menginstall.

e. Untuk menggunakan RESTFUL API berbasis protokol MQTT, Anda perlu meng-install software MQTT FX. Klik jika Anda belum menginstall.

Jika belum melakukan instalasi POSTMAN dapat mengikuti tutorial pada page .

{
      "m2m:cin": {
        "con": "{\"type\":\"downlink\", \"data\":\"your-downlink-data\"}"
    }
}
{
  "m2m:rqp": {
    "fr": "your-access-key",
    "to": "/antares-cse/antares-id/your-application-name/your-device-name",
    "op": 1,
    "rqi": 123456,
    "pc": {
      "m2m:cin": {
        "cnf": "message",
        "con": "{\"type\":\"downlink\",\"data\":\"your-downlink-data\"}"
      }
    },
    "ty": 4
  }
}
Software Arduino IDE
Software POSTMAN
Software MQTT FX
Tutorial POSTMAN
45KB
LoRaWAN-Arduino-Library.rar