Witajcie.
W jaki sposób można rozwiązać taki komunikat
warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
gprs.sendSMS (buffNumber, "Relay 1 Status Aktif");
podczas kompilacji tego kodu:
#include <gprs.h>
#include <softwareserial.h>
#define TIMEOUT 5000
#define AKTIF LOW
#define MATI HIGH
byte Relay[] = {A0,A1,A2,A3};
byte StatRelay[4];
char buffNumber[20];
char currentLine[500] = "";
int currentLineIndex = 0;
bool nextLineIsMessage = false;
String replyNumber = "0799800990";
GPRS gprs;
void setup() {
for(int i=0; i < 4; i++) {
pinMode (Relay[i] , OUTPUT);
digitalWrite (Relay[i], MATI);
StatRelay[i] = MATI;
}
Serial.begin(9600);
while (!Serial);
Serial.println("Aktifkan SIM800L V2 >>> Otomatis Membaca SMS");
gprs.preInit();
delay(1000);
while (0 != gprs.init()) {
delay(1000);
Serial.print("init errorrn");
}
// Mengatur SMS ke mode ASCII
if (0 != gprs.sendCmdAndWaitForResp("AT+CMGF=1rn", "OK", TIMEOUT)) {
ERROR("ERROR:CNMI");
return;
}
// Membaca SMS yang Baru Masuk
if (0 != gprs.sendCmdAndWaitForResp("AT+CNMI=1,2,0,0,0rn", "OK", TIMEOUT)) {
ERROR("ERROR:CNMI");
return;
}
int pjg = replyNumber.length() + 1;
buffNumber[pjg];
replyNumber.toCharArray(buffNumber,pjg);
Serial.print("Kirim balasan ke nomor = > ");
Serial.println(buffNumber);
Serial.println("Initialisasi Berhasil");
Serial.println("=============================================================");
}
void loop() {
// Merubah status Relay ON / OFF
for(int i=0; i < 4; i++) {
digitalWrite(Relay[i], StatRelay[i]);
}
// Jika terdapat data masukan dari SIM800
if (gprs.serialSIM800.available()) {
char lastCharRead = gprs.serialSIM800.read();
// Simpan semuad data pada lastCharRead, kemudian jika terdapat r atau n, sebagai tanda akhir pesan masuk
if (lastCharRead == 'r' || lastCharRead == 'n') {
String lastLine = String(currentLine);
//Jika pesan terakihr +CMT menandakan pesan barus diterima
if (lastLine.startsWith("+CMT:")) {
Serial.println(lastLine);
nextLineIsMessage = true;
} else if (lastLine.length() > 0) {
if (nextLineIsMessage) {
Serial.println(lastLine);
// ================================================================>> Fungsi Mengendalikan Relay
//Kendali Relay 1
if (lastLine.indexOf("Relay 1 ON") >= 0) {
StatRelay[0] = AKTIF;
Serial.print("Balasan ====>>>> ");
Serial.println("Relay 1 Status Aktif");
gprs.sendSMS (buffNumber, "Relay 1 Status Aktif");
}
else if (lastLine.indexOf("Relay 1 OFF") >= 0) {
StatRelay[0] = MATI;
Serial.print("Balasan ====>>>> ");
Serial.println("Relay 1 Status Mati");
gprs.sendSMS (buffNumber, "Relay 1 Status Mati");
}
//Kendali Relay 2
if (lastLine.indexOf("Relay 2 ON") >= 0) {
StatRelay[1] = AKTIF;
Serial.print("Balasan ====>>>> ");
Serial.println("Relay 2 Status Aktif");
gprs.sendSMS (buffNumber, "Relay 2 Status Aktif");
}
else if (lastLine.indexOf("Relay 2 OFF") >= 0) {
StatRelay[1] = MATI;
Serial.print("Balasan ====>>>> ");
Serial.println("Relay 2 Status Mati");
gprs.sendSMS (buffNumber, "Relay 2 Status Mati");
}
//Kendali Relay 3
if (lastLine.indexOf("Relay 3 ON") >= 0) {
StatRelay[2] = AKTIF;
Serial.print("Balasan ====>>>> ");
Serial.println("Relay 3 Status Aktif");
gprs.sendSMS (buffNumber, "Relay 3 Status Aktif");
}
else if (lastLine.indexOf("Relay 3 OFF") >= 0) {
StatRelay[2] = MATI;
Serial.print("Balasan ====>>>> ");
Serial.println("Relay 3 Status Mati");
gprs.sendSMS (buffNumber, "Relay 3 Status Mati");
}
//Kendali Relay 4
if (lastLine.indexOf("Relay 4 ON") >= 0) {
StatRelay[3] = AKTIF;
Serial.print("Balasan ====>>>> ");
Serial.println("Relay 4 Status Aktif");
gprs.sendSMS (buffNumber, "Relay 4 Status Aktif");
}
else if (lastLine.indexOf("Relay 4 OFF") >= 0) {
StatRelay[3] = MATI;
Serial.print("Balasan ====>>>> ");
Serial.println("Relay 4 Status Mati");
gprs.sendSMS (buffNumber, "Relay 4 Status Mati");
}
nextLineIsMessage = false;
}
// ==================================================================>>
}
//Clear char array for next line of read
for ( int i = 0; i < sizeof(currentLine); ++i ) {
currentLine[i] = (char)0;
}
currentLineIndex = 0;
}
else {
currentLine[currentLineIndex++] = lastCharRead;
}
}
}