是否可以从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作为接收器,但什么也没有到达。
发布于 2020-09-02 04:42:36
我也遇到了同样的问题,使用一个t波束发送,另一个接收。解决方案是重新启动两个主板的电源。执行重置或上载代码不会做同样的事情。我花了几个小时查看我的代码,并尝试不同的东西,直到我重新打开两个主板的电源。我终于可以为我的项目编写代码了。Lilygo文档非常少,并且一些示例代码不起作用。
发布于 2020-10-21 06:15:28
在频率相同的情况下,它们应该可以工作,
检查T形梁和LoRa32模块是否以相同的频率运行。Lora支持不同的频率。如果您签入您提供的链接,您将看到以下代码:
//433E6 for Asia
//866E6 for Europe
//915E6 for North America
#define BAND 866E6而在你的T形波束代码中有
#define BAND 868E6所以,也许你在这里遇到了问题。
https://stackoverflow.com/questions/62248154
复制相似问题