近距離無線

RFID

電波でタグを読み取る非接触識別技術。

概要

RFID(Radio Frequency Identification)は、電波を利用してICタグ(RFIDタグ)の識別情報を非接触で読み取る自動認識技術の総称です。バーコードと異なり、視線を遮る障害物越し・複数タグの一括読み取り・タグを探さずに認識できるという特徴を持ちます。

使用する周波数帯によって通信距離・速度・用途が大きく異なり、低周波(LF: 125kHz)から超高周波(UHF: 860〜960MHz)・マイクロ波(2.45GHz)まで幅広い規格があります。NFC(13.56MHz)はRFIDの一種です。

物流・製造業の部品管理・図書館の蔵書管理・衣料品の在庫管理・畜産管理・アクセス管理など、大量物品の自動識別が必要なあらゆる分野で活用されています。

歴史・背景

RFIDの原型は第二次世界大戦中の1940年代に遡ります。英国はレーダーに「IFF(Identification Friend or Foe)」システムを組み込み、味方の航空機を電波で識別しました。これがRFIDの先祖とされています。

商用RFIDの普及:

  • 1970年代: 米国で家畜管理向けLF RFIDが実用化
  • 1983年: 米国でRFIDの特許が初取得(Charles Walton)
  • 1990年代: 高速道路ETC(Electronic Toll Collection)にUHF RFIDが採用
  • 1999年: MIT Auto-IDセンターがEPC(Electronic Product Code)を提案
  • 2003年: EPC Global(現GS1 EPCglobal)が設立、EPCコードの標準化
  • 2003年: 米国ウォルマートがサプライヤーにUHF RFID導入を義務化(業界転換点)
  • 2004年: ISO/IEC 18000-6C(EPC Gen2)が策定
  • 2010年代: UHF RFIDタグが10円以下まで低価格化、アパレル業界での爆発的普及
  • 2020年代: 国内コンビニ・スーパーでRFIDセルフレジの実証実験・本格導入

技術仕様

周波数帯別比較

周波数帯略称周波数通信距離速度主な用途
低周波LF125〜134 kHz数cm〜50cm低速動物管理・アクセス管理
高周波HF13.56 MHz数cm〜1m中速NFC・図書館・決済
超高周波UHF860〜960 MHz1〜12m高速物流・アパレル・在庫
マイクロ波MW2.45 GHz1〜数m高速車両管理・工場

パッシブ / アクティブ / セミパッシブ

タイプ電源通信距離価格特徴
パッシブ不要(リーダーの電波から電源)数cm〜12m安い(数円〜)電池不要・長寿命
アクティブ内蔵電池最大100m高め(数百円〜)長距離通信可能
セミパッシブ(BAP)内蔵電池(通信は受信電波利用)数m〜30m中程度低温環境・センサー統合

UHF RFID(EPC Gen2)の仕様

UHF RFIDはサプライチェーン・物流で最も広く使われるRFIDです:

パラメータ
規格ISO/IEC 18000-6C / EPC Gen2 v2
周波数(日本)920〜928 MHz(特定小電力)
周波数(米国)902〜928 MHz
周波数(欧州)865〜868 MHz
データレート最大640 kbps(リーダー→タグ)
一括読み取り数百〜1,000タグ以上/秒
メモリEPC: 96〜496 bit / User: 最大512 bit
書き換え回数10万回以上

EPCコード(96bit)の構造:

EPC(Electronic Product Code)96bit構成
┌──────────────┬──────────────────┬─────────────────┬──────────────────┐
│ Header(8bit) │ EPC Manager(28b) │ Object Class(24b)│ Serial No.(38b)  │
└──────────────┴──────────────────┴─────────────────┴──────────────────┘
- Header: EPCコードのバージョン
- EPC Manager: 企業識別(GS1から付与)
- Object Class: 商品区分
- Serial No.: 個体シリアル番号

アンチコリジョン(衝突防止)

