build: initialize clean Zephyr 4.4.0 development environment
This commit is contained in:
@@ -8,6 +8,11 @@
|
|||||||
# ----------------------------
|
# ----------------------------
|
||||||
firmware/build/
|
firmware/build/
|
||||||
|
|
||||||
|
# ----------------------------
|
||||||
|
# CMake cache
|
||||||
|
# ----------------------------
|
||||||
|
__cmake_systeminformation/
|
||||||
|
|
||||||
# ----------------------------
|
# ----------------------------
|
||||||
# Python
|
# Python
|
||||||
# ----------------------------
|
# ----------------------------
|
||||||
|
|||||||
@@ -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
|
||||||
|
)
|
||||||
@@ -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
|
||||||
+119
-44
@@ -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.
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
@echo off
|
||||||
|
|
||||||
|
call "%USERPROFILE%\Dev\.venv\Scripts\activate.bat"
|
||||||
|
|
||||||
|
west sdk install
|
||||||
@@ -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
|
||||||
@@ -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
|
||||||
Reference in New Issue
Block a user