- Complete MPU-MCU communication setup - LED Matrix text display with configurable parameters - Configuration management with personal data protection - Git template with .gitignore for sensitive data - Automated build and deployment scripts - SSH key management and service scripts
62 lines
1.7 KiB
Markdown
62 lines
1.7 KiB
Markdown
# Arduino UNO Q Project Structure
|
|
|
|
```
|
|
ArduinoUNOQ/
|
|
├── src/
|
|
│ ├── mpu/ # Linux/MPU (Debian) side
|
|
│ │ └── main.py # Python application for MPU
|
|
│ └── mcu/ # MCU (STM32) side
|
|
│ └── main.ino # Arduino sketch for MCU
|
|
├── build/ # Build output directory
|
|
├── Document/ # Documentation and PDFs
|
|
├── package.json # Project configuration
|
|
├── build.sh # MCU build script
|
|
├── upload.sh # Deployment script
|
|
├── setup_ssh.sh # SSH configuration
|
|
└── WORKFLOW.md # Development workflow
|
|
```
|
|
|
|
## Architecture
|
|
|
|
### MPU (Microprocessor) - Linux Side
|
|
- **Location**: `src/mpu/`
|
|
- **Processor**: Qualcomm Dragonwing QRB2210 (ARM Cortex-A53)
|
|
- **OS**: Debian Linux
|
|
- **Language**: Python 3
|
|
- **Communication**: Bridge library, SSH, named pipes
|
|
|
|
### MCU (Microcontroller) - Arduino Side
|
|
- **Location**: `src/mcu/`
|
|
- **Processor**: STM32U585 (ARM Cortex-M33)
|
|
- **OS**: Arduino Core on Zephyr
|
|
- **Language**: C++ (Arduino)
|
|
- **Communication**: Bridge library, GPIO, peripherals
|
|
|
|
## Development Workflow
|
|
|
|
1. **Edit code** in respective directories:
|
|
- MPU code: `src/mpu/main.py`
|
|
- MCU code: `src/mcu/main.ino`
|
|
|
|
2. **Build MCU sketch**:
|
|
```bash
|
|
npm run build
|
|
```
|
|
|
|
3. **Deploy both**:
|
|
```bash
|
|
npm run deploy
|
|
```
|
|
|
|
4. **Monitor**:
|
|
```bash
|
|
npm run logs
|
|
```
|
|
|
|
## Communication
|
|
|
|
- **MPU → MCU**: Bridge library commands
|
|
- **MCU → MPU**: Bridge library responses
|
|
- **File transfer**: SSH (SCP)
|
|
- **Real-time data**: Named pipes (`/tmp/unoq_cmd.pipe`)
|
|
- **Status updates**: JSON files (`/tmp/unoq_status.json`) |