Page 1 of 1

Sending pure Binary Bytes over RS485

Posted: 08 Oct 2024, 17:24
by Hylton
I'm working to simulate our SMART sensors and as part of the project I'd like to use the RS485 port of the Revolution PI RevPi Connect 4 to send and receive pure Binary Bytes
eg. Receive 0x02 0x02 0x61 0x01 0x9B 0x03
Send 0x02 0x05 0x2A 0x01.....1 Data Byte...2 Data Bytes....4 Data Bytes
My preference would be to use either Codesys or Python. I'd much appreciate any help with this issue, Many Thanks

Re: Sending pure Binary Bytes over RS485

Posted: 09 Oct 2024, 11:31
by u.biakoup
Hallo Hylton,

To send and receive binary data over the RS485 port of the Revolution Pi RevPi Connect 4, you can use either CODESYS or Python. Here's how you can approach it using python:
  • Install pySerial: You can install the pySerial package by running:

Code: Select all

pip install pyserial
Configure the RS485 Port: You need to ensure the correct configuration of the RS485 port on your RevPi. By default, the RevPi uses /dev/ttyRS485.

Python Code Example: Below is an example Python script to send and receive binary bytes over the RS485 interface:

Code: Select all

import serial

# Configure the RS485 port
ser = serial.Serial(
    port='/dev/ttyRS485',  # Adjust to your device path
    baudrate=9600,         # Set your baud rate
    bytesize=serial.EIGHTBITS,
    parity=serial.PARITY_NONE,
    stopbits=serial.STOPBITS_ONE,
    timeout=1  # Timeout for reading
)

# To send binary data
send_data = bytes([0x02, 0x05, 0x2A, 0x01, 0x00, 0xFF])  # Example binary data to send
ser.write(send_data)  # Write the data

# To receive binary data
receive_data = ser.read(6)  # Read 6 bytes from the RS485 port
print(f"Received data: {receive_data}")

# Close the port
ser.close()
Best Regards

Ulrich Kouatang Biakoup | field application engineer