QuecPython has launched an AI chatbot solution based on Doubao webRTC. This solution is based on Volcengine RTC library and can only use firmware that supports TiktokRTC functionality.
The module models supporting this feature are as follows:
| Series | Model |
|---|---|
| EC600M | EC600MCN_LE |
| EC800M | EC800MCN_LE, EC800MCN_GB |
| EG810M | EG810MCN_GA_VOLTE |
Support for agent switching.
Support for voice timbre switching.
Support for ASR subtitles.
Support for TTS subtitles.
Support for voice interruption/barge-in.
Support for server address switching.
Support for voice wake-up.
Written in Python language, facilitating secondary development.
Before you begin, please ensure you have the following prerequisites:
Hardware:
EC600MCNLE QuecPython Standard Development Board (including antenna, Type-C data cable, etc.)
Click to view the development board Schematic and Silkscreen Diagram documentation.
Computer (Windows 7, Windows 10, or Windows 11)
LCD Display
Model: ST7789
- Resolution: 240×240
Speaker
Any speaker with 2-5W power will work
Software:
USB driver for QuecPython module: QuecPython_USB_Driver_Win10_ASR
Debugging tool QPYcom
QuecPython Firmware
Clone the repository:
git clone https://github.com/QuecPython/AIChatBot-Volcengine-webRTC.git cd AIChatBot-Volcengine-webRTCInstall USB driver
Flash firmware: Follow the instructions to flash the firmware onto the development board.
Note: The Volcengine conversation token in the firmware is for temporary testing purposes and may be revoked at any time. For usage experience, please contact Quectel technical support. If you have your own Volcengine token, you can directly configure it through the
tiktok.configinterface.
Hardware connection: Connect the hardware as shown in the following diagram:
Connect the speaker to the pin headers marked
SPK+andSPK-in the diagram.Connect the LCD screen to the pin headers marked with
LCD.Insert an available Nano SIM card in the indicated position.
Connect the antenna to the antenna connector marked
LTE.Use a Type-C data cable to connect the development board to the computer.
Download code to the device:
Launch the QPYcom debugging tool.
Connect the data cable to the computer.
Press the PWRKEY button on the development board to start the device.
Follow the instructions to import all files in the
codefolder into the module's file system, preserving the directory structure.
Run the application:
Select the
Filetab.Select the
ai_main.pyscript.Right-click and select
Runor use theRunshortcut button to execute the script.
Reference runtime logs:
importexample>>>example.exec('/usr/ai_main.py')
windowshowovervolume: 6>>>ltenetworknormalaitaskrunning# Press KEY1 to enter the agentrtc_queuekeyevent1startrtcTIKTOK_RTC_EVENT_STARTTIKTOK_RTC_EVENT_TTS_TEXTHelloTIKTOK_RTC_EVENT_TTS_TEXTHellothereTIKTOK_RTC_EVENT_TTS_TEXTIsthereanythingTIKTOK_RTC_EVENT_TTS_TEXTIsthereanythingITIKTOK_RTC_EVENT_TTS_TEXTIsthereanythingIcanTIKTOK_RTC_EVENT_TTS_TEXTIsthereanythingIcanhelpTIKTOK_RTC_EVENT_TTS_TEXTIsthereanythingIcanhelpyouTIKTOK_RTC_EVENT_TTS_TEXTIsthereanythingIcanhelpyouwithTIKTOK_RTC_EVENT_TTS_TEXTIsthereanythingIcanhelpyouwith?
# Press KEY2 to exit the agentrtc_queuekeyevent2stoprtcsolution-AI/
├── code/
│ ├── ai_main.py
│ ├── datetime.py
│ ├── ...
│ └── img/
│ ├── battery/
│ │ ├── bat_00.png
│ │ ├── bat_01.png
│ │ └── ...
│ ├── signal/
│ │ ├── signal_00.png
│ │ ├── signal_01.png
│ │ └── ...
│ ├── image1.png
│ ├── image2.png
│ └── ...
├── examples/
│ └── examples_ai.py
├── docs/zh/media/
│ └── wire_connection.jpg
├── EC600MCNLER06A01M08_OCPU_QPY_TEST0213.zip
├── LICENSE
├── readme.md
└── readme_zh.md
We welcome contributions to improve this project! Please follow these steps to contribute:
Fork this repository.
Create a new branch (
git checkout -b feature/your-feature).Commit your changes (
git commit -m 'Add your feature').Push to the branch (
git push origin feature/your-feature).Open a Pull Request.
This project uses the Apache license. Please refer to the LICENSE file for details.
If you have any questions or need support, please refer to the QuecPython Documentation or open an issue in this repository.