Tutorial Lengkap RFID RC522 & PZEM-004T di Raspberry Pi 4 - Wiring, Setup, Pembacaan Data, dan Contoh Program

Dalam pengembangan proyek Internet of Things (IoT), penggunaan sensor khusus menjadi sangat penting untuk menghadirkan sistem yang lebih cerdas, aman, dan terukur. Dua modul yang sering digunakan dalam berbagai proyek berbasis Raspberry Pi Foundation adalah RFID RC522 untuk identifikasi digital serta PZEM-004T untuk monitoring parameter listrik AC. Keduanya memiliki fungsi yang berbeda namun saling melengkapi dalam membangun sistem otomatisasi modern.

RFID RC522 banyak dimanfaatkan pada sistem akses pintu, absensi elektronik, hingga identifikasi aset karena mampu membaca UID kartu secara cepat dan stabil. Sedangkan PZEM-004T menjadi solusi praktis untuk memantau konsumsi listrik secara real-time, mulai dari tegangan, arus, daya, hingga energi total. Dengan menggabungkan kedua sensor ini pada platform Raspberry Pi 4, pengguna dapat membangun sistem IoT yang tidak hanya mampu mengenali pengguna, tetapi juga memonitor penggunaan energi secara akurat.

 

Pada artikel ini akan membahas langkah demi langkah penggunaan RFID RC522 dan PZEM-004T pada Raspberry Pi, mulai dari konfigurasi sistem operasi, instalasi library, wiring perangkat, hingga contoh program Python untuk membaca data sensor. Panduan ini dirancang untuk pemula maupun pengembang yang ingin membangun sistem akses otomatis, smart monitoring listrik, atau proyek IoT berbasis Raspberry Pi secara lebih terstruktur dan mudah dipahami.

 

Baca juga: Tutorial DHT11 dan PIR di Raspberry Pi 4 untuk Pemula - Wiring, Setup, dan Program Python

Sensor RFID RC522 dan PZEM-004T

1. Sensor Khusus - RFID RC522

RC522 adalah modul pembaca RFID yang beroperasi pada frekuensi 13,56 MHz dan mendukung standar ISO/IEC 14443A. Modul ini dapat digunakan untuk membaca maupun menulis data pada berbagai jenis tag RFID, termasuk MIFARE Classic 1K dan 4K. RC522 banyak dimanfaatkan dalam sistem identifikasi, kontrol akses, absensi elektronik, hingga proyek berbasis Internet of Things. Keunggulannya terletak pada konsumsi daya yang rendah, komunikasi yang cukup cepat, serta bentuk modul yang kecil sehingga mudah diintegrasikan dengan mikrokontroler maupun komputer mini seperti Raspberry Pi.

 

Dalam proses komunikasinya dengan Raspberry Pi, RC522 menggunakan protokol SPI (Serial Peripheral Interface), di mana Raspberry Pi berperan sebagai master dan RC522 sebagai slave. Modul ini bekerja dengan logika tegangan 3,3 V, sehingga seluruh pin - baik pin daya (VCC) maupun pin komunikasi seperti SDA, SCK, MOSI, MISO, dan RST - harus dipastikan menerima tegangan yang sesuai. Memberikan tegangan 5 V langsung ke pin modul berpotensi merusaknya. Umumnya, RC522 dihubungkan ke antarmuka SPI0 Raspberry Pi dengan chip enable CE0, sementara pada penggunaan library SimpleMFRC522, pin RST sering dihubungkan ke GPIO22. Konfigurasi ini banyak digunakan dalam berbagai contoh implementasi sehingga mempermudah proses instalasi dan pengujian sistem.

Gambar

a. Mengaktifkan SPI pada Raspberry Pi OS
- Untuk mengaktifkan antarmuka SPI, buka Terminal terlebih dahulu, kemudian jalankan perintah berikut:
sudo raspi-config


- Pilih Interface Options. Tekan Enter.



- Pilih SPI. Tekan Enter.



- Pilih YES. Tekan Enter.



- Pilih OK. Tekan Enter.



- Pilih Finish. Tekan Enter.



- Melakukan Reboot Raspberry Pi
Setelah konfigurasi selesai, lakukan restart sistem dengan menjalankan perintah berikut di Terminal:

sudo reboot

b. Membuat Virtual Environment

Pada tahap ini, kita akan membuat folder proyek sekaligus mengisolasi seluruh dependensi menggunakan virtual environment (venv).
- Buka Terminal, lalu jalankan perintah berikut: buka terminal, lalu jalankan perintah berikut:
python3 -m venv rfid-env

- Setelah virtual environment dibuat, langkah berikutnya adalah mengaktifkannya agar semua instalasi library masuk ke lingkungan proyek tersebut. Buka Terminal lalu jalankan perintah berikut:

source rfid-env/bin/activate

Jika berhasil, nama environment akan muncul di bagian awal baris Terminal.


c. Upgrade pip

Untuk memastikan proses instalasi library berjalan lancar, lakukan upgrade pip ke versi terbaru.

