Skip to content

User Manual for Rhino Pi A1

1. Product Overview

The Rhino Pi A1 is a cost-effective edge computing development board from APLUX, based on the Qualcomm QCS6490 platform, with 12TOPS of AI computing power. The development board offers a rich set of interfaces and supports multiple network connection modes to meet connectivity needs in different application scenarios. It boasts powerful AI capabilities, with a large number of pre-installed scenario-based algorithms and cases covering various fields such as smart parks, smart retail, smart security, transparent kitchen monitoring, and smart transportation, enabling out-of-the-box use. It realizes the intelligent needs of multiple industries and scenarios in a low-cost and high-efficiency manner.

1.1 Product Appearance Diagram

alt text

1.2 Product Parameter Table

ItemSpecification
PlatformQualcomm Dragonwing"QCS6490
AI Performance~12 TOPS INT8
OSAidLux(Android14 + Ubuntu22.04)
CPU1xCortexA78 2.7GHz, 3xCortexA78 2.4GHz, 4xCortexA55 1.9GHz, 100k DMIPS,7nm process
GPUAdreno 642, with a computing power of 1100(GFLOPS)
RAM8GB LPDDR4
Storage128GB UFS2.2
Video CodecDecode: 4K@60fps H.264/H.265
Encode: 4K@30fps H.264/H.265
Camera ModuleC-PHY-Camera x1,IMX586(48M)
D-PHY-Camera x1,IMX577(12M)
WirelessWi-Fi: 802.11ax, 2.4G/5G DBS, 2*2 MIMO
BT: 5.1
USBUSB-A3.0:x4,USB-C3.01:x1 支持DP1.4
Audio3.5mm:x1
Network InterfaceLAN(RJ45)x2,one 2.5Gbps,one 1Gbps
Power SupplyDC12V/24V 3A
Operating Temperature-20℃ ~ +70℃
Dimensions100x130x39.25mm

2. Quick Start

2.1 Environment Preparation

2.1.1 Hardware Preparation

  • A computer with Windows 10 or later installed
  • Rhino Pi A1
  • USB Type-A to Type-C data cable
  • Power adapter (12V 3A)

2.1.2 Software Preparation

Please refer to the Tool Installation chapter to install the necessary tools to assist developers in using APLUX hardware products.

2.2 Powering On the Device

2.2.1 Connecting the Power Cable

  • Use a DC12V3A power adapter to connect to the DC port of the board, which will power on automatically by default. When powering on, observe that the PWR light flashes green (during startup) until both the PWR light and CAM light stay on steadily (startup completed).

2.2.2 Connecting the Type-C Cable

  • Connect the Type-A end of the cable to the USB3.0 port on the Windows computer; connect the Type-C end of the cable to the Type-C port on the development board.

  • On the Windows computer, press win+R, type "cmd" in the pop-up window to open the terminal window, and enter the following command in the window:

shell
adb devices

alt text

As shown in the figure above, once the device is detected, it indicates that the device is connected and has been successfully powered on. Then, developers can access the AidLux system of the development board according to specific development environment scenarios.

3. Obtaining an IP Address

3.1 Configuring a Dynamic IP Address

When there is a local area network in the developer's working environment, and a DHCP server exists in the local area network to assign DHCP IPs to downstream devices, you can obtain a dynamic IP address by following these steps.

The Rhino Pi A1 device is set to use a DHCP IP by default, so it can obtain an IP address once it is powered on and a network cable is connected to any network port. On the Windows computer, press win+R, type "cmd" in the pop-up window to open the terminal window, and enter the following command in the window:

  • Enter "adb shell" to access the host system.
shell
adb shell
  • Execute the command: "ifconfig eth0" to check the displayed IP address.
shell
ifconfig eth0

alt text

3.2 Configuring a Static IP Address

The Rhino Pi A1 supports configuring a static IP address. Developers can follow these steps to configure it:

  • If the network cable is plugged into the eth1 port, set a static IP for eth1. On the Windows computer, press win+R, type "cmd" in the pop-up window to open the terminal window, and execute the following command:
shell
adb shell
am broadcast -a a.e.c --es eth1 ia:s,ip:192.168.1.110,sm:24,gw:192.168.1.1,dns1:114.114.114.114,dns2:8.8.8.8

💡Note

1、The IP address and subnet mask set here are for reference only; specific settings should be based on actual circumstances.

2、In an environment without a router that cannot automatically assign IP addresses, it is recommended to delete the entire "gw:192.168.1.1," information during configuration.

3.2.1 Restoring Dynamic IP Settings

  • If you want to restore the dynamic IP settings, on the Windows computer, press win+R, type "cmd" in the pop-up window to open the terminal window, and execute the following command:
shell
adb shell
am broadcast -a a.e.c --es eth1 ia:d

3.3 Configuring Wireless WIFI

The Rhino Pi A1 supports connecting to the network via WIFI. When developers want to connect through a local area network WIFI, they can follow these steps:

  • After connecting the Windows computer and the Rhino Pi A1 using a Type-C cable, open the screen mirroring software (QtScrcpy).

  • After entering the Android desktop through the screen mirroring software, left-click the "Settings" button with the mouse to open the Android system settings interface.

alt text

  • Click "Network & internet settings".

