Include
Include
h>
#include <MySQL_Cursor.h>
#include <WiFi.h>
#include <WiFiClient.h>
#ifndef STASSID
#define STASSID "陳立杰的 iPhone"
#define STAPSK "1234567890"
#endif
#include <SPI.h>
#include <MFRC522.h>
//--------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------//
WiFiClient client;
MySQL_Connection conn((Client *)&client);
//-----//
//--------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------//
//--------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------//
//----------------------------//
#define redLEDPin 39
#define greenLEDPin 36
#define PIEZO 34
//-----------------------------------------------------------------------------------------------
SETUP--------------------------------------------------------------------------------------//
void setup() {
pinMode(redLEDPin, OUTPUT);
pinMode(greenLEDPin, OUTPUT);
pinMode(PIEZO, OUTPUT);
//-------------------------------//
Serial.begin(115200);
// Connect to WiFi network
Serial.println();
Serial.println();
Serial.print(F("Connecting to "));
Serial.println(ssid);
//WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
Serial.println();
//try to connect to mysql server
Serial.println("try to connect to mysql server");
if (conn.connect(server_addr, 3306, mysql_user, mysql_pass)) {
Serial.println("MySQL Connected!.");
delay(1000);
}
else{
Serial.println("Connection failed.");
}
delay(500);
Serial.println();
SPI.begin();
mfrc522.PCD_Init(); // 初始化 MFRC522 讀卡機模組
Serial.println("RFID reader is ready!");
}
//--------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------//
String dbName = "teach_test";
String dbsheet = "rfid";
//-----------------------------------------------------------------------------------------------
LOOP---------------------------------------------------------------------------------------//
void loop() {
// 確認是否有新卡片
//-------------------------------//
if (mfrc522.PICC_IsNewCardPresent() && mfrc522.PICC_ReadCardSerial())
{
Serial.print('2');
byte *id = mfrc522.uid.uidByte; // 取得卡片的 UID
byte idSize = mfrc522.uid.size; // 取得 UID 的長度
String id_string; // 將 UID 存成 String
Serial.print("PICC type: "); // 顯示卡片類型
// 根據卡片回應的 SAK 值(mfrc522.uid.sak)判斷卡片類型
MFRC522::PICC_Type piccType = mfrc522.PICC_GetType(mfrc522.uid.sak);
Serial.println(mfrc522.PICC_GetTypeName(piccType));
// 資料比對是否正確
//LED 正確綠燈閃爍//
Serial.println("Acess !");
digitalWrite(greenLEDPin, HIGH);
delay(200);
digitalWrite(greenLEDPin, LOW);
delay(200);
digitalWrite(greenLEDPin, HIGH);
delay(200);
digitalWrite(greenLEDPin, LOW);
delay(200);
}
//蜂鳴器錯誤音響//
digitalWrite (PIEZO,HIGH);
delay(500);
digitalWrite (PIEZO,LOW);
delay(500);
//LED 錯誤紅燈閃爍//
Serial.println("Wrong !");
digitalWrite(redLEDPin, HIGH);
delay(200);
digitalWrite(redLEDPin, LOW);
delay(200);
digitalWrite(redLEDPin, HIGH);
delay(200);
digitalWrite(redLEDPin, LOW);
delay(200);
}
}