Heltec_WiFi_Lora_32, Lora-pakketjes ontvangen

Software vragen voor ESP chip familie
Berichten: 7
Geregistreerd: 25 Okt 2017, 16:39

Heltec_WiFi_Lora_32, Lora-pakketjes ontvangen

Berichtdoor henkdruiven » 30 Okt 2017, 18:10

Heltec_WiFi_Lora_32
Hieronder een eenvoudig werkend script voor het ontvangen van Lora-pakketjes.
Waar staat Lora voor

Code: Alles selecteren
/*
 * Eenvoudig script voor het ontvangen van Lora-pakketjes
 * Met uitvoer op de seriële monitor en het OLED-schermpje
 */

#include <U8x8lib.h> // OLED
#include <LoRa.h>

String receivedText;
String receivedRssi;

// WIFI_LoRa_32 ports
// GPIO5  -- SX1278's SCK
// GPIO19 -- SX1278's MISO
// GPIO27 -- SX1278's MOSI
// GPIO18 -- SX1278's CS
// GPIO14 -- SX1278's RESET
// GPIO26 -- SX1278's IRQ(Interrupt Request)

#define SS      18
#define RST     14
#define DI0     26
#define BAND    433E6

// Het OLED-schermpje
U8X8_SSD1306_128X64_NONAME_SW_I2C u8x8( /* clock=*/ 15, /* data=*/ 4, /* reset=*/ 16);

void setup( )
{
  SPI.begin( 5, 19, 27, 18); // Een introductie van de Serial Peripheral Interface (SPI)
  LoRa.setPins( SS, RST, DI0);

  Serial.begin( 115200);

  u8x8.begin( );
  u8x8.setFont( u8x8_font_chroma48medium8_r);

  Serial.println( "LoRa Receiver");
  u8x8.drawString( 0, 1, "LoRa Receiver");

  if( !LoRa.begin( BAND))
  {
    Serial.println( "Starting LoRa failed!");
    u8x8.drawString( 0, 1, "Starting LoRa failed!");
    esp_deep_sleep_start(); // Doe niets meer
  }
  else
  {
    Serial.println( "LoRa started!");
    u8x8.drawString( 0, 1, "LoRa started!");
  }
}

void loop( )
{
  // Probeer een pakketje te ontleden
  int packetSize = LoRa.parsePacket( );
  if( packetSize)
  {
    // Een pakketje ontvangen
    Serial.print( "Received packet '");
    u8x8.drawString( 0, 4, "PacketID");

    // Lees pakketje
    while ( LoRa.available( )) {
      receivedText = ( char)LoRa.read( );
      Serial.print( receivedText);
      char currentid[ 64];
      receivedText.toCharArray( currentid, 64);
      u8x8.drawString( 9, 4, currentid);
    }

    // print RSSI van pakketje
    Serial.print( "' with RSSI ");
    Serial.println( LoRa.packetRssi());
    u8x8.drawString( 0, 5, "PacketRS");
    receivedRssi= LoRa.packetRssi( );
    char currentrs[ 64];
    receivedRssi.toCharArray( currentrs, 64);
    u8x8.drawString( 9, 5, currentrs);
  }
}

Advertisement

Terug naar ESP Software

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 1 gast