0% found this document useful (0 votes)
29 views4 pages

Lora Receiver

This document provides a communication test example for sending data from an ESP32 device using LoRa technology. It includes configuration settings such as frequency, output power, bandwidth, and spreading factor, along with the implementation of the setup and loop functions for transmitting messages. The project is associated with HelTec Automation and is available on GitHub.

Uploaded by

fadwa JDIA
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as RTF, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views4 pages

Lora Receiver

This document provides a communication test example for sending data from an ESP32 device using LoRa technology. It includes configuration settings such as frequency, output power, bandwidth, and spreading factor, along with the implementation of the setup and loop functions for transmitting messages. The project is associated with HelTec Automation and is available on GitHub.

Uploaded by

fadwa JDIA
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as RTF, PDF, TXT or read online on Scribd
You are on page 1/ 4

/* Heltec Automation send communication test example

* Function:

* 1. Send data from a esp32 device over hardware

* Description:

* HelTec AutoMation, Chengdu, China

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

* www.heltec.org

* this project also realess in GitHub:

* https://github.com/Heltec-Aaron-Lee/WiFi_Kit_series

* */

#include "LoRaWan_APP.h"

#include "Arduino.h"

#define RF_FREQUENCY 915000000 // Hz

#define TX_OUTPUT_POWER 5 // dBm

#define LORA_BANDWIDTH 0 // [0: 125 kHz,

// 1: 250 kHz,
// 2: 500 kHz,

// 3: Reserved]

#define LORA_SPREADING_FACTOR 7 // [SF7..SF12]

#define LORA_CODINGRATE 1 // [1: 4/5,

// 2: 4/6,

// 3: 4/7,

// 4: 4/8]

#define LORA_PREAMBLE_LENGTH 8 // Same for Tx and Rx

#define LORA_SYMBOL_TIMEOUT 0 // Symbols

#define LORA_FIX_LENGTH_PAYLOAD_ON false

#define LORA_IQ_INVERSION_ON false

#define RX_TIMEOUT_VALUE 1000

#define BUFFER_SIZE 30 // Define the payload size here

char txpacket[BUFFER_SIZE];

char rxpacket[BUFFER_SIZE];

double txNumber;

bool lora_idle=true;

static RadioEvents_t RadioEvents;

void OnTxDone( void );


void OnTxTimeout( void );

void setup() {

Serial.begin(115200);

Mcu.begin(HELTEC_BOARD,SLOW_CLK_TPYE);

txNumber=0;

RadioEvents.TxDone = OnTxDone;

RadioEvents.TxTimeout = OnTxTimeout;

Radio.Init( &RadioEvents );

Radio.SetChannel( RF_FREQUENCY );

Radio.SetTxConfig( MODEM_LORA, TX_OUTPUT_POWER, 0, LORA_BANDWIDTH,

LORA_SPREADING_FACTOR, LORA_CODINGRATE,

LORA_PREAMBLE_LENGTH, LORA_FIX_LENGTH_PAYLOAD_ON,

true, 0, 0, LORA_IQ_INVERSION_ON, 3000 );

void loop()

if(lora_idle == true)

{
delay(1000);

txNumber += 0.01;

sprintf(txpacket,"Hello world number %0.2f",txNumber); //start a package

Serial.printf("\r\nsending packet \"%s\" , length %d\r\n",txpacket, strlen(txpacket));

Radio.Send( (uint8_t *)txpacket, strlen(txpacket) ); //send the package out

lora_idle = false;

Radio.IrqProcess( );

void OnTxDone( void )

Serial.println("TX done......");

lora_idle = true;

void OnTxTimeout( void )

Radio.Sleep( );

Serial.println("TX Timeout......");

lora_idle = true;

You might also like