#include <WiFi.h>
#include <HTTPClient.h>
const char* ssid = "Wokwi-GUEST";
const char* password = "";
const char* RMSServer = "sashiraz.info";
//توکن های مربوط به گیت
const char* gateaccessTokens[] = {
"jkhdsfjhskdjf11",
"jkhdsfjhskdjf10",
"jkhdsfjhskdjf9",
"jkhdsfjhskdjf8",
"jkhdsfjhskdjf7",
"jkhdsfjhskdjf6",
"jkhdsfjhskdjf5",
"jkhdsfjhskdjf4",
"jkhdsfjhskdjf3",
"jkhdsfjhskdjf2",
"lkdfjhjkljdsflj1"
};
const int numgateAccessTokens = sizeof(gateaccessTokens) / sizeof(gateaccessTokens[0]);
//توکن های مربوط به Baggage
const char* bagaccessTokens[] = {
"7C38yJ7EgRdjJ1qqhCfB",
"5kNZyQhr4SwSjvEs5KS5",
"nQMa6vMUJriVF3zVsEbH",
"7sBcez0S6J5j6EBHGteL",
"gKkdrAygjwsLcxCmkknv",
"xTteIUB7emN25YV60cd4",
"el86mJGka1dTzjQAlVH1",
"wkpYOsPBENlgLhXp4gzy",
"GRKvjNGRjrhV3yhW6T1l",
"c3ODmzeFpNI88fiyqwMc"
};
const int numbagAccessTokens = sizeof(bagaccessTokens) / sizeof(bagaccessTokens[0]);
String generateRandomStatus() {
return random(2) ? "Active" : "Not Active";
}
String generateRandomOperational() {
return random(2) ? "ok" : "notOperational";
}
String generateRandomAlarm() {
int randomNumber = random(6);
if (randomNumber == 0) {
return 1;
} else if (randomNumber == 1) {
return 10;
} else if (randomNumber == 2) {
return 20;
} else if (randomNumber == 3) {
return 30;
} else if (randomNumber == 4) {
return 40;
} else {
return 50;
}
}
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
Serial.println("Connected to WiFi");
randomSeed(analogRead(0));
}
void loop() {
//ارسال دیتا رندم برای گیت ها
for (int i = 0; i < numgateAccessTokens; i++) {
String status = generateRandomStatus();
String operational = generateRandomOperational();
String alarm = generateRandomAlarm();
WiFiClient client;
HTTPClient http;
String url = "https://"+ String(RMSServer) + "/api/v1/" + String(gateaccessTokens[i]) + "/telemetry";
String payload = "{ \"Alarm\":" + alarm + ", \"Status\":" + status + ", \"operational\":" + operational + "}";
http.begin(url);
http.addHeader("Content-Type", "application/json");
int httpResponseCode = http.POST(payload);
if (httpResponseCode > 0) {
Serial.print("Data sent successfully to Gate. Response code: ");
Serial.println(httpResponseCode);
Serial.print("accessToken: ");
Serial.println(String(gateaccessTokens[i]));
Serial.print("status: " + status );
Serial.print(" operational: " + operational);
Serial.println(" Alarm: " + alarm);
} else {
Serial.print("Error sending data to RMS. Error code: ");
Serial.println(httpResponseCode);
}
http.end();
//ارسال دیتای رندم برای Baggage
url = "https://"+ String(RMSServer) + "/api/v1/" + String(bagaccessTokens[i]) + "/telemetry";
payload = "{ \"Alarm\":" + alarm + ", \"Status\":" + status + ", \"operational\":" + operational + "}";
http.begin(url);
http.addHeader("Content-Type", "application/json");
httpResponseCode = http.POST(payload);
if (httpResponseCode > 0) {
Serial.print("Data sent successfully to Baggage. Response code: ");
Serial.println(httpResponseCode);
Serial.print("accessToken: ");
Serial.println(String(bagaccessTokens[i]));
Serial.print("status: " + status );
Serial.print(" operational: " + operational);
Serial.println(" Alarm: " + alarm);
} else {
Serial.print("Error sending data to RMS. Error code: ");
Serial.println(httpResponseCode);
}
http.end();
}
}