alt text

  • Click "Internet".

alt text

  • Open the "WLAN" settings and connect to the corresponding WIFI.

alt text

  • After waiting for the connection to be completed, execute the command: "ifconfig wlan0" to check the displayed IP address.
shell
adb shell
ifconfig wlan0

alt text

Tip

An antenna needs to be connected to the device when connecting to WIFI.

4. Login to the Aidlux system

For the login method of the integrated system, please refer to the AidLux Login chapter.

5. Description of Internal Onboard Interfaces

  • Hardware board interface diagram:

alt text

alt text

  • Hardware board interface correspondence table:
InterfaceQuantity/Specification
C-PHY-Camera Modulex 1, IMX586(48M)
D-PHY-Camera Modulex 1, IMX577(12M)
Binocular Structured Light Camera Modulex 1, IMX577(12M)+2*OV9282(2M)
LCDx 1, MIPI interface, default ST7703,720*1280(customers can customize FPC adapter to improve resolution)
USB Type-Ax 4, USB3.0,host mode (total bandwidth of 4 channels supports 5Gbps)
USB Type-Cx 1, USB3.0,supports DP1.4
LAN(RJ45)x 2,one 2.5Gbps,one 1Gbps
CANx 2
RS232x 2,for transmitting serial port information
RS485x 1,for transmitting serial port information
Optocoupler Inputx 2,5~30V
Optocoupler Outputx 2,5~30V
TF 卡x 1
I2Sx 1,3.3V
SPIx 1,3.3V
GPIOx 5,3.3V
UARTx 1,3.3V
Debug UARTx 1,for debug
Headphonex 1,3.5mm
SPKx 1,1.65W
Tri-color LEDx 4,tri-color indicator lights: red, green, blue
KEYx 3,power/vol+/vol-
Power Interface 12V/24Vx 1,powered by external adapter
RTCx 1,CR2032(225mAh)
ANTx 2,WIFI/BT antenna
Operating Temperature-30℃~+75°C
Storage Temperature-40°C ~ +90°C
Dimensions100 x 130 x 39.25mm

6. File Transfer

6.1 Using SCP for File Transfer

SCP transfer requires the Rhino Pi A1 to be connected to the network normally. You can enter the following command in the terminal to check the IP address:

shell
ifconfig

alt text

  • Use the following command in the PC terminal to upload the file test.txt to the /home/aidlux/ directory.
bash
scp -r  .\test.txt aidlux@192.168.110.194:/home/aidlux/
  • Use the following command in the PC terminal to download the file to the current directory of the PC.
bash
scp -r aidlux@192.168.110.194:/home/aidlux/test.txt ./

6.2 Transferring Files Using AidLux File Browser

Transferring files using AidLux File Browser requires the Rhino Pi A1 to be connected to the network normally. If the IP address of the development board is 192.168.110.194, follow these steps to transfer files:

  • Enter the URL: http://192.168.110.194:8000/ in the browser to log in to the AidLux desktop environment. The password is: aidlux. After logging in, you can click the File Browser icon to enter.

alt text

  • Click the upload button in the upper right corner to upload files or directories to the /home/aidlux/ directory.

alt text

  • Click the download button in the upper right corner to download files or directories from the /home/aidlux/ directory to the local computer.

alt text

7. Model Plaza

APLUX has built theModel Farm platform. The Model Plaza contains hundreds of mainstream open-source models with different functions, which have been adapted and optimized for different hardware platforms. Developers can quickly complete evaluations on the Rhino Pi A1 without investing a lot of costs and waiting for a long time. For the usage guide of Model Farm, please refer to theModel Farm User Guide document.

8. Usage of AI Functions

APLUX has built a complete edge AI development tool suite to help developers accelerate the deployment of AI applications, covering everything from the underlying system to upper-level application-level SDKs.

or details, please refer to theDeveloper Guide

8.1 Examples of Aidlite SDK Usage

8.1.1 SDK&API Documentation

AidLite SDK

8.1.2 aidlite_qnn

bash
# Enter the project directory:
cd /usr/local/share/aidlite/examples/aidlite_qnn229/python

# Run the test project script:
sudo python3 qnn_yolov5_multi.py

# Note: 1. A password is required for sudo: aidlux 2. The current example only calls DSP
bash
# Enter the project directory:
cd /usr/local/share/aidlite/examples/aidlite_qnn229/cpp

# Compile the executable program:
sudo mkdir build && cd build
sudo cmake ..
sudo make

# Run the test project script:
sudo ./qnn_yolov5_multi 4
# Note: 1. A password is required for sudo: aidlux 2. The current example only calls DSP

8.1.3 aidlite_snpe

bash
# Enter the project directory:
cd /usr/local/share/aidlite/examples/aidlite_snpe223/python

# Run the test project script:
sudo python3 snpe2_yolov5_multi.py 3

# Note: 1. A password is required for sudo: aidlux 2. The current example only calls DSP
bash
# Enter the project directory:
cd /usr/local/share/aidlite/examples/aidlite_snpe223/cpp

# Compile the executable program:
sudo mkdir build && cd build
sudo cmake ..
sudo make

# Run the test project script:
sudo ./snpe2_yolov5_multi 4


# Note: 1. A password is required for sudo: aidlux 2. The current example only calls DSP

