是否可以从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用作接收器,但是什么都没到达。
答案 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
所以也许您在这里遇到问题。