九章储值扣款系统开发.ppt

上传人:本田雅阁 文档编号:2484540 上传时间:2019-04-02 格式:PPT 页数:74 大小:2.71MB
返回 下载 相关 举报
九章储值扣款系统开发.ppt_第1页
第1页 / 共74页
九章储值扣款系统开发.ppt_第2页
第2页 / 共74页
九章储值扣款系统开发.ppt_第3页
第3页 / 共74页
亲,该文档总共74页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《九章储值扣款系统开发.ppt》由会员分享,可在线阅读,更多相关《九章储值扣款系统开发.ppt(74页珍藏版)》请在三一文库上搜索。

1、1/74,第九章、儲值扣款系統開發,本章教導RFID Mifare系統之開發,針對MIFARE卡片規格、資料讀取方式與資料寫入等方式進行介紹。因為各家讀取器廠商硬體的呼叫方式等不盡相同,因此在程式上使用者恐無法完全轉移,但是只要您使用的是標準的MIFARE卡片,裡面所介紹的觀念與架構都是相同的,您只要詢問硬體廠商是否有提供這樣的使用介面就可以。本章所使用的設備為PROMAG PCR-310。,大 綱,9-1 MIFARE 規格 9-2 MIFARE 讀寫資料 9-3 餐廳小額消費應用,儲值扣款系統開發,RFID技術除了可以做到唯一辨識外,與條碼最重要的不同之處在於可以攜帶資訊,因此可以完成使用

2、卡片(悠遊卡)坐捷運與購物消費等動作,這也是RFID應用市場上兵家未來爭奪的戰場之 本章針對RFID中標準的ISO 14443A卡片,或稱為MIFARE卡片的讀寫資料進行介紹,MIFARE 規格,MIFARE 規格,MIFARE最早是由飛利浦(Philips)公司所研發的電子標籤規格,後來被收錄變成ISO14443的標準。總共分成三種規格,分別是MIFARE 1、MIFARE UltraLight與MIFARE ProX,使用的是13.56 MHz,傳輸速度為106 K bit/sec,以下針對MIFARE 1進行介紹,MIFARE 規格,MIFARE 1有可以分成S50與S70兩種,主要差異

3、在記憶體大小,S50為1K Bytes(實際是1024 Bytes),S70為4K Bytes(實際是4096 Bytes),您可以依據不同應用選擇不同規格。這樣的記憶體區塊怎麼使用呢?全部一起?還是要劃分管理?怎麼劃分怎麼管理?飛利浦公司制定了一套規則來進行管理,MIFARE 規格,管理方式採用Sector與Block方式進行管理,其實就是表格式管理,表格有分列(row)與欄(row),也就是先把一個空白表格劃分出列後,再從列裡面去切割欄,如圖9-1所示,圖9-1、表格分割圖,MIFARE 規格,請把空白表格想像是MIFARE未分割前的全部記憶體區塊,現在開始進行劃分,如同表格先劃分列,但我

4、們將其稱為Sector,最後對每個Sector再劃分出Block,這就完成了記憶體區塊的劃分管理作業。以S50為例,全部記憶體是1K Bytes,總共被劃分成16個Sector,每個Sector又劃分成4個Block,所以完成後的分割圖如圖9-2,圖9-2、S50記憶體分割圖,MIFARE 規格,總共分成16個Sector,64個Block,每個Sector是64 Bytes,而每個Block為16 Bytes,同時將每個Block進行編號,從B0開始編號,一直到B63。其中B0被保留用來存放標籤的唯一辨識碼,這個辨識碼是出場時就指定,使用者無法更改,MIFARE 規格,當您要讀取某個Sect

5、or內的Block時,需要通過兩組認證的密碼,稱之為KEY A與KEY B,這兩組密碼存放在每個Sector的最後面一個Block,也就是B3、B7、B11等位置 而讀卡機本身內部也會儲存有KEY A與KEY B,KEY A是主要的驗證值,KEY B則為選擇性,也就是可以設定只驗證KEY A或是KEY A/KEY B同時都驗證,MIFARE 規格,當讀卡機要讀取資料時,會先比對自己的KEY A/KEY B是否與要讀取的Block所屬Sector的KEY A/KEY B相同,如果不同是無法進行資料讀取與寫入作業,也確保了標籤內資料的安全性。但是B0內的卡號資料讀取是不需要經過KEY A/KEY

6、B驗證的,這部份是開放讀取的,標籤出場時預設的KEY A/KEY B為FFFFFFFFFFFF,MIFARE 讀寫資料,MIFARE 讀寫資料,MIFARE標籤資料的讀寫流程如圖9-3所示,首先由讀取器向電子標籤發出讀取請求,卡片會回應Ready與型態,確定標籤沒有損壞,可以繼續進行下一步動作,圖9-3、MIFARE資料讀寫流程圖,MIFARE 讀寫資料,如果有需要讀取卡號,此時就可以進行卡號(位於Block 0)讀取作業;如果不需要卡號,則可以直接選擇您要讀取的Sector段落,接著進行KEY A/B的認證,通過認證才可以再選擇該Sector段落內的某個Block進行資料讀取與寫入作業,MI

