Program to serially receive in WIZ750SR to publish data in MQTT broker

Dependencies:   MQTT WIZnetInterface mbed-src

Fork of RFID_copy by Rajib Kumer Dey

Files at this revision

API Documentation at this revision

Comitter:
HarshaDRAGNEEL
Date:
Tue Jul 17 06:08:33 2018 +0000
Parent:
0:1fdb07d055b9
Commit message:
To publish only the data

Changed in this revision

MFRC522.lib Show diff for this revision Revisions of this file
MQTT.lib Show annotated file Show diff for this revision Revisions of this file
WIZnetInterface.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed-src.lib Show annotated file Show diff for this revision Revisions of this file
--- a/MFRC522.lib	Thu Jun 07 04:14:28 2018 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-https://os.mbed.com/users/Rajib/code/MFRC522/#e57f3c9570f8
--- a/MQTT.lib	Thu Jun 07 04:14:28 2018 +0000
+++ b/MQTT.lib	Tue Jul 17 06:08:33 2018 +0000
@@ -1,1 +1,1 @@
-https://developer.mbed.org/users/jamesabruce/code/MQTT/#d3feba7f242a
+https://os.mbed.com/users/HarshaDRAGNEEL/code/MQTT/#97d1b3487179
--- a/WIZnetInterface.lib	Thu Jun 07 04:14:28 2018 +0000
+++ b/WIZnetInterface.lib	Tue Jul 17 06:08:33 2018 +0000
@@ -1,1 +1,1 @@
-http://developer.mbed.org/teams/WIZnet/code/WIZnetInterface/#bda61525ac71
+http://developer.mbed.org/teams/WIZnet/code/WIZnetInterface/#c91884bd2713
--- a/main.cpp	Thu Jun 07 04:14:28 2018 +0000
+++ b/main.cpp	Tue Jul 17 06:08:33 2018 +0000
@@ -1,61 +1,29 @@
-//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
-//RFID MOSI=pin3   ->   Nucleo SPI_MOSI=PA_7=D11
-//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);
- 
-//Serial connection to PC for output
-//Serial pc(USBTX, USBRX);
- 
-MFRC522    RfChip   (SPI_MOSI, SPI_MISO, SPI_SCK, SPI_CS, MF_RESET);
+Serial pc(USBTX, USBRX);   //Enabling the Serial transmission between WIZ750SR and PC.
+Serial serial(D1,D0);      // Enabling Serial transmission betwenn Wiz750SR and W7500. 
+char c[100]="";
+
  
 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";
+    char* topic = "ack";                    //if we are subscribing the acknowledgement.
     MQTTEthernet ipstack = MQTTEthernet();
     
     MQTT::Client<MQTTEthernet, Countdown> client = MQTT::Client<MQTTEthernet, Countdown>(ipstack);
     
-    char* hostname = "172.16.73.4";
-    int port = 1883;
+    char* hostname = "172.16.73.4";   //Give the IP Address of the MQTT Broker.
+    int port = 1883;                  // Port number of the MQTT broker.  
     
+ 
     int rc = ipstack.connect(hostname, port);
     if (rc != 0)
-        printf("rc from TCP connect is %d\n", rc);
-        
+    printf("rc from TCP connect is %d\n", rc);
     printf("Topic: %s\r\n",topic);
     
     MQTTPacket_connectData data = MQTTPacket_connectData_initializer;       
@@ -63,76 +31,32 @@
     data.clientID.cstring = "parents";
 
     if ((rc = client.connect(data)) == 0)
-        printf("rc from MQTT connect is %d\n", rc);
- 
-  //Init. RC522 Chip
-  RfChip.PCD_Init();
- 
-  while (true) {
-    //LedGreen = 1;
-    pc.printf("enterd loop...\n");
-    // Look for new cards
-    if ( ! RfChip.PICC_IsNewCardPresent())
-    {
-      wait_ms(500);
-      continue;
-    }
- 
-    // Select one of the cards
-    if ( ! RfChip.PICC_ReadCardSerial())
+    printf("rc from MQTT connect is %d\n", rc);
+   
+                              
+   while (true) {
+    if (serial.readable()) // if anything available/ readable in Serial port 
     {
-      wait_ms(500);
-      continue;
-    }
- 
-    //LedGreen = 0;
-    char data[20]="";
-    char data1[20]="";
-    
-    // Print Card UID
-    pc.printf("Card UID: ");
-    printf("Size of UID: %d \n",RfChip.uid.size);
-    for (uint8_t i = 0; i < RfChip.uid.size; i++)
-    {
-      char temp[5];
-      pc.printf(" %X02", RfChip.uid.uidByte[i]);
-      sprintf(temp,"%X02", RfChip.uid.uidByte[i]);
-      strcat(data,temp);
+        int i;
+        c[i]=0;
+        for(i=0;i<=10;i++){
+        char c1=serial.getc();
+        c[i] = c1;
+    } 
+     pc.printf("The value returned is %s ",c);
+     MQTT::Message message;
+     char buf[100];
+     sprintf(buf, "%s", c);
+     message.qos = MQTT::QOS0;
+         message.retained = false;
+         message.dup = false;
+
+         message.payload = (void*)c;
+         message.payloadlen = strlen(c);
+
+         rc = client.publish("balance", message);
+         pc.printf("Rc result: %c \n ",rc);
+         client.yield(60);
     }
-    
-    /*    
-    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)); 
-  }
 }
 }
\ No newline at end of file
--- a/mbed-src.lib	Thu Jun 07 04:14:28 2018 +0000
+++ b/mbed-src.lib	Tue Jul 17 06:08:33 2018 +0000
@@ -1,1 +1,1 @@
-http://mbed.org/users/mbed_official/code/mbed-src/#2d5fc5624619
+http://mbed.org/users/mbed_official/code/mbed-src/#a11c0372f0ba