build: initialize clean Zephyr 4.4.0 development environment
This commit is contained in:
@@ -8,6 +8,11 @@
|
||||
# ----------------------------
|
||||
firmware/build/
|
||||
|
||||
# ----------------------------
|
||||
# CMake cache
|
||||
# ----------------------------
|
||||
__cmake_systeminformation/
|
||||
|
||||
# ----------------------------
|
||||
# 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)
|
||||
|
||||
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
|
||||
|
||||
| Désignation | Quantité | Statut |
|
||||
| ------------------------- | -------- | -------------- |
|
||||
| Clavier d'origine 2 × 6 | 1 | Conservé |
|
||||
| Mécanisme de verrouillage | 1 | Conservé |
|
||||
| Batterie d'origine | 1 | À étudier |
|
||||
| Capteur d'origine | 1 | À caractériser |
|
||||
| Désignation | Quantité | Statut |
|
||||
| -------------------------------- | ------------ | --------- |
|
||||
| Façade | 1 | Conservée |
|
||||
| Mécanisme de verrouillage KR-S79 | 1 | Conservé |
|
||||
| Compartiment piles (8 × AAA) | 1 | Conservé |
|
||||
| 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
|
||||
|
||||
| Référence | Désignation | Quantité | Statut |
|
||||
| --------- | -------------------------- | -------- | --------- |
|
||||
| TBD | Circuit de mesure batterie | 1 | À définir |
|
||||
| TBD | Protection alimentation | 1 | À définir |
|
||||
| Référence | Désignation | Quantité | Statut |
|
||||
| ---------------------------------------- | ------------------- | ----------- | -------------- |
|
||||
| Buck 12 V → 5 V | Convertisseur DC/DC | 1 | À sélectionner |
|
||||
| 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 |
|
||||
| --------- | -------------- | -------- | --------- |
|
||||
| TBD | Connecteur SWD | 1 | À définir |
|
||||
| Référence | Désignation | Quantité | Statut |
|
||||
| --------- | ----------------------------------------- | -------- | -------------- |
|
||||
| TBD | Protection contre l'inversion de polarité | 1 | À sélectionner |
|
||||
|
||||
---
|
||||
|
||||
# Connectique
|
||||
|
||||
| Référence | Désignation | Quantité | Statut |
|
||||
| --------- | ------------------- | ------------ | --------- |
|
||||
| TBD | Connecteur clavier | À identifier | À définir |
|
||||
| TBD | Connecteur verrou | À identifier | À définir |
|
||||
| TBD | Connecteur batterie | À identifier | À définir |
|
||||
| Référence | Désignation | Quantité | Statut |
|
||||
| ------------------- | ----------- | --------- | ------ |
|
||||
| Connecteur clavier | 1 | À définir |
|
||||
| Connecteur serrure | 1 | À 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 |
|
||||
| ------------------------------ | ---------- |
|
||||
| Seeed Studio XIAO BLE nRF52840 | Disponible |
|
||||
| Pied à coulisse | Disponible |
|
||||
| Plaques PCB de prototypage | Disponible |
|
||||
## Alimentation
|
||||
|
||||
- Alimentation par **8 piles AAA** d'origine.
|
||||
- La serrure est alimentée directement par le pack de piles.
|
||||
- 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
|
||||
|
||||
* Tension batterie.
|
||||
* Type de batterie.
|
||||
* Brochage du clavier.
|
||||
* Brochage du capteur.
|
||||
* Brochage du verrou.
|
||||
* Courant consommé lors de l'ouverture.
|
||||
- Conception de l'antenne NFC.
|
||||
- Sélection du composant de commande High-Side (MOSFET ou circuit dédié).
|
||||
- Choix du convertisseur Buck.
|
||||
- Choix des LEDs.
|
||||
- Conception du circuit de mesure batterie.
|
||||
|
||||
## Priorité moyenne
|
||||
|
||||
* Consommation en veille.
|
||||
* Courant maximal.
|
||||
* Type exact du capteur.
|
||||
- Choix des connecteurs.
|
||||
- Implantation du PCB.
|
||||
- Protection ESD.
|
||||
|
||||
## Priorité basse
|
||||
|
||||
* Références détaillées des composants passifs.
|
||||
* Compatibilité avec d'autres batteries.
|
||||
* Optimisations mécaniques éventuelles.
|
||||
- Optimisation de la consommation.
|
||||
- Réduction du nombre de composants.
|
||||
- Compatibilité avec d'autres variantes matérielles.
|
||||
|
||||
---
|
||||
|
||||
@@ -97,8 +165,15 @@ Cette nomenclature sera complétée progressivement au cours du reverse engineer
|
||||
|
||||
## V0
|
||||
|
||||
* XIAO BLE nRF52840 retenu.
|
||||
* Clavier d'origine conservé.
|
||||
* Mécanisme de verrouillage conservé.
|
||||
* Façade conservée sans modification.
|
||||
* Communication Zigbee retenue pour la V1.
|
||||
- Seeed Studio XIAO BLE nRF52840 retenu.
|
||||
- Zephyr RTOS retenu.
|
||||
- Communication Zigbee retenue.
|
||||
- Façade conservée sans modification.
|
||||
- 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