2013-10-12 89 views
0

我有一個視差RFID閱讀器,我對使用johnny-five時從哪裏開始感到困惑。我試圖用這個作爲指導 - http://www.gumbolabs.org/2009/10/17/parallax-rfid-reader-arduino/ - 但顯然不使用johnny-five。Parallax RFID和Johnny-Five

我不知道我是否應該從johnny-five對象開始讀取數據並與傳感器交互,或者如果我應該跳過並直接使用serialport。如果我使用serialport,我該如何做到這一點?

https://github.com/RyanHirsch/j5-rfid

輸出:

1381834286406 Board Connecting... 
1381834286421 Serial Found possible serial port /dev/cu.usbmodemfa141 
1381834286422 Board -> Serialport connected /dev/cu.usbmodemfa141 
open 
err undefined 
results 3 

代碼:

var sp = new SerialPort("/dev/cu.usbmodemfa141", { 
    parser: serialport.parsers.readline("\r") , 
    baudrate: 2400 
}, false); 

sp.open(function() { 
    console.log('open'); 
    sp.on('data', function(data) { 
    console.log('data received: ' + data); 
    }); 
    sp.write("ls\n", function(err, results) { 
    console.log('err ' + err); 
    console.log('results ' + results); 
    }); 
}); 

回答

2

約翰尼五是Node.js的機器人,但您的計算機上。 JavaScript代碼在您的計算機上執行。在Arduino上,您需要上傳StandarFirmataas explained on their github page

Arduino的代碼< - >你給我們的RFID教程,如果只有Arduino的話。如果你想用johnny 5來使用它,你需要通過你自己來實現代碼,或者找一個在github上爲你做的人。如果你遇到了這個問題,那麼其他人也有可能找到答案。

隨着node serialport,你將能夠讀取Arduino的Serial.print()輸出。您可以輸出json並使用serialport在您的計算機上使用javascript解析它。

希望它有幫助!

如果您需要更多幫助,請隨時詢問! :)

編輯1:

所以,如果我理解正確的話:你必須連接到Arduino的RFID閱讀器。 Arduino連接到一臺電腦。您想要讀取RFID並將信息發送至計算機。計算機必須運行服務器,並且必須能夠從USB端口獲取數據。所有從iPad連接到服務器的人都應該可以實時看到信息。那是對的嗎?

如果是這樣,您需要一個節點服務器node-serialport以從USB和一個Web應用程序(如express.js)獲取數據以向客戶端顯示數據。最好的方法是將數據格式化爲json,以便在服務器上輕鬆解析。

編輯2: 好吧!所以在這裏你可以找到Tom Igoe關於如何使用Arduino和Node.js的兩個很棒的教程。

  • Arduino Serial to Browser:在這裏,您將瞭解node-serialport的基礎知識,以及如何使用您的Arduino使用它。
  • Serial to Browser using node.js:在這裏,您將瞭解如何使用JSON獲取Arduino數據,以便通過web appwebsocket輕鬆訪問它們。他爲他的數據使用加速計,但我想你可以直接使用你的RFID數據。

我相信在此之後你會有更多的問題,但這將是一個好的開始!

希望它有幫助! :)

+0

支持( )'?如果使用j5,串口的路徑是什麼(j5是否會影響串口?) – RyanHirsch

+0

不一定。這真的取決於你想要做什麼。問題:爲什麼您想要將RFID數據首先發送到您的計算機?它不能在它自己的工作?整個項目的目的是什麼?這看起來似乎沒有關係,但是想象並提出想法和/或解決方案真的很有幫助。 'serialport'可以使用它自己的(有點)。 – ladislas

+0

目標是讓董事會閱讀RFID,然後通過網絡套接字將這些結果推送給所有客戶。情景是,我計劃在學生使用iPad的小學教室中使用此功能,並在房間的前方安裝投影儀。 – RyanHirsch

2

Firmata協議(即Johnny-Five用於與Arduino通信的協議)不支持SoftwareSerial或放棄電路板的RX/TX線路。這意味着Johnny-Five 不能支持這個設備

編輯:Firmata協議最近增加了對硬件和軟件的序列,這意味着RFID組件支持使用`serialport`應該仍然被嵌套在j5.Board`on.ready將可能很快被添加