Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
en:iot:examples:nfc [2021/03/05 03:00] heiko.pikneren:iot:examples:nfc [2024/06/21 18:41] (current) karllall
Line 1: Line 1:
 +====== NFC example ======
 +{{:en:iot:examples:nfc_module.png?200|}}
 +{{:en:iot:examples:esp_module_pinout.png?200|}}
 +{{:en:iot:examples:esp_with_nfc_v3.png?250|}}
 +
 +SCK  -> 4 \\
 +MISO -> 5 \\
 +MOSI -> 6 \\
 +SS   -> 13 \\
 +VCC  -> 8 \\
 +GND  -> 15 \\
 +
 +Needed libraries:
 +<code>lib_deps = ITTIoT, Adafruit PN532</code>
 +
 +The code below will upload card ID to mqtt server, when a card is present.
 +
 +<code c>
 +
 +/*
 + * IoT NFC example
 + *
 + * This example will publish to "NFC" topic
 + *
 + * Created 19 Nov 2019
 + * Modified by Lars Briedis 17 June 2024
 + */
 +
 +#include <Arduino.h>
 +#include <ittiot.h>
 +#include <Adafruit_PN532.h>
 + 
 +#define WIFI_NAME "name"
 +#define WIFI_PASSWORD "password"
 + 
 +//Define pins for communication with the NFC reader
 +#define PN532_SCK  D5
 +#define PN532_MOSI D7
 +#define PN532_SS   D3
 +#define PN532_MISO D6
 + 
 +//Setup Adafruit PN532 library
 +Adafruit_PN532 nfc(PN532_SCK, PN532_MISO, PN532_MOSI, PN532_SS);
 + 
 +void iot_connected()
 +{
 +  Serial.println("MQTT connected callback");
 +  Serial.println("IoT NFC example!");
 +}
 + 
 +void setup()
 +{
 +  Serial.begin(115200);
 +  Serial.println("Booting");
 + 
 +  //iot.setConfig("wname", WIFI_NAME);
 +  //iot.setConfig("wpass", WIFI_PASSWORD);  
 +  //iot.printConfig(); // print json config to serial //Peale Serial.begin ja enne iot.setup
 +  //iot.setup();
 + 
 +  nfc.begin();
 +  uint32_t versiondata = nfc.getFirmwareVersion();
 +  if (! versiondata) {
 +    Serial.println("Didn't find PN53x board");
 +    while (1);
 +  }
 +  nfc.SAMConfig();
 +
 +}
 + 
 +void loop()
 +{
 +  boolean success;
 +  uint8_t uid[] = { 0, 0, 0, 0, 0, 0, 0 };
 +  uint8_t uidLength;
 +  char buf[10];
 +  char str[70] = "";
 + 
 +  //iot.handle();
 +  success = nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A, uid, &uidLength, 1000); // Card reading function
 + 
 +  if (success)
 +  {
 +    //Concatenate card ID
 +    for(int i = 0; i < uidLength;i++)
 +    {
 +      String(uid[i]).toCharArray(buf,10);
 +      strcat(str, buf);
 +    }
 +    //iot.publishMsg("NFC", str); // Publish card ID to topic "NFC"
 +    
 +    Serial.println(str);
 +    delay(1000);
 +  }
 +}
 +
 +</code>
 +
  
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0