Skip to content

How to Setup QL601 Development Environment

QL601 is a powerful single-board computer equipped with Qualcomm® QCS6490 chipset, along with AVerMedia software stack, helping developers to build AI-powered multimedia applications.

In this tutorial, we will guide you through the steps to set up the QL601 development environment, helping you to get started with the QL601 quickly.

Overview

The recommended workflow for QL601 application development is based on cross-compilation, where the program is compiled on a host PC and then deployed to the target device, that is, QL601. The setup process can be summarized into the following steps:

  1. Prepare the host PC
  2. Connect QL601 to the host PC
    1. Connect QL601 to the host PC via Debug UART
    2. Connect QL601 to the host PC via SSH over Ethernet
  3. Install AVT SDK to QL601
  4. Install QL601 toolchain on the host PC

Prepare the host PC

Ubuntu 22.04 LTS is the officially supported host system for QL601 development, on which the SDK has been tested and developed. The Ubuntu 22.04 LTS image can be found in the official Ubuntu website.

For Windows users

For Windows users, we recommend using WSL 2 (Windows Subsystem for Linux) to run the Ubuntu 22.04 LTS.

Connect QL601 to the host PC

Communication between the host and device can be established through either Debug UART or SSH. The key points of each connection method are summarized below:

  • Debug UART Connection

    • Direct physical connection using a USB-to-UART cable
    • Provides access to boot logs and system console logs
    • Required for initial device setup and system monitoring
  • SSH Connection over Ethernet

    • Network-based connection requiring the QL601 to be on the same network as the host PC
    • Supports multiple concurrent user connections
    • Enables secure file transfer
    • Primary method for development and deployment

Connection between host and device

The two connection methods between the host and device.

Debug UART Connection

UART is a serial communication interface that is commonly used for debugging and monitoring embedded systems. The Debug UART port on QL601 allows users to control the device via command-line interface. The connection can be set up by following the steps below:

1. Set up the hardware

  1. Locate the Debug UART port on your QL601 device.
  2. Connect the USB-to-UART cable to the Debug UART port and the host PC.

2. Set up the software

Any terminal application that supports serial communication can be used to connect to the Debug UART port. In this tutorial, we will use PuTTY terminal emulator on a Ubuntu 22.04 LTS host PC.

  1. Install PuTTY by running the following command:

    sudo apt update
    sudo apt install -y putty
    
  2. After connecting the USB-to-UART cable, check the USB port name by running the following command:

    ls /dev/ttyUSB*
    

    Here is an example output:

    /dev/ttyUSB0
    
  3. Run PuTTY:

    sudo putty
    
  4. Configure the PuTTY session settings:

    1. Change the connection type to Serial.
    2. Set the Serial line to the USB port name you found in the previous step, such as /dev/ttyUSB0.
    3. Set the Speed to 115200.
    4. You can Save the settings for future use.
    5. Click Open to establish the connection with QL601.

    PuTTY Configuration

    The PuTTY configuration window.

3. Login to QL601

After establishing the connection, you will be prompted to login to QL601. You can login with the default credentials:

  • Username: root
  • Password: oelinux123

SSH Connection over Ethernet

SSH is a network protocol that enables secure communication between a client and a server over an unsecured network. It allows users to login to QL601 remotely, execute commands, and transfer files between the host and device. The connection can be set up by following the steps below:

1. Set up the hardware

  1. Locate the Ethernet port on your QL601 device.
  2. Connect the Ethernet cable to the Ethernet port and a network switch or router, which is in the same network as the host PC.

2. Check the IP address of QL601

Typically, an IP address is automatically assigned to QL601 when it is connected to the network. You can check the IP address by:

  1. Login to QL601 via Debug UART.
  2. Run the following command:

    ifconfig
    

    QL601 ifconfig

    An example output of ifconfig command. You can find the IP address 10.1.9.31 in the inet field of the eth1 interface.

3. Establish the SSH connection

  1. Open a terminal application on the host PC.
  2. Connect to QL601 with the following command:

    ssh <username>@<QL601_IP_ADDRESS>
    

    For example, using the username root and the IP address 10.1.9.31, the command will be:

    ssh root@10.1.9.31
    

    You will be prompted to enter the password. By default, the password for root is oelinux123.

Transfer files between host and device

To transfer files between the host and device, you can use the scp command. For example, to push the file test.txt from the host to the /opt directory on QL601, the command will be:

scp test.txt root@10.1.9.31:/opt

You will be prompted to enter the password because a new SSH connection is required.

If you have modified the /opt/test.txt file on QL601, you can pull the file back to the host by:

scp root@10.1.9.31:/opt/test.txt ./pulled_test.txt

In the command above, the file is saved as a new file pulled_test.txt on the host PC.

SSH connection with private key

Instead of using username and password for authentication, you can also use a private key and public key pair for SSH connection. Please refer to the SSH documentation for more details.

Install SDK and QL601 toolchain

To install AVT(AVerMedia Visionary Terminal) SDK and QL601 toolchain, please refer to the Getting Started Guide of AVT SDK. Step-by-step instructions are provided in the guide, so we will not repeat them here.

Conclusion

In this tutorial, we have covered the essential steps to set up the QL601 development environment:

  1. Setting up the host PC with Ubuntu 22.04 LTS (or WSL 2 for Windows users)
  2. Establishing connections to QL601 through both Debug UART and SSH
  3. Installing the necessary development tools (AVT SDK and QL601 toolchain)

With these steps completed, you now have a fully functional development environment for QL601. As the next step, you can:

  • Learn how to develop your own QL601 applications using AVT SDK.
  • Explore the features of QPyCam, our handy library with CLI and Python API for camera control, video streaming, AI inference, and more!

Hope you enjoy your QL601 development journey!