8.1.4 aidlite_tflite

bash
# Enter the project directory:
cd /usr/local/share/aidlite/examples/aidlite_tflite/python

# Run the test project script:

# Call the CPU:
sudo python3 tflite_yolov5_multi.py 1

# Call the GPU:
sudo python3 tflite_yolov5_multi.py 2

# Note: 1. A password is required for sudo: aidlux
bash
# Enter the project directory:
cd /usr/local/share/aidlite/examples/aidlite_tflite/cpp

# Compile the executable program:
sudo mkdir build && cd build
sudo cmake ..
sudo make

# Run the test project script:
# Call the CPU:
sudo ./snpe2_yolov5_multi 1
# Call the GPU:
sudo ./snpe2_yolov5_multi 2
# Call the DSP:
sudo ./snpe2_yolov5_multi 3

# Note: 1. A password is required for sudo: aidlux

8.3 AidCV Usage Examples

8.3.1 AidCV SDK Document

AidCV SDK

bash
# Enter the project directory:
cd /usr/local/share/aidcv/samples

# Run the test project script to call the local video file:
python3 test_video.py 0

# Note:  When using aidcv, it is necessary to enable the graphical desktop. For example, the pop-up window can only be viewed after executing aidcv on the aidlux desktop.

9. Flash Guide

Tip

Flashing will format the system, so please back up your data in advance before the upgrade.

9.1 Image Download

According to the selection you made when placing the order, APLUX has pre - installed the corresponding system version for the Rhino Pi A1 at the factory to help you quickly conduct the unboxing operation experience (it is not the latest version). If you want to experience other versions, you can select the version you need to download according to the following table.

Serial NumberImage NameVersion Download Link
1Rhino Pi A1 ROMRhinoPi-A1-A14

9.2 System Flashing

💡Note

If the current ROM used by your purchased Rhino Pi A1 is Android, then to re-flash the system, you only need to perform the step 9.2.8 of system downloading, and there is no need to perform the two steps of 9.2.6 full erasure and 9.2.7 engineering mode.

9.2.1 Switch to flashing mode

  • After the device is powered on, use a USB-Type-C cable to connect the computer and the device. Connect the USB end to the computer and the Type-C port to the device.

  • Once connected, execute "adb devices" and the connected devices will be listed. If no devices are shown, wait a little longer, or unplug and re-plug the Type-C cable before executing the command again.

alt text

  • Switch to flashing mode and execute "adb shell reboot edl".

alt text

9.2.2 Configure the Configuration item of QFIL

  • Open QFIL, and click the Configuration-FireHose Configuration option at the top.

alt text

  • In the pop-up Download Configuration window, make the following settings:

Select "0-Sahara" for Download Protocol.

Select "ufs" for Device Type.

Check the "Reset After Download" option.

All other options should be kept consistent with the following screenshot.

alt text

  • After the configuration is completed, click OK to save.

9.2.3 Select the flashing port

  • Click the "Select Port" option, in the pop-up window, select the displayed 9008 port, and click "OK".

  • After switching according to the section 9.2.1 Switch to flashing mode, the 9008 port option should automatically appear in this window. If it does not appear, please power off and restart the device, then perform the switch again and wait for it to appear.

alt text

9.2.4 Select Build Type

  • Find the "Select Build Type" item and select "Flat Build".

alt text

9.2.5 Select the flashing file

  • Unzip the ROM file

  • Find the "Select Programmer" item, click "Browse..." after "Programmer Path", locate the unzipped path, and select the unzipped ROM file.

alt text

  • Double-click to select "prog_firehose_ddr.elf".

alt text

9.2.6 Full erase

  • Find the "Select Flat Build" item, click "Load XML..." below it, and select the full erase XML file.

alt text

  • In the pop-up window, select the "rawprogram0_WIPE_PARTITIONS.xml" file.

alt text

  • After selecting the XML file, another window will pop up automatically. Still select all the files.

alt text

  • Click "Download" to start erasing.

9.2.7 Industrial mold

  • After waiting for the erasure to complete, click "Load XML..." again and select the "rawprogram0_FFBM_split.xml" file.

alt text

  • After selecting the XML file, another window will pop up automatically. Still select all the files.

alt text

  • Click "Download" to start execution.

9.2.8 System firmware download

  • After flashing FFBM, the device will restart. At this point, wait for a while to see if ADB can be recognized. If ADB is recognized, execute "adb shell reboot edl" to enter the 9008 port download mode again.

  • After waiting for the execution to complete, click "Load XML..." again and select the "rawprogram0_split.xml" file.

alt text

  • After selecting the XML file, another window will pop up automatically. Still select all the files.

alt text

  • Click "Download" and wait for the flashing to complete.

10. AidLux System Installation

Tip

AidLux installation is only supported on integrated systems, which means an Android operating system needs to be installed.

10.1 Download of AidLux installation package

According to the selection you made when placing the order, Agix has pre-installed the corresponding AidLux version on the Rhino Pi A1 at the factory to help you quickly perform the unboxing operation experience (not the latest version). If you need to experience other versions, you can choose the version you need to download according to the following table.

No.AidLux VersionVersion Download Path
1AidLux-Ubuntu20.04aidlux_ubuntu20.04
2AidLux-Ubuntu22.04aidlux_ubuntu22.04