Buka Terminal lalu jalankan perintah berikut:

python -m pip install --upgrade pip

Jika proses berhasil, Terminal akan menampilkan informasi bahwa pip telah diperbarui.



d. Install Library Pendukung

Selanjutnya, pasang library pendukung yang diperlukan agar proses instalasi paket Python berjalan optimal.

- Buka Terminal lalu jalankan perintah berikut:

pip install --upgrade pip setuptools wheel

Jika berhasil, Terminal akan menampilkan proses instalasi serta notifikasi bahwa paket telah terpasang atau diperbarui.



e. Install Python dan Library Pendukung

Selanjutnya, instal paket Python tambahan yang diperlukan oleh sistem.

Buka Terminal lalu jalankan perintah berikut:

sudo apt-get install -y python3-pip python3-dev

Jika proses berhasil, Terminal akan menampilkan daftar paket yang diinstal beserta status penyelesaiannya.



f. Install Library RFID

Selanjutnya, instal library Python yang dibutuhkan untuk komunikasi SPI, GPIO, dan modul RFID RC522.

- Buka Terminal lalu jalankan perintah berikut:

pip install spidev RPi.GPIO mfrc522

Jika instalasi berhasil, Terminal akan menampilkan proses pengunduhan dan pemasangan library hingga selesai.



g. Wiring diagram Raspberry Pi 4 x RFID RC522


Koneksi pin:

- RC522 pin -> Raspberry Pi 4 pin

• SDA (SS) -> GPIO8 (CE0, physical pin 24)

• SCK -> GPIO11 (SCLK, physical pin 23)

• MOSI -> GPIO10 (MOSI, physical pin 19)

• MISO -> GPIO9 (MISO, physical pin 21)

• RST -> GPIO22 (physical pin 15)

• 3.3V -> 3V3 (physical pin 1)

• GND -> GND (physical pin 20)

• IRQ -> tidak dipakai (biarkan tidak tersambung)

h. Buka Thonny IDE. Pastikan Interpreter sudah seperti tampilan dibawah ini:




i. Uji Pembacaan UID RFID

Masukkan kode program berikut ke dalam editor, lalu jalankan dengan menekan tombol Run. Jika proses berjalan dengan benar, UID kartu atau tag RFID akan tampil pada jendela output. Setelah berhasil melakukan pembacaan, simpan file program dengan nama rfid_read_uid.py.



j. Menulis Data ke Tag RFID dan Membacanya Kembali

Masukkan kode program berikut ke dalam editor, kemudian jalankan dengan menekan tombol Run. Jika proses berhasil, teks akan tersimpan pada tag RFID dan selanjutnya dapat dibaca kembali melalui output program. Setelah pengujian selesai dan berjalan dengan baik, simpan file dengan nama rfid_write_text.py.



k. Setelah menulis, jalankan kembali rfid_read_uid.py untuk memastikan DATA terbaca.



l. Pembacaan Berulang (Loop) – Deteksi Kartu Masuk

Masukkan kode program berikut ke dalam editor, lalu jalankan dengan menekan tombol Run. Program akan membaca kartu RFID secara terus-menerus dan menampilkan hasilnya ketika kartu terdeteksi. Jika pengujian sudah berhasil, simpan file program dengan nama rfid_loop_detect.py.



2. Sensor Khusus - PZEM-004T

PZEM-004T merupakan modul pengukur listrik AC yang dirancang untuk memantau berbagai parameter seperti tegangan, arus, daya aktif, energi listrik, frekuensi, serta faktor daya pada jaringan 220 VAC. Pada versi PZEM-004T v3, komunikasi dilakukan melalui antarmuka UART TTL 5V dengan protokol yang menyerupai Modbus RTU pada kecepatan 9600 bps. Modul ini sangat sesuai untuk proyek IoT karena data pengukuran sudah tersedia dalam bentuk digital, sehingga Raspberry Pi dapat langsung membaca, menyimpan, maupun mengirimkannya ke sistem monitoring seperti file lokal, dashboard, atau layanan cloud. Dalam pemasangan nyata, pengukuran tegangan dilakukan melalui terminal L dan N, sedangkan arus diukur menggunakan current transformer (CT) yang dijepit pada salah satu kabel beban, yaitu kabel fase saja. Karena daya dan energi dihitung dari kombinasi tegangan serta arus, maka pemasangan keduanya harus benar agar hasil pembacaan akurat.


