#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BNO055.h>
#include <SoftwareSerial.h>
// SoftwareSerial emulation for Wokwi
// RX, TX pins for GPRS module
SoftwareSerial gprsSerial(8, 9);
String APN = "your_APN"; // Access Point Name for your carrier
void setup() {
Serial.begin(9600);
gprsSerial.begin(9600);
// Connect to GPRS network
initializeGPRS();
}
void loop() {
// Example: Send a POST request to a server
sendHttpPostRequest("http://your-server.com/api", "data=Hello");
delay(5000); // Delay between data transmissions
}
void initializeGPRS() {
gprsSerial.println("AT");
delay(1000);
gprsSerial.println("AT+CGATT=1");
delay(1000);
gprsSerial.print("AT+CSTT=\"");
gprsSerial.print(APN);
gprsSerial.println("\"");
delay(1000);
gprsSerial.println("AT+CIICR");
delay(3000);
}
void sendHttpPostRequest(String server, String data) {
gprsSerial.println("AT+CIPSTART=\"TCP\",\"" + server + "\",80");
delay(2000);
gprsSerial.println("AT+CIPSEND");
delay(1000);
// HTTP POST request
gprsSerial.print("POST / HTTP/1.1\r\n");
gprsSerial.print("Host: ");
gprsSerial.println(server);
gprsSerial.println("Content-Type: application/x-www-form-urlencoded");
gprsSerial.print("Content-Length: ");
gprsSerial.println(data.length());
gprsSerial.println();
gprsSerial.println(data);
delay(1000);
gprsSerial.println((char)26); // End of data transmission
delay(2000);
gprsSerial.println("AT+CIPCLOSE");
delay(1000);
}