After the device is powered on, use a USB-Type-C cable to connect the computer and the device. Plug the USB port into the computer side, and the Type-C port into the device side. Once connected, execute: "adb devices".

shell
adb devices

When the device is recognized, start the installation of the AidLux system.

Take the installation of the version "aidlux_2.0.1.1854_enterprise_qc6490_lu2204_robot_20250701-145237.zip" as an example.

10.2 New Installation Method 1

This method is suitable for installing the AidLux system on a Windows system.

  • Obtain the system files, extract them locally. After extraction, there will be 4 files in the folder. Click install.bat to start the system installation.

alt text

  • When the interface prompts "Success", it indicates that the system has been installed successfully. Wait for the system to initialize.

alt text

  • When the system initialization progress reaches 100%, the system installation is complete.

alt text

10.3 New Installation Method 2

This method is suitable for installing the AidLux system on non-Windows systems (Linux or macOS).

  • Obtain the system files and extract them locally. After extraction, there will be 4 files in the folder. Upload the files to the /sdcard/Download directory of the device via the adb command.

Command:

shell
adb push .\0.deb /sdcard/Download/

alt text

  • After the 0.deb file is uploaded, execute adb install to install the apk.

Command:

shell
adb install .\aidlux_2.0.1.1854_enterprise_qc6490_lu2204_robot_20250701-145237.apk

alt text

  • If "Success" is prompted, it indicates that the installation is successful.

  • Enter the Android system, click the AidLux icon, and perform system initialization.

alt text

  • When the system initialization progress reaches 100%, the system installation is complete.

Tip

The system has a default trial period of 1 month. For system authorization, please contact the sales staff of Agix.

11.Robot Peripheral Kit Test

At present, the Rhino Pi A1 has passed internal tests for the following robot peripheral kits. However, the actual supported kits are not limited to those listed in the table below, and there are more kits waiting for you to explore.

NO.Device TypeDevice Name
1USB to Serial Port DeviceUSB TO 4CH TTL
USB TO 8CH TTL
CH9102
CP2102
2Depth CameraIntel RealSense D415
3LiDARLaser LDS-50C-E
4Audio KitAISPEECH
bothlent Power Amplifier Board
HSY 1.5-inch Full-range Speaker with Sound Cavity
5Ultrasonic SensorDYP-A02YY-V2.0 (without shell)
9TOF SensorNooploop TOFSense Series
10Temperature and Humidity SensorSM7820B

11.1 USB TO 4CH TTL

11.1.1 Preparation

  • Rhino Pi A1
  • USB TO 4CH TTL serial port device
  • CH340 USB TO TTL test board
  • Several Dupont wires
  • Windows computer

11.1.2 Hardware Connection

  • The development board is connected to the CH344 device via a USB interface.

alt text

  • The CH340 test board connects the USB port of a Windows computer and the CH344 device.

Among them: The RXD, TXD, and GND of CH344 are connected to the TXD, RXD, and GND of CH340 respectively.

alt text

11.1.3 Testing

💡Note

When executing commands in the terminal on the AidLux desktop, if you need to enter the aidlux password, please input: aidlux

  • After obtaining the IP address of the Agix development board, log in to the AidLux Web desktop through a browser. For specific login methods, please refer to the hardware guide Login Chapter.

  • After logging in, enter the following command in the AidLux terminal to check whether the CH344 serial port device has been recognized.

shell
ls -l /dev/ttyC*

alt text

💡Note

The device names of the CH344 multi-channel serial port correspond one-to-one with the actual physical UART interface names, that is: /dev/ttyCH343USB0 corresponds to device UART0; /dev/ttyCH343USB1 corresponds to device UART1. 以此类推。

  • Use the stty tool in the AidLux terminal to configure the device's UART port.
shell
stty -F /dev/ttyCH343USB0 115200   # Set the baud rate of ttyCH343USB0 to 115200.
stty -F /dev/ttyCH343USB0 -isig -icanon iexten -echo

alt text

  • Open the "Serial Port Debugging Tool" on the Windows computer, and open the corresponding serial port and set the baud rate (keep it consistent with the setting in the AidLux terminal).

alt text

  • After setting up both the "Serial Port Debugging Tool" on the Windows computer side and the terminal on the AidLux side, you can perform the test of sending and receiving information.

  • AidLux side information reception test

Execute the command in the AidLux terminal to check the received messages.

shell
sudo cat /dev/ttyCH343USB0

alt text

Send a message using the "Serial Port Debugging Tool" on the Windows computer, and at the same time, you can check whether the message can be received on AidLux.

alt text

  • AidLux side information sending test:

Execute commands on the AidLux terminal to send information, and at the same time, you can check whether the information can be received on the "Serial Port Debugging Tool".

shell
echo 123abc > /dev/ttyCH343USB0

💡Note

If you are prompted that you have no permission, please execute the command: "sudo su" to switch to the root user before testing. You need to enter the password: aidlux

alt text

11.2 USB TO 8CH TTL

11.2.1 Preparation

  • Rhino Pi A1
  • USB TO 8CH TTL serial port device
  • CH340 USB TO TTL test board
  • Several Dupont wires
  • Windows computer

