build: initialize clean Zephyr 4.4.0 development environment

This commit is contained in:
2026-07-02 19:34:21 +02:00
parent c27201cde0
commit 5ed0412c67
12 changed files with 221 additions and 44 deletions
+5
View File
@@ -8,6 +8,11 @@
# ---------------------------- # ----------------------------
firmware/build/ firmware/build/
# ----------------------------
# CMake cache
# ----------------------------
__cmake_systeminformation/
# ---------------------------- # ----------------------------
# Python # Python
# ---------------------------- # ----------------------------
+10
View File
@@ -0,0 +1,10 @@
cmake_minimum_required(VERSION 3.20.0)
find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
project(OpenParcelBox)
target_sources(app PRIVATE
src/main.c
src/board.c
)
+10
View File
@@ -0,0 +1,10 @@
CONFIG_GPIO=y
CONFIG_I2C=y
CONFIG_PWM=y
CONFIG_SERIAL=y
CONFIG_CONSOLE=y
CONFIG_LOG=y
CONFIG_LOG_MODE_IMMEDIATE=y
CONFIG_LOG_DEFAULT_LEVEL=3
View File
View File
+119 -44
View File
@@ -1,6 +1,8 @@
# Bill Of Materials (BOM) # Bill Of Materials (BOM)
Cette nomenclature sera complétée progressivement au cours du reverse engineering et du développement matériel. Cette nomenclature regroupe l'ensemble des composants nécessaires à la réalisation d'OpenParcelBox.
Les éléments réutilisés de la Boks One sont distingués des nouveaux composants afin de faciliter le reverse engineering et la conception du PCB.
--- ---
@@ -14,39 +16,86 @@ Cette nomenclature sera complétée progressivement au cours du reverse engineer
# Éléments conservés de la Boks One # Éléments conservés de la Boks One
| Désignation | Quantité | Statut | | Désignation | Quantité | Statut |
| ------------------------- | -------- | -------------- | | -------------------------------- | ------------ | --------- |
| Clavier d'origine 2 × 6 | 1 | Conservé | | Façade | 1 | Conservée |
| Mécanisme de verrouillage | 1 | Conservé | | Mécanisme de verrouillage KR-S79 | 1 | Conservé |
| Batterie d'origine | 1 | À étudier | | Compartiment piles (8 × AAA) | 1 | Conservé |
| Capteur d'origine | 1 | À caractériser | | Connectique interne | Selon besoin | Conservée |
---
# Clavier
Le PCB d'origine est remplacé par un nouveau PCB compatible avec la façade d'origine.
| Désignation | Quantité | Statut |
| --------------------- | -------- | ----------- |
| Boutons poussoirs | 12 | Nouveau PCB |
| Matrice clavier 4 × 3 | 1 | Validée |
---
# NFC
Le contrôleur NFC est assuré par le nRF52840 intégré au Seeed Studio XIAO.
| Désignation | Quantité | Statut |
| -------------------------------------- | -------- | ----------- |
| Antenne NFC 13,56 MHz | 1 | À concevoir |
| Réseau d'accord NFC (Matching Network) | 1 | À concevoir |
---
# Commande de la serrure
L'ouverture de la serrure est réalisée par une impulsion de **+12 V** appliquée sur l'entrée **SIG**.
| Référence | Désignation | Quantité | Statut |
| -------------------------------------------------------------- | ------------------------ | --------- | -------------- |
| MOSFET P-Channel (Logic Level) ou circuit High-Side équivalent | Commande de l'entrée SIG | 1 | À sélectionner |
| Résistances de polarisation | Selon schéma | À définir |
---
# Signalisation
Les LEDs CMS du PCB d'origine ne sont pas réutilisables.
| Désignation | Quantité | Statut |
| ------------------ | -------- | -------------- |
| LED Rouge | 1 | À sélectionner |
| LED Verte | 1 | À sélectionner |
| LED Bleue | 1 | À sélectionner |
| Buzzer actif 3,3 V | 1 | Validé |
--- ---
# Alimentation # Alimentation
| Référence | Désignation | Quantité | Statut | | Référence | Désignation | Quantité | Statut |
| --------- | -------------------------- | -------- | --------- | | ---------------------------------------- | ------------------- | ----------- | -------------- |
| TBD | Circuit de mesure batterie | 1 | À définir | | Buck 12 V → 5 V | Convertisseur DC/DC | 1 | À sélectionner |
| TBD | Protection alimentation | 1 | À définir | | Circuit de mesure de la tension batterie | 1 | À concevoir |
| Protection d'alimentation | 1 | À définir |
--- ---
# Interface de programmation # Protection électrique
| Référence | Désignation | Quantité | Statut | | Référence | Désignation | Quantité | Statut |
| --------- | -------------- | -------- | --------- | | --------- | ----------------------------------------- | -------- | -------------- |
| TBD | Connecteur SWD | 1 | À définir | | TBD | Protection contre l'inversion de polarité | 1 | À sélectionner |
--- ---
# Connectique # Connectique
| Référence | Désignation | Quantité | Statut | | Référence | Désignation | Quantité | Statut |
| --------- | ------------------- | ------------ | --------- | | ------------------- | ----------- | --------- | ------ |
| TBD | Connecteur clavier | À identifier | À définir | | Connecteur clavier | 1 | À définir |
| TBD | Connecteur verrou | À identifier | À définir | | Connecteur serrure | 1 | À définir |
| TBD | Connecteur batterie | À identifier | À définir | | Connecteur batterie | 1 | À définir |
--- ---
@@ -58,38 +107,57 @@ Cette nomenclature sera complétée progressivement au cours du reverse engineer
--- ---
# Matériel de développement disponible # Contraintes matérielles
| Désignation | Statut | ## Alimentation
| ------------------------------ | ---------- |
| Seeed Studio XIAO BLE nRF52840 | Disponible | - Alimentation par **8 piles AAA** d'origine.
| Pied à coulisse | Disponible | - La serrure est alimentée directement par le pack de piles.
| Plaques PCB de prototypage | Disponible | - Le Seeed Studio XIAO est alimenté par un convertisseur **Buck 12 V → 5 V**.
- Une masse commune est utilisée pour l'ensemble du système.
## Serrure
- Alimentation : **8 piles AAA**.
- Ouverture par impulsion de **+12 V** sur l'entrée **SIG**.
- Validation de l'ouverture par le changement d'état du contact **COM/NC**.
- Aucune temporisation fixe n'est utilisée pour confirmer une ouverture.
## Clavier
- Matrice **4 × 3**.
- 12 touches.
- Disposition verticale **2 × 6**.
- Nouveau PCB compatible avec la façade d'origine.
## NFC
- Utilisation du contrôleur NFC intégré au **nRF52840**.
- Antenne NFC intégrée au PCB.
--- ---
# Informations à collecter lors du reverse engineering # Informations restant à déterminer
## Priorité haute ## Priorité haute
* Tension batterie. - Conception de l'antenne NFC.
* Type de batterie. - Sélection du composant de commande High-Side (MOSFET ou circuit dédié).
* Brochage du clavier. - Choix du convertisseur Buck.
* Brochage du capteur. - Choix des LEDs.
* Brochage du verrou. - Conception du circuit de mesure batterie.
* Courant consommé lors de l'ouverture.
## Priorité moyenne ## Priorité moyenne
* Consommation en veille. - Choix des connecteurs.
* Courant maximal. - Implantation du PCB.
* Type exact du capteur. - Protection ESD.
## Priorité basse ## Priorité basse
* Références détaillées des composants passifs. - Optimisation de la consommation.
* Compatibilité avec d'autres batteries. - Réduction du nombre de composants.
* Optimisations mécaniques éventuelles. - Compatibilité avec d'autres variantes matérielles.
--- ---
@@ -97,8 +165,15 @@ Cette nomenclature sera complétée progressivement au cours du reverse engineer
## V0 ## V0
* XIAO BLE nRF52840 retenu. - Seeed Studio XIAO BLE nRF52840 retenu.
* Clavier d'origine conservé. - Zephyr RTOS retenu.
* Mécanisme de verrouillage conservé. - Communication Zigbee retenue.
* Façade conservée sans modification. - Façade conservée sans modification.
* Communication Zigbee retenue pour la V1. - Mécanisme de verrouillage KR-S79 conservé.
- Compartiment piles 8 × AAA conservé.
- Validation de l'ouverture par le contact COM/NC.
- Commande de la serrure par impulsion de +12 V sur SIG.
- Clavier redéveloppé sous forme d'une matrice 4 × 3.
- Contrôleur NFC intégré au nRF52840 retenu.
- Buzzer actif retenu.
- Alimentation du XIAO via un convertisseur Buck 12 V → 5 V.
+5
View File
@@ -0,0 +1,5 @@
@echo off
call "%USERPROFILE%\Dev\.venv\Scripts\activate.bat"
west sdk install
+64
View File
@@ -0,0 +1,64 @@
@echo off
setlocal
echo ==========================================
echo OpenParcelBox - Zephyr Bootstrap
echo ==========================================
echo.
set DEV=%USERPROFILE%\Dev
set VENV=%DEV%\.venv
set ZEPHYR=%DEV%\zephyrproject
echo [1/8] Creation du dossier Dev...
if not exist "%DEV%" mkdir "%DEV%"
echo.
echo [2/8] Creation du Virtual Environment...
if not exist "%VENV%" (
python -m venv "%VENV%"
)
call "%VENV%\Scripts\activate.bat"
echo.
echo [3/8] Mise a jour de pip...
python -m pip install --upgrade pip
echo.
echo [4/8] Installation de west...
python -m pip install west
echo.
echo [5/8] Initialisation du workspace Zephyr...
if not exist "%ZEPHYR%" (
west init --mr v4.4.0 "%ZEPHYR%"
)
cd /d "%ZEPHYR%"
echo.
echo [6/8] Telechargement des modules...
west update
echo.
echo [7/8] Installation des dependances Python...
west packages pip --install
echo.
echo [8/8] Verification de la toolchain...
west zephyr-export
echo.
echo ==========================================
echo Bootstrap termine.
echo ==========================================
echo.
echo Compilation de verification...
west build -p always -b xiao_ble/nrf52840 zephyr\samples\hello_world
echo.
echo Si la compilation s'est terminee sans erreur,
echo votre environnement est pret.
pause
+8
View File
@@ -0,0 +1,8 @@
@echo off
call "%USERPROFILE%\Dev\.venv\Scripts\activate.bat"
set ZEPHYR_BASE=%USERPROFILE%\dev\zephyrproject\zephyr
set ZEPHYR_SDK_INSTALL_DIR=%USERPROFILE%\dev\zephyr-sdk-1.0.1
cmd