diff --git a/hardware/.vscode/settings.json b/hardware/.vscode/settings.json index 977f71d..ba2a34e 100644 --- a/hardware/.vscode/settings.json +++ b/hardware/.vscode/settings.json @@ -7,7 +7,9 @@ "functional": "cpp", "tuple": "cpp", "utility": "cpp", - "bmp280.h": "c" + "bmp280.h": "c", + "random": "cpp", + "sstream": "cpp" }, "github.copilot.enable": { "*": false, diff --git a/hardware/include/GPS.hpp b/hardware/include/GPS.hpp index fb5fbd2..7b5b7c4 100644 --- a/hardware/include/GPS.hpp +++ b/hardware/include/GPS.hpp @@ -1,5 +1,8 @@ #define RX 4 #define TX 5 -#include -void GPS_Init(); \ No newline at end of file +#include "SoftwareSerial.h" + +void GPS_Init(); +void GPS_Read(); +String GPS_Data(); \ No newline at end of file diff --git a/hardware/include/main.hpp b/hardware/include/main.hpp index f556608..3e84416 100644 --- a/hardware/include/main.hpp +++ b/hardware/include/main.hpp @@ -1,23 +1,15 @@ -<<<<<<< HEAD #include -#include "json.hpp" -#include "rest.hpp" -#include "wifi.hpp" -#include "test.hpp" -#include "mqtt.hpp" +#include "JsonTools.hpp" +#include "RestClient.hpp" +#include "WifiConnection.hpp" +#include "MqttClient.hpp" +#include "MQ7.hpp" +#include "BMP280.hpp" +//#include "test.hpp" + #define LED 2 #define SERVER_IP "192.168.1.178" #define REST_PORT 80 #define MQTT_PORT 1883 -======= -#include - -#include "JsonTools.hpp" -#include "RestClient.hpp" -#include "WifiConnection.hpp" -#include "MqttClient.hpp" - -uint32_t getChipID(); ->>>>>>> main diff --git a/hardware/lib/GPS.cpp b/hardware/lib/GPS.cpp new file mode 100644 index 0000000..617da56 --- /dev/null +++ b/hardware/lib/GPS.cpp @@ -0,0 +1,51 @@ +#include "GPS.hpp" +char c; +SoftwareSerial gps(RX, TX); + +void GPS_Init(){ + // RX, TX + + Serial.begin(115500); + gps.begin(9600); + Serial.println("GPS Initialized"); +} + +void GPS_Read(){ + + if (gps.available()) { + c = gps.read(); + + } +} +//$GPRMC,044235.000,A,4322.0289,N,00824.5210,W,0.39,65.46,020615,,,A*44 + +void GPS_Data(const char* data) { + char buffer[100]; + strncpy(buffer, data, sizeof(buffer)); // Copia segura de la cadena + buffer[sizeof(buffer) - 1] = '\0'; // Asegura que la cadena termine en '\0' + + char* token = strtok(buffer, ","); // Divide la cadena por comas + int index = 0; + String check; + float lon = 0.0, lat = 0.0; + + while (token != nullptr) { + if (index == 2) { + check = String(token); // Elemento en la posición 2 + } else if (index == 3) { + lon = atof(token); // Elemento en la posición 3 convertido a float + } else if (index == 5) { + lat = atof(token); // Elemento en la posición 5 convertido a float + } + token = strtok(nullptr, ","); // Avanza al siguiente token + index++; + } + + // Imprime los resultados + Serial.print("Check: "); + Serial.println(check); + Serial.print("Longitude: "); + Serial.println(lon, 6); // 6 decimales para precisión + Serial.print("Latitude: "); + Serial.println(lat, 6); +} \ No newline at end of file diff --git a/hardware/lib/MQ7.cpp b/hardware/lib/MQ7.cpp index e5d7ab8..f7fbbe0 100644 --- a/hardware/lib/MQ7.cpp +++ b/hardware/lib/MQ7.cpp @@ -1,20 +1,20 @@ -#include "MQ7.h" +#include "MQ7.hpp" void MQ7_Init() { - pinMode(digitalMQ7, INPUT); - pinMode(analogMQ7, INPUT); + pinMode(DIGITAL_MQ7, INPUT); + pinMode(ANALOG_MQ7, INPUT); } void MQ7_Read(float &sensorVolt, float &RSAir, float &R0, float &sensorValue) { - analogWrite(analogMQ7, 1023); + analogWrite(ANALOG_MQ7, 1023); delay(60000); - analogWrite(analogMQ7, (1023/5)*1.4 ); + analogWrite(ANALOG_MQ7, (1023/5)*1.4 ); for(int i = 0; i<100; i++) { - sensorValue = sensorValue + analogRead(analogMQ7); + sensorValue = sensorValue + analogRead(ANALOG_MQ7); delay(90000); } diff --git a/hardware/platformio.ini b/hardware/platformio.ini index 24262c3..6ec8d50 100644 --- a/hardware/platformio.ini +++ b/hardware/platformio.ini @@ -17,3 +17,4 @@ lib_deps = mikalhart/TinyGPSPlus@^1.0.2 bblanchon/ArduinoJson@^6.17.3 martinl1/BMP280_DEV@^1.0.21 + plerup/EspSoftwareSerial@^8.2.0 diff --git a/hardware/src/GPS.cpp b/hardware/src/GPS.cpp deleted file mode 100644 index 9ed2309..0000000 --- a/hardware/src/GPS.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#include "GPS.h" -char c = ""; - - -void GPS_Init(){ - SoftwareSerial gps(RX, TX); // RX, TX - - Serial.begin(9600); - gps.begin(9600); - Serial.println("GPS Initialized"); -} - -void GPS_Read(){ - - if (gps.available()) { - c = gps.read(); - - } -} - -String GPS_Data(char data){ - char[] c = data.split(","); - float lon = c[2]; - -} \ No newline at end of file diff --git a/hardware/src/main.cpp b/hardware/src/main.cpp index faa587a..08f9845 100644 --- a/hardware/src/main.cpp +++ b/hardware/src/main.cpp @@ -15,6 +15,11 @@ float sensorVolt, sensorValue, RSAir, R0; // BMP280 float temperature, humidity, pressure, altitude; +// GPS +String check; +float lon; +float lat; + uint32_t getChipID() { uint32_t chipId;