Raspberry Pi Locker System Gym

via Freelancer ·

Budget / Salary€250–750
TypeFreelance project
LocationRemote
Posted1 hour ago
Raspberry Pi 4 Smart Locker System – CAN Bus, RFID and Automatic Lock Initialization

1. Project Overview

We are looking for an experienced developer to build a smart locker management system for a small fitness studio, using a Raspberry Pi 4, electronic locks, CAN bus communication, and RFID cards.

Our existing electronic locks communicate via CAN bus and an API. We have identified the following GitHub repository as a starting point:

GitHub repository: https://github.com/sigar-nxp/CAN

We want to reuse existing functionality wherever possible.

Important: Before starting the complete development, we want to verify that the developer can successfully initialize new locks and assign them unique IDs. This is the most critical technical requirement and the first, separately paid project phase.

2. Phase 1 – Proof of Concept: Automatic Lock Initialization

The first assignment is limited to verifying and demonstrating that new locks can be initialized and uniquely addressed.

Our locks are delivered with the default software CAN ID 1. According to our current understanding, they do not have a separate hardware identification number.

We need to establish whether it is technically possible to connect multiple locks, identify each new lock individually, and assign a unique software ID to each one.

The developer must:

* Review the existing GitHub repository and relevant documentation.
* Analyze the CAN bus protocol and available API commands.
* Determine how locks with the default ID 1 can be distinguished from one another.
* Investigate whether the hardware supports a commissioning, learning, or address-assignment procedure.
* Implement and test a proof of concept using the actual hardware, subject to hardware availability.
* Demonstrate that multiple locks can receive different IDs and remain individually addressable.
* Document any hardware, firmware, or protocol limitations.

Expected result: A working demonstration of the initialization procedure, or a clear technical report explaining why it is not possible with the existing hardware and what changes would be required.

We do not want to invest time or money in the full application until this fundamental requirement has been verified.

Please provide a fixed-price quote for Phase 1 only.

3. Phase 2 – Core Locker Management Software

If Phase 1 is successful, we would like to continue with the same developer.

The software should manage electronic lockers for a small fitness studio.

Required functionality:

* Read RFID card IDs sent by the locks over CAN bus.
* Maintain a local database, preferably SQLite.
* Assign one RFID card to an available locker.
* Prevent a card from opening a locker assigned to another card.
* Unlock a locker when the correct card is presented again.
* Release the locker and its card assignment after the customer retrieves their belongings.
* Control the lock status and red LED using the existing API.
* Store locker assignments and configuration persistently.

Unknown or unauthorized cards must not be allowed to occupy lockers.

4. Phase 3 – Lock Management and Web Interface

Develop a simple web interface accessible through a local network browser.

The administrator should be able to:

* View all connected lockers.
* View locker numbers and current statuses.
* View assigned RFID cards.
* Change logical locker numbers.
* Identify disconnected locks and communication errors.
* Save configuration changes persistently.

Logical locker numbers should be separated from physical CAN addresses wherever possible.

New locks should receive unique IDs automatically or through a simple commissioning procedure, depending on the capabilities confirmed in Phase 1.

5. Phase 4 – Testing and Deployment

The final implementation should include:

* Reliable CAN bus and API communication.
* Automatic startup after Raspberry Pi reboot.
* Error handling and diagnostic logging.
* Persistent database storage.
* Testing of the main RFID and locker workflows.
* Complete source code.
* Installation instructions and technical documentation.

The application should run locally without requiring a permanent internet connection.

6. Technical Requirements

Experience with the following is preferred:

* Raspberry Pi 4 and Linux
* CAN bus communication
* Electronic locks and access control
* RFID systems
* Hardware APIs
* Python and SQLite
* Lightweight web applications

7. Proposal Requirements

Please include:

1. Relevant experience with CAN bus and hardware integration.
2. Your assessment of the GitHub repository.
3. Your proposed method for identifying and initializing locks that start with CAN ID 1.
4. Any additional hardware, documentation, or access you require.
5. Your fixed-price estimate and expected duration for Phase 1.
6. Confirmation of whether you can test with actual hardware.

Please do not quote the entire development as one fixed-price project at this stage.

Our priority is to verify the automatic lock initialization and unique ID assignment first. If this works reliably, we intend to continue with the full locker management system as a longer-term collaboration, with each subsequent phase agreed and budgeted separately.
sqlite raspberry pi can bus
Apply on Freelancer →

Project sourced from Freelancer.com. Applications happen directly on the original platform — we never collect your data.