Problem to put the get request "Arduino UNO, RFID, Sim808 shield DFRobot"

#include <DFRobot_sim808.h>
#include <SoftwareSerial.h>
#include <SPI.h> // SPI
#include <MFRC522.h> // RFID

#define SS_PIN 10
#define RST_PIN 9

// Déclaration
MFRC522 rfid(SS_PIN, RST_PIN);
DFRobot_SIM808 sim808(&Serial);
// Tableau contentent l'ID
byte nuidPICC[4];
String A,B,C,D,E,F;
char web_hook[75];
//#define PIN_TX 10
//#define PIN_RX 11
//SoftwareSerial mySerial(PIN_TX,PIN_RX);
//DFRobot_SIM808 sim808(&mySerial);//Connect RX,TX,PWR,

//make sure that the baud rate of SIM900 is 9600!
//you can use the AT Command(AT+IPR=9600) to set it through SerialDebug

char buffer[512];
void setup(){

//RFID
// Init RS232
Serial.begin(9600);

// Init SPI bus
SPI.begin();

// Init MFRC522
rfid.PCD_Init();

//mySerial.begin(9600);
Serial.begin(9600);
}

void loop(){

// Initialisé la boucle si aucun badge n'est présent
if ( !rfid.PICC_IsNewCardPresent())
return;

// Vérifier la présence d'un nouveau badge
if ( !rfid.PICC_ReadCardSerial())
return;

// Enregistrer l'ID du badge (4 octets)
for (byte i = 0; i < 4; i++)
{
nuidPICC[i] = rfid.uid.uidByte[i];
}

// Affichage de l'ID
Serial.println("Un badge est détecté");
Serial.println(" L'UID du tag est:");
for (byte i = 0; i < 4; i++)
{
Serial.print(nuidPICC[i], HEX);
Serial.print("");
}
Serial.println();

A=nuidPICC[0];
B=nuidPICC[1];
C=nuidPICC[2];
D=nuidPICC[3];
E=nuidPICC[4];
F=A+B+C+D+E;
Serial.println(F);

String http_cmd = "GET /api/verifier-agent/" + F + " HTTP/1.0\r\n\r\n";

//*** Initialize sim808 module ******

while(!sim808.init()) {
delay(1000);
Serial.print("Sim808 init error\r\n");
}
delay(3000);

//**** Attempt DHCP ********
while(!sim808.join(F("cmnet"))) {
Serial.println("Sim808 join network error");
delay(2000);
}

//**** Successful DHCP ******
Serial.print("IP Address is ");
Serial.println(sim808.getIPAddress());

//**** Establish a TCP connection *****
if(!sim808.connect(TCP,"telepointage.tech.com", 80)) {
Serial.println("Connect error");
}else{
Serial.println("Connect success");
}

//**** Send a GET request ******
Serial.println("waiting to fetch...");
String_to_Char(http_cmd, 75, web_hook);
sim808.send(web_hook, sizeof(web_hook)-1);
while (true) {
int ret = sim808.recv(buffer, sizeof(buffer)-1);
if (ret <= 0){
Serial.println("fetch over...");
break;
}
buffer[ret] = '\0';
Serial.print("Recv: ");
Serial.print(ret);
Serial.print(" bytes: ");
Serial.println(buffer);
break;
}

//***** Close TCP or UDP connections ****
sim808.close();

//* Disconnect wireless connection, Close Moving Scene ***
sim808.disconnect();

// Re-Init RFID
rfid.PICC_HaltA(); // Halt PICC
rfid.PCD_StopCrypto1(); // Stop encryption on PCD

}
void String_to_UnChar(String _String, int _size, unsigned char _convert[]){
for(int i=0;i<_size;i++){
_convert[i] = _String[i];
}
}

void String_to_Char(String _String, int _size, char _convert[]){
for(int i=0;i<_size;i++){
_convert[i] = _String[i];
}
}

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.