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:
#!/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:
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:
# 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
dwc_otg.lpm_enable=0 console=tty1 root=PARTUUID=167bb82f-02 rootfstype=ext4 elevator=deadline $fsck.repair=yes rootwait
Can someone help me figured out this situation?