11.2.2 Hardware Connection

  • The development board is connected to the CH348 device via a USB interface, and the CH340 test board is connected to the USB port of the Windows computer and the CH348 device.

Among them: The RXD, TXD, and GND of CH348 are connected to the TXD, RXD, and GND of CH340 respectively.

alt text

11.2.3 Test

💡Note

When executing commands in the terminal on the AidLux desktop, if you need to enter the Aidlux password, please input: aidlux

  • After obtaining the IP address of the Agix development board, log in to the AidLux Web desktop through a browser. For the specific login method, please refer to the Login Chapter in the hardware guide.

  • After logging in, enter the following command in the AidLux terminal to check whether the CH348 serial port device has been recognized.

shell
ls -l /dev/ttyC*

alt text

💡Note

The device names of the CH348 multi-channel serial port correspond one-to-one with the actual physical UART interface names, that is: /dev/ttyCH9344USB0 corresponds to device UART0; /dev/ttyCH9344USB1 corresponds to device UART1, and so on.

  • Install the minicom tool

minicom is not installed by default in AidLux, and it can be installed using the following command:

shell
sudo apt update
sudo apt install minicom
  • The Rhino Pi A1 uses the minicom tool to open the serial port device.

If the currently connected UART7 port of CH348 is used, execute the following command to open the serial port device:

shell
sudo minicom -D /dev/ttyCH9344USB7 -b 115200
  • On the Windows side, use a serial port debugging tool to open the serial port device.

A serial port debugging tool can be installed on Windows. After opening the tool, select the corresponding port and open it. Note: The baud rate must be consistent with that set when the minicom tool on the Rhino Pi A1 opens the port, such as 115200.

  • Test sending messages to each other between the two ends

You can enter any characters in minicom for sending tests, and the serial port debugging tool on Windows will be able to see the received information; vice versa.

Tip

By default, minicom does not print input characters. You can press Ctrl-A Z E keys in sequence to set it to display input information.

alt text

11.3 CH9102

11.3.1 Preparation

  • Rhino Pi A1
  • CH9102 serial port device
  • CH340 USB TO TTL test board
  • Several Dupont wires
  • Windows computer

11.3.2 Hardware Connection

  • The development board is connected to the CH9102 device via a USB interface, and the CH340 test board is connected to the USB port of the Windows computer and the CH9102 device.

Among them: The RXD, TXD, and GND of CH9102 are connected to the TXD, RXD, and GND of CH340 respectively.

alt text

11.3.3 Test

💡Note

When executing commands in the terminal on the AidLux desktop, if you need to enter the aidlux password, please input: aidlux

  • After obtaining the IP address of the Agix development board, log in to the AidLux Web desktop via a browser. For the specific login method, please refer to the Login Chapter in the hardware guide.

  • After logging in, enter the following command in the AidLux terminal to check whether the CH9102 serial port device has been recognized.

shell
ls -l /dev/ttyC*

alt text

  • Configure the serial port device number using the stty tool
shell
chmod 777 /dev/ttyCH343USB0                              //Grant permissions to the serial port device number
stty -F /dev/ttyCH343USB0 115200                         //Set the baud rate of the serial port device number
stty -F /dev/ttyCH343USB0 -isig -icanon iexten -echo     //Set others
  • On the Windows side, use a serial port debugging tool to open the serial port device.

A serial port debugging tool can be installed on Windows. After opening the tool, select the corresponding port and open it. Note: The baud rate must be consistent with that set by the stty tool on the Rhino Pi A1, such as 115200.

  • Test of sending messages to each other between the two ends

Characters can be sent to the serial port device number through the echo command, and it can be observed that the serial port tool on the Windows side receives the information; conversely, when the serial port tool on the Windows side sends characters, the information can be received through the cat command on the Rhino Pi A1 side.

Sending command:

shell
echo 'demo123' > /dev/ttyCH343USB0

Receiving command:

shell
cat /dev/ttyCH343USB0

alt text

11.4 CP2102

  • Official documentation of the kit: CP2102

11.4.1 Preparation

  • Rhino Pi A1
  • CP2102 serial port device
  • CH340 USB TO TTL test board
  • Several Dupont wires
  • Windows computer

11.4.2 Hardware Connection

  • The development board is connected to the CP2102 device via a USB interface, and the CH340 test board is connected to the USB port of the Windows computer and the CP2102 device.

Among them: The RXD, TXD, and GND of CP2102 are connected to the TXD, RXD, and GND of CH340 respectively.

alt text

11.4.3 Test

💡Note

When executing commands in the terminal on the AidLux desktop, if you need to enter the aidlux password, please input: aidlux

  • After obtaining the IP address of the Agix development board, log in to the AidLux Web desktop via a browser. For the specific login method, please refer to the Login Chapter in the hardware guide.

  • After logging in, enter the following command in the AidLux terminal to check whether the CP2102 serial port device has been recognized.

shell
ls -l /dev/ttyU*

alt text

  • Configure the serial port device number using the stty tool
shell
chmod 777 /dev/ttyUSB0                              //Grant permissions to the serial port device number
stty -F /dev/ttyUSB0 115200                         //Set the baud rate of the serial port device number
stty -F /dev/ttyUSB0 -isig -icanon iexten -echo     //Set others
  • Use a serial port debugging tool on the Windows side to open the serial port device.

