2018年12月26日 星期三

[ISO14443] 簡單介紹

ISO14443是RIFD最常見的協定之一,應用在門禁系統,悠遊卡,信用卡...等,此協定可依物理性質及命令的不同分為Type A和Type B。

/*****************************************************************/
以上為個人研究所時期的讀書心得,避免所學因時間而忘記,所以將資料整理於此,其內容皆參考公開規格說明書,歡迎交流,若有錯誤,也請指正。
參考資料:NXP,ST,TI等公開說明書

/*****************************************************************/

Single interface

1.Type A


2018年12月21日 星期五

[門禁卡UID/CUID] 門禁系統(電子鎖)的工作原理

一般門禁系統(家用電子鎖)的卡片依頻率分為125kHz及13.56Mhz,

老舊的系統大多使用的是125kHz(現在已經很少),

若是13.56Mhz的卡,

可由如何用手機讀取RFID標籤/卡(門禁卡/門禁磁扣)的內容讀取卡片內容,

一般大多是用Mifare Classic s50的卡片,

或可以被稱為UID卡或IC卡(其實是UID卡相容於s50),

其卡片內容可簡化成卡號資料兩個部分,

其門禁系統也就只是判斷這兩個部分,

2018年12月20日 星期四

[門禁卡UID/CUID] (2021更新) 如何用手機讀取RFID標籤/門禁卡/門禁磁扣的內容

本文章是使用Mifare Classic s50作為範例(適用UID卡和CUID卡),
此方式僅適用於頻率在13.56MHz且常見的RFID(NFC)標籤/卡片.

常見的門禁卡有兩種頻率: 125kHz和13.56MHz,
如果用此方法掃瞄不到卡片的話,
那卡片就是125kHz的.

---------------------------------------------------------------
用手機也可以輕鬆複製門禁卡
[教學]如何用手機NFC複製門禁卡

---------------------------------------------------------------

NFC TagInfo by NXP教學開始:

1.手機必須要有NFC的功能

2.到Play store下載: NFC TagInfo by NXP (點我) 

3.掃描讀取『卡號(UID)』和『資料(Data)』
---------------------------------------------------------------

2018年11月16日 星期五

