#define Uart1BaudRate 115200
String comdata = "";
//char * buf1 = "AT+APPEUI=48FF000000000008\r\n";
//char * buf2 = "AT+DEVEUI=48E663FFFE300008\r\n";
//char * buf3 = "AT+APPSKEY=64A60D27D87E88D65BD7E0B734EDE2F0\r\n";
char * buf4 = "AT+JOIN=1:0:10:8\r\n";
char * buf5 = "AT+VER=?\r\n";
char * buf1 = "AT+APPEUI=5E9D1E0857CF25F1\r\n";
char * buf2 = "AT+DEVEUI=5E9D1E0857CF25F1\r\n";
char * buf3 = "AT+APPKEY=F921D50CD7D02EE3C5E6142154F274B2\r\n";
char * buf6 = "AT+APPEUI=?\r\n";
char * buf7 = "AT+DEVEUI=?\r\n";
char * buf8 = "AT+APPKEY=?\r\n";
char * buf9 = "AT+VER=?\r\n";
char * buf10 = "AT+CLASS=A\r\n";
char * buf11 = "AT+NJM=1\r\n";
char * buf12 = "AT+BAND=5\r\n";
char * buf13 = "AT+NWM=1\r\n";
char * buf14 = "AT+MASK=0002\r\n";
char * buf15 = "AT+CHE=1:2:3:4:5:6:7:8\r\n";
char * buf16 = "AT+CFM=0\r\n";
char * buf17 = "AT+SEND=2:1234\r\n";
char * buf18 = "AT+RECV=?\r\n";
char * buf19 = "AT+DCS=1\r\n";
char * buf20 = "AT+CFS=?\r\n";
char * buf21 = "ATR\r\n";
char * buf22 = "AT+ADR=1\r\n";
void sendCommand(const char* cmd) {
Serial1.write(cmd); // Komutu gönder
delay(2000); // Yeterli zaman ver
String response = ""; // Yanıtı tutacak string
while (Serial1.available() > 0) {
response += char(Serial1.read()); // Yanıtı oku
}
if (response.length() > 0) {
Serial.println(response); // Yanıtı seri porttan yazdır
}
}
void setup() {
Serial.begin(115200);
Serial1.begin(115200, SERIAL_8N1, 18, 17);
delay(1500);
//sendCommand(buf21);
sendCommand("ATR\r\n");
delay(3000);
sendCommand("ATE\r\n");
delay(1000);
sendCommand("AT+VER=?\r\n");
delay(1500);
sendCommand("AT+DEBUG=0\r\n");
delay(1500);
sendCommand("AT+NWM=1\r\n");
delay(1000);
sendCommand("AT+NJM=1\r\n");
delay(1000);
sendCommand("AT+CLASS=C\r\n");
delay(1000);
sendCommand("AT+BAND=5\r\n");
delay(1000);
sendCommand("AT+MASK=0002\r\n");
delay(1000);
sendCommand("AT+ADR=1\r\n");
delay(1000);
sendCommand("AT+CFM=0\r\n");
delay(1000);
sendCommand("AT+CHS=904900000\r\n");
delay(1000);
sendCommand("AT+RX2FQ=?\r\n");
delay(1000);
// sendCommand("AT+JN2DL=6\r\n");
/// delay(1000);
// sendCommand("AT+RX1DL=5\r\n");
// delay(1000);
// sendCommand("AT+RX2DL=5\r\n");
// delay(1000);
// sendCommand("AT+RX2DR=8\r\n");
// delay(1000);
//sendCommand("AT+RX2FQ=923300000\r\n");
//delay(1000);
//sendCommand("AT+TTX=4\r\n");
//delay(1000);
sendCommand("AT+DEVEUI=5E9D1E0857CF25C1\r\n");
delay(1000);
sendCommand("AT+APPEUI=5E9D1E0857CF25C1\r\n");
delay(1000);
sendCommand("AT+APPKEY=F921D50CD7D02EE3C5E6142154F274C2\r\n");
delay(1000);
sendCommand("AT+JOIN=1:0:10:8\r\n");
delay(1000);
// Diğer komutlarınızı da ekleyebilirsiniz
}
unsigned long previousMillis = 0; // Son gönderim zamanını takip eder
const unsigned long interval = 60000; // 60 saniye (60000 ms)
void loop() {
// Yine komutları gönderebilirsiniz
// sendCommand(buf17); // AT+SEND komutunu gönder
//delay(1000); // Sabit bir gecikme ile tekrar gönderim yapabilirsiniz
// sendCommand(buf17);
// delay(10000);
unsigned long currentMillis = millis();
// 60 saniyede bir `sendCommand` çalıştır
if (currentMillis - previousMillis >= interval) {
previousMillis = currentMillis; // Zamanlayıcıyı sıfırla
sendCommand("AT+SEND=2:0103080404\r\n");
}
// sendCommand("AT+RECV=?\r\n");
// delay(1000);
// sendCommand("AT+NJS=?\r\n");
// UART üzerinden gelen veriyi oku
if (Serial1.available() > 0) {
comdata = "";
while (Serial1.available() > 0) {
comdata += char(Serial1.read()); // Veriyi oku
delay(2);
}
if (comdata.length() > 0) {
// Gelen veriyi konsola yazdır
Serial.println("Received data: ");
Serial.println(comdata);
}
}
delay(10); // Delay, stabilite için
}
I sent 5 messages from chirpstack to end device but it only receives 1 of them
sometimes my messages are never delivered