Я работаю над платой Arduino (микропроцессор: ATMega328P) для университетского проекта.Я хотел бы создать GPS-трекер, который получает данные, сохраняет их и ретранслирует через модуль SIGFOX.По сути, я могу получать данные и отправлять простые команды SIGFOX через последовательный порт.
#include <TinyGPS++.h>
#include <String.h>
#include <SoftwareSerial.h>
static const int RXPin = 4, TXPin = 3;
static const uint32_t GPSBaud = 4800;
TinyGPSPlus gps;
SoftwareSerial ss(RXPin, TXPin);
void setup()
{
Serial.begin(115200);
ss.begin(GPSBaud);
Serial.println(F("DeviceExample.ino"));
Serial.println(TinyGPSPlus::libraryVersion());
Serial.println();
}
void loop()
{
// This sketch displays information every time a new sentence is correctly encoded.
while (ss.available() > 0)
if (gps.encode(ss.read())) {
Serial.print(gps.location.lat(), 6); // 4 bytes
Serial.print(F(",")); // 1 byte
Serial.print(gps.location.lng(), 6); // 4 bytes
Serial.print('\n');
delay(4000);
}
if (millis() > 5000 && gps.charsProcessed() < 10){
Serial.println(F("No GPS detected: check wiring."));
while (true);
}
}
Это правильно выводит на экран два значения (широту и долготу), которые нужно сохранить,Это часть кода в TinyGPS ++. Cpp:
double TinyGPSLocation::lat()
{
updated = false;
double ret = rawLatData.deg + rawLatData.billionths / 1000000000.0;
return rawLatData.negative ? -ret : ret;
}
double TinyGPSLocation::lng()
{
updated = false;
double ret = rawLngData.deg + rawLngData.billionths / 1000000000.0;
return rawLngData.negative ? -ret : ret;
}
Теперь я хотел бы сохранить эти данные и отправить их через модуль SIGFOX.Команда SIGFOX:
'N X'
, где N представляет количество байтов, которые должны быть переданы, а X - значения байтов.Например: «1 255» равен 1 байту со значением 255 и возвращает FF в качестве вывода.
Проблема состоит в том, что значения являются двойными, поэтому я не знаю, как записать их в команду SIGFOX.Другая проблема заключается в том, что я не знаю, как создать две последовательные связи в коде.Я попробовал, но, похоже, это не сработало.
Заранее большое спасибо.