3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

parallax rfid card readerをprocessingで動かしてみた

Last updated at Posted at 2015-06-01

RFIDカードのparallax rfid card readerをprocessingで動かしてみたついでに、Serialライブラリのみ使ってちょっとシリアルの勉強もしてみた。

parallax rfid card readerとは

Kobito.u5pWyp.png

いわゆるsuicaとかpasmoとかの仲間
仲間であって同義ではないけど・・・
suicaとかはRFIDの一部のNFCという部類
http://okwave.jp/qa/q7255792.html

parallax rfid card readerとシリアル通信

仕様詳細など
http://www.trossenrobotics.com/store/p/5378-Parallax-RFID-Card-Reader-Serial.aspx

今回注目する仕様は
・bps
(http://www.ocn.ne.jp/support/words/abc/bps.html)
・メッセージの長さ

の2つだけ
今回の仕様は上の仕様URLから
・2400bps
・8 data bits
だそうです。

さっそく繋げてprocessingサンプルコード書いて実行

rfidSample.pde
import processing.serial.*;

Serial myPort;

int lf = 10;
int cr = 13;
String str;

void setup() {
  printArray(Serial.list());
  myPort = new Serial(this, Serial.list()[0], 2400);//bps 2400
  //myPort.bufferUntil(lf);
  //myPort.bufferUntil(cr);
  myPort.buffer(12);//data bits 8
}

void draw() {
}

void serialEvent(Serial p) {
  str = trim(p.readString());
  println(str);
}

シリアルのbuffer関数を使うとデータ取得に便利でした。
なので先に仕様を見て区切るバイト数を見ておくのがいいんですね!
あれ?けどここで疑問が・・・
myPort.buffer(12);//data bits 8
の部分で、8とか言いながら12を入れてます・・・。
これにはわけがあります。

シリアル通信学んだこと

学んだこととか言いながらここから予想になりますが・・・
参考URL
http://www5e.biglobe.ne.jp/~komichan/network/n1_douki.html
ここがすごくわかりやすかったですが、たぶんここでのフラグ同期方式が使われているかなぁと思っています。
んで、やってみたらわかりますが12ビットで区切ると、最初に10進数での「10」文字コードでは「lf」が、最後に10進数の「13」文字コードでは「cr」が来てました。
つまり改行ですね。
フラグパターンってやつが今回はそういうことになっているらしいです。
(buffer()使わなかったりしたときに受け取った数が2桁だったり3桁だったりに見えたことがある人はたぶんそういうことです。)
なぜそういうことになっているかわからないですが、processngのシリアルライブラリが親切にやってくれているのか、フラグパターンってのは結構自由だったりするのか・・・。

ってことで長くなりましたが、なぜ8とか言いながら12を入れているかというと、最初と最後の2bitづつフラグパターンがあるからなんですね。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?