Two RS485 lines are available on CM3-Home model Full and one on the model Basic. The lines are opto-isolated from the CPU and available on screw terminals as shown below.
The ports are visible by Linux on /dev/ttyUSB0 (left port) and /dev/ttyUSB2 (right port) and can be managed by software like any other serial line. The DE signals required to get the bus are managed by the hardware on FTDI FT4232 chip.
Send and receive chars on the right RS485 port. To do the same on the left port change /dev/ttyUSB2 with /dev/ttyUSB0.
#!/usr/bin/python import serial import time ser = serial.Serial( port='/dev/ttyUSB2', baudrate=115200, timeout=1, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, bytesize=serial.EIGHTBITS ) ser.flushOutput() ser.flushInput() rx_counter=0 tx_counter=0 while True: tx_counter=tx_counter+1 ser.write("Tx counter = %d | Rx counter = %d\n\r" % (tx_counter,rx_counter)) print("Tx counter = %d | Rx counter = %d" % (tx_counter,rx_counter)) a=ser.read(1) if a: rx_counter=rx_counter+1 ser.write("Tx counter = %d | Rx counter = %d | Received: %s %02x\n\r" % (tx_counter,rx_counter,a,ord(a))) print("Tx counter = %d | Rx counter = %d | Received: %s %02x" % (tx_counter,rx_counter,a,ord(a)))
CM3-HOME-B - Home automation carrier board for Raspberry CM3L module
Motherboard designed to provide a reliable Home Automation solution based on Raspberry Pi CM3L industrial module
Please note: This code is related just to the carrier board. The Raspberry CM3L module is not included