2015年2月6日 星期五

創客小學堂RFID數位簽到系統

數年前  未來教室在營運時
建置了一套使用 QR Code 的 數位簽到系統,一直想把它改成簡單一點  
不需要筆電,不用 QR Code  

類似直接用 RFID Card + Reader來進行一個所謂的簽到的動作 (好怪的文法,這句)
喔耶,Arduino 橫空出世      
正所謂   自己的簽到系統自己做!!

下圖是之前小朋友用 QR Code 放學簽退的狀況



一開始是打算將 Web 系統改版,配合 Arduino 做台讀卡機
然後就開始開薰的讓社團學生簽到了
班導師即可透過 Web 畫面看到自己的學生何時進到電腦教室
何時離開,有沒有去瞎混之類的(咦?)

一般書籍上或者是網站都是使用 RFID Reader+ SD Card 的範例
我還是喜歡採用 RFID Reader 結合 Web System

好   那我們需要那些材料呢?
  • Arduino UNO X1(後來採用 Arduino Yun, 原因容後再述)
  • W5200 Ethernet Shield X1(既然是網路簽到,網路得通啊~~,後來也沒用到,原因容後再述)
  • 麵包板 X1
  • RFID Sensor RC522  X1
  • 無源蜂鳴器 X1 (發出嗶嗶聲,以判斷簽到成功或失敗,跟捷運站刷卡一樣的 fu )
  • 外殼(3D列印) X1 (Model 請見這裡)
  • 線材若干



但但但    問題來惹
W5200 Ethernet Sheild ===> 走SPI
RFID Sensor RC522 ===> 也是走SPI
同時間只能 allow 一個設備走 SPI啊~(哭)

所以為何,後來板子改成用 Arduino Yun,是有原因地
改成 Arduino Yun 的好處多多
除了避開 SPI 的問題之外
也不需要那片 W5200 Ethernet Shield 
甚至可以走 WIFI 也ok
最重要的是 
在進行 HTTP Request 的時候,程式碼精簡太多太多了
(雖然用 Arduino Yun 做這個讀卡機   有點太豪邁奢侈了些)


系統架構大致是
Web system Ruby on Rails 3(太混惹   現在都已經 Rails 4 了...)
RFID ReaderRC522 + Arduino Yun + 無源蜂鳴器 + 3D 列印的外殼
RFID Card :13.56MHz Mifare
系統在 創客小學堂RFID數位簽到系統 (永遠的 Beta...)


整個流程是這樣:
學生到教室
==>拿出自己的RFID Card 
==>對準RFID Reader 刷一下
==>出席狀況即時登錄到系統
==>網站即時秀出出席與缺席狀況
離開教室時流程亦然














簽到系統畫面













理論上應該可以跟新北市校務行政系統介接
不過目前小規模試用  資料庫也僅止於社團學生
就直接建置在系統內囉  
目前尚未與校務行政介接














那這個跟創客教學有何關聯哩?

第一,創客社團的小朋友尚未學過 3D 塑模
可以先讓他們先行到這裡 
學習進行簡單的製作個性化3D RFID 狗牌
可以跟RFID Card 結合在一起的(請見上圖白色小狗牌)
再將他列印出來 每個人專屬的喔
算是3D列印入門課

第二,除了學做讀卡機外,請同學發揮一下創意,讀卡機可以怎麼與我們生活中的元素作結合? 門禁系統? 作業繳交系統?  甚至是合作社購物卡系統? BlahBlah.....
最重要的是,把它做出來!!

我想  這一整個流程不是為了讀卡機和數位簽到而去製作(避免為了創客而創客)
是為了解決生活中的問題  來進行發想
進而進行學習與實作  甚至是整合(ex.RFID 讀卡機製作 + Web system)
或許比較有意義?

系統顧及個資問題...只秀座號
目前系統尚在測試狀態 
製作流程之後再放到Instructables
Web System 會丟到 Github 開源
(是說這麼 Low 的低層次品,分享出來好像太....)