7、FARE 讀寫資料,用程式實作圖9-3的MIFARE資料讀寫流程 如圖9-4是系統啟動畫面,首先需要做的就是讓系統與硬體讀寫器連線,右下方有偵測讀取器按鈕,可以針對連接埠進行自動掃描。多數硬體廠商都有提供這部份的API介面供使用者開發系統使用,讀者只要呼叫該API介面就可以自動與硬體做連線,圖9-4、MIFARE DEMO系統起始畫面,MIFARE 讀寫資料,如果電腦與讀取器連接正確,系統將可以順利偵測到該讀取器,並顯示出其連接位置,如圖9-5的視窗標題,目前連接位置在COM 13。同時就可以開始透過讀寫器對電子標籤送出讀取需求,或事先設定讀取器內的KEY A/B,如此才擁有可以對卡片內的Se

8、ctor與Block做出讀取的權利,圖9-5、Key A/B與資料讀寫需求畫面,MIFARE 讀寫資料,如果讀取器與電子標籤內的Key A/B設定不符或是電子標籤損壞都可能造成讀取錯誤,如圖9-6所示,讀寫器對電子標籤發出讀取命令,但等不到電子標籤回應,畫面將出現No Tag Error,就無法進行下一個動作,圖9-6、資料讀寫需求回應錯誤畫面,MIFARE 讀寫資料,如果讀寫器的讀寫需求有得到電子標籤的正常回應,畫面將顯示電子標籤的種類,例如圖9-7的MIFARE 1K,代表的是目前正在讀取MIFARE S50規格的電子標籤。接著可以進行電子標籤辨識碼或是記憶體內資料的讀寫動作,圖9-7、資

9、料讀寫需求回應正常畫面,MIFARE 讀寫資料,接著,可以在不需要Key A/B的狀況下讀取Sector 1/Block 0內的標籤識別碼,如圖9-8所示,讀取到的辨識碼共有八位,為7D9C8176。往下就可以針對標籤內記憶體的資料作讀寫的作業,所以要先選擇要讀取與寫入的位置,如圖9-2的規劃,圖9-8、電子標籤識別碼被正確讀取畫面,MIFARE 讀寫資料,要讀取某個Sector內的資料,需要先經過該Sector最後一個Block內Key A/B與讀寫器內的Key A/B做比對認證,所以如圖9-9,我們針對Sector1做讀取,所以選擇Sector 1,並且只認證Key A,圖9-9、選擇讀取

10、電子標籤內Sector 1內資料之畫面,MIFARE 讀寫資料,其次,我們在圖9-10中選擇認證KEY A/B,如果讀寫器內的Key A/B與Sector1 內Block 3(圖9-2中的編號為B7)的Key A/B相同,則會出現pass的字樣,代表現在可以讀取Sector1內的第一個(Block 0)至第三個Block(Block 2)內的資料,圖9-10、通過Sector 1內Key A/B認證後後之畫面,MIFARE 讀寫資料,圖9-11中我們選擇讀取Sector 1/Block 1內的資料,選擇完成Block後,按下讀出資料,就可以將裡面的資料讀取出來,如果沒有的話就是空的,這裡提供十

11、六進制(Hex)與文字(Text)兩種格式,圖9-11、讀取Sector 1/Block 1內資料之畫面,MIFARE 讀寫資料,相反於讀取,我們也可以將資料寫入,如圖9-12所示,在原本裡面沒有資料的Sector 1/ Block 1中寫入數值120,如果寫入成功,在寫入資料的流程上會出現ok字樣,圖9-12、將120寫入Sector 1/Block 1內之畫面,MIFARE 讀寫資料,此時,再重新讀取Sector 1/ Block 1內的資料時,將出現上次寫入的數字120,如圖9-13所示,確認寫入動作成功,圖9-13、將120寫入Sector 1/Block 1內之畫面,MIFARE 讀

12、寫資料,針對設定讀取器KEY A/B按鈕,設計如圖9-14的畫面,使用者可以針對每個Sector設定自己需要的Key A/B進入到讀取器,當然這個部份需要與標籤內原先的設定要相同才可以讀取標籤資料。所有MIFARE電子標籤出場時的Sector Key A/B都是FFFFFFFFFFF,圖9-14、設定Sector 內Key A/B之畫面,MIFARE 讀寫資料,此時,我們故意更改Sector 1內的Key A值,變成如圖9-15的新值,並且儲存到讀寫器內 接著,我們再一次遵循上面的步驟讀取Sector 1/ Block 1的值,可是當我們在進行認證KEY A/B時,會發現出現KEY ERROR

13、字樣,問題就在於電子標籤內Sector 1的Key A與讀寫器內儲存的Sector 1 Key A不相同所導致,圖9-15、設定讀取器內讀取標籤Sector 1 Key A/B之畫面,圖9-16、讀取標籤Sector 1時Key A認證失敗畫面,餐廳小額消費應用,餐廳小額消費應用,本節中我們使用MIFARE ISO 14443A卡片設計一個餐廳小額儲值扣款系統,我們將會員的基本資料如姓名、電話與金額分別寫入卡片內的Sector 1/Block 0、Sector 1/Block 1與Sector 1/Block 2內,未來讀者可以自行規劃您系統應用時卡片的資料儲存位置,餐廳小額消費應用,首先,使

