diff --git a/CLAUDE.md b/CLAUDE.md index 0c82c71..5caea7c 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -22,9 +22,22 @@ NebuleAir Pro 4G is an environmental monitoring system running on Raspberry Pi 4 - BME280: Temperature, humidity, pressure via I2C (0x76) - NSRT MK4: Noise sensor via I2C (0x48) - SARA R4/R5: 4G cellular modem (ttyAMA2) +- Senseair S88: CO2 sensor via Modbus RTU (any free ttyAMA — port configurable, see admin.html) - Wind meter: via ADS1115 ADC - MPPT: Solar charger monitoring +**Custom PCB connector → UART port mapping:** + +| PCB silkscreen | Linux device | +|---|---| +| NPM1 | /dev/ttyAMA5 | +| NPM2 | /dev/ttyAMA4 | +| NPM3 | /dev/ttyAMA3 | +| SARA | /dev/ttyAMA2 | + +ttyAMA0 is the Pi's primary UART (header pins), not exposed on the custom PCB. +When adding a new UART sensor (e.g. S88), it goes on one of the free NPM connectors. + **Software Stack:** - OS: Raspberry Pi OS (Linux) - Web server: Apache2 diff --git a/S88/README.md b/S88/README.md index 3eaafbb..1c13cbb 100644 --- a/S88/README.md +++ b/S88/README.md @@ -44,14 +44,19 @@ PWM 1kHz●─┘ ├─● UART_R/T (direction RS-485, à lais └─● bCAL_in (entrée calibration manuelle) ``` -### Câblage vers Raspberry Pi (UART 3.3V direct) +### Câblage vers la PCB NebuleAir Pro -| S88 | Raspberry Pi CM4 | +Le S88 se branche sur un connecteur libre de la PCB custom (NPM1/NPM2/NPM3 — voir +mapping silkscreen ↔ ttyAMA dans le CLAUDE.md à la racine). Sélectionne ensuite le +port correspondant dans admin.html → "Send CO2 sensor data (Senseair S88)" → +dropdown "Port UART". + +| S88 | Connecteur PCB | |---|---| | G+ | 5V | | G0 | GND | -| UART_TxD | RxD du ttyAMAx (ex. GPIO15 pour ttyAMA0) | -| UART_RxD | TxD du ttyAMAx (ex. GPIO14 pour ttyAMA0) | +| UART_TxD | RxD du connecteur (crossover) | +| UART_RxD | TxD du connecteur (crossover) | | UART_R/T | non connecté | Les niveaux UART du S88 sont 3.3V CMOS — directement compatibles avec le Pi.