複数タグを同時に読み取るためのアンチコリジョンプロトコル:

  • LF / HF(ISO14443): シングルデバイス読み取り用(複数は時分割)
  • HF(ISO15693): スロット型ALOHAアンチコリジョン
  • UHF(EPC Gen2): スロット型アローハ(Q値動的調整)

EPC Gen2では「Q」パラメータで16〜32768スロットを動的調整し、理論上数百〜数千タグを数秒で一括読み取り可能です:

リーダーがQ=4(16スロット)でQuery送信
  → タグがランダムにスロット番号を選択
  → スロット番号0のタグのみ応答(衝突なし → 読み取り成功)
  → 衝突スロットはQ値を増やして再試行

動作原理

パッシブUHF RFIDの動作

リーダーアンテナ               RFIDタグ
    |                             |
    |--- RF電波(860-960MHz) -->  |  ← 電力供給・データ搬送
    |                             |  ← タグICが起動(整流・平滑)
    |                             |
    |--- Query(問い合わせ) -->   |
    |<-- RN16(ランダム番号) ---- |  ← タグがスロット選択
    |                             |
    |--- ACK(RN16返送) ------->  |
    |<-- EPC(96bit)+ CRC16 ---- |  ← 識別子送信
    |                             |
    |--- Req_RN ----------------> |  ← 書き込み要求(オプション)
    |<-- RN32 ------------------- |
    |--- Write(Data + CRC) ---> |
    |<-- 0(成功) --------------- |

バックスキャッター変調(UHF)

パッシブUHFタグはリーダーから送信された電波を反射(バックスキャッター)することでデータを送信します。タグのアンテナインピーダンスを変化させることで反射波の振幅・位相を変調します。電池不要での数メートル通信を可能にする巧妙な技術です。

電磁誘導(LF / HF)

LF・HFタグはリーダーのコイルアンテナが作る磁界から電磁誘導で電力を得ます。通信距離が短い(数cm〜1m)代わりに、液体・人体への影響が小さいため医療・食品分野でも使いやすい特性があります。

用途・ユースケース

物流・サプライチェーン

  • 倉庫入出庫管理: 入出庫ゲートでパレット・ダンボールを一括読み取り
  • 棚卸自動化: 棚を歩くだけでハンディリーダーが一括在庫確認
  • 誤品出荷防止: 出荷ゲートで正しい商品・数量かチェック
  • コールドチェーン: 冷蔵品の温度履歴をセンサー内蔵タグで記録

アパレル・小売

  • 在庫精度向上: RFID導入で在庫精度99%以上を達成する事例多数
  • セルフレジ: 複数商品を一括スキャン、手置き・ハンガーのまま読み取り
  • スマートフィッティングルーム: 試着室でタグ読み取り、コーディネート提案

製造・工場管理

  • 工程管理(WIP): 製造中仕掛品の工程進捗をリアルタイム把握
  • 工具・治具管理: 工具の使用状況・校正期限管理
  • 自動車部品追跡: エンジン・主要部品のシリアル番号・製造履歴管理

その他

  • 図書館: 蔵書管理・返却自動化・盗難防止(EAS機能)
  • 動物管理: 畜産(ISO11784/85 LFタグ)・ペットマイクロチップ
  • アクセス管理: ビル入退室・工場エリア管理(MIFAREカード)
  • ETC(電子料金収受): 高速道路のノンストップ料金収受(UHF)
  • 医療: 患者リストバンド・医薬品の追跡管理

実装・開発のポイント

UHF RFIDリーダーモジュール選択

モジュール/機器メーカー特徴
M6E-NANOSparkFun / ThingMagic小型・組み込みUHFモジュール
RRU2881Feig Electronic産業用高性能
R2000Impinjチップレベル、ゲートウェイ向け
Zebra FX SeriesZebra物流・倉庫向け固定リーダー
NUR05WNordic ID小型OEMモジュール

Raspberry Pi でUHF RFID読み取り(Python + M6E Nano)

