chore: initial skeleton — NextPM sensor, JSON format, Miotiq UDP parser
This commit is contained in:
90
sensors/_TEMPLATE.md
Normal file
90
sensors/_TEMPLATE.md
Normal file
@@ -0,0 +1,90 @@
|
||||
# <Nom du capteur>
|
||||
|
||||
Remplace ce bloc par une ligne de résumé : fabricant, grandeurs mesurées, interface principale.
|
||||
|
||||
> Exemple : « Tera Sensor NextPM — capteur de particules PM1/PM2.5/PM10, interface UART. »
|
||||
|
||||
## Caractéristiques
|
||||
|
||||
| Paramètre | Valeur |
|
||||
|--------------------------|-------------------------------|
|
||||
| Fabricant / modèle | |
|
||||
| Grandeurs mesurées | PM1, PM2.5, PM10 / T / HR / … |
|
||||
| Plage | |
|
||||
| Précision | |
|
||||
| Alimentation | 3V3 / 5V, mA typique |
|
||||
| Interface | UART / I2C / SPI / analogique |
|
||||
| Datasheet | URL |
|
||||
|
||||
## Câblage
|
||||
|
||||
Lister **chaque fil** avec sa couleur, le pin côté capteur et le pin côté MCU de référence.
|
||||
|
||||
| Fil capteur | Pin capteur | Fonction | Pin MCU (exemple nRF9151) |
|
||||
|-------------|-------------|----------|---------------------------|
|
||||
| Rouge | 1 | VCC | 3V3 |
|
||||
| Noir | 2 | GND | GND |
|
||||
| … | | | |
|
||||
|
||||
## Protocole
|
||||
|
||||
- Transport : UART 115200 8N1 / I2C 100 kHz / …
|
||||
- Adresse (si I2C) :
|
||||
- Polarité, endianness :
|
||||
|
||||
### Format de trame
|
||||
|
||||
Décrire exactement la structure : header, champs, checksum, taille.
|
||||
|
||||
```
|
||||
+------+-----+------+------+-----+
|
||||
| HDR | CMD | LEN | DATA | CS |
|
||||
+------+-----+------+------+-----+
|
||||
1B 1B 1B Nb 1B
|
||||
```
|
||||
|
||||
Checksum : algorithme exact (`256 - sum(prev) mod 256`, CRC8, CRC16 poly…).
|
||||
|
||||
### Commandes
|
||||
|
||||
| Commande | Code | Requête | Réponse (taille, champs) |
|
||||
|----------|------|------------------------|-----------------------------------|
|
||||
| Read X | 0x11 | `81 11 …` | `81 11 state <data> cs` |
|
||||
| Sleep | 0x15 | | |
|
||||
|
||||
### Décodage des champs
|
||||
|
||||
Pour chaque donnée retournée, précise :
|
||||
- Position, taille, endianness.
|
||||
- Facteur d'échelle (ex. `val / 10.0` pour obtenir des µg/m³).
|
||||
- Unité finale.
|
||||
|
||||
## Exemple de code
|
||||
|
||||
### Lecture (pseudo-C)
|
||||
|
||||
```c
|
||||
// TODO
|
||||
```
|
||||
|
||||
### Lecture (Python)
|
||||
|
||||
```python
|
||||
# TODO
|
||||
```
|
||||
|
||||
## Spécificités connues / pièges
|
||||
|
||||
- …
|
||||
|
||||
## Références
|
||||
|
||||
- Datasheet : URL
|
||||
- Code de référence utilisé en prod : `<repo>/src/drivers/<fichier>`
|
||||
- Note d'application constructeur : URL
|
||||
|
||||
## Historique
|
||||
|
||||
| Date | Révision | Changement |
|
||||
|------------|----------|-----------------------------------------------|
|
||||
| YYYY-MM-DD | v1 | Création de la doc. |
|
||||
Reference in New Issue
Block a user