docs: update project files
This commit is contained in:
+46
-2
@@ -1,7 +1,51 @@
|
||||
# Changelog
|
||||
|
||||
Toutes les modifications notables de ce projet seront documentées dans ce fichier.
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
Le format s'inspire de Keep a Changelog.
|
||||
The format is based on **Keep a Changelog** and this project follows **Semantic Versioning**.
|
||||
|
||||
---
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
### Added
|
||||
|
||||
- Initial project structure.
|
||||
- Zephyr RTOS development environment.
|
||||
- Standardized project architecture.
|
||||
- Firmware coding conventions.
|
||||
- Documentation structure.
|
||||
- RGB LED driver.
|
||||
- GPIO Expander abstraction layer.
|
||||
- Matrix keypad driver.
|
||||
- Firmware component documentation.
|
||||
- Firmware debugging documentation.
|
||||
|
||||
### Changed
|
||||
|
||||
- Refactored firmware into independent components.
|
||||
- Standardized source file headers.
|
||||
- Standardized project coding style.
|
||||
- Centralized board-specific definitions into `board_pins.h`.
|
||||
|
||||
### Fixed
|
||||
|
||||
- Matrix keypad scanning.
|
||||
- GPIO expander abstraction.
|
||||
- Firmware build configuration.
|
||||
|
||||
---
|
||||
|
||||
## [0.1.0] - TBD
|
||||
|
||||
### Added
|
||||
|
||||
- First public development release.
|
||||
|
||||
- Zephyr RTOS firmware.
|
||||
- RGB LED driver.
|
||||
- GPIO Expander driver.
|
||||
- Matrix keypad driver.
|
||||
- Initial documentation.
|
||||
- Project roadmap.
|
||||
- TODO list.
|
||||
|
||||
@@ -1,149 +1,236 @@
|
||||
# OpenParcelBox
|
||||
|
||||
> 🚧 Statut : Reverse Engineering en cours
|
||||
> 🚧 **Project Status:** Active development
|
||||
|
||||
OpenParcelBox est un projet open-source visant à remplacer l'électronique propriétaire de la boîte à colis connectée Boks One par une solution libre, documentée, maintenable et reproductible.
|
||||
OpenParcelBox is an open-source project that replaces the proprietary electronics of the **Boks One** connected parcel box with a fully documented, local-first and sustainable solution.
|
||||
|
||||
L'objectif est de conserver autant que possible les éléments mécaniques, électromécaniques et esthétiques d'origine tout en supprimant toute dépendance à l'écosystème propriétaire.
|
||||
|
||||
Le projet fournit à la fois :
|
||||
|
||||
* un firmware libre ;
|
||||
* une électronique de remplacement documentée ;
|
||||
* une intégration native avec Home Assistant ;
|
||||
* une documentation complète permettant à chacun de reproduire la solution.
|
||||
The project aims to preserve as much of the original hardware as possible while removing every dependency on proprietary cloud services and mobile applications.
|
||||
|
||||
---
|
||||
|
||||
# Pourquoi OpenParcelBox ?
|
||||
# Goals
|
||||
|
||||
De nombreuses boîtes à colis connectées reposent sur des services cloud et des applications propriétaires.
|
||||
OpenParcelBox has been designed around a few simple principles.
|
||||
|
||||
Lorsque le fabricant arrête son service, modifie ses conditions d'utilisation ou cesse son activité, le matériel peut devenir inutilisable malgré un état mécanique parfaitement fonctionnel.
|
||||
|
||||
OpenParcelBox est né de la volonté de prolonger la durée de vie d'une Boks One en remplaçant son électronique propriétaire par une solution libre et documentée, sans aucune dépendance à un service cloud.
|
||||
|
||||
Le développement du projet est réalisé sur une Boks One, qui constitue actuellement la seule plateforme officiellement prise en charge.
|
||||
|
||||
Cependant, les méthodes employées, l'architecture matérielle et les principes logiciels documentés dans ce dépôt peuvent servir de base à l'adaptation d'autres boîtes à colis ou boîtes aux lettres connectées par la communauté.
|
||||
|
||||
L'objectif du projet n'est donc pas de prendre en charge tous les produits du marché, mais de fournir une solution ouverte, reproductible et réutilisable que chacun pourra adapter à ses propres besoins.
|
||||
- No cloud dependency
|
||||
- No subscription
|
||||
- No vendor lock-in
|
||||
- Fully local operation
|
||||
- Battery powered
|
||||
- Open hardware
|
||||
- Open firmware
|
||||
- Fully documented
|
||||
- Easy to reproduce
|
||||
- Beginner-friendly
|
||||
|
||||
---
|
||||
|
||||
# Fonctionnalités prévues
|
||||
# Current Status
|
||||
|
||||
## Fonctionnelles
|
||||
The project is under active development.
|
||||
|
||||
* Remplacement complet de l'électronique d'origine.
|
||||
* Conservation du clavier 2 × 6.
|
||||
* Conservation du mécanisme de verrouillage.
|
||||
* Fonctionnement sur batterie.
|
||||
* Intégration native Home Assistant.
|
||||
* Communication Zigbee.
|
||||
* Gestion de codes d'accès temporaires et permanents.
|
||||
* Mises à jour OTA (Over-The-Air).
|
||||
## Completed
|
||||
|
||||
## Techniques
|
||||
- Development environment
|
||||
- Zephyr RTOS integration
|
||||
- Firmware architecture
|
||||
- RGB LED driver
|
||||
- GPIO Expander driver
|
||||
- Matrix keypad driver
|
||||
- Project documentation
|
||||
|
||||
* Fonctionnement entièrement local.
|
||||
* Aucune dépendance à un service cloud.
|
||||
* Faible consommation énergétique.
|
||||
* Matériel reproductible.
|
||||
* Logiciel libre.
|
||||
* Documentation complète.
|
||||
## In Progress
|
||||
|
||||
- Lock driver
|
||||
- Reverse engineering
|
||||
- Hardware validation
|
||||
|
||||
## Planned
|
||||
|
||||
- NFC
|
||||
- Battery management
|
||||
- Bluetooth configuration
|
||||
- Flutter application
|
||||
- Zigbee
|
||||
- Home Assistant integration
|
||||
- Custom PCB
|
||||
|
||||
---
|
||||
|
||||
# Architecture
|
||||
# Features
|
||||
|
||||
## Matériel
|
||||
## Firmware
|
||||
|
||||
* Seeed Studio XIAO BLE nRF52840
|
||||
- Modular architecture
|
||||
- Zephyr RTOS
|
||||
- Battery powered
|
||||
- Administrator PIN
|
||||
- NFC support
|
||||
- Bluetooth configuration
|
||||
- Zigbee support
|
||||
- OTA updates
|
||||
|
||||
## Logiciel
|
||||
## Hardware
|
||||
|
||||
* Zephyr RTOS
|
||||
* C++
|
||||
* west
|
||||
* CMake
|
||||
- Reuse of the original lock
|
||||
- Reuse of the original enclosure
|
||||
- Reuse of the original keypad
|
||||
- Custom PCB based on Seeed Studio XIAO BLE nRF52840
|
||||
|
||||
## Communication
|
||||
## Home Assistant
|
||||
|
||||
OpenParcelBox communique via Zigbee.
|
||||
|
||||
L'exposition éventuelle vers MQTT est assurée par Home Assistant via :
|
||||
|
||||
* ZHA
|
||||
* Zigbee2MQTT
|
||||
* ou toute autre passerelle compatible.
|
||||
|
||||
Le firmware n'utilise donc pas MQTT directement.
|
||||
- Native Zigbee integration
|
||||
- ZHA compatibility
|
||||
- Zigbee2MQTT compatibility
|
||||
- Local control only
|
||||
|
||||
---
|
||||
|
||||
# État du support Zigbee
|
||||
# Hardware Platform
|
||||
|
||||
Le support Zigbee fait partie des objectifs de la V1 mais n'est pas encore validé expérimentalement.
|
||||
Current development platform:
|
||||
|
||||
La pile Zigbee retenue ainsi que son intégration dans Home Assistant seront définies au cours du développement.
|
||||
- Seeed Studio XIAO BLE nRF52840
|
||||
- Zephyr RTOS
|
||||
- Freenove development kit
|
||||
- PCF8574 GPIO Expander
|
||||
|
||||
The production hardware will use a custom PCB specifically designed for OpenParcelBox.
|
||||
|
||||
---
|
||||
|
||||
# Firmware Architecture
|
||||
|
||||
The firmware follows a modular architecture.
|
||||
|
||||
Current components:
|
||||
|
||||
- RGB LED
|
||||
- GPIO Expander
|
||||
- Matrix Keypad
|
||||
|
||||
Planned components:
|
||||
|
||||
- Lock
|
||||
- Door Sensor
|
||||
- Battery
|
||||
- NFC
|
||||
- Buzzer
|
||||
- Zigbee
|
||||
|
||||
Each component is fully documented and independently testable.
|
||||
|
||||
---
|
||||
|
||||
# Repository Structure
|
||||
|
||||
```text
|
||||
OpenParcelBox
|
||||
├── app/
|
||||
├── board/
|
||||
├── docs/
|
||||
│ ├── firmware/
|
||||
│ ├── hardware/
|
||||
│ ├── development/
|
||||
│ └── protocols/
|
||||
├── hardware/
|
||||
├── CHANGELOG.md
|
||||
├── CONTRIBUTING.md
|
||||
├── LICENSE
|
||||
├── README.md
|
||||
├── ROADMAP.md
|
||||
└── TODO.md
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# Documentation
|
||||
|
||||
## Français
|
||||
## General
|
||||
|
||||
* [Roadmap](ROADMAP.md)
|
||||
* [Architecture](docs/fr/ARCHITECTURE.md)
|
||||
- ROADMAP.md
|
||||
- TODO.md
|
||||
- CHANGELOG.md
|
||||
|
||||
---
|
||||
## Firmware
|
||||
|
||||
# Structure du dépôt
|
||||
Documentation is available in:
|
||||
|
||||
```text
|
||||
OpenParcelBox
|
||||
├── docs/
|
||||
│ └── fr/
|
||||
├── firmware/
|
||||
├── hardware/
|
||||
├── homeassistant/
|
||||
├── images/
|
||||
├── mobile-app/
|
||||
├── CHANGELOG.md
|
||||
├── README.md
|
||||
├── ROADMAP.md
|
||||
├── TODO.md
|
||||
└── LICENSE
|
||||
docs/firmware/
|
||||
```
|
||||
|
||||
Each firmware component has its own documentation.
|
||||
|
||||
## Hardware
|
||||
|
||||
Reverse engineering and PCB documentation are available in:
|
||||
|
||||
```text
|
||||
docs/hardware/
|
||||
```
|
||||
|
||||
## Development
|
||||
|
||||
Development environment documentation is available in:
|
||||
|
||||
```text
|
||||
docs/development/
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
# État du projet
|
||||
# Development
|
||||
|
||||
🚧 Projet en cours de reverse engineering.
|
||||
Firmware development uses:
|
||||
|
||||
Travaux actuellement en cours :
|
||||
- Zephyr RTOS
|
||||
- West
|
||||
- CMake
|
||||
- GCC
|
||||
- VSCodium
|
||||
|
||||
* Analyse du matériel d'origine.
|
||||
* Identification des composants.
|
||||
* Mesures électriques.
|
||||
* Validation de l'architecture matérielle.
|
||||
* Définition des interfaces firmware.
|
||||
|
||||
Pour connaître les étapes prévues du développement :
|
||||
|
||||
➡️ **[Consulter la roadmap](ROADMAP.md)**
|
||||
The coding style, project structure and documentation are standardized across the entire project.
|
||||
|
||||
---
|
||||
|
||||
# Licence
|
||||
# Roadmap
|
||||
|
||||
Les différents composants du projet sont distribués sous des licences adaptées à leur nature.
|
||||
The complete development roadmap is available in:
|
||||
|
||||
| Composant | Licence |
|
||||
| ------------- | ------------------------------------ |
|
||||
| Projet | [LICENSE](LICENSE) |
|
||||
| Firmware | [firmware/LICENSE](firmware/LICENSE) |
|
||||
| Hardware | [hardware/LICENSE](hardware/LICENSE) |
|
||||
| Documentation | [docs/LICENSE](docs/LICENSE) |
|
||||
- ROADMAP.md
|
||||
|
||||
The current task list is available in:
|
||||
|
||||
- TODO.md
|
||||
|
||||
---
|
||||
|
||||
# License
|
||||
|
||||
OpenParcelBox is an open-source project.
|
||||
|
||||
Different project components may use different licenses depending on their nature.
|
||||
|
||||
| Component | License |
|
||||
| ------------- | ---------------- |
|
||||
| Project | LICENSE |
|
||||
| Firmware | firmware/LICENSE |
|
||||
| Hardware | hardware/LICENSE |
|
||||
| Documentation | docs/LICENSE |
|
||||
|
||||
---
|
||||
|
||||
# Contributing
|
||||
|
||||
Contributions are welcome.
|
||||
|
||||
Please read **CONTRIBUTING.md** before submitting issues or pull requests.
|
||||
|
||||
---
|
||||
|
||||
# Disclaimer
|
||||
|
||||
OpenParcelBox is an independent open-source project.
|
||||
|
||||
It is not affiliated with, endorsed by or supported by the manufacturer of the Boks One parcel box.
|
||||
+336
-330
@@ -1,511 +1,517 @@
|
||||
# OpenParcelBox - Roadmap
|
||||
|
||||
## Présentation
|
||||
## Presentation
|
||||
|
||||
OpenParcelBox est un projet open source visant à remplacer l'électronique propriétaire des boîtes à colis connectées par une solution autonome, locale et pérenne.
|
||||
OpenParcelBox is an open-source project that replaces the proprietary electronics of connected parcel boxes with an autonomous, local and sustainable solution.
|
||||
|
||||
Le projet est développé et validé sur une Boks One.
|
||||
The project is currently developed and validated on a **Boks One** but is designed to be portable to other parcel boxes by adapting only the hardware layer.
|
||||
|
||||
L'architecture est documentée afin de faciliter une éventuelle adaptation à d'autres matériels par la communauté.
|
||||
|
||||
## Objectifs
|
||||
|
||||
* Aucune dépendance au cloud
|
||||
* Aucun abonnement
|
||||
* Fonctionnement autonome
|
||||
* Compatible NFC
|
||||
* Compatible Zigbee
|
||||
* Compatible Home Assistant
|
||||
* Compatible Android et iOS
|
||||
* Fonctionnement sur piles
|
||||
* Accessible aux makers débutants
|
||||
* Réutilisation maximale du matériel existant
|
||||
The firmware is based on **Zephyr RTOS** and follows a modular architecture to simplify maintenance and future extensions.
|
||||
|
||||
---
|
||||
|
||||
# Phase 0 - Initialisation du projet
|
||||
# Project Goals
|
||||
|
||||
## Objectifs
|
||||
|
||||
* Création du dépôt Git
|
||||
* Définition de l'architecture
|
||||
* Définition des conventions de développement
|
||||
* Mise en place de la documentation
|
||||
|
||||
## Livrables
|
||||
|
||||
* README.md
|
||||
* ROADMAP.md
|
||||
* LICENSE
|
||||
* TODO.md
|
||||
|
||||
## État
|
||||
|
||||
* [ ] Initialisation du projet
|
||||
- No cloud dependency
|
||||
- No subscription
|
||||
- Local-first operation
|
||||
- Battery powered
|
||||
- NFC support
|
||||
- Bluetooth support
|
||||
- Zigbee support
|
||||
- Home Assistant compatibility
|
||||
- Android and iOS application
|
||||
- Beginner-friendly hardware
|
||||
- Maximum reuse of existing hardware
|
||||
- Fully documented hardware and firmware
|
||||
- Fully open-source
|
||||
|
||||
---
|
||||
|
||||
# Phase 1 - Analyse matérielle
|
||||
# Current Progress
|
||||
|
||||
## Objectifs
|
||||
|
||||
Documenter le matériel réutilisable de la Boks One.
|
||||
|
||||
## Éléments à analyser
|
||||
|
||||
### Façade
|
||||
|
||||
* Dimensions
|
||||
* Position des boutons
|
||||
* Position des LEDs
|
||||
* Position de la zone NFC
|
||||
* Position des fixations
|
||||
|
||||
### Boîtier
|
||||
|
||||
* Dimensions internes
|
||||
* Compartiment électronique
|
||||
* Compartiment piles
|
||||
|
||||
### Mécanique
|
||||
|
||||
* Serrure
|
||||
* Capteur de fermeture
|
||||
* Passage des câbles
|
||||
|
||||
## Livrables
|
||||
|
||||
* Plans cotés
|
||||
* Documentation photographique
|
||||
* Relevés mécaniques
|
||||
|
||||
## État
|
||||
|
||||
* [ ] Analyse matérielle
|
||||
| Phase | Status |
|
||||
| -------------------------- | :----: |
|
||||
| Project initialization | ✅ |
|
||||
| Documentation structure | ✅ |
|
||||
| Development environment | ✅ |
|
||||
| Firmware architecture | ✅ |
|
||||
| RGB LED driver | ✅ |
|
||||
| GPIO Expander driver | ✅ |
|
||||
| Matrix keypad driver | ✅ |
|
||||
| Lock driver | ⏳ |
|
||||
| Battery driver | ⏳ |
|
||||
| NFC driver | ⏳ |
|
||||
| Buzzer driver | ⏳ |
|
||||
| Power management | ⏳ |
|
||||
| Bluetooth configuration | ⏳ |
|
||||
| Zigbee integration | ⏳ |
|
||||
| Home Assistant integration | ⏳ |
|
||||
| PCB V1 | ⏳ |
|
||||
|
||||
---
|
||||
|
||||
# Phase 2 - Analyse électrique
|
||||
# Phase 0 - Project Foundation
|
||||
|
||||
## Objectifs
|
||||
## Objectives
|
||||
|
||||
Identifier les caractéristiques électriques des composants conservés.
|
||||
- Create Git repository
|
||||
- Define project architecture
|
||||
- Define coding conventions
|
||||
- Define documentation structure
|
||||
- Configure Zephyr development environment
|
||||
|
||||
## Mesures
|
||||
## Deliverables
|
||||
|
||||
### Alimentation
|
||||
- README.md
|
||||
- ROADMAP.md
|
||||
- TODO.md
|
||||
- LICENSE
|
||||
- CONTRIBUTING.md
|
||||
- Documentation structure
|
||||
|
||||
* Tension du pack piles
|
||||
* Consommation en veille
|
||||
* Consommation moteur
|
||||
## Status
|
||||
|
||||
### Serrure
|
||||
|
||||
* Tension moteur
|
||||
* Courant nominal
|
||||
* Courant de démarrage
|
||||
|
||||
### Capteur
|
||||
|
||||
* Type
|
||||
* Fonctionnement
|
||||
|
||||
### Signalisation
|
||||
|
||||
* LEDs
|
||||
* Buzzer
|
||||
|
||||
## Livrables
|
||||
|
||||
* Documentation électrique
|
||||
* Tableau des caractéristiques
|
||||
|
||||
## État
|
||||
|
||||
* [ ] Analyse électrique
|
||||
- [x] Completed
|
||||
|
||||
---
|
||||
|
||||
# Phase 3 - Prototype électronique
|
||||
# Phase 1 - Reverse Engineering
|
||||
|
||||
## Objectifs
|
||||
## Objectives
|
||||
|
||||
Valider la compatibilité du matériel avec un XIAO nRF52840.
|
||||
Document every reusable component of the original Boks One hardware.
|
||||
|
||||
## Matériel
|
||||
## Hardware
|
||||
|
||||
* Seeed Studio XIAO BLE nRF52840
|
||||
* Driver moteur
|
||||
* Alimentation de laboratoire
|
||||
### Enclosure
|
||||
|
||||
## Fonctionnalités
|
||||
- External dimensions
|
||||
- Internal dimensions
|
||||
- Battery compartment
|
||||
- Electronic compartment
|
||||
|
||||
* Pilotage moteur
|
||||
* Lecture capteur
|
||||
* Pilotage LEDs
|
||||
* Pilotage buzzer
|
||||
### Front Panel
|
||||
|
||||
- Keypad layout
|
||||
- LED locations
|
||||
- NFC area
|
||||
- Mechanical fixation
|
||||
|
||||
### Lock
|
||||
|
||||
- Mechanical operation
|
||||
- Motor characteristics
|
||||
- Position sensor
|
||||
|
||||
### Electronics
|
||||
|
||||
- Connectors
|
||||
- Wiring
|
||||
- PCB analysis
|
||||
|
||||
## Deliverables
|
||||
|
||||
- Mechanical drawings
|
||||
- Reverse engineering documentation
|
||||
- Electrical documentation
|
||||
|
||||
## Status
|
||||
|
||||
- [ ] In progress
|
||||
|
||||
---
|
||||
|
||||
# Phase 2 - Development Platform
|
||||
|
||||
## Objectives
|
||||
|
||||
Validate the development hardware.
|
||||
|
||||
## Hardware
|
||||
|
||||
- Seeed Studio XIAO BLE nRF52840
|
||||
- Development keypad
|
||||
- PCF8574 GPIO expander
|
||||
|
||||
## Firmware
|
||||
|
||||
- Zephyr RTOS
|
||||
- West
|
||||
- CMake
|
||||
- VSCodium
|
||||
|
||||
## Drivers
|
||||
|
||||
- RGB LED
|
||||
- GPIO Expander
|
||||
- Matrix Keypad
|
||||
|
||||
## Status
|
||||
|
||||
- [x] Completed
|
||||
|
||||
---
|
||||
|
||||
# Phase 3 - Hardware Validation
|
||||
|
||||
## Objectives
|
||||
|
||||
Validate every reusable hardware component.
|
||||
|
||||
## Components
|
||||
|
||||
- Lock
|
||||
- Door sensor
|
||||
- Battery monitoring
|
||||
- NFC reader
|
||||
- Buzzer
|
||||
|
||||
## Validation
|
||||
|
||||
Ouverture et fermeture de la serrure sans électronique Boks.
|
||||
Each component must be individually tested before integration.
|
||||
|
||||
## État
|
||||
## Status
|
||||
|
||||
* [ ] Prototype électronique
|
||||
- [ ] In progress
|
||||
|
||||
---
|
||||
|
||||
# Phase 4 - Firmware Core
|
||||
|
||||
## Objectifs
|
||||
## Objectives
|
||||
|
||||
Créer le firmware minimal autonome.
|
||||
Create the autonomous firmware.
|
||||
|
||||
## Fonctionnalités
|
||||
## Components
|
||||
|
||||
* Gestion clavier
|
||||
* Gestion serrure
|
||||
* Gestion capteur
|
||||
* Gestion batterie
|
||||
* Anti-bruteforce
|
||||
* Timeout de saisie
|
||||
- System initialization
|
||||
- GPIO Expander
|
||||
- Keypad
|
||||
- Lock
|
||||
- Door sensor
|
||||
- Battery
|
||||
- Buzzer
|
||||
- NFC
|
||||
|
||||
## Security
|
||||
|
||||
- Administrator PIN
|
||||
- PIN timeout
|
||||
- Anti brute-force
|
||||
- Configuration storage
|
||||
|
||||
## Validation
|
||||
|
||||
Ouverture avec un code administrateur unique.
|
||||
Standalone operation without any external system.
|
||||
|
||||
## État
|
||||
## Status
|
||||
|
||||
- [ ] In progress
|
||||
|
||||
* [ ] Firmware Core
|
||||
---
|
||||
|
||||
# Phase 5 - NFC
|
||||
# Phase 5 - Power Management
|
||||
|
||||
## Objectifs
|
||||
## Objectives
|
||||
|
||||
Ajouter l'ouverture par badge NFC.
|
||||
Optimize battery life.
|
||||
|
||||
## Fonctionnalités
|
||||
## Features
|
||||
|
||||
* Lecture des badges
|
||||
* Badge administrateur unique
|
||||
* Activation NFC sur appui touche
|
||||
* Fenêtre de lecture limitée dans le temps
|
||||
- Deep Sleep
|
||||
- Wake-up on keypad
|
||||
- Wake-up on NFC
|
||||
- Battery monitoring
|
||||
- Low battery warning
|
||||
|
||||
## Validation
|
||||
|
||||
Ouverture par badge NFC.
|
||||
Daily usage with long battery life.
|
||||
|
||||
## État
|
||||
## Status
|
||||
|
||||
* [ ] Fonctionnalités de base
|
||||
- [ ] Planned
|
||||
|
||||
---
|
||||
|
||||
# Phase 6 - Optimisation énergétique
|
||||
# Phase 6 - Bluetooth
|
||||
|
||||
## Objectifs
|
||||
## Objectives
|
||||
|
||||
Maximiser l'autonomie sur piles.
|
||||
Provide local configuration through Bluetooth.
|
||||
|
||||
## Fonctionnalités
|
||||
## Features
|
||||
|
||||
* Deep Sleep
|
||||
* Réveil sur touche
|
||||
* Réveil NFC
|
||||
* Mesure batterie
|
||||
- Initial pairing
|
||||
- Administrator PIN configuration
|
||||
- NFC enrollment
|
||||
- Device information
|
||||
- Firmware information
|
||||
|
||||
## Validation
|
||||
|
||||
Autonomie compatible avec un usage quotidien.
|
||||
Complete local configuration without Home Assistant.
|
||||
|
||||
## État
|
||||
## Status
|
||||
|
||||
* [ ] Optimisation énergétique
|
||||
- [ ] Planned
|
||||
|
||||
---
|
||||
|
||||
# MVP - OpenParcelBox autonome
|
||||
# MVP - Standalone OpenParcelBox
|
||||
|
||||
## Fonctionnalités attendues
|
||||
## Required Features
|
||||
|
||||
* [ ] XIAO nRF52840
|
||||
* [ ] Fonctionnement sur piles
|
||||
* [ ] Gestion serrure
|
||||
* [ ] Gestion capteur
|
||||
* [ ] Gestion batterie
|
||||
* [ ] Code administrateur
|
||||
* [ ] Badge NFC administrateur
|
||||
* [ ] Fonctionnement 100 % local
|
||||
* [ ] Aucun cloud
|
||||
* [ ] Aucun abonnement
|
||||
* [ ] Aucun compte externe
|
||||
- [ ] Standalone firmware
|
||||
- [ ] Battery powered
|
||||
- [ ] Keypad
|
||||
- [ ] Lock
|
||||
- [ ] Door sensor
|
||||
- [ ] Battery monitoring
|
||||
- [ ] Administrator PIN
|
||||
- [ ] Administrator NFC badge
|
||||
- [ ] Bluetooth configuration
|
||||
- [ ] No cloud
|
||||
- [ ] No subscription
|
||||
|
||||
Une fois cette étape atteinte, une Boks One devient totalement indépendante de son infrastructure d'origine.
|
||||
At this stage, the original proprietary electronics are no longer required.
|
||||
|
||||
---
|
||||
|
||||
# Phase 7 - Application Flutter
|
||||
# Phase 7 - Flutter Application
|
||||
|
||||
## Objectifs
|
||||
## Platforms
|
||||
|
||||
Créer l'interface utilisateur officielle.
|
||||
- Android
|
||||
- iOS
|
||||
|
||||
## Plateformes
|
||||
## Features
|
||||
|
||||
* Android
|
||||
* iOS
|
||||
- Bluetooth connection
|
||||
- Device configuration
|
||||
- Administrator management
|
||||
- Device status
|
||||
- Firmware update
|
||||
|
||||
## Fonctionnalités
|
||||
## Status
|
||||
|
||||
* Connexion Bluetooth
|
||||
* Configuration initiale
|
||||
* Changement du code administrateur
|
||||
* Enregistrement du badge administrateur
|
||||
* Consultation de l'état de la boîte
|
||||
|
||||
## Validation
|
||||
|
||||
Configuration complète sans Home Assistant.
|
||||
|
||||
## État
|
||||
|
||||
* [ ] App flutter - Bluetooth
|
||||
- [ ] Planned
|
||||
|
||||
---
|
||||
|
||||
# Phase 8 - Gestion des utilisateurs
|
||||
# Phase 8 - User Management
|
||||
|
||||
## Objectifs
|
||||
## Objectives
|
||||
|
||||
Permettre la gestion de plusieurs utilisateurs.
|
||||
Support multiple users.
|
||||
|
||||
## Fonctionnalités
|
||||
## Features
|
||||
|
||||
* Création utilisateur
|
||||
* Modification utilisateur
|
||||
* Suppression utilisateur
|
||||
* Codes permanents
|
||||
* Badges NFC permanents
|
||||
- User creation
|
||||
- User deletion
|
||||
- Permanent PINs
|
||||
- Permanent NFC badges
|
||||
- User permissions
|
||||
|
||||
## Validation
|
||||
## Status
|
||||
|
||||
Gestion multi-utilisateurs depuis l'application.
|
||||
|
||||
## État
|
||||
|
||||
* [ ] App flutter - Utilisateurs
|
||||
- [ ] Planned
|
||||
|
||||
---
|
||||
|
||||
# Phase 9 - Historique local
|
||||
# Phase 9 - Local Event History
|
||||
|
||||
## Objectifs
|
||||
## Objectives
|
||||
|
||||
Conserver les événements dans la mémoire interne.
|
||||
Store important events locally.
|
||||
|
||||
## Événements
|
||||
## Events
|
||||
|
||||
* Ouverture par code
|
||||
* Ouverture NFC
|
||||
* Tentative invalide
|
||||
* Batterie faible
|
||||
- PIN unlock
|
||||
- NFC unlock
|
||||
- Invalid PIN
|
||||
- Invalid badge
|
||||
- Low battery
|
||||
- Door opened
|
||||
- Door closed
|
||||
|
||||
## Validation
|
||||
## Status
|
||||
|
||||
Consultation de l'historique depuis l'application.
|
||||
|
||||
## État
|
||||
|
||||
* [ ] App flutter - Historique
|
||||
- [ ] Planned
|
||||
|
||||
---
|
||||
|
||||
# Produit autonome complet
|
||||
# Standalone Product
|
||||
|
||||
## Fonctionnalités attendues
|
||||
## Features
|
||||
|
||||
* [ ] Gestion multi-utilisateurs
|
||||
* [ ] Gestion NFC
|
||||
* [ ] Historique local
|
||||
* [ ] Configuration Bluetooth
|
||||
* [ ] Fonctionnement sans Home Assistant
|
||||
- Multi-user support
|
||||
- NFC
|
||||
- Bluetooth
|
||||
- Local history
|
||||
- Complete local administration
|
||||
|
||||
---
|
||||
|
||||
# Phase 10 - Zigbee
|
||||
|
||||
## Objectifs
|
||||
## Objectives
|
||||
|
||||
Ajouter la communication Zigbee.
|
||||
Add Zigbee connectivity.
|
||||
|
||||
## Fonctionnalités
|
||||
## Features
|
||||
|
||||
* État serrure
|
||||
* État porte
|
||||
* Niveau batterie
|
||||
* Remontée d'événements
|
||||
- Lock state
|
||||
- Door state
|
||||
- Battery level
|
||||
- Event reporting
|
||||
|
||||
## Validation
|
||||
## Compatibility
|
||||
|
||||
Appairage Zigbee fonctionnel.
|
||||
- Zigbee Home Automation
|
||||
- Zigbee2MQTT
|
||||
|
||||
## État
|
||||
## Status
|
||||
|
||||
* [ ] Zigbee - Remontée d'états
|
||||
- [ ] Planned
|
||||
|
||||
---
|
||||
|
||||
# Phase 11 - Home Assistant
|
||||
|
||||
## Objectifs
|
||||
## Objectives
|
||||
|
||||
Ajouter l'intégration Home Assistant.
|
||||
Native Home Assistant integration.
|
||||
|
||||
## Compatibilité
|
||||
## Compatibility
|
||||
|
||||
* ZHA
|
||||
* Zigbee2MQTT
|
||||
- ZHA
|
||||
- Zigbee2MQTT
|
||||
|
||||
## Fonctionnalités
|
||||
## Features
|
||||
|
||||
* État serrure
|
||||
* État porte
|
||||
* Batterie
|
||||
* Historique
|
||||
* Gestion utilisateurs
|
||||
- Lock control
|
||||
- Door state
|
||||
- Battery
|
||||
- Event history
|
||||
- User management
|
||||
- Configuration
|
||||
|
||||
## Validation
|
||||
## Status
|
||||
|
||||
Administration complète depuis Home Assistant.
|
||||
|
||||
## État
|
||||
|
||||
* [ ] Intégration Hassio - Remontée
|
||||
- [ ] Planned
|
||||
|
||||
---
|
||||
|
||||
```md
|
||||
# Phase 12 - Gestion des codes permanents
|
||||
# Phase 12 - Temporary Access
|
||||
|
||||
## Objectifs
|
||||
## Objectives
|
||||
|
||||
Permettre l'administration complète des utilisateurs depuis Home Assistant.
|
||||
Support temporary access credentials.
|
||||
|
||||
## Compatibilité
|
||||
## Features
|
||||
|
||||
* ZHA
|
||||
* Zigbee2MQTT
|
||||
- Expiration date
|
||||
- Expiration time
|
||||
- Usage counter
|
||||
- One-time PINs
|
||||
- Temporary NFC badges
|
||||
|
||||
## Fonctionnalités
|
||||
## Status
|
||||
|
||||
* Création d'utilisateurs
|
||||
* Modification d'utilisateurs
|
||||
* Suppression d'utilisateurs
|
||||
* Création de codes permanents
|
||||
* Suppression de codes permanents
|
||||
* Association de badges NFC
|
||||
* Suppression de badges NFC
|
||||
|
||||
## Validation
|
||||
|
||||
Administration complète des accès permanents depuis Home Assistant.
|
||||
|
||||
## État
|
||||
|
||||
* [ ] Intégration Hassio - Codes permanents
|
||||
- [ ] Planned
|
||||
|
||||
---
|
||||
|
||||
# Phase 13 - Codes temporaires
|
||||
# Phase 13 - OpenParcelBox PCB
|
||||
|
||||
## Objectifs
|
||||
## Objectives
|
||||
|
||||
Ajouter les accès temporaires.
|
||||
Design a dedicated PCB.
|
||||
|
||||
## Fonctionnalités
|
||||
## Requirements
|
||||
|
||||
* Expiration par date
|
||||
* Expiration par heure
|
||||
* Nombre maximal d'utilisations
|
||||
* Codes à usage unique
|
||||
- Based on XIAO nRF52840
|
||||
- Easy to assemble
|
||||
- Beginner friendly
|
||||
- Low power consumption
|
||||
|
||||
## Validation
|
||||
|
||||
Gestion complète depuis Home Assistant et l'application.
|
||||
Fully reproducible assembly.
|
||||
|
||||
## État
|
||||
## Status
|
||||
|
||||
* [ ] Intégration Hassio - Codes temporaires
|
||||
- [ ] Planned
|
||||
|
||||
---
|
||||
|
||||
# Phase 14 - PCB OpenParcelBox
|
||||
# Phase 14 - Field Validation
|
||||
|
||||
## Objectifs
|
||||
## Objectives
|
||||
|
||||
Créer un PCB dédié simple à assembler.
|
||||
Validate the complete system.
|
||||
|
||||
## Contraintes
|
||||
## Tests
|
||||
|
||||
* Basé sur XIAO nRF52840
|
||||
* Composants traversants privilégiés
|
||||
* Accessible aux makers débutants
|
||||
- Long-term reliability
|
||||
- Battery autonomy
|
||||
- Environmental testing
|
||||
- Hundreds of lock cycles
|
||||
- Zigbee stability
|
||||
- Bluetooth stability
|
||||
- Recovery after power loss
|
||||
|
||||
## Validation
|
||||
## Status
|
||||
|
||||
Montage reproductible sans équipement professionnel.
|
||||
|
||||
## État
|
||||
|
||||
* [ ] PCB OpenParcelBox
|
||||
- [ ] Planned
|
||||
|
||||
---
|
||||
|
||||
# Phase 15 - Documentation finale
|
||||
# Phase 15 - Documentation
|
||||
|
||||
## Documentation utilisateur
|
||||
## User Documentation
|
||||
|
||||
* Installation
|
||||
* Configuration
|
||||
* Dépannage
|
||||
- Installation
|
||||
- Configuration
|
||||
- Troubleshooting
|
||||
|
||||
## Documentation maker
|
||||
## Maker Documentation
|
||||
|
||||
* Assemblage
|
||||
* Flash firmware
|
||||
* Mise à jour
|
||||
- Assembly
|
||||
- Flashing
|
||||
- PCB
|
||||
- Hardware
|
||||
|
||||
## Documentation développeur
|
||||
## Developer Documentation
|
||||
|
||||
* Architecture
|
||||
* API
|
||||
* Contributions
|
||||
- Firmware architecture
|
||||
- Hardware architecture
|
||||
- APIs
|
||||
- Coding conventions
|
||||
- Contribution guide
|
||||
|
||||
## Validation
|
||||
## Status
|
||||
|
||||
Publication officielle de la version 1.0.
|
||||
|
||||
## État
|
||||
|
||||
* [ ] Documentation
|
||||
- [ ] Planned
|
||||
|
||||
---
|
||||
|
||||
# Version 1.0
|
||||
|
||||
## Fonctionnalités finales
|
||||
## Expected Features
|
||||
|
||||
* Fonctionnement autonome
|
||||
* NFC
|
||||
* Bluetooth
|
||||
* Application Android/iOS
|
||||
* Zigbee
|
||||
* Home Assistant
|
||||
* Historique
|
||||
* Codes permanents
|
||||
* Codes temporaires
|
||||
* Aucun cloud
|
||||
* Aucun abonnement
|
||||
* Aucun compte externe
|
||||
```
|
||||
- Standalone firmware
|
||||
- Battery powered
|
||||
- Bluetooth
|
||||
- NFC
|
||||
- Zigbee
|
||||
- Home Assistant
|
||||
- Flutter application
|
||||
- Local history
|
||||
- Permanent users
|
||||
- Temporary users
|
||||
- No cloud
|
||||
- No subscription
|
||||
- Fully open-source
|
||||
@@ -1,169 +1,370 @@
|
||||
# TODO OpenParcelBox
|
||||
# TODO - OpenParcelBox
|
||||
|
||||
## Phase 0 — Reverse Engineering
|
||||
This document tracks the remaining work required to reach the first stable release of OpenParcelBox.
|
||||
|
||||
### Documentation
|
||||
|
||||
* [ ] Photographier tous les composants internes.
|
||||
* [ ] Documenter les mesures électriques.
|
||||
* [ ] Identifier tous les connecteurs.
|
||||
* [ ] Compléter hardware-reverse-engineering.md.
|
||||
|
||||
### Clavier
|
||||
|
||||
* [ ] Identifier le brochage complet.
|
||||
* [ ] Identifier la matrice.
|
||||
* [ ] Vérifier la présence éventuelle de diodes.
|
||||
|
||||
### Verrou
|
||||
|
||||
* [ ] Identifier le mécanisme utilisé.
|
||||
* [ ] Mesurer la tension de fonctionnement.
|
||||
* [ ] Mesurer le courant d'ouverture.
|
||||
* [ ] Mesurer le courant de maintien.
|
||||
|
||||
### Capteur
|
||||
|
||||
* [ ] Identifier la technologie utilisée.
|
||||
* [ ] Identifier le brochage.
|
||||
* [ ] Vérifier le comportement électrique.
|
||||
|
||||
### Batterie
|
||||
|
||||
* [ ] Identifier la technologie.
|
||||
* [ ] Identifier la capacité.
|
||||
* [ ] Mesurer la tension nominale.
|
||||
* [ ] Identifier le système de recharge.
|
||||
Tasks are grouped by development phase and updated throughout the project.
|
||||
|
||||
---
|
||||
|
||||
## Phase 1 — Validation matérielle
|
||||
# Phase 0 - Project Foundation
|
||||
|
||||
### Prototype
|
||||
## Repository
|
||||
|
||||
* [ ] Vérifier la compatibilité du XIAO nRF52840.
|
||||
* [ ] Tester le clavier.
|
||||
* [ ] Tester le verrou.
|
||||
* [ ] Tester le capteur.
|
||||
* [ ] Tester la mesure batterie.
|
||||
- [x] Create Git repository
|
||||
- [x] Create project structure
|
||||
- [x] Configure Git
|
||||
- [x] Create README
|
||||
- [x] Create ROADMAP
|
||||
- [x] Create TODO
|
||||
- [x] Add LICENSE
|
||||
- [x] Add CONTRIBUTING
|
||||
|
||||
### Zigbee
|
||||
## Documentation
|
||||
|
||||
* [ ] Valider la pile Zigbee sous Zephyr.
|
||||
* [ ] Tester l'intégration Home Assistant.
|
||||
* [ ] Tester ZHA.
|
||||
* [ ] Tester Zigbee2MQTT.
|
||||
- [x] Create documentation tree
|
||||
- [x] Create firmware documentation
|
||||
- [ ] Create hardware documentation
|
||||
- [ ] Create development documentation
|
||||
- [ ] Create protocol documentation
|
||||
|
||||
## Development Environment
|
||||
|
||||
- [x] Configure Zephyr
|
||||
- [x] Configure West
|
||||
- [x] Configure CMake
|
||||
- [x] Configure VSCodium
|
||||
- [x] Configure formatting conventions
|
||||
- [x] Define firmware architecture
|
||||
|
||||
---
|
||||
|
||||
## Phase 2 — Firmware minimal
|
||||
# Phase 1 - Reverse Engineering
|
||||
|
||||
### Infrastructure
|
||||
## Mechanical
|
||||
|
||||
* [ ] Initialiser le projet Zephyr.
|
||||
* [ ] Configurer west.
|
||||
* [ ] Configurer CMake.
|
||||
* [ ] Configurer la chaîne de compilation.
|
||||
- [ ] Measure enclosure
|
||||
- [ ] Measure internal space
|
||||
- [ ] Measure mounting points
|
||||
- [ ] Measure keypad
|
||||
- [ ] Measure NFC area
|
||||
|
||||
### Core
|
||||
## Lock
|
||||
|
||||
* [ ] Créer la structure des modules.
|
||||
* [ ] Mettre en place la journalisation.
|
||||
- [ ] Validate lock mechanism
|
||||
- [ ] Validate motor characteristics
|
||||
- [ ] Validate limit switch
|
||||
|
||||
### Keypad
|
||||
## Electronics
|
||||
|
||||
* [ ] Lecture de la matrice.
|
||||
* [ ] Anti-rebond.
|
||||
* [ ] Validation des touches.
|
||||
|
||||
### Lock Controller
|
||||
|
||||
* [ ] Pilotage du verrou.
|
||||
* [ ] Détection des erreurs.
|
||||
* [ ] Détection du verrouillage.
|
||||
|
||||
### Sensor Manager
|
||||
|
||||
* [ ] Lecture du capteur.
|
||||
* [ ] Gestion des événements.
|
||||
|
||||
### Power Management
|
||||
|
||||
* [ ] Surveillance batterie.
|
||||
* [ ] Modes basse consommation.
|
||||
- [ ] Identify every connector
|
||||
- [ ] Document PCB
|
||||
- [ ] Document wiring
|
||||
- [ ] Document LEDs
|
||||
- [ ] Document buzzer
|
||||
|
||||
---
|
||||
|
||||
## Phase 3 — Fonctionnalités utilisateur
|
||||
# Phase 2 - Development Platform
|
||||
|
||||
### Contrôle d'accès
|
||||
## Firmware Infrastructure
|
||||
|
||||
* [ ] Codes administrateur.
|
||||
* [ ] Codes permanents.
|
||||
* [ ] Codes temporaires.
|
||||
* [ ] Protection anti-bruteforce.
|
||||
- [x] RGB LED driver
|
||||
- [x] GPIO Expander driver
|
||||
- [x] Matrix Keypad driver
|
||||
- [ ] Lock driver
|
||||
- [ ] Door sensor driver
|
||||
- [ ] Battery driver
|
||||
- [ ] NFC driver
|
||||
- [ ] Buzzer driver
|
||||
|
||||
### Zigbee
|
||||
## Documentation
|
||||
|
||||
* [ ] Publication des états.
|
||||
* [ ] Réception des commandes.
|
||||
* [ ] Exposition des entités Home Assistant.
|
||||
|
||||
### OTA
|
||||
|
||||
* [ ] Mise à jour sécurisée.
|
||||
* [ ] Vérification d'intégrité.
|
||||
* [ ] Gestion des erreurs.
|
||||
- [x] keypad.md
|
||||
- [x] gpio_expander.md
|
||||
- [ ] led.md
|
||||
- [ ] lock.md
|
||||
- [ ] battery.md
|
||||
- [ ] nfc.md
|
||||
- [ ] buzzer.md
|
||||
- [ ] debug.md
|
||||
|
||||
---
|
||||
|
||||
## Phase 4 — PCB V1
|
||||
# Phase 3 - Hardware Validation
|
||||
|
||||
### Conception
|
||||
## Lock
|
||||
|
||||
* [ ] Schéma complet.
|
||||
* [ ] Vérification ERC.
|
||||
* [ ] Routage PCB.
|
||||
* [ ] Vérification DRC.
|
||||
- [ ] Drive motor
|
||||
- [ ] Validate opening pulse
|
||||
- [ ] Validate opening detection
|
||||
- [ ] Validate timeout
|
||||
- [ ] Validate error handling
|
||||
|
||||
### Validation
|
||||
## Door Sensor
|
||||
|
||||
* [ ] Assemblage prototype.
|
||||
* [ ] Validation électrique.
|
||||
* [ ] Validation mécanique.
|
||||
- [ ] Read sensor
|
||||
- [ ] Validate state changes
|
||||
- [ ] Validate debounce
|
||||
|
||||
## Battery
|
||||
|
||||
- [ ] Read voltage
|
||||
- [ ] Low battery detection
|
||||
- [ ] Battery calibration
|
||||
|
||||
## NFC
|
||||
|
||||
- [ ] Initialize reader
|
||||
- [ ] Read UID
|
||||
- [ ] Detect badge removal
|
||||
|
||||
## Buzzer
|
||||
|
||||
- [ ] Single beep
|
||||
- [ ] Double beep
|
||||
- [ ] Error beep
|
||||
- [ ] Success beep
|
||||
|
||||
---
|
||||
|
||||
## Phase 4.5 — Validation terrain
|
||||
# Phase 4 - Firmware Core
|
||||
|
||||
### Fiabilité
|
||||
## Initialization
|
||||
|
||||
* [ ] Validation autonomie batterie.
|
||||
* [ ] Validation portée Zigbee.
|
||||
* [ ] Validation ouverture/fermeture répétée.
|
||||
* [ ] Validation comportement après redémarrage.
|
||||
* [ ] Validation après batterie faible.
|
||||
- [ ] System startup
|
||||
- [ ] Peripheral initialization
|
||||
- [ ] Error handling
|
||||
|
||||
### Home Assistant
|
||||
## Access Control
|
||||
|
||||
* [ ] Validation ZHA.
|
||||
* [ ] Validation Zigbee2MQTT.
|
||||
* [ ] Validation découverte automatique.
|
||||
* [ ] Validation des mises à jour OTA.
|
||||
- [ ] Administrator PIN
|
||||
- [ ] PIN verification
|
||||
- [ ] PIN timeout
|
||||
- [ ] Anti brute-force
|
||||
- [ ] Lock sequence
|
||||
- [ ] Door state validation
|
||||
|
||||
## Configuration
|
||||
|
||||
- [ ] Persistent storage
|
||||
- [ ] Factory reset
|
||||
- [ ] Version information
|
||||
|
||||
---
|
||||
|
||||
## Phase 5 — Publication
|
||||
# Phase 5 - Power Management
|
||||
|
||||
### Documentation
|
||||
## Battery
|
||||
|
||||
* [ ] Guide d'installation.
|
||||
* [ ] Guide Home Assistant.
|
||||
* [ ] Guide développeur.
|
||||
- [ ] Battery monitoring
|
||||
- [ ] Battery warnings
|
||||
|
||||
### Publication
|
||||
## Low Power
|
||||
|
||||
* [ ] Publication du firmware.
|
||||
* [ ] Publication des schémas.
|
||||
* [ ] Publication des fichiers PCB.
|
||||
* [ ] Création de la release V1.
|
||||
- [ ] Sleep mode
|
||||
- [ ] Wake on keypad
|
||||
- [ ] Wake on NFC
|
||||
|
||||
## Validation
|
||||
|
||||
- [ ] Measure sleep current
|
||||
- [ ] Measure battery life
|
||||
|
||||
---
|
||||
|
||||
# MVP - Standalone Firmware
|
||||
|
||||
## Firmware
|
||||
|
||||
- [ ] Complete firmware startup
|
||||
- [ ] Lock opening
|
||||
- [ ] Door detection
|
||||
- [ ] Battery monitoring
|
||||
- [ ] Administrator PIN
|
||||
- [ ] Administrator NFC badge
|
||||
- [ ] Audible feedback
|
||||
|
||||
## Hardware
|
||||
|
||||
- [ ] Standalone operation
|
||||
- [ ] Battery powered
|
||||
- [ ] No cloud
|
||||
- [ ] No subscription
|
||||
|
||||
---
|
||||
|
||||
# Phase 6 - Bluetooth
|
||||
|
||||
## Communication
|
||||
|
||||
- [ ] BLE initialization
|
||||
- [ ] Pairing
|
||||
- [ ] Secure connection
|
||||
|
||||
## Configuration
|
||||
|
||||
- [ ] Administrator PIN
|
||||
- [ ] Administrator badge
|
||||
- [ ] Device information
|
||||
|
||||
---
|
||||
|
||||
# Phase 7 - Flutter Application
|
||||
|
||||
## Mobile
|
||||
|
||||
- [ ] Android
|
||||
- [ ] iOS
|
||||
|
||||
## Features
|
||||
|
||||
- [ ] Device discovery
|
||||
- [ ] Bluetooth pairing
|
||||
- [ ] Device configuration
|
||||
- [ ] Firmware information
|
||||
|
||||
---
|
||||
|
||||
# Phase 8 - User Management
|
||||
|
||||
## Users
|
||||
|
||||
- [ ] Create user
|
||||
- [ ] Edit user
|
||||
- [ ] Delete user
|
||||
|
||||
## Credentials
|
||||
|
||||
- [ ] Permanent PIN
|
||||
- [ ] Permanent NFC badge
|
||||
|
||||
---
|
||||
|
||||
# Phase 9 - Local History
|
||||
|
||||
## Events
|
||||
|
||||
- [ ] PIN unlock
|
||||
- [ ] NFC unlock
|
||||
- [ ] Invalid PIN
|
||||
- [ ] Invalid badge
|
||||
- [ ] Door opened
|
||||
- [ ] Door closed
|
||||
- [ ] Low battery
|
||||
|
||||
---
|
||||
|
||||
# Phase 10 - Zigbee
|
||||
|
||||
## Connectivity
|
||||
|
||||
- [ ] Zigbee stack
|
||||
- [ ] Network join
|
||||
- [ ] Device discovery
|
||||
|
||||
## Entities
|
||||
|
||||
- [ ] Lock
|
||||
- [ ] Door
|
||||
- [ ] Battery
|
||||
- [ ] Events
|
||||
|
||||
---
|
||||
|
||||
# Phase 11 - Home Assistant
|
||||
|
||||
## Compatibility
|
||||
|
||||
- [ ] ZHA
|
||||
- [ ] Zigbee2MQTT
|
||||
|
||||
## Features
|
||||
|
||||
- [ ] Lock control
|
||||
- [ ] Door state
|
||||
- [ ] Battery level
|
||||
- [ ] Event reporting
|
||||
- [ ] User management
|
||||
|
||||
---
|
||||
|
||||
# Phase 12 - Temporary Access
|
||||
|
||||
## Access Management
|
||||
|
||||
- [ ] Temporary PIN
|
||||
- [ ] Temporary NFC badge
|
||||
- [ ] Expiration date
|
||||
- [ ] Usage counter
|
||||
- [ ] One-time credentials
|
||||
|
||||
---
|
||||
|
||||
# Phase 13 - PCB
|
||||
|
||||
## Design
|
||||
|
||||
- [ ] Schematic
|
||||
- [ ] ERC validation
|
||||
- [ ] PCB routing
|
||||
- [ ] DRC validation
|
||||
|
||||
## Prototype
|
||||
|
||||
- [ ] Assembly
|
||||
- [ ] Electrical validation
|
||||
- [ ] Mechanical validation
|
||||
|
||||
---
|
||||
|
||||
# Phase 14 - Field Validation
|
||||
|
||||
## Reliability
|
||||
|
||||
- [ ] Long-term testing
|
||||
- [ ] Battery endurance
|
||||
- [ ] Lock endurance
|
||||
- [ ] Recovery after reset
|
||||
|
||||
## Connectivity
|
||||
|
||||
- [ ] Bluetooth validation
|
||||
- [ ] Zigbee validation
|
||||
- [ ] Home Assistant validation
|
||||
|
||||
---
|
||||
|
||||
# Phase 15 - Documentation
|
||||
|
||||
## User
|
||||
|
||||
- [ ] Installation guide
|
||||
- [ ] Configuration guide
|
||||
- [ ] Troubleshooting guide
|
||||
|
||||
## Maker
|
||||
|
||||
- [ ] Hardware assembly
|
||||
- [ ] Firmware flashing
|
||||
- [ ] PCB assembly
|
||||
|
||||
## Developer
|
||||
|
||||
- [ ] Firmware architecture
|
||||
- [ ] Hardware architecture
|
||||
- [ ] API reference
|
||||
- [ ] Coding conventions
|
||||
|
||||
---
|
||||
|
||||
# Version 1.0
|
||||
|
||||
## Release Checklist
|
||||
|
||||
- [ ] Firmware complete
|
||||
- [ ] Flutter application complete
|
||||
- [ ] Zigbee complete
|
||||
- [ ] Home Assistant integration complete
|
||||
- [ ] PCB validated
|
||||
- [ ] Documentation complete
|
||||
- [ ] First public release
|
||||
Reference in New Issue
Block a user