A serial port debugging tool can be installed on Windows. After opening the tool, select the corresponding port and open it. Note: The baud rate must be consistent with that set by the stty tool on the Rhino Pi A1, such as 115200.

  • Test of sending messages to each other between the two ends

Characters can be sent to the serial port device number via the echo command, and it can be observed that the serial port tool on the Windows side receives the information; conversely, when characters are sent through the serial port tool on the Windows side, the information can be received via the cat command on the Rhino Pi A1 side.

Sending command:

shell
echo 'demo111' > /dev/ttyUSB0

Receiving command:

shell
cat /dev/ttyUSB0

alt text

11.5 Intel RealSense D415

11.5.1 Preparation

  • Rhino Pi A1

  • Ubuntu Desktop, ROS 2, and RViz 2 are preinstalled on AidLux-Ubuntu 22.04. For specific installation methods, please refer to the Robot Software Installation Guide

  • Intel RealSense D415 Depth Camera and Installation of Its Driver

The installation method is as follows:

After installing Ubuntu Desktop and connecting via a VNC tool, you can execute the following commands in the terminal window:

shell
sudo apt-get update
sudo apt-get install ros-humble-realsense2-camera

alt text

11.5.2 Hardware Connection

Connect the depth camera to the USB port of the Rhino Pi.

11.5.3 Test

  • After the connection is established, start the camera driver using the following command.
shell
ros2 launch realsense2_camera rs_launch.py

alt text

  • Open RViz 2

Open the terminal and enter: rviz2

shell
rviz2

alt text

  • Verify that the depth camera image is displayed in RViz 2

Click the Add button in the bottom-left corner

alt text

Click By topic in the pop-up window

alt text

Double-click to open the "image" under the "/camera" node, and observe that the "image" pop-up window in the bottom-left corner displays the 画面 captured by the camera.

alt text

alt text

11.6 Laser LDS-50C-E Lanhai LiDAR

11.6.1 Preparation

  • Rhino Pi A1
  • Preinstall Ubuntu Desktop, ROS 2, and RViz 2 on AidLux-Ubuntu 22.04

The specific installation method can refer to Robot Software Installation Guide

  • Laser LDS-50C-E (Lanhai Laser Radar)
  • 12V Power Supply for the Radar

11.6.2 Hardware Connection and Network Configuration

Connect the radar to a 12V power supply, connect the Ethernet port to any Ethernet port of the Rhino Pi A1, and configure the default IP (you can use the ifconfig command to configure a temporary IP).

A standard Ethernet cable is used to connect the LDS-50C-E and the Rhino Pi A1 via their standard Ethernet interfaces. To ensure normal communication between the radar and the Rhino Pi A1, they need to be on the same network segment. The factory settings of the radar are as follows:

  • Radar IP: 192.168.158.98

  • Radar Subnet Mask: 255.255.255.0

  • Radar Gateway: 192.168.158.1

  • Radar Default Upload Address: 192.168.158.15

The network settings of Rhino Pi are as follows:

  • Ethernet Port IP: 192.168.158.15

  • Ethernet Port Subnet Mask: 255.255.255.0

  • Ethernet Port Gateway: 192.168.158.1

alt text

After connecting the Ethernet cable and configuring the IP address, check if the network is connected using the Ping command.

11.6.3 Obtain and build the Lanhai ROS 2 Driver Package

After opening the Ubuntu desktop via a VNC tool, execute the following commands in sequence:

  • Obtain the Lanhai ROS 2 driver from GitHub and deploy it to the corresponding location
shell
sudo su  //密码: aidlux

mkdir bluesea2
cd bluesea2 
git clone https://github.com/BlueSeaLidar/bluesea-ros2.git  src
  • Install Dependencies
shell
sudo apt update
sudo apt install -y python3-colcon-common-extensions
  • Build
shell
colcon build
  • Update the current ROS 2 package environment
shell
source ./install/setup.sh
  • Run the driver using ROS 2 launch
shell
ros2 launch bluesea2 udp_lidar.launch

alt text

11.6.4 Test

After opening the Ubuntu desktop via a VNC tool, execute the following commands in sequence:

  • Data Verification: Scan to check if the output is normal
shell
ros2 topic echo /scan

alt text

  • Open the visualization tool RViz2
shell
rviz2
  • After opening it, click the following buttons in sequence to open the visualization interface LDS50C-keshihua.png alt text

alt text

11.7 Audio Kit

The audio kit recommended by APLUX includes three parts: HSY full-range speaker, Yuliang power amplifier board, and SBC microphone. The following will introduce how to connect these three parts.

11.7.1 Preparation

  • Rhino Pi A1
  • HSY 1.5-inch full-range speaker with sound cavity
  • Yuliang power amplifier board
  • SBC microphone
  • Several other connecting cables

11.7.2 Hardware Connection

  • Overall Connection Diagram: alt text

  • HSY Speaker Connected to Yuliang Power Amplifier Board

For the HSY Speaker: the red cable is positive, and the black cable is negative. Connect them to the "L+" or "R+" (for positive) and "L-" or "R-" (for negative) terminals on the power amplifier board respectively. If there are two speakers, they need to be connected to the left and right channels of the power amplifier board separately (i.e., one speaker to "L+" and "L-", and the other to "R+" and "R-"). alt text

  • One side of the SBC microphone is connected to the Yuliang power amplifier board.

