PN532は、NFCタグの読み取りと書き込み、およびRFIDシステムの実装に使用できる汎用性の高いNFC(近接コミュニケーション)モジュールです。 Raspberry PIでPN532を使用すると、Access Control、Contemonly Payments、IoTデバイスなどのアプリケーションのプロジェクトにNFC機能を統合できます。このガイドでは、Raspberry PiでPN532をセットアップして使用することをお勧めします。
あなたが必要とするもの
- Raspberry Pi (GPIOサポートを備えたモデル、例えばPI 3、PI 4)
- PN532 NFCモジュール
- ブレッドボードとジャンパーワイヤ
- Raspberry Piまたは接続されたキーボードとモニターへのSSHアクセスを備えたコンピューター
- Raspberry PiにインストールされたPython
ステップ1:PN532をRaspberry Piに配線します
PN532モジュールは、I2C、SPI、UARTを含む複数の通信プロトコルをサポートしています。このガイドでは、I2Cインターフェイスを使用して簡単にします。
接続(I2Cモード)
| PN532ピン | ラズベリーPIピン | 
|---|---|
| VCC | 3.3V(ピン1) | 
| GND | グラウンド(ピン6) | 
| SDA | SDA(ピン3、GPIO2) | 
| SCL | SCL(ピン5、GPIO3) | 
| SEL0 | GND | 
| SEL1 | VCC | 
注記: SEL0およびSEL1ピンは、通信モードを決定します。 SEL0をGNDおよびSEL1にVCCに接続すると、I2Cモードが選択されます。
ステップ2:RaspberryPiでi2cインターフェイスを有効にします
- Raspberry Pi構成ツールを開きます。
sudo raspi-config
- に移動します インターフェイスオプション> i2c そしてそれを有効にします。
- RaspberryPiを再起動します:
sudo reboot
ステップ3:必要なツールとライブラリをインストールします
- RaspberryPiを更新します:
sudo apt update && sudo apt upgrade -y
- I2Cツールをインストールします。
sudo apt install -y i2c-tools
- I2C通信とPN532機能用のPythonライブラリをインストールします。
pip install adafruit-circuitpython-pn532
ステップ4:接続を確認します
- 使用 i2cdetectPN532がI2Cバスで検出されることを確認するには:sudo i2cdetect -y 1
- アドレスにPN532が表示されます 0x24または0x48。そうでない場合:- 配線を確認してください。
- PN532が駆動されていることを確認してください。
 
ステップ5:PythonでNFCタグを読み取ります
次のPythonスクリプトは、PN532を使用してNFCタグを読み取る方法を示しています。
Pythonコードの例
import board
import busio
from adafruit_pn532.i2c import PN532_I2C
# I2C connection setup
i2c = busio.I2C(board.SCL, board.SDA)
pn532 = PN532_I2C(i2c, debug=False)
# Configure PN532 to read NFC tags
pn532.SAM_configuration()
print("Waiting for an NFC tag...")
while True:
    uid = pn532.read_passive_target(timeout=0.5)
    if uid is not None:
        print(f"Found NFC tag with UID: {uid.hex()}")
ステップ6:PN532のアプリケーション
- アクセス制御: NFCベースのドアロックシステムを作成します。
- 非接触型の支払い: NFCカードで支払いシステムをシミュレートします。
- IoTプロジェクト: NFCタグを使用して、自動化イベントをトリガーします。
- データロギング: 在庫または追跡の目的で、NFCタグにデータを書き込みます。
トラブルシューティング
- 
検出されていないデバイス: - SDAおよびSCL接続を確認します。
- Raspberry PiでI2Cインターフェイスが有効になっていることを確認してください。
- I2CモードのSEL0およびSEL1 PIN構成を確認します。
 
- 
エラーを読む: - NFCタグがPN532の範囲内にあることを確認してください。
- 金属オブジェクトまたは他の電子機器からの干渉を確認してください。
 
- 
I2Cエラー: - I2Cバスに矛盾するデバイスがないことを確認してください。
 
結論
PN532 NFCモジュールは、Raspberry PIプロジェクトにNFCおよびRFID機能を追加するための汎用性の高いツールです。このガイドに従うことにより、アクセス制御、IoTオートメーション、非接触データ交換などのアプリケーションにPN532を設定して使用できます。 NFCタグの読み書きを試して、この強力なモジュールの可能性を最大限に引き出すことを調査してください!
 
            
 
      
 
      
 
      
 
      
 
      
 
       
         
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
             
   
   
   
   
   
   
   
   
   
   
   
   
  