//#define CAYENNE_DEBUG #define CAYENNE_PRINT Serial #include #include #include #define RST_PIN 9 #define SS_PIN 10 #define EspSerial Serial ESP8266 wifi(&EspSerial); MFRC522 mfrc522(SS_PIN, RST_PIN); char ssid[] = "wncry20%"; char wifiPassword[] = "jstiot7"; char username[] = "xxxxx"; char password[] = "xxxxx"; char clientID[] = "xxxxx"; String read_rfid; String ok_rfid_1="d9b89455"; String ok_rfid_2="b69f0f7"; String ok_rfid_3="97c7251b"; int lock = 8; int lock2 = 7; void setup() { Serial.begin(9600); delay(10); while (!Serial); delay(10); // Set ESP8266 baud rate EspSerial.begin(115200); delay(10); Cayenne.begin(username, password, clientID, wifi, ssid, wifiPassword); pinMode(lock, OUTPUT); pinMode(lock2, OUTPUT); pinMode(13, OUTPUT); digitalWrite(13, HIGH); } void dump_byte_array(byte *buffer, byte bufferSize) { read_rfid=""; for (byte i = 0; i < bufferSize; i++) { read_rfid=read_rfid + String(buffer[i], HEX); } } void loop() { Cayenne.loop(); if ( ! mfrc522.PICC_IsNewCardPresent()) return; // Select one of the cards if ( ! mfrc522.PICC_ReadCardSerial()) return; dump_byte_array(mfrc522.uid.uidByte, mfrc522.uid.size); } CAYENNE_IN (1){ int x = getValue.asInt(); if(x == 0){ digitalWrite(13, LOW); } else { digitalWrite(13, HIGH); } } CAYENNE_OUT (5){ if (read_rfid == ok_rfid_1) { digitalWrite(lock,HIGH); delay(50); digitalWrite(lock,LOW); delay(50); digitalWrite(lock,HIGH); delay(50); digitalWrite(lock,LOW); Cayenne.virtualWrite(5, "1"); } }