import serial
import time

class M6ENano:
    def __init__(self, port='/dev/ttyUSB0', baud=115200):
        self.ser = serial.Serial(port, baud, timeout=1)

    def send_command(self, cmd):
        """コマンドフレーム送信"""
        # CRC16計算
        crc = self.calculate_crc(cmd)
        frame = [0xFF] + [len(cmd)] + cmd + [crc >> 8, crc & 0xFF]
        self.ser.write(bytes(frame))

    def read_single_tag(self):
        """単一タグ読み取りコマンド"""
        # 0x21: Read Tag Single
        self.send_command([0x03, 0x21])
        time.sleep(0.1)
        response = self.ser.read(64)
        if len(response) > 8:
            # EPCデータを抽出(応答フォーマットに従ってパース)
            epc_len = response[7]
            epc = response[8:8+epc_len]
            return epc.hex()
        return None

    def calculate_crc(self, data):
        """CRC-16/CCITT計算"""
        crc = 0xFFFF
        for b in data:
            crc ^= b << 8
            for _ in range(8):
                if crc & 0x8000:
                    crc = (crc << 1) ^ 0x1021
                else:
                    crc <<= 1
        return crc & 0xFFFF

# 使用例
reader = M6ENano('/dev/ttyUSB0')
while True:
    epc = reader.read_single_tag()
    if epc:
        print(f"EPC: {epc}")
        # EPCISイベントとして記録
        log_epcis_event(epc, timestamp=time.time())
    time.sleep(0.5)

IoTプラットフォームとの連携

RFIDリーダーをIoTゲートウェイとして機能させ、MQTTでクラウドにデータ送信するアーキテクチャが一般的です:

import paho.mqtt.client as mqtt
import json
import time

MQTT_BROKER = "iot.example.com"
MQTT_TOPIC = "rfid/warehouse/gate1/read"

mqttc = mqtt.Client()
mqttc.connect(MQTT_BROKER, 1883)

def on_tag_read(epc, rssi):
    payload = {
        "epc": epc,
        "rssi": rssi,
        "location": "gate1",
        "timestamp": time.time()
    }
    mqttc.publish(MQTT_TOPIC, json.dumps(payload))

# メインループ
while True:
    tag = rfid_reader.read()
    if tag:
        on_tag_read(tag.epc, tag.rssi)

アンテナ配置の設計

UHF RFIDシステムのアンテナ配置で注意すべき点:

  • 偏波: リニア偏波アンテナは特定方向のタグに有利、円偏波アンテナは向きを選ばない
  • 反射: 金属棚・壁・床は電波を反射してマルチパス干渉を起こす。読み取り位置の実測が重要
  • 液体: 液体は水分子が電波を吸収。水入りペットボトルの裏面タグは読み取り困難なことが多い
  • 金属製品: 金属製品に貼るタグは「On Metal Tag」(フェライト裏打ち)を使用

他技術との比較

RFID vs バーコード

項目RFID(UHF)バーコード(1D/2D)
読み取り距離数m数cm〜1m
一括読み取り多数(数百/秒)1個ずつ
視線不要必要
個体識別可(ユニークID)商品種類のみ(通常)
タグコスト数円〜1円以下
データ更新可(書き換え型)不可(印刷)
障害物金属・液体に弱い汚れ・破損に弱い

RFID vs NFC

NFCはRFIDのHF(13.56MHz)規格をベースに、スマートフォン連携のためのP2P・セキュリティ機能を追加したものです。物流・在庫管理の大量一括読み取りはUHF RFID、スマートフォンとの個別認証・決済はNFCという使い分けが一般的です。

RFID vs BLE Asset Tracking

BLEアクティブタグは最大数十〜数百メートルの通信距離を持ち、電池でリアルタイム位置追跡が可能です。コストはRFIDより高いですが、屋内測位精度と継続的なモニタリングが必要な工場・病院での資産管理に使われます。

関連用語

参考リンク