The LP, LN, GND, RP, and RN terminals of the microphone are connected to the LO+, LO-, GND, RO+, and RO- terminals of the power amplifier board respectively. Note: There are two GND terminals on the power amplifier board, and both need to be connected to the GND terminal of the microphone.

LP - LO+

LN - LO-

GND - GND

RP - RO+

RN - RO-

alt text

  • The other side of the SBC microphone is connected to the USB port of the Rhino Pi A1.

A DIY cable is required. Wire sequence: Connect the 5V, DP, DM, and GND (of the microphone) to the 5V (red), Data+ (green), Data- (white), and GND (black) of the stripped USB cable respectively.

alt text

  • The power amplifier board is connected to the USB port of the Rhino Pi A1

The 3.5mm audio interface of the power amplifier board is connected to the USB-to-3.5mm interface converter, and then plugged into the USB port of the Rhino Pi A1.

alt text

11.7.3 Test

11.7.3.1 Recording Test
  • List All Recording Devices
shell
sudo arecord -l

alt text

Find "USB Audio", then read the sound card number of this device (denoted as "card x", where x is the sound card number) and the device number under this sound card (denoted as "device y", where y is the sub-device number). The device identifier format is: hw:X,Y (X stands for the sound card number, and Y stands for the sub-device number). The device identifier read in the current example is: hw:2,0

  • List the various parameters supported by the device
shell
sudo arecord -D hw:2,0 --dump-hw-params

alt text

Note the following parameters:

FORMAT: The sample format supported by the device. The currently supported format is: S16_LE

CHANNELS: Indicates the range of the number of channels supported by the device. The current number of channels is: 2

RATE: Displays the range of sample rates supported by the device, with the unit being Hz. The currently supported sample rate is: 16000

  • Start Recording

Note that the parameters in the command need to be consistent with the values retrieved in the previous step. For example, -f refers to the sample format, -r refers to the sample rate, -c refers to the number of channels, and -d refers to the recording duration.

shell
sudo arecord -D hw:2,0 -f S16_LE -r 16000 -c 2 -d 5 output.wav

alt text

11.7.3.2 Playback Test
  • List All Playback Devices
shell
sudo aplay -l

alt text

Find "USB Audio", then read the sound card number of this playback device (denoted as "card x", where x is the sound card number) and the device number under this sound card (denoted as "device y", where y is the sub-device number). The device identifier format is: hw:X,Y (X is the sound card number, and Y is the sub-device number). The device identifier read in the current example is: hw:2,0

  • List the various parameters supported by the device
shell
sudo aplay -D hw:1,0 --dump-hw-params /dev/zero

alt text

Note the following parameters:

FORMAT: The sample formats supported by the device. The currently supported formats are: S16_LE, S24_3LE

RATE: Displays the range of sample rates supported by the device, with the unit being Hz. The currently supported sample rates are: 44100, 96000

From the above parameter values, it can be seen that the sample rate of the playback device is inconsistent with that of the recording device. The sample rate of the recording device is 16000, while that of the playback device is 44100 and 96000. Therefore, we need to convert the sample rate of the recorded audio (e.g., convert it to a sample rate of 44100). The method is as follows:

Install the Conversion Tool

shell
sudo apt update
sudo apt install sox libsox-fmt-all

Start Conversion

shell
sudo sox output16k.wav -r 44100 output44k.wav

alt text

  • Start playing the recorded audio

Note that the parameters in the command must be consistent with the values retrieved in the previous step. For example, -f refers to the sample format, -r refers to the sample rate, and -c refers to the number of channels.

shell
sudo aplay -D hw:1,0 -f S16_LE -r 44100 -c 2 output44k.wav

alt text

11.8 DYP-A02YY-V2.0 Ultrasonic Sensor

11.8.1 Preparation

  • Rhino Pi A1
  • DYP-A02YY-V2.0 Ultrasonic Sensor (output mode: RS485; UART output is also an optional choice)
  • Several other connecting cables

11.8.2 Hardware Connection

  • The sensor requires a minimum supply voltage of 5V. However, since the 5V pin and GND pin of the Rhino Pi A1 are still under debugging, an external power supply is used to power the sensor in this example.

  • Connect the RS485A and RS485B pins of the ultrasonic sensor to the RS485A and RS485B pins of the Rhino Pi A1 for communication.

alt text

11.8.3 Test

The Dianyingpu Ultrasonic Sensor requires manual sending of a distance measurement command to obtain a distance measurement result. One result will be obtained each time the command is sent.

1、Since the test tool minicom cannot be set to input hexadecimal data to control the sensor for distance measurement, a script can be written to convert the data format (from decimal to hexadecimal) and then send the data to the serial port device number for control. The content of the script is as follows:

shell
#!/bin/bash
if [ "$#" -ne 2 ]; then
    echo "Usage: $0 [Serial Port Device] [Hexadecimal Data]"
    exit 1
 
fi
# Serial port device, e.g., /dev/ttyS2
SERIAL_PORT=$1
 
# Hexadecimal data, e.g., '1F2E3D4C'
HEX_DATA=$2
 
