0

我有一个视差 RFID 阅读器,但在使用 johnny-5 时我不知道从哪里开始。我试图以此作为指导 - http://www.gumbolabs.org/2009/10/17/parallax-rfid-reader-arduino/ - 但显然这不使用 johnny-5。

我不知道我是否应该从 johnny-5 对象开始读取数据并与传感器交互,或者我是否应该跳过它并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);
  });
});
4

2 回答 2

3

Johnny 5 是用于机器人的 Node.js,但在您的计算机上。javascript 代码在您的计算机上执行。在 Arduino 上,您需要StandarFirmata 按照他们的 github 页面上的说明进行上传。

您给我们的 Arduino <--> RFID 教程中的代码仅适用于 Arduino。如果你想和 johnny 5 一起使用,你需要自己实现代码或者在 github 上找人帮你实现。如果您遇到此问题,则很可能其他人也遇到了此问题,并且可能已经找到了答案。

使用node serialport,您将能够读取Serial.print()Arduino 的输出。json您可以在计算机上使用 javascript输出和解析它serialport

希望能帮助到你 !

如果您需要更多帮助,请随时提问!:)

编辑1:

因此,如果我理解正确:您将 RFID 阅读器连接到 Arduino。Arduino 连接到计算机。您想读取 RFID 并将信息发送到计算机。计算机必须运行服务器并且必须能够从 USB 端口获取数据。所有从 iPad 连接到服务器的人都应该实时看到这些信息。那是对的吗?

如果是这样,您需要一个节点服务器node-serialport来从 USB 获取数据,并需要一个 web 应用程序(例如 express.js)来向您的客户端显示数据。最好的方法是将您的数据格式化为 json,以便它可以在服务器上轻松解析。

编辑2: 好的!所以在这里你可以找到 Tom Igoe 关于如何使用 Arduino 和 Node.js 的两个很棒的教程。

  • Arduino Serial to Browser:在这里,您将了解 Arduino 的基础知识node-serialport以及如何将其与您的 Arduino 一起使用。
  • 使用 node.js 串行到浏览器:在这里,您将学习如何对JSON您的 Arduino 数据进行化,以便可以通过您的web appwebsocket. 他为他的数据使用加速度计,但我想你可以直接使用你的 RFID 数据。

我相信在此之后你会有更多的问题,但这将是一个好的开始!

希望能帮助到你!:)

于 2013-10-13T08:43:04.480 回答
2

Firmata 协议(Johnny-Five 用来与 Arduino 通信的协议)不支持 SoftwareSerial 或放弃开发板的 RX/TX 线。这意味着 Johnny-Five无法支持此设备。

编辑:Firmata 协议最近增加了对硬件和软件串行的支持,这意味着可能很快就会增加对 RFID 组件的支持

于 2014-08-12T02:39:11.440 回答