[C#] 如何避免重複開啟視窗(Form)及讓縮小的視窗跳出來(附範例程式)

有兩個Form分別為Form1和Form2,

按Form1內的button1可以開啟Form2,

為了避免再次按下button1時會重覆開啟Form2,

以及將Form2縮小後,

按button1要如何讓Form2跳出來,

方法請參考下列程式:

2018年10月21日 星期日

[C#] Delegate

資料收集:

https://dotblogs.com.tw/atowngit/2009/12/07/12311
https://dotblogs.com.tw/joysdw12/2013/06/21/delegate-winfom

2018年9月15日 星期六

[C#] 函示庫

1.像是C語言的memcpy
Array.Copy(sourceArray, sourceIndex, destinationArray, destinationIndex, length);


2陣列比較

bool result = array1.SequenceEqual(array2);

result  = true → Same.
result  = false→ Not Same.



[C#] .ini檔存取及讀寫

直接用IniWriteValue(...)IniReadValue(...)對ini做讀寫


[C#] 新增Form

新增form

選滑鼠右鍵→加入→新增項目

[C#] DataGridView

名詞解釋












格子座標











dataGridView1[0, 0].Value = "1";
dataGridView1[1, 0].Value = "2";
dataGridView1[0, 1].Value = "3";
dataGridView1.Rows[0].Cells[0].Value = "1";
dataGridView1.Rows[0].Cells[1].Value = "2";
dataGridView1.Rows[1].Cells[0].Value = "3";

Cell 字型及字體大小
dataGridView1.DefaultCellStyle.Font = New Font("Arial", 9);


[C#] .txt檔存取及讀寫

1.載入.txt檔案
OpenFileDialog openFileDialog1 = new OpenFileDialog();

/*Sets the file dialog box title.*/
openFileDialog1.Title = "Select *.txt";

/*Sets the initial directory displayed by the file dialog box.*/
openFileDialog1.InitialDirectory = "..\\Setting\\";

/*Sets the current file name filter string.*/
openFileDialog1.Filter = "dat files (*.*)|*.txt";

/*Runs a common dialog box with a default owner.*/
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
     /*Provides a Stream for a file*/
     FileStream filestream = new FileStream(openFileDialog1.FileName, FileMode.Open, FileAccess.Read);

     /*Initializes a new instance of the StreamReader class for the specified stream.*/
     StreamReader sr = new StreamReader(filestream);

/*選一種方式讀出*/
#if(true)
     /*一次讀完全部*/
     textBox1.Text = sr.ReadToEnd();
#else
     /*一次讀一行*/
     string line;
     int lineCounter = 0; 

     while((line = sr.ReadLine()) != null)  
     {  
          textBox1.Text += line;
          
          /*計算總共有幾行*/
          lineCounter++;
     } 
#endif
}

2018年9月12日 星期三

[C#] 數字(string)和數值(value)之間的轉換

●值(value)16進位字串(string) 
private void btn1_Click(object sender, EventArgs e)
{
   int value = 10;
   textBox2.Text = Convert.ToString(value, 16);
}



[C#] 物件導向觀念

●物件(Object)
小算盤是個大物件,它由按鈕、文字方塊...小物件組成。

屬性(Property)
按鈕是物件,按鈕上文字(Text屬性)是M+(屬性值),其顏色(ForeColor屬性)是紅色(屬性值)。

2018年9月9日 星期日

[C#] 方法

1. 同一類別,其類別內方法有static修飾詞,則不用new保留字來建立物件,可直接呼叫使用
class Example_1
{
   private static int add(int a, int b)
   {
      //略...
   }

   static void Main(string[] args)
   {
      int x;
      x = add (1,2);
   }
}


[C#] 基礎

1. 類別是由屬性(資料(data)或變數)和方法(method)組成。
    類別是一個抽象的資料型態,而物件是該資料型態的實體變數。

2018年8月11日 星期六

[C]程式語言技巧

1.大量資料整理,可用陣列搭配for迴圈做存取,可用define方式標明每個陣列的確切名稱.
#define a  0
#define b  1
#define c  2
#define d  3
#define e  4


2018年6月12日 星期二

[HTC] 分享網路到Windows 10電腦

如果HTC手機分享網路到Windows 10電腦時,
會發生電腦當機時,
可用以下方法改善。

電腦先進入安全模式(無網路功能)
此時到裝置管理員設定驅動,
接下來照下列步驟!

Step1: 當插上手機並開啟網路分享時,會多出一個裝置(名稱不會是USB RNDIS6介面卡(因為我已經改過,所以才會是這個名字))。



[常識] 兩岸用語對照

軟體 = 軟件

韌體 = 固件

內存 = 記憶體

[常識] 台灣地區百度註冊方式

由於百度註冊要輸入手機號碼,
但一般註冊網頁只能輸入大陸的手機號碼,
以下連結是可以輸入台灣手機號碼註冊的連結。

台灣地區百度註冊(點我)




2018年3月25日 星期日

補充說明:ISO15693 防碰撞


補充說明:
a.當VCD發出inventory command時,會在Flags中設置Nb_slot_flag,並在Command後面加上Mask lengthmask value






2018年1月2日 星期二

[C51/ARM] Keil C版面配置:修改顏色

看keil 寫程式寫久了會不會想換點風格或者改成自己喜歡的版面呢?
若對於字體顏色,目前我有兩種方式:

1.前往Keil IDE ->Edit->configuration ->Color&Fonts 調整


[旅遊] 如何去陽明山『擎天崗』

如何去陽明山『擎天崗』
How to go to Yangmingshan and Qingtiangang

捷運『劍潭站』→公車『紅5』→陽明山總站→公車『108』→擎天崗
-------------------------------------------------------------------------------------------
MRT『Jiantan Station』→Bus『Red 5 』→
YangMingshan National Park Station→Bus『108』→Qingtiangang Station