SurnameD
Posts: 1
Joined: Thu Jun 21, 2018 3:24 pm

Unipi Neuron Modbus RS485

Thu Jun 21, 2018 3:29 pm

I've installed unipi and insert linux image. I've running a server in node.js that will comunicate with thermostats and another devices with modbus rtu RS485. But seems that i can't still communicate with this devices. I have neuron M103 and i use modbus-serial npm package. I use /dev/exctcomm/0 ports and i try /dev/serial0 /dev/serial1 /dev/serialttyAMA0 but nothing. I Followed tutorials that modify the /boot/config.txt file /boot/cmdline.txt but still nothing. When i run the following code in python i receive:

Code: Select all

#!/usr/bin/python3
from pymodbus.client.sync import ModbusSerialClient as ModbusClient
from pymodbus.register_read_message import ReadInputRegistersResponse

port = '/dev/extcomm/0/1'
client = ModbusClient(method='rtu', port=port, stopbits=1, bytesize=8, parity='N', baudrate=9600, timeout=0.3)
connection=client.connect()

print(port)
print(connection)

value = client.read_input_registers(256,4, unit=0x01)

print(value)
The error is:

Code: Select all

False
Traceback (most recent call last):
  File "testmodbus.py", line 12, in <module>
    value = client.read_input_registers(256,4, unit=0x01)
  File "/home/pi/.local/lib/python3.5/site-packages/pymodbus/client/common.py", line 125, in read_input_registers
    return self.execute(request)
  File "/home/pi/.local/lib/python3.5/site-packages/pymodbus/client/sync.py", line 106, in execute
    raise ConnectionException("Failed to connect[%s]" % (self.__str__()))
pymodbus.exceptions.ConnectionException: Modbus Error: [Connection] Failed to connect[ModbusSerialClient(rtu baud[9600])]
Config.txt file:

Code: Select all

# For more options and information see
# http://rpf.io/configtxt
# Some settings may impact device functionality. See link above for details

# uncomment if you get no picture on HDMI for a default "safe" mode
#hdmi_safe=1

# uncomment this if your display has a black border of unused pixels visible
# and your display can output without overscan
#disable_overscan=1

# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
#overscan_left=16
#overscan_right=16
#overscan_top=16
#overscan_bottom=16

# uncomment to force a console size. By default it will be display's size minus
# overscan.
#framebuffer_width=1280
#framebuffer_height=720

# uncomment if hdmi display is not detected and composite is being output
#hdmi_force_hotplug=1

# uncomment to force a specific HDMI mode (this will force VGA)
#hdmi_group=1
#hdmi_mode=1

# uncomment to force a HDMI mode rather than DVI. This can make audio work in
# DMT (computer monitor) modes
#hdmi_drive=2

# uncomment to increase signal to HDMI, if you have interference, blanking, or
# no display
#config_hdmi_boost=4

# uncomment for composite PAL
#sdtv_mode=2

#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800

# Uncomment some or all of these to enable the optional hardware interfaces
#dtparam=i2c_arm=on
#dtparam=i2s=on
# For more options and information see
# http://rpf.io/configtxt
# Some settings may impact device functionality. See link above for details

# uncomment if you get no picture on HDMI for a default "safe" mode
#hdmi_safe=1

# uncomment this if your display has a black border of unused pixels visible
# and your display can output without overscan
#disable_overscan=1

# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
#overscan_left=16
#overscan_right=16
#overscan_top=16
#overscan_bottom=16

# uncomment to force a console size. By default it will be display's size minus
# overscan.
#framebuffer_width=1280
#framebuffer_height=720

# uncomment if hdmi display is not detected and composite is being output
#hdmi_force_hotplug=1

# uncomment to force a specific HDMI mode (this will force VGA)
#hdmi_group=1
#hdmi_mode=1

# uncomment to force a HDMI mode rather than DVI. This can make audio work in
# DMT (computer monitor) modes
#hdmi_drive=2

# uncomment to increase signal to HDMI, if you have interference, blanking, or
# no display
#config_hdmi_boost=4

# uncomment for composite PAL
#sdtv_mode=2

#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800

# Uncomment some or all of these to enable the optional hardware interfaces
#dtparam=i2c_arm=on
#dtparam=i2s=on
dtoverlay=lirc-rpi
 dtparam=audio=on
dtoverlay=neuron-spi
enable_uart=1
device_tree_param=i2c1=on
cmdline.txt

Code: Select all

dwc_otg.lpm_enable=0 console=tty1 root=PARTUUID=167bb82f-02 rootfstype=ext4 elevator=deadline $fsck.repair=yes rootwait
Node.js Configuration:

Code: Select all

this.client.connectRTUBuffered(Configuration.modbus.port, {
                baudRate: 38400,
                dataBits: 8,
                parity: 'none',
                stopBits: 1
            }, async () => {
                this._logger.info('Modbus: connected!');
                resolve();
            });
Can someone help me figured out this situation?

Return to “Device Tree”

Who is online

Users browsing this forum: No registered users and 1 guest