Program to serially receive in WIZ750SR to publish data in MQTT broker
Dependencies: MQTT WIZnetInterface mbed-src
Fork of RFID_copy by
Revision 1:7638b96d77af, committed 2018-07-17
- 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
diff -r 1fdb07d055b9 -r 7638b96d77af MFRC522.lib --- 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
diff -r 1fdb07d055b9 -r 7638b96d77af MQTT.lib --- 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
diff -r 1fdb07d055b9 -r 7638b96d77af WIZnetInterface.lib --- 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
diff -r 1fdb07d055b9 -r 7638b96d77af main.cpp --- 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
diff -r 1fdb07d055b9 -r 7638b96d77af mbed-src.lib --- 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