CCCPaste

"Activate GNSS" rev_66

/********* Pleasedontcode.com **********

	Pleasedontcode thanks you for automatic code generation! Enjoy your code!

	- Terms and Conditions:
	You have a non-exclusive, revocable, worldwide, royalty-free license
	for personal and commercial use. Attribution is optional; modifications
	are allowed, but you're responsible for code maintenance. We're not
	liable for any loss or damage. For full terms,
	please visit pleasedontcode.com/termsandconditions.

	- Project: "Activate GNSS"
	- Source Code compiled for: ESP32 DevKit V1
	- Source Code created on: 2024-06-24 21:35:54

********* Pleasedontcode.com **********/

/****** SYSTEM REQUIREMENTS *****/
/****** SYSTEM REQUIREMENT 1 *****/
	/* Use TinyGSM library to initialize modem with APN */
	/* "airtelgprs.com", establish GSM connection, enable */
	/* GNSS module for location data capture, and display */
	/* all activity logs on Serial Monitor. */
/****** SYSTEM REQUIREMENT 2 *****/
	/* add #define TINY_GSM_MODEM_SIM7600 */
/****** END SYSTEM REQUIREMENTS *****/


/********* User code review feedback **********
#### Feedback 1 ####
- do nothing
********* User code review feedback **********/
/****** DEFINITION OF LIBRARIES *****/
#define TINY_GSM_MODEM_SIM7600  // Define GSM modem model before including the library
#include 

/****** FUNCTION PROTOTYPES *****/
void setup(void);
void loop(void);

/***** DEFINITION OF Hardware Serial *****/
#define SerialMon Serial
#define MODEM_RST 5
#define MODEM_PWRKEY 4
#define MODEM_POWER_ON 23
#define MODEM_TX 27
#define MODEM_RX 26
#define I2C_SDA 21
#define I2C_SCL 22

/***** SYSTEM REQUIREMENT 1 *****/
#define TINY_GSM_DEBUG SerialMon

// Your GPRS credentials
const char apn[] = "airtelgprs.com";
const char gprsUser[] = "";
const char gprsPass[] = "";

// Initialize the TinyGSM modem instance
TinyGsm modem(Serial2);
TinyGsmClient client(modem);

void setup(void)
{
    // Set console baud rate
    SerialMon.begin(115200);
    delay(10);

    // Set GSM module baud rate
    Serial2.begin(115200, SERIAL_8N1, MODEM_RX, MODEM_TX);
    delay(3000);

    // Restart takes quite some time
    // To skip it, call init() instead of restart()
    SerialMon.println("Initializing modem...");
    modem.restart();

    // Display modem info
    String modemInfo = modem.getModemInfo();
    SerialMon.print("Modem Info: ");
    SerialMon.println(modemInfo);

    // Unlock your SIM card with a PIN if needed
    // modem.simUnlock("1234");

    // Connect to the GPRS network
    SerialMon.print("Connecting to APN: ");
    SerialMon.println(apn);
    if (!modem.gprsConnect(apn, gprsUser, gprsPass)) {
        SerialMon.println("Failed to connect to GPRS");
        while (true);
    }
    SerialMon.println("GPRS connected");

    // Enable GNSS
    SerialMon.println("Enabling GNSS...");
    modem.enableGPS();
}

void loop(void)
{
    // Check if GNSS is enabled and get location data
    float lat, lon;
    if (modem.getGPS(&lat, &lon)) {
        SerialMon.print("Latitude: ");
        SerialMon.println(lat, 6);
        SerialMon.print("Longitude: ");
        SerialMon.println(lon, 6);
    } else {
        SerialMon.println("Failed to get GPS data or GNSS is not enabled");
    }

    delay(10000); // Wait for 10 seconds before the next loop
}

/* END CODE */