Serial communication between the W7500 and WIZ750SR to send RFID data

Dependencies:   HCSR04 MFRC522 TextLCD mbed-src

Fork of RFID_copy by Rajib Kumer Dey

Revision:
1:2c9b99e9122b
Parent:
0:1fdb07d055b9
--- a/main.cpp	Thu Jun 07 04:14:28 2018 +0000
+++ b/main.cpp	Tue Jul 17 06:19:38 2018 +0000
@@ -1,9 +1,6 @@
-//Test of cheap 13.56 Mhz RFID-RC522 module from eBay
-//This code is based on Martin Olejar's MFRC522 library. Minimal changes
-//Adapted for Nucleo STM32 F401RE. Should work on other Nucleos too
- 
+
 //Connect as follows:
-//RFID pins        ->  Nucleo header CN5 (Arduino-compatible header)
+
 //----------------------------------------
 //RFID IRQ=pin5    ->   Not used. Leave open
 //RFID MISO=pin4   ->   Nucleo SPI_MISO=PA_6=D12
@@ -11,60 +8,37 @@
 //RFID SCK=pin2    ->   Nucleo SPI_SCK =PA_5=D13
 //RFID SDA=pin1    ->   Nucleo SPI_CS  =PB_6=D10
 //RFID RST=pin7    ->   Nucleo         =PA_9=D8
-//3.3V and Gnd to the respective pins                              
-                              
+                          
+
 #include "mbed.h"
 #include "MFRC522.h"
 #include "SPI.h"
-#include "MQTTEthernet.h"
-#include "MQTTClient.h"
-
 #define ECHO_SERVER_PORT   7
  
-// Nucleo Pin for MFRC522 reset (pick another D pin if you need D8)
-//#define MF_RESET    D8
  
 #define SPI_MOSI D11
 #define SPI_MISO D12
 #define SPI_SCK D13
 #define SPI_CS D10
-#define MF_RESET D9
-DigitalOut l1(D4);
-DigitalOut l2(D5);
-DigitalOut LedGreen(LED1);
- 
+#define MF_RESET D8
+
+
 //Serial connection to PC for output
-//Serial pc(USBTX, USBRX);
- 
+Serial pc(USBTX, USBRX);
+// Serial connection with W750SR gateway for MQTT communication  
+Serial a(D1,D0);
+// Initializing RFID chip pins
 MFRC522    RfChip   (SPI_MOSI, SPI_MISO, SPI_SCK, SPI_CS, MF_RESET);
- 
-int main(void) {
-    //pc.printf("starting...\n");
-    
-    Serial pc(USBTX, USBRX);
-    pc.baud(115200);
-    printf("Wait a second...\r\n");
-    char* topic = "openhab/parents/command";
-    MQTTEthernet ipstack = MQTTEthernet();
+  
+    char c;
+    int d;
     
-    MQTT::Client<MQTTEthernet, Countdown> client = MQTT::Client<MQTTEthernet, Countdown>(ipstack);
-    
-    char* hostname = "172.16.73.4";
-    int port = 1883;
-    
-    int rc = ipstack.connect(hostname, port);
-    if (rc != 0)
-        printf("rc from TCP connect is %d\n", rc);
-        
-    printf("Topic: %s\r\n",topic);
-    
-    MQTTPacket_connectData data = MQTTPacket_connectData_initializer;       
-    data.MQTTVersion = 3;
-    data.clientID.cstring = "parents";
-
-    if ((rc = client.connect(data)) == 0)
-        printf("rc from MQTT connect is %d\n", rc);
+int main(void) {
  
+    Serial pc(USBTX, USBRX);
+    Serial a(D1,D0);
+    pc.printf("Wait a second...\r\n");
+   
   //Init. RC522 Chip
   RfChip.PCD_Init();
  
@@ -77,17 +51,15 @@
       wait_ms(500);
       continue;
     }
- 
-    // Select one of the cards
+   // Select one of the cards
     if ( ! RfChip.PICC_ReadCardSerial())
     {
       wait_ms(500);
       continue;
     }
- 
-    //LedGreen = 0;
-    char data[20]="";
-    char data1[20]="";
+   
+   char data[20]="";
+  // char data1[20]="";
     
     // Print Card UID
     pc.printf("Card UID: ");
@@ -100,39 +72,11 @@
       strcat(data,temp);
     }
     
-    /*    
-    pc.printf("\n\r");
-    printf("%s\n\r",data);
-    */
- 
     // Print Card type
     uint8_t piccType = RfChip.PICC_GetType(RfChip.uid.sak);
     pc.printf(" \nPICC Type: %s \n\r", RfChip.PICC_GetTypeName(piccType));
     wait_ms(1000);
-    
-    if(strcmp(data,"5C02820285024502")==0)
-    {   
-        strcat(data1,"fruits");
-    }
-    if(strcmp(data,"B3026802A002202")==0)
-    {
-        strcat(data1,"vegatables");
-    }
-    if(strcmp(data,"F2029C02AC021F02")==0)
-    {
-        strcat(data1,"milk");
-    
-    MQTT::Message message;
-    char buf[100];
-    sprintf(buf, "%s", data1);
-    message.qos = MQTT::QOS0;
-    message.retained = false;
-    message.dup = false;
-    message.payload = (void*)data1;
-    message.payloadlen = strlen(data1);
-    rc = client.publish("grocery", message); 
-    client.yield(60000);
-    memset(data1, '\0',sizeof(data1)); 
+    a.printf("%s",data);
+  
   }
 }
-}
\ No newline at end of file