My project is about posting RFID Tag ID using SIM900A module to the server. I have collected few commands for the above-mentioned task, but I am getting empty data. Can anyone please help me out in this issue?
I have attached my code here and the respective snapshots.
#include <SPI.h>
#include <MFRC522.h>
#include <SoftwareSerial.h>
#define RST_PIN 9 // Configurable, see typical pin layout above
#define SS_PIN 10 // Configurable, see typical pin layout above
SoftwareSerial mySerial(7, 8);
String data;
MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance
void setup() {
mySerial.begin(9600);
Serial.begin(9600); // Initialize serial communications with the PC
while (!Serial); // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4)
SPI.begin(); // Init SPI bus
mfrc522.PCD_Init(); // Init MFRC522
//mfrc522.PCD_DumpVersionToSerial(); // Show details of PCD - MFRC522 Card Reader details
//Serial.println(F("Scan PICC to see UID, SAK, type, and data blocks..."));
}
void loop() {
// Look for new cards
String code = "";
if ( ! mfrc522.PICC_IsNewCardPresent()) {
return;
}
// Select one of the cards
if ( ! mfrc522.PICC_ReadCardSerial()) {
return;
}
for (byte i = 0; i < mfrc522.uid.size; i++) {
code += String(mfrc522.uid.uidByte[i] < 0x10 ? " 0" :" ");
code += String(mfrc522.uid.uidByte[i], HEX);
}
code.toUpperCase();
Serial.println(code);
mfrc522.PICC_HaltA();
if (mySerial.available())
Serial.write(mySerial.read());
int num;
String le;
String data;
// String tag_id;
// data="tag_id = "+ String(result);
data="tag_id"+ code;
// Serial.println("HI : " +data);
// tag_id = "{\"tag_id\":"+ result + "}";
num=data.length();
// num=tag_id.length();
le=String(num);
mySerial.println(data);
delay(100);
ShowSerialData();
mySerial.println("AT+CGATT?"); //this is better made repeatedly because it is unstable
delay(2000);
ShowSerialData();
// mySerial.println("AT+CSTT=\"www\",\"\",\"\""); //start task and set the APN
// delay(1000);
// ShowSerialData();
// mySerial.println("AT+CIICR"); //bring up wireless connection
// delay(3000);
// ShowSerialData();
// mySerial.println("AT+CIFSR"); //get local IP adress
// delay(2000);
// ShowSerialData();
mySerial.println("AT+CIPSRIP?");
delay(3000);
ShowSerialData();
mySerial.println("AT+CIPSPRT=0");
delay(3000);
ShowSerialData();
mySerial.println("AT+CIPSTART=\"TCP\",\"49.207.183.202\",\"6006\""); //start up connection
mySerial.println(data);
delay(3000);
ShowSerialData();
mySerial.println("AT+CIPSEND");//begin sendiing data to the remote server
delay(5000);
ShowSerialData();
mySerial.print("POST http://49.207.183.202:6006/esp_dht/rest/rfid_insert HTTP/1.1\n");
//mySerial.println(data);
delay(100);
//ShowSerialData();
//delay(100);
ShowSerialData();
// mySerial.println("tag_id = " + String(result));
// delay(100);
// ShowSerialData();
mySerial.println("Content-Type: application/json");
delay(100);
ShowSerialData();
mySerial.println("Content-Length: "+le);
delay(100);
ShowSerialData();
mySerial.println("Host:49.207.183.202");
delay(100);
ShowSerialData();
mySerial.println();
delay(100);
ShowSerialData();
mySerial.println(data);
delay(100);
ShowSerialData();
mySerial.println();
delay(100);
ShowSerialData();
mySerial.println((char)26);
delay(9000);
mySerial.println();
ShowSerialData();
mySerial.println("AT+CIPCLOSE"); //close communication
delay(1000);
ShowSerialData();
}
void ShowSerialData()
{
while(mySerial.available()!=0)
Serial.write(mySerial.read());
}

