This project started as an idea from my desk at home when I was thinking of a way to monitor my pets (mostly cats). I needed to know which pet was using the door, whether they were inside or outside, and be able to check on them remotely.
The purpose of this project is to build a smart pet monitoring system that gives pet owners visibility and control over their pets' movements without needing to be physically present. It achieves this through three core functions: identifying individual pets via RFID, automating door lock control based on detected pet activity, and providing remote live monitoring via a Raspberry Pi camera.
What would I do differently: If I were to rebuild this, I would replace MQTT with a backend storage and browser-based request model, and restructure the codebase to be easier for others to follow.
For a user manual, follow the link to the GitHub repo. This is part of an assignment submitted to Deakin University, School of IT, Unit SIT210/730 - Embedded Systems Development.
SystemThe smart pet monitoring system consists of three main systems: the Arduino Nano 33 IoT, the Raspberry Pi, and the MQTT broker.
The Arduino is responsible for interacting with the physical hardware. It reads RFID tags attached to pets, controls the servo motor that locks and unlocks the pet door, detects pet movement using sensors, and publishes pet activity events through MQTT. The Arduino also receives commands for pet registration and door control.
Raspberry PiThe Raspberry Pi provides remote monitoring functionality. A camera connected to the Raspberry Pi captures live video, which can be viewed remotely through a GUI. This allows pet owners to visually check on their pets activities regardless of location or outside network.
MQTT BrokerThe MQTT broker acts as the communication layer between devices. Messages published by the Arduino are sent to the broker and can be accessed by other systems. The broker also enables commands from the web interface to be sent back to the Arduino.
GUIThe user interface allows users to remotely monitor and manage the system. Users can view pet activity, register new pets, control the pet door lock, and access the Raspberry Pi camera. The interface communicates with the system through MQTT topics.
System OperationWhen a pet approaches the door, the RFID reader scans the pet's tag and checks whether it is registered. If access is permitted, the servo unlocks the door and the event is published through MQTT. The GUI receives updates and displays the pet's activity to the user. At any time, the owner can remotely access the camera feed to monitor their pets.










Comments