Raspberry Pi bekerja dengan level logika 3.3V pada pin GPIO, sementara PZEM-004T v3 menggunakan sinyal TTL 5V. Agar komunikasi tetap aman dan praktis, digunakan adaptor USB to TTL 5V seperti CH340, CP2102, atau FTDI yang dihubungkan ke port USB Raspberry Pi. Metode ini menghindari koneksi langsung ke GPIO sehingga perbedaan level tegangan tidak menimbulkan risiko kerusakan. Sambungkan pin TX pada PZEM ke RX adaptor, dan RX PZEM ke TX adaptor, lalu hubungkan juga VCC 5V serta GND yang sama. Setelah adaptor terpasang, perangkat serial biasanya akan terdeteksi di Raspberry Pi sebagai /dev/ttyUSB0 atau /dev/ttyUSB1. Panduan berikut akan menjelaskan tahapan lengkap mulai dari penyambungan perangkat, konfigurasi sistem operasi, instalasi pustaka, pengujian pembacaan data, hingga penyimpanan hasil dalam format CSV.

a. Periksa Port Serial USB

Hubungkan terlebih dahulu adaptor USB-to-TTL ke Raspberry Pi, kemudian buka Terminal untuk memastikan port serial terdeteksi. Jalankan perintah dmesg | grep ttyUSB dan ls -l /dev/ttyUSB*. Jika adaptor berhasil dikenali, perangkat serial akan muncul sebagai /dev/ttyUSB0 atau nomor sejenis.



Penjelasan Hasil Deteksi:

- cp210x converter menunjukkan bahwa adaptor USB-to-UART yang terpasang menggunakan chipset CP210x dari Silicon Labs.

- now attached to ttyUSB0 menandakan bahwa sistem telah mengenali perangkat tersebut dan menetapkannya sebagai port serial /dev/ttyUSB0.

b. Membuat Virtual Environment

Selanjutnya, kita akan membuat folder proyek sekaligus lingkungan virtual (venv) untuk memisahkan semua dependensi.

- Buka Terminal, lalu jalankan perintah berikut:

python3 -m venv pzem-env



- Jalankan perintah berikut di Terminal:

source pzem-env/bin/activate

Jika berhasil, nama environment akan muncul di awal baris Terminal.



c. Upgrade pip dengan cara jalankan perintah berikut di Terminal:

python -m pip install --upgrade pip

Jika proses berhasil, Terminal akan menampilkan pesan instalasi selesai tanpa error.



d. Install library dengan cara jalankan perintah berikut di Terminal:

pip install --upgrade pip setuptools wheel

Jika berhasil, Terminal akan menampilkan proses instalasi hingga selesai tanpa pesan error.



e. Install library dengan cara jalankan perintah berikut di Terminal:

pip install pyserial

Jika proses berhasil, Terminal akan menampilkan status instalasi tanpa pesan error.



f. Wiring Diagram Raspberry Pi 4 x USB TTL CP2102 x PZEM-004T :


Koneksi pin:

Wiring - USB to TTL 5V (low voltage side)

• PZEM VCC -> 5V adapter atau 5V dari Pi (pilih salah satu sumber yang stabil).

• PZEM GND -> GND adapter atau GND Pi (semua ground harus tersambung

bersama).

• PZEM TX -> RX adapter.

• PZEM RX -> TX adapter.

• Colok adapter ke USB Raspberry Pi. Port biasanya muncul sebagai

/dev/ttyUSB0

g. Buka Thonny IDE. Pastikan Interpreter sudah seperti tampilan dibawah ini:



h. Uji cepat pembacaan data dari modul PZEM-004T.

Ketikkan kode program di bawah ini, lalu klik Run. Jika konfigurasi sudah benar, data pengukuran akan tampil di Terminal. Setelah berhasil, simpan file program dengan nama pzem004t_read_usb.py.







i. Menyimpan data pengukuran ke file CSV (logging).

Ketikkan kode program di bawah ini, lalu klik Run. Jika program berjalan dengan benar, data akan tersimpan otomatis ke file CSV sesuai interval pembacaan. Setelah berhasil, simpan file program dengan nama pzem004t_log_csv.py.








Hasil File .CSV disimpan pada folder berikut:



Dengan memahami cara kerja RFID RC522 dan PZEM-004T, pengguna dapat membangun sistem IoT yang jauh lebih fungsional, mulai dari kontrol akses otomatis hingga monitoring energi listrik berbasis data real-time. Integrasi kedua sensor ini dengan Raspberry Pi membuka peluang pembuatan berbagai solusi seperti smart home, sistem keamanan ruangan, manajemen konsumsi listrik, hingga dashboard monitoring berbasis cloud.

 

Melalui panduan wiring, konfigurasi, serta contoh program yang telah dijelaskan, diharapkan pembaca dapat langsung mengimplementasikan proyeknya sendiri dan mengembangkannya sesuai kebutuhan. Penguasaan sensor identifikasi dan sensor pengukuran energi seperti ini menjadi fondasi penting dalam membangun sistem IoT modern yang efisien, otomatis, dan siap digunakan pada skala industri maupun kebutuhan pribadi.

 

Baca juga: Tutorial Sensor Analog Raspberry Pi - Membaca Soil Moisture & LM35 dengan ADS1115 + Python Lengkap

Dalam praktik, hasil dan kendala yang ditemui bisa berbeda tergantung perangkat, konfigurasi, versi library, dan sistem yang digunakan.

Posting Komentar

0 Komentar