The DS10 is an embedded IoT project based on Quectel wireless communication modules, primarily used for intelligent voice interaction, network connectivity, and data transmission. The project is built on the ThreadX real-time operating system and integrates dual-mode communication capabilities for 4G LTE and WiFi, featuring rich audio processing functions.
DS10/
├── demo/ # Main demonstration application
│ ├── ql-application/ # Application layer code
│ │ └── threadx/ # ThreadX real-time operating system application
│ │ ├── common/ # Common libraries and header files
│ │ ├── config/ # Configuration files
│ │ └── evb_audio/ # Main application code (audio version)
│ ├── ql-config/ # Project configuration
│ └── ql-cross-tool/ # Cross-compilation toolchain
├── doc/ # Documentation
│ ├── API.xlsx # API interface table
│ ├── DS10 API.docx # API detailed documentation
│ ├── How to use wifi.docx # WiFi usage instructions
│ └── project build.docx # Project build documentation
└── tool/ # Tools
-
Application Layer (
demo/ql-application/threadx/evb_audio/)- Main application entry:
evb_audio_main.c - Network management:
module_lte.c(LTE),wifi.c(WiFi) - Audio processing:
tts_yt_task.c(Text-to-Speech) - MQTT communication:
mqtt_aliyun.c(Aliyun IoT) - Display control: UI and status management related to display
- Main application entry:
-
Common Library (
demo/ql-application/threadx/common/)- Header files: Various API interface definitions
- Library files: Pre-compiled library files
-
Configuration System (
demo/ql-config/)- Device configuration: Support for different hardware models
- Build configuration: Build parameters
- 4G LTE Connection: Supports 4G network connection and data transmission
- WiFi Connection: Supports WiFi connection and configuration
- Dual-mode Switching: Supports mode switching between LTE and WiFi
- Auto Reconnection: Automatic reconnection mechanism after network disconnection
- Text-to-Speech (TTS): Supports Chinese text-to-speech conversion
- Audio Playback: Supports multiple formats including MP3, WAV, AMR
- Voice Recognition: Supports voice input processing
- Volume Control: Adjustable audio output volume
- MQTT Protocol: Supports Alibaba Cloud IoT platform
- OTA Upgrade: Supports remote firmware upgrade
- Data Reporting: Device status and data reporting functionality
- GPIO Control: General-purpose input/output port management
- UART Communication: Serial communication interface
- I2C/SPI: Supports multiple bus communications
- Sensor Interface: Supports various sensor connections
- Low Power Mode: Supports standby and sleep modes
- Battery Management: Battery level monitoring
- Charging Management: Charging status detection
- Operating System: Windows
- Compiler: ARM Compiler 5
- Toolchain: Included in the
ql-cross-tool/directory
-
Configure Device Type:
# Select module type (NO SCREEN or WITH SCREEN) # Select device type (DS10)
-
Build Application:
cd demo project_build.bat # Select menu items for building # 1: build clean # 2: build app # 3: packet firmware
-
Build Options:
- Clean project:
build.bat clean - Compile application:
build.bat app - Package firmware:
build.bat firmware
- Clean project:
config.mk: Configure device type (default is DS10)conf_devtype.h: Device type definition- Various
.iniconfiguration files located inql-config/config/
-
Operating System Related
- Task Management:
ql_rtos_task_* - Semaphores/Mutex:
ql_rtos_semaphore_*/ql_rtos_mutex_* - Queue Management:
ql_rtos_queue_* - Timers:
ql_rtos_timer_*
- Task Management:
-
Audio Interface
- Audio Playback:
ql_audio_track_*,ql_play_mp3_*,ql_wav_play_* - TTS Interface:
ql_tts_* - Volume Control:
ql_set_volume,ql_get_volume
- Audio Playback:
-
Network Interface
- LTE Connection:
ql_nw_*,ql_data_call_* - WiFi Control: WiFi related functions
- Socket Operations: Standard socket interface
- LTE Connection:
-
Hardware Interface
- GPIO Control:
ql_gpio_* - UART Communication:
ql_uart_* - File System:
ql_fs_*
- GPIO Control:
StructTermInfo: Device status information structureAudioResInfo: Audio resource informationSaleInfo: Sales-related informationQL_NW_REG_STATUS_INFO_T: Network registration status information
-
System Initialization:
- Hardware initialization
- File system mounting
- Device configuration loading
-
Network Initialization:
- SIM card detection
- Network registration
- Data connection establishment
-
Service Startup:
- Audio service initialization
- MQTT connection establishment
- User interface startup
- GPRS_MODE: 4G network mode
- WIFI_MODE: WiFi network mode
- GPRS_BAKE_MODE/WIFI_BAKE_MODE: Backup network mode
- Mode_NULL: No network mode
- TTS Playback: Text → TTS Engine → Audio Output
- File Playback: Audio File → Decoding → Audio Output
- Stream Playback: Audio Stream → Real-time Decoding → Audio Output
- Processor: Cortex-R5 core
- Memory: Varies by module model
- Communication: 4G LTE + WiFi dual-mode
- Audio: Built-in audio codec
- Interfaces: GPIO, UART, I2C, SPI, etc.
QL_RET_OK (0): Operation successfulQL_RET_ERR_*: Various error codes (parameter error, port error, memory error, etc.)
- Network disconnection auto-reconnection
- Power anomaly protection
- Hardware fault detection
- Memory overflow protection
- USB logging output: Output debug information through USB serial port
- Log level control: Configurable different log output levels
- Runtime status monitoring: Real-time monitoring of system operation status
- USB CDC interface: For debugging and log output
- UART interface: Serial communication
- AT command interface: Device control and query
- Power Management: Pay attention to battery level management to avoid deep discharge
- Network Configuration: Correctly configure APN parameters to ensure network connection
- Audio Resources: Ensure audio resource files are complete and in correct format
- Memory Usage: Allocate memory reasonably to avoid memory leaks
- OTA Security: Maintain stable power during OTA upgrade process
- Software Version: V1.0.4 (according to SOFTVER macro in code)
- Kernel Version: 5.x
- Build Time: Determined by compilation time
This document is compiled based on the analysis of the DS10 project source code, covering the main features and usage methods of the project.