# Convert the hexadecimal data into a binary stream and send it to the serial port
printf "$HEX_DATA" | xxd -r -p > $SERIAL_PORT

2、Use the script to send the control command: sudo ./send_hex.sh /dev/ttyHS1 '01030100000185F6'

shell
./send_hex.sh /dev/ttyHS1 '01030100000185F6'

/dev/ttyHS1: RS485 device number of Rhino Pi A1

01030100000185F6: Used to read processed value data; there are also other commands. For details, please refer to the Dianyingpu product manual

3、Use the minicom tool to receive data in AidLux. (If not installed, install it via sudo apt update; apt install minicom). Open minicom with the command: sudo minicom -D /dev/ttyHS1 -b 9600 -H

shell
sudo minicom -D /dev/ttyHS1  -b 9600 -H

/dev/ttyHS1: RS485 device number of Rhino Pi A1

-b 9600: Set the baud rate to 9600 (the default baud rate of the sensor is 9600)

-H: Display data in hexadecimal format

alt text

11.9 Nooploop TOF Sensor

11.9.1 Preparation

  • Rhino Pi A1
  • Nooploop TOFSense Series TOF Sensor
  • USB to 4CH TTL Serial Port Expansion Device
  • Several other connecting cables

11.9.2 Hardware Connection

Use the CH344 serial port device to connect the VCC, GND, TX, and RX of the TOF sensor to the VCC, GND, RX, and TX of any UART port on the CH344 device. The UART0 port is used in the current example.

alt text

11.9.3 Test

After the connection is completed, open the minicom tool in the AidLux terminal (if not installed, use the command sudo apt update; sudo apt install minicom to install it).

shell
sudo apt update;sudo apt install minicom

After installation, open the serial port:

sudo minicom -D /dev/ttyCH343USB0 -b 921600 -H

shell
sudo minicom -D /dev/ttyCH343USB0 -b 921600 -H

The default baud rate of the TOF sensor is 921600, and it requires data to be displayed in hexadecimal format.

Note: If minicom only displays one line, please make the following settings:

Press CTRL-A + Z to enter the minicom settings page, then press W to enable line wrapping for display.

Below is an example of the received data.

alt text

11.10 SONBEST SM7820B Temperature and Humidity Sensor

  • Official Documentation of the Kit:SM7820B

11.10.1 Preparation

  • Rhino Pi A1
  • SONBEST SM7820B Temperature and Humidity Sensor
  • Several other connecting cables
  • External 5V power supply

11.10.2 Hardware Connection

1、The sensor requires a minimum power supply of 5V. However, since the 5V pin and GND pin of Rhino Pi A1 are still under debugging, the sensor is powered by an external power supply in this example.

2、Connect the RS485A and RS485B pins of the temperature and humidity sensor to the RS485A and RS485B pins of Rhino Pi A1 for communication.

alt text

11.10.3 Test

The SONBEST Temperature and Humidity Sensor requires manual sending of a measurement command to obtain a measurement result. One measurement result is generated each time the command is sent.

1、Since the test tool minicom cannot be configured to input hexadecimal data for controlling the sensor's measurement, a script can be written to convert the data format (to hexadecimal) and then send the data to the serial port device number for control. The content of the script is as follows:

shell
#!/bin/bash
if [ "$#" -ne 2 ]; then
    echo "Usage: $0 [Serial Port Device] [Hexadecimal Data]"
    exit 1
 
fi
# Serial port device, e.g., /dev/ttyS2
SERIAL_PORT=$1
 
# Hexadecimal data, e.g., '1F2E3D4C'
HEX_DATA=$2
 
# Convert the hexadecimal data into a binary stream and send it to the serial port
printf "$HEX_DATA" | xxd -r -p > $SERIAL_PORT

2、Use the script to send the control command: sudo ./send_hex.sh /dev/ttyHS1 '010300000002C40B'

shell
./send_hex.sh /dev/ttyHS1 '010300000002C40B'

/dev/ttyHS1: RS485 device number of Rhino Pi A1

010300000002C40B: Used to read temperature and humidity measurement data. There are also other commands (e.g., modifying the baud rate). For details, please refer to the SONBEST product manual

3、Use the minicom tool to receive data in AidLux. (If it is not installed, install it via sudo apt update; apt install minicom). Open minicom with the command: sudo minicom -D /dev/ttyHS1 -b 9600 -H

shell
sudo minicom -D /dev/ttyHS1  -b 9600 -H

/dev/ttyHS1: RS485 device number of Rhino Pi A1

-b 9600: Set the baud rate to 9600 (the default baud rate of the sensor is 9600)

-H: Display data in hexadecimal format

alt text

11.10.3 Result Analysis

After sending a query frame command to the temperature and humidity sensor, a response frame result will be returned: 01 03 04 0a e4 17 65 76 07.

The response format is shown in the figure below:

alt text

Among the data, Data 1 represents temperature and Data 2 represents humidity. According to the calculation method provided in the SONBEST SM7820B manual, take temperature calculation as an example:

Convert 0a e4 to a decimal number: 2788

The data scaling factor is 100. The actual temperature is calculated as 2788/100 = 27.88°C, which means the current indoor temperature is 27.88°C.