ggfd

Dependencies:   MQTT TextLCD WIZnetInterface mbed-src

Files at this revision

API Documentation at this revision

Comitter:
sheralikhan
Date:
Wed Feb 14 06:04:28 2018 +0000
Commit message:
jhygf

Changed in this revision

MFRC522.lib Show annotated file Show diff for this revision Revisions of this file
MQTT.lib Show annotated file Show diff for this revision Revisions of this file
RFIDRW.lib Show annotated file Show diff for this revision Revisions of this file
TextLCD.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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MFRC522.lib	Wed Feb 14 06:04:28 2018 +0000
@@ -0,0 +1,1 @@
+https://developer.mbed.org/users/sheralikhan/code/Reading_Writing_MIFARE_Tags_WIZWIKI_W750/#c801d7799013
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MQTT.lib	Wed Feb 14 06:04:28 2018 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/sheralikhan/code/MQTT/#205fe4c5a6d6
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/RFIDRW.lib	Wed Feb 14 06:04:28 2018 +0000
@@ -0,0 +1,1 @@
+https://developer.mbed.org/users/sheralikhan/code/RFIDRW/#0f579a13df1d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TextLCD.lib	Wed Feb 14 06:04:28 2018 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/simon/code/TextLCD/#308d188a2d3a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/WIZnetInterface.lib	Wed Feb 14 06:04:28 2018 +0000
@@ -0,0 +1,1 @@
+http://developer.mbed.org/teams/WIZnet/code/WIZnetInterface/#c91884bd2713
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Wed Feb 14 06:04:28 2018 +0000
@@ -0,0 +1,173 @@
+//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 "MQTTEthernet.h"
+#include "MQTTClient.h"
+#include "TextLCD.h"
+#include <sstream>
+#include <string>
+#define ECHO_SERVER_PORT   7
+#define SPI_MOSI    D11
+#define SPI_MISO    D12
+#define SPI_SCLK    D13
+#define SPI_CS      D10
+
+// WIZWiki-W7500 Pin for MFRC522 reset(pick another D pin if you need D8)
+#define MF_RESET    D9
+
+TextLCD lcd(D2, D3, D4, D5, D6, D7); // rs, e, d4-d7
+
+Serial out(USBTX,USBRX);
+int arrivedcount = 0;
+char RFIDTagMessage[10];
+
+/*void messageArrived(MQTT::MessageData& md)
+{
+    MQTT::Message &message = md.message;
+    printf("Message arrived: qos %d, retained %d, dup %d, packetid %d\n", message.qos, message.retained, message.dup, message.id);
+    printf("Payload %.*s\n", message.payloadlen, (char*)message.payload);
+    ++arrivedcount;
+}*/
+
+void baud(int baudrate)
+{
+    Serial s(USBTX, USBRX);
+    s.baud(baudrate);
+}
+
+
+MFRC522    RfChip (SPI_MOSI, SPI_MISO, SPI_SCLK, SPI_CS, MF_RESET);        // Init MFRC522 card
+
+DigitalOut LedGreen(D0);
+DigitalOut LedRed(D1);
+//DigitalOut Buzzer(D4);
+char* store_buf;
+
+int main(void)
+{
+    printf("starting...\n");
+
+    // Init. RC522 Chip
+    RfChip.PCD_Init();
+    MQTTEthernet ipstack = MQTTEthernet();
+
+
+    while (true) {
+        // lcd.locate(4,0);
+      //  lcd.printf(" CDI Attendance\n");
+        // lcd.locate(4,1);
+     //   lcd.printf(" System\n");
+        // Look for new cards
+        if ( ! RfChip.PICC_IsNewCardPresent()) {
+            wait_ms(50);
+            continue;
+        }
+
+        // Select one of the cards
+        if ( ! RfChip.PICC_ReadCardSerial()) {
+            wait_ms(50);
+            continue;
+        }
+
+  //      lcd.cls();
+ //       wait_ms(50);
+
+        //Size
+
+        printf("Size: %d \n",RfChip.uid.size);
+        printf("\n\r");
+        // Print Card UID
+        printf("Card UID: ");
+        for (uint8_t i = 0; i < RfChip.uid.size; i++) {
+            printf(" %X", RfChip.uid.uidByte[i]);
+            store_buf+= sprintf(store_buf,"%X",RfChip.uid.uidByte[i]);
+        }
+        printf("\n\r");
+        store_buf=RFIDTagMessage;
+        printf("Card ID: %s",store_buf);
+
+     /*   if(store_buf[0]!='\0') {
+
+
+            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);
+
+            out.printf("rc from TCP connect is %d\n", rc);
+
+            if (rc != 0)
+                out.printf("rc from TCP connect is %d\n", rc);
+
+            char MQTTClientID[30];
+
+            MQTTPacket_connectData data = MQTTPacket_connectData_initializer;
+            data.MQTTVersion = 3;
+            sprintf(MQTTClientID,"WIZwiki-W7500-client-%d",rand()%1000);
+            data.clientID.cstring = MQTTClientID;
+     */       /*   data.username.cstring = "testuser";
+               data.password.cstring = "testpassword"; */
+
+       /*     if ((rc = client.connect(data)) != 0)
+                printf("rc from MQTT connect is %d\n", rc);
+
+            MQTT::Message message;
+
+            message.qos = MQTT::QOS0;
+            message.retained = false;
+            message.dup = false;
+
+            message.payload = (void*)RFIDTagMessage;
+            message.payloadlen = strlen(RFIDTagMessage);
+
+            rc = client.publish("cdi/employee/attendance", message);
+            printf("Rc result: % d ",rc);
+            if(rc!=0) {
+       */         // lcd.printf(" FAILED..! TRY AGAIN!\n");
+         /*       lcd.locate(4,0);
+                lcd.printf("FAILED.!\n");
+                lcd.locate(2,1);
+                lcd.printf("TRY AGAIN..\n");
+
+                LedRed=1;
+
+                LedGreen = 0;
+                wait_ms(3000);
+                LedRed=0;
+
+                lcd.cls();
+                // NVIC_SystemReset();
+            } else {
+                lcd.printf(" USER VERIFIED!\n");
+                LedGreen = 1;
+                wait_ms(2000);
+                LedGreen = 0;
+                lcd.cls();
+            }*/
+    //    }
+
+
+
+        // Print Card type
+        uint8_t piccType = RfChip.PICC_GetType(RfChip.uid.sak);
+        printf("PICC Type: %s \n\r", RfChip.PICC_GetTypeName(piccType));
+        wait_ms(50);
+
+    }
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-src.lib	Wed Feb 14 06:04:28 2018 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed-src/#a11c0372f0ba