Wireless stick lite v3 and Gateway UG65 milesight

Hello, I am using a Heltec Wireless Stick Lite V3 development board and I want to connect the node to my gateway. First of all, I have already done the corresponding node-to-node tests and it worked. However, when I tried to use the LORAWAN protocol, I was unable to connect it following the steps from the Heltec information platform with the following code:

I am using the following:
1.-Heltec ESP32 Dev-Boards 2.1.1
2.-board Wireless Stick Lite(V3)
3.-https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

  • This is the sample code I use for the connection

/* Heltec Automation LoRaWAN communication example

  • Function:

    1. Upload node data to the server using the standard LoRaWAN protocol.
  • Description:

    1. Communicate using LoRaWAN protocol.
  • HelTec AutoMation, Chengdu, China

  • 成都惠利特自动化科技有限公司

  • www.heltec.org

  • */

#include “LoRaWan_APP.h”

/* OTAA para*/

uint8_t devEui[] = { 0x70, 0xB3, 0xD5, 0x7E, 0xD0, 0x06, 0x53, 0xC8 };

uint8_t appEui[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };

uint8_t appKey[] = { 0x74, 0xD6, 0x6E, 0x63, 0x45, 0x82, 0x48, 0x27, 0xFE, 0xC5, 0xB7, 0x70, 0xBA, 0x2B, 0x50, 0x45 };

/* ABP para*/

uint8_t nwkSKey[] = { 0x15, 0xb1, 0xd0, 0xef, 0xa4, 0x63, 0xdf, 0xbe, 0x3d, 0x11, 0x18, 0x1e, 0x1e, 0xc7, 0xda,0x85 };

uint8_t appSKey[] = { 0xd7, 0x2c, 0x78, 0x75, 0x8c, 0xdc, 0xca, 0xbf, 0x55, 0xee, 0x4a, 0x77, 0x8d, 0x16, 0xef,0x67 };

uint32_t devAddr = ( uint32_t )0x007e6ae1;

/LoraWan channelsmask, default channels 0-7/

uint16_t userChannelsMask[6]={ 0x00FF,0x0000,0x0000,0x0000,0x0000,0x0000 };

/LoraWan region, select in arduino IDE tools/

LoRaMacRegion_t loraWanRegion = ACTIVE_REGION;

/LoraWan Class, Class A and Class C are supported/

DeviceClass_t loraWanClass = CLASS_A;

/the application data transmission duty cycle. value in [ms]./

uint32_t appTxDutyCycle = 15000;

/OTAA or ABP/

bool overTheAirActivation = true;

/ADR enable/

bool loraWanAdr = true;

/* Indicates if the node is sending confirmed or unconfirmed messages */

bool isTxConfirmed = true;

/* Application port */

uint8_t appPort = 2;

/*!

  • Number of trials to transmit the frame, if the LoRaMAC layer did not

  • receive an acknowledgment. The MAC performs a datarate adaptation,

  • according to the LoRaWAN Specification V1.0.2, chapter 18.4, according

  • to the following table:

  • Transmission nb | Data Rate

  • ----------------|-----------

  • 1 (first) | DR

  • 2 | DR

  • 3 | max(DR-1,0)

  • 4 | max(DR-1,0)

  • 5 | max(DR-2,0)

  • 6 | max(DR-2,0)

  • 7 | max(DR-3,0)

  • 8 | max(DR-3,0)

  • Note, that if NbTrials is set to 1 or 2, the MAC will not decrease

  • the datarate, in case the LoRaMAC layer did not receive an acknowledgment

*/

uint8_t confirmedNbTrials = 4;

/* Prepares the payload of the frame */

static void prepareTxFrame( uint8_t port )

{

/*appData size is LORAWAN_APP_DATA_MAX_SIZE which is defined in “commissioning.h”.

*appDataSize max value is LORAWAN_APP_DATA_MAX_SIZE.

*if enabled AT, don’t modify LORAWAN_APP_DATA_MAX_SIZE, it may cause system hanging or failure.

*if disabled AT, LORAWAN_APP_DATA_MAX_SIZE can be modified, the max value is reference to lorawan region and SF.

*for example, if use REGION_CN470,

*the max value for different DR can be found in MaxPayloadOfDatarateCN470 refer to DataratesCN470 and BandwidthsCN470 in “RegionCN470.h”.

*/

appDataSize = 4;

appData[0] = 0x00;

appData[1] = 0x01;

appData[2] = 0x02;

appData[3] = 0x03;

}

//if true, next uplink will add MOTE_MAC_DEVICE_TIME_REQ

void setup() {

Serial.begin(115200);

Mcu.begin(HELTEC_BOARD,SLOW_CLK_TPYE);

}

void loop()

{

switch( deviceState )

{

case DEVICE_STATE_INIT:

{

#if(LORAWAN_DEVEUI_AUTO)

  LoRaWAN.generateDeveuiByChipID();

#endif

  LoRaWAN.init(loraWanClass,loraWanRegion);

  //both set join DR and DR when ADR off

  LoRaWAN.setDefaultDR(3);

  break;

}

case DEVICE_STATE_JOIN:

{

  LoRaWAN.join();

  break;

}

case DEVICE_STATE_SEND:

{

  prepareTxFrame( appPort );

  LoRaWAN.send();

  deviceState = DEVICE_STATE_CYCLE;

  break;

}

case DEVICE_STATE_CYCLE:

{

  // Schedule next packet transmission

  txDutyCycleTime = appTxDutyCycle + randr( -APP_TX_DUTYCYCLE_RND, APP_TX_DUTYCYCLE_RND );

  LoRaWAN.cycle(txDutyCycleTime);

  deviceState = DEVICE_STATE_SLEEP;

  break;

}

case DEVICE_STATE_SLEEP:

{

  LoRaWAN.sleep(loraWanClass);

  break;

}

default:

{

  deviceState = DEVICE_STATE_INIT;

  break;

}

}

}

2024-09-10T05:00:00Z

Hello!
1.Please ensure that the development environment and related libraries are installed successfully, this document may be helpful for you.
2.Please ensure that the gateway configuration is correct and successfully connected to the server, this document may provide you with some help.
3.Please ensure that the node is successfully registered in NS.

“Thank you very much for answering my question, Ashley. The first URL you shared with me shows a 404 error, but the next link works, thank you very much. I have a question: is it necessary for the node to be registered to the NS? My architectural idea is NODE->GATEWAY->MQTT->MYCUSTOMSERVER.”

Hello, If you want to use MQTT, this document may help you

“Thank you, I was able to connect it to my gateway and my MQTT broker. Your help was very useful. Thank you.”