Hi. I am trying to make a GPS tracking system for a high-power rocket that will display the GPS coordinates of the rocket at a ground station. Right now, I am focusing on the transceivers: Onboard the rocket is a Grove Lora E-5 connected to an Arduino Nano, and a Wio E-5 development board is at the ground station. The Wio E-5 development board at the ground station does not have any code uploaded to it. The Wio E-5 development board is connected to a computer, and I intend just to view the serial monitor as demonstrated in this video
I got both transceivers to communicate via the transmitter script below (loaded onto the onboard Arduino Nano). The basic script uses AT commands to send the message “Text” to the ground station. However, the Wio E-5 development board at the ground station receives and displays “Text” in hexadecimal. The exact printout on the IDE is:
+TEST: LEN:4, RSSI:-49, SNR:12
+TEST: RX “54455854”
Where the “54455854” is the word “Text” in hexadecimal. I do not want the received data to be in hexadecimal, as I intend to have it display the latitude and longitude of the rocket. Is there any way not to have the received data on the Wio E-5 shown as hexadecimal? If not, I’m considering replacing the development board with another Grove Lora E-5 and writing a function to convert from hex to ASCII.
#include <SoftwareSerial.h>
void setup() {
// Open serial communications and wait for port to open:
Serial.begin(9600);
Serial1.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
//Serial.println(“Started”);
Serial1.write(“AT+ MODE= TEST\r\n”);
}
void loop()
{
// Check();
TX();
}
void TX()
{
if (random(1,10) == 3)
{
Serial1.write(“AT+TEST=TXLRSTR, “TEXT”\r\n”);
}
delay(100);
/* if (Serial.available() > 0)
{
Serial1.write(“AT+TEST=TXLRSTR, “TEXT”\r\n”);
}*/
}
void Check()
{
/*if (Serial1.available())
{
Serial.write(Serial1.read());
}*/
/*if (Serial.available())
{
Serial1.write(Serial.read());
}*/
}