RFIDタグをリッスンし、uidを取得して配列に保存するarduinoスケッチがありますuint32_t
これは、adaFruit BTLEとadafruit NFC/RFID シールドを備えた arduino_uno プロジェクトです。
配列は次のように開始されます。
uint32_t items[]= { 0,0,0,0,0,0};
次に、私の loop(); で
次のようなIDを見つけました:
success = nfc1.readPassiveTargetID(PN532_MIFARE_ISO14443A, uid, &uidLength);
//
Serial.println(success,DEC);
if (success) {
// Display some basic information about the card
//Serial.println("Found an ISO14443A card");
//Serial.print(" UID Length: ");Serial.print(uidLength, DEC);Serial.println(" bytes");
//Serial.print(" UID Value: ");
nfc1.PrintHex(uid, uidLength);
if (uidLength == 4)
{
// We probably have a Mifare Classic card ...
cardid = uid[0];
cardid <<= 8;
cardid |= uid[1];
cardid <<= 8;
cardid |= uid[2];
cardid <<= 8;
cardid |= uid[3];
Serial.print("Seems to be a Mifare Classic card #");
Serial.println(cardid);
BTLEserial.print(cardid);
}
Serial.println("");
}
そのコードブロックがシリアルモニターにこれを出力するわけではありません:
Mifare Classic カードのようです #347161076 BTLE
への書き込み: 0x31 0x36 0x38 0x38 0x34
しかし、BTLEアプリは見ています
16884
「カーディッドとして?
これは、メソッドによって処理される uint32_t の奇妙なバイト変換に対するものであることは明らかですBTLEserial.print()
。
ID を見つけたら、上記の項目配列に最大 6 つを格納しています。コンマ区切りの文字列として、ブルートゥースを介してその配列全体をデバイスに送信したいと思います。
この uint32_t を文字列または BTLE で処理できる他のオブジェクトに変換するのを手伝ってください