1. 程式人生 > 實用技巧 >JAVA&RFID案例(基於RC522的財務管理系統)

JAVA&RFID案例(基於RC522的財務管理系統)

在我的上傳檔案中會附帶所有程式碼,供學習使用~
下面放一個視訊看看大概的效果

RFID結合JAVA財務管理案例

1. 概述

1.1 課題描述

傳統財務管理人工成本過高且效率低下,通過軟體開發可以使得財務管理更加高效,成本更為低廉,同時還能實時遠端監控資料變動,對於該領域來說是一種尤其重要的進步,故此小組決定設計該基於RC522的財務管理系統。

1.2 系統目標

本套系統開發意在減少財務管理中的小部分麻煩以及財務管理的人力成本、管理實時化遠處化,提高安全性、效率性。

1.3 環境

a) 作業系統:Win10\Win7
b) 使用軟體:
IDE:Arduino IDE,Eclipse,Keil uVision5,Navicat Premium

資料庫搭建:MySql
文件編寫:Microsoft Word 2016
c) 開發語言: JAVA,Arduino(C\C++),Sql語句

2. 系統需求分析

  1. 使用者管理(管理卡、使用者卡、賬號登陸、賬號註冊,充值驗證卡管理)
  2. 介面設計(首頁登陸、使用者註冊、使用者充值介面、管理員管理介面)
  3. 使用者財務設計(卡充值、卡支出、卡查詢)

3. 系統總體設計

在這裡插入圖片描述

資料庫設計

在這裡插入圖片描述

下層設計

4. 詳細設計

4.1 new_plan包

/new_plan/src/new_plan/Chack.java為普通使用者查詢財務狀況,充值的介面
/new_plan/src/new_plan/first_ui.java為管理員查詢管理使用者資訊及財務的第一介面

/new_plan/src/new_plan/gui_new.java為首選登入介面,可選擇註冊、讀卡普通使用者登陸,管理員登入
/new_plan/src/new_plan/JTableDemo.java為管理員介面的使用者表管理介面,可增刪使用者
/new_plan/src/new_plan/money_build.java為管理員管理使用者經濟財務的功能性介面(已隱藏至first_ui中的第二介面)
/new_plan/src/new_plan/Vip.java為管理員登入介面
/new_plan/src/new_plan/zhuci.java為普通使用者註冊介面

4.2 db包

該包為資料庫連線用

4.3 com.serialPort.wrtier包

該包用於建立低層與上層的串列埠通訊連線

4.4 RXTX設計

在這裡插入圖片描述

呼叫RXTX.jar包用於開啟關閉指定串列埠;
在這裡插入圖片描述

用於顯示所有可開啟的串列埠
在這裡插入圖片描述

用於開啟指定的串列埠
在這裡插入圖片描述

用於設定串列埠通訊的資訊
在這裡插入圖片描述

用於進行通訊,將串列埠得到的資料進行轉換為可識別的GBK基本顯示標準後讀取顯示於上層軟體端。
在這裡插入圖片描述

用於事件觸發監聽開啟串列埠
在這裡插入圖片描述

用於轉碼顯示串列埠讀到的資訊並轉化成字串賦值給t顯示出來
在這裡插入圖片描述

存到之前設定的資料庫函式中用於顯示到各GUI介面的文字框中

4.5 JDBC-MySql設計

DBUtil.java 用於JDBC程式設計呼叫MySql資料庫增刪改查資料
在這裡插入圖片描述

用於設定基礎的資料庫連線資訊,呼叫驅動
在這裡插入圖片描述

用於查詢操作
在這裡插入圖片描述

用於增刪查改操作

4.6 MySql資料庫設計

cyysql庫包含4個表:money用於財務操作、pass_card用於驗證卡驗證、users用於儲存使用者、vipuser用於儲存管理員
在這裡插入圖片描述
在這裡插入圖片描述

vipuser
在這裡插入圖片描述

users
在這裡插入圖片描述

pass_card
在這裡插入圖片描述

money

5. 系統實現

通過RC522連線Arduino/C51讀取S50卡片資訊,然後通過JAVA的RXTX jar包讀取串列埠中微控制器傳輸過來的字元並轉化為字串後輸入到資料庫和軟體資訊文字框當中,使用JDBC與資料庫通訊後讀取資料庫中的資訊與文字框中事件監聽得到的資訊進行匹配並呼叫DBUtil進行Sql語句使用來完成查詢修改操作。註冊時會將自己輸入的使用者名稱與卡號匹配儲存進資料庫後在下次登陸時會顯示自己設定的使用者名稱而不是16進位制的卡號資訊。
在該系統中,管理員可以進入專屬的管理員介面,具有對所有使用者的增刪查改操作以及對使用者金額的增加減少並進行實時顯示以及操作記錄。 而普通使用者只能進入專為使用者設計的金額查詢介面,只能進行金額的實時查詢,若想增加金額操作,則需要驗證卡驗證,只有驗證卡驗證成功方可進行金額的增加。

6. 測試

在這裡插入圖片描述

7.參考

  1. java RXTXcomm 串列埠通訊
    https://blog.csdn.net/songyulong8888/article/details/78234275
  2. MF-RC522 Arduino拓展庫(GitHub專案託管)
    https://github.com/miguelbalboa/rfid
  3. RXTX開源主頁
    http://fizzed.com/oss/rxtx-for-java
  4. JavaDemo——java使用RXTX讀寫串列埠
    https://blog.csdn.net/FlyLikeButterfly/article/details/80534829
  5. 儲存修改資料記錄(資料庫)
    https://www.cnblogs.com/ang-664455/p/7887223.html
  6. java實現modbus串列埠通訊報gnu.io.PortInUseException: Unknown Application
    https://bbs.csdn.net/topics/391896551?page=1
  7. java.lang.UnsatisfiedLinkError: no rxtxSerial in java.library.path報錯問題
    https://blog.csdn.net/you23hai45/article/details/62447503
  8. Java異常處理之InvocationTargetException(反射異常)
    https://www.cnblogs.com/yjd_hycf_space/p/7765748.html
  9. RFID通訊協議(全)
    https://wenku.baidu.com/view/567a00c916fc700aba68fc09.html
  10. InternalFrame使用
    https://blog.csdn.net/icejasmin/article/details/6120291
  11. Java 與 Arduino uno 使用 RXTX串列埠通訊
    https://blog.csdn.net/h_hongchang/article/details/43563793
  12. java下的串列埠通訊-RXTX
    https://www.cnblogs.com/sowhat4999/p/4575696.html
  13. RXTX 讀取 COM口
    https://blog.csdn.net/wind195000/article/details/84280732