14、用本系統需要有帳號密碼,方便店長或是工讀生等人使用,同時也是基於安全考量,如圖9-17所示,需要輸入正確的帳號與密碼後才可以進入主系統,圖9-17、小額消費系統登入畫面,餐廳小額消費應用,如果帳號與密碼都正確,將進入到主系統畫面,如圖9-18所示,分成有會員資料、卡片加值、產品編輯、銷售紀錄與點餐扣款等五大部分 使用系統前,需要將系統與讀寫器連線,也就是要先驅動讀寫器,如圖9-19所示 成功驅動讀寫器的畫面如圖9-20所示,畫面上會出現讀寫器的型號與連接埠位置,此時就可以進行儲值、扣款與卡片資料維護等的作業,圖9-18、小額消費系統主畫面,圖9-19、小額消費系統驅動MIFARE讀寫器畫面,圖

15、9-20、小額消費系統MIFARE讀寫器驅動成功畫面,餐廳小額消費應用,首先,插入一張全新的卡片,當然我們已經設定好Key A/B了,系統可以讀取出卡號,如果沒有註冊過,系統同時會自動進行註冊,但是卡片內並沒有會員姓名、電話與金額等資料,如圖9-21,圖9-21、小額消費系統會員卡使用畫面,餐廳小額消費應用,我們可以選擇修改,填寫該會員的姓名與電話兩樣資料,如圖9-22。此處我們只規劃儲存兩項會員資料,未來讀者可以視自己的應用需要加入不同的會員資料,填寫完成後按確定,我們將資料寫入到卡片內的Sector 1/Block 0與Sector 1/Block 1,如圖9-23,圖9-22、小額消費系

16、統會員資料修改畫面,圖9-23、小額消費系統會員卡修改後使用畫面,餐廳小額消費應用,接著,我們可以對卡片進行儲值動作,如圖9-24,我們擬針對剛剛完成資料修改的會員小強加值500元的金額到Sector 1/Block 2內 確定後按加值,資料將寫入Sector 1/Block 2內,如果寫入成功將出現如圖9-25的成功訊息,表示目前該卡內已有500元的金額可以購買產品,圖9-24、小額消費系統會員卡儲值畫面,圖9-25、小額消費系統會員卡儲值成功畫面,餐廳小額消費應用,針對所有會員,我們設計如圖9-26的會員列表功能,讓商店可以及時瞭解目前會員的數量 不過,在會員可以進行購物前,店家需要先設定

17、自己可以賣的產品,如圖9-27所示,主要設定名稱、圖片、售價與供應與否四項資料,讓不會操作電腦的商家不至於花費太多時間在資料建置上 有會員,有產品就可以開始進行銷售作業,如圖9-28所示,電源可以使用觸碰螢幕點選預先設定好的餐點,圖9-26、小額消費系統會員資料列表畫面,圖9-27、小額消費系統會員產品維護畫面,圖9-28、小額消費系統點餐主畫面,餐廳小額消費應用,接著,設定該餐點的數量,一樣使用觸碰螢幕點選,如圖9-29所示,按下確定就可以繼續下一個餐點的點選作業 所有餐點都點選完成後如圖9-30所示,畫面右方會出現所有被點選餐點的列表,如果沒有錯誤,就可以點選結帳開始使用會員卡進行扣款結帳

18、作業,圖9-29、小額消費系統點餐畫面,圖9-30、小額消費系統點餐完成畫面,餐廳小額消費應用,按下結帳號,系統將有10秒鐘時間提醒您要將卡片插入讀寫器,否則將自動放棄本次的交易,如圖9-31所示 若是卡片插入讀寫器後發現餘額不足,系統將提示您是否要順便進行加值,如圖9-32,若選擇否,則系統自動放棄本次交易,選擇是,則需要輸入儲值金額,如圖9-33所示,圖9-31、小額消費系統點餐後使用卡片扣款畫面,圖9-32、小額消費系統點餐後扣款餘額不足畫面,圖9-33、小額消費系統點餐後扣款餘額不足加值畫面,餐廳小額消費應用,儲值成功後的畫面如圖9-34的訊息框所示,接著系統將進行扣款作業,完成後的畫面如圖9-35所示,將出現會員的所有資料與餘額 接著,我們可以查詢銷售紀錄,如圖9-36所示,將可以看到剛剛賣出去的兩項產品、數量與金額 最後,我們可以再回到會員資料的畫面,這時候除了之前卡片內的會員姓名、電話與餘額等資料外,也會將其對應的銷費紀錄顯示出來,圖9-34、小額消費系統加值成功畫面,圖9-35、小額消費系統點餐後扣款成功畫面,圖9-36、小額消費系統銷售紀錄畫面,圖9-37、小額消費系統會員卡資料查詢畫面,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1