Lilygo ttgo T形梁和Lora在发送或接收时出现问题

时间:2020-06-07 16:12:42

标签: arduino iot esp32 lora

是否可以从T型波束发送lora有效载荷并从LoRa32 SX1276 OLED(v2)接收它?我要遵循这两个教程: https://randomnerdtutorials.com/ttgo-lora32-sx1276-arduino-ide/https://randomnerdtutorials.com/esp32-lora-rfm95-transceiver-arduino-ide/,我可以毫无问题地从两个LoRa32设备进行发送和接收。

但是,如果我打开LoRa32接收器并尝试从T光束T22V1.0发送,似乎什么也没发生。

T束代码:(设置了一些与gps相关的变量,但是为了清楚起见,我删除了gps代码。GPS确实可以正常工作。)

我在做什么错了?

(如果我不是那种初学者的好地方,请告诉我,我将尝试为此找到一个更合适的地方。)

#include <TinyGPS++.h>
#include <axp20x.h>
#include <SPI.h>
#include <LoRa.h>

#define SCK     5    // GPIO5  -- SX1278's SCK
#define MISO    19   // GPIO19 -- SX1278's MISnO
#define MOSI    27   // GPIO27 -- SX1278's MOSI
#define SS      18   // GPIO18 -- SX1278's CS
#define RST     23   // GPIO14 -- SX1278's RESET
#define DI0     26   // GPIO26 -- SX1278's IRQ(Interrupt Request)
#define BAND  868E6

TinyGPSPlus gps;
HardwareSerial GPS(1);
AXP20X_Class axp;

void setup()
{
  Serial.begin(115200);
  Wire.begin(21, 22);
  if (!axp.begin(Wire, AXP192_SLAVE_ADDRESS)) {
    Serial.println("AXP192 Begin PASS");
  } else {
    Serial.println("AXP192 Begin FAIL");
  }
  axp.setPowerOutPut(AXP192_LDO2, AXP202_ON); //lora
  axp.setPowerOutPut(AXP192_LDO3, AXP202_ON); //gps
  axp.setPowerOutPut(AXP192_DCDC2, AXP202_ON); 
  axp.setPowerOutPut(AXP192_EXTEN, AXP202_ON);
  axp.setPowerOutPut(AXP192_DCDC1, AXP202_ON); //oled
  GPS.begin(9600, SERIAL_8N1, 34, 12);   //17-TX 18-RX

  SPI.begin(SCK,MISO,MOSI,SS);
  LoRa.setPins(SS,RST,DI0);
  if (!LoRa.begin(BAND)) {
    Serial.println("Starting LoRa failed!");
    while (1);
  }else{
    Serial.println("Starting LoRa succeed!");
  }

  axp.setChgLEDMode(AXP20X_LED_BLINK_1HZ);

}

void loop()
{
  LoRa.beginPacket();
  LoRa.print("Hello");  
  LoRa.endPacket();
  Serial.println("sent..");

  delay(1000);
}

谢谢:)

[编辑]

我尝试使用https://github.com/Extentsoftware/TBeamPower

什么都没有。 这是代码:


#include <Arduino.h>
#include <SPI.h>
#include <LoRa.h>         // https://github.com/sandeepmistry/arduino-LoRa/blob/master/API.md
#include "gps.h"
#include "TBeamPower.h"

TBeamPower power(PWRSDA, PWRSCL); //21 22

void setupSerial() { 
  Serial.println();
  power.print_wakeup_reason();
}

void setup() {

  Serial.begin(115200);
  while (!Serial);

  Serial.println("Power begin");
  power.begin();

  Serial.println("All sensors off");
  power.power_sensors(false);

  Serial.println("All peripherals off");
  power.power_peripherals(false);

  Serial.println("Powering LoRa");
  power.power_LoRa(true);

  SPI.begin(SCK,MISO,MOSI,SS); //5 19 27 18
  LoRa.setPins(SS,RST,DI0); //18 14 26

  if (!LoRa.begin(BAND)) { //868E6 (France)
    Serial.println("Starting LoRa failed!");
    while (1);
  }else{
    Serial.println("Starting LoRa succeed!");
  }

  Serial.println();
}

void loop() {
  power.led_onoff(true);
  delay(500);
  power.led_onoff(false);

  LoRa.beginPacket();
  LoRa.print("hello");  
  LoRa.endPacket();
  Serial.println("sent..");
  power.print_status();
  Serial.println();
  delay(2000);  
}

这是我得到的输出

Power begin
AXP192 Begin PASS
All sensors off
All peripherals off
Powering LoRa
Starting LoRa succeed!

sent..
Voltages:
         DCDC1: 3.30v
         DCDC2: 1.25v
         DCDC3: 3.30v
         LDO2: 3.30v
         LDO3: 2.80v
ChargeCurrent:   0.70A
IPSOUTVoltage:   3.57v
Temp:            15.94°C
TSTemp:          800.00
VbusCurrent:     0.00
VbusVoltage:     0.00
Battery:
         Connected: false
         Charging:  false
         ChargEN :  true
         Voltage:   0.00v
         Inpower:   0.00
         DischgCur: 0.00
         ChargeCur: 0.00

我什至试图更换天线。 我还试图将TBeam用作接收器,但是什么都没到达。

2 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,使用一根T型梁发送而第二根T型梁接收。解决方案是对两个板都重新通电。进行重置或上传代码不会做相同的事情。我花了几个小时查看我的代码并尝试了不同的事情,直到重新打开两个板的电源。我终于可以为我的项目编写代码了。 Lilygo文档非常少,某些示例代码不起作用。

答案 1 :(得分:0)

只要频率相同,它们就可以工作

检查T光束和LoRa32模块是否以相同的频率运行。 Lora支持不同的频率。如果您检查提供的链接,您将看到以下代码:

//433E6 for Asia
//866E6 for Europe
//915E6 for North America
#define BAND 866E6

在您的T型束代码中有

#define BAND  868E6

所以也许您在这里遇到问题。