WiFi Lora V3 node cannot connect to TTN via HT-M01S

Hi,

I have bought a gateway HT-M01S and it can successfully connected to TTN. Now I want to connect my WiFi Lora V3 node to it and connect to TTN.
I’ve set the following parameters per below after entering the TTN console and register the V3 node as an end device:

/* OTAA para*/

uint8_t devEui[] = { 0x70, 0xB3, 0xD5, 0x7E, 0xD0, 0x05, 0xA0, 0xE7 };

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

uint8_t appKey[] = { 0xC1, 0xAE, 0x15, 0x9D, 0x98, 0x59, 0x0E, 0xD3, 0x68, 0x39, 0x51, 0x5A, 0xF1, 0x2F, 0x93, 0x81 };

The following is the input of TTN end device information. JoinEUI = appEui; devEui & appKey are generated by TTN and then input into the above Arduino codes. Attached is the setting in the console.
However, we cannot connect to the TTN network server. Anyone can help?
Are the parameters in General information not correct? Are the ABP parameters in Arduino codes not important? Please advise.

Thanks!!

Check the gateway log.

  1. How to get the gateway log?
  2. I’ve got the attached messages in the TTN console. Any hint?

Hi,

I also get gateway data from the TTN console per attached. Please help.

To make things simple, can the Heltec officials provide the verified program that I can simply download to my Lora WiFi node V3 and then transmit data to my HelTec gateway?
I think it should work as my node and gateway are from HelTec and I buy this gateway based on Heltec officials’ recommendations.
Hope I can hear a reply from HelTec officials shortely.

Thanks!!

Install this library. The examples in it can be used directly.
https://docs.heltec.org/en/node/esp32/quick_start.html

Yes, I’ve installed this library and use the HelTec example “LoraWan” to modify to the codes below.
Please kindly review what is the problem? Or there is another better program to use?
Thanks!!

include "LoRaWan_APP.h"

/* OTAA para*/
uint8_t devEui[] = { 0x70, 0xB3, 0xD5, 0x7E, 0xD0, 0x05, 0xA0, 0xE7 };
uint8_t appEui[] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
uint8_t appKey[] = { 0xC1, 0xAE, 0x15, 0x9D, 0x98, 0x59, 0x0E, 0xD3, 0x68, 0x39, 0x51, 0x5A, 0xF1, 0x2F, 0x93, 0x81 };
/* ABP para*/
uint8_t nwkSKey[] = { 0xC1, 0xAE, 0x15, 0x9D, 0x98, 0x59, 0x0E, 0xD3, 0x68, 0x39, 0x51, 0x5A, 0xF1, 0x2F, 0x93, 0x81 };
uint8_t appSKey[] = { 0xC1, 0xAE, 0x15, 0x9D, 0x98, 0x59, 0x0E, 0xD3, 0x68, 0x39, 0x51, 0x5A, 0xF1, 0x2F, 0x93, 0x81 };
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();
  deviceState = DEVICE_STATE_INIT;
}

void loop()
{
  switch( deviceState )
  {
    case DEVICE_STATE_INIT:
    {
#if(LORAWAN_DEVEUI_AUTO)
      LoRaWAN.generateDeveuiByChipID();
#endif
      LoRaWAN.init(loraWanClass,loraWanRegion);
      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;
    }
  }
}

Any news and hints from HelTec officials? Is it really possible to link to TTN? If not, please change your website to the public that it is NOT LoraWan compliant. Thank you!!

Connect CubeCell to LoRaWAN Server — cubecell latest documentation (heltec.org)

I’ve tried and finally successful by selecting the device as WiFi Lora node (v2).
Thank you very much!!

If you are in the USA and are having trouble getting your Heltec LoRa device to connect to TTN, you may want to take a look at my blog post. I lost many hours of my life getting my CubeCell to talk to TTN and my write-up may same you some frustration.