Read data from ping1d with FT232RL UART - USB, but it not work

As per the protocol specification

In general, a checksum is a verification metric, used to help ensure a message has arrived without errors/modification.

Similarly to the documented negotiation example, if you wish to request a ping1d_distance_simple (1211) message from the sonar, you can send a general_request (6) to do so. The components for that would be

Value (HEX) Value (decimal) Type Name Notes Send Bytes
0x42 66 u8 start1 ASCII ‘B’ 0x42
0x52 82 u8 start2 ASCII ‘R’ 0x52
0x0002 2 u16 payload_length 0x02, 0x00
0x0006 6 u16 message_id general_request 0x06, 0x00
0x00 0 u8 src_device_id 0x00
0x00 0 u8 dst_device_id 0x00
0x04BB 1211 u8[2] payload requested_id 0xBB 0x04
0x015B 347 u16 checksum 0x5B 0x01

Note that the checksum is the sum of individual bytes, so for example 0x04BB becomes 0x04 + 0xBB = 0xBF.

Noting the little-endian format, the correct bytes sequence for that request message is
0x42, 0x52, 0x02, 0x00, 0x06, 0x00, 0x00, 0x00, 0xBB, 0x04, 0x5B, 0x01