@TomasKnot or @Martin-Kudláček:
Is there anything that can be done with this? It is a real problem for us and are holding back production.
Andreas
@TomasKnot or @Martin-Kudláček:
Is there anything that can be done with this? It is a real problem for us and are holding back production.
Andreas
More info:
root@L513-sn24:/home/pi# systemctl status unipitcp
● unipitcp.service - Unipi Neuron/Axon Modbus/Tcp Server
Loaded: loaded (/lib/systemd/system/unipitcp.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2018-12-04 08:37:49 UTC; 4h 38min ago
Process: 847 ExecStartPre=/bin/sh -c if [ "${FIRMWARE_UPDATE}" = "1" ]; then /opt/unipi-bin/fwspi --auto; fi (code=exited, status=0/SUCCESS)
Main PID: 874 (unipi_tcp_serve)
CGroup: /system.slice/unipitcp.service
└─874 /opt/unipi-bin/unipi_tcp_server -p 502
Dec 04 08:37:49 raspberrypi systemd[1]: Starting Unipi Neuron/Axon Modbus/Tcp Server...
Dec 04 08:37:49 L513-sn24 systemd[1]: Started Unipi Neuron/Axon Modbus/Tcp Server.
root@L513-sn24:/home/pi# /opt/unipi-bin/fwspi -i 0
Boardset: 0 B-1000 (v1.0)
Baseboard: 0 B-1000 (v1.0)
Firmware: v5.31
root@L513-sn24:/home/pi# /opt/unipi-bin/fwspi -i 1
Boardset: 15 E-4Ai4Ao_U-6Di5Ro (v1.0)
Baseboard: 11 E-4Ai4Ao (v1.0)
Firmware: v5.31
root@L513-sn24:/home/pi# /opt/unipi-bin/fwspi -i 2
Boardset: 15 E-4Ai4Ao_U-6Di5Ro (v1.0)
Baseboard: 11 E-4Ai4Ao (v1.0)
Hi @TomasKnot .
Here's the evok.conf:
#!!! Do not use '#' for comments !!!
[MAIN] ; !!! ALL MAIN SECTION OPTIONS ARE MANDATORY !!!
config_version = 2.5 ; Configuration file version, DO NOT CHANGE!
use_schema_verification = False ; Enabling this will deny any requests that do not match the JSON Schema; NOTE THAT THIS RESULTS IN A SIGNIFICANT INCREASE IN LATENCY AND SHOULD NOT BE USED EXCEPT F
OR TESTING
log_level = ERROR ; Minimum severity of messages to be logged; one of INFO, DEBUG, WARNING, ERROR, CRITICAL
log_file = /var/log/evok.log ; Log file to use; will be cleared on boot
port = 8080 ; !!! Internal API port - only change if you are certain you know what you are doing; FOR OUR WEB INTERFACE THE PORT SHOULD BE CHANGED IN "/e
tc/evok-nginx.conf" INSTEAD !!!
webhook_enabled = False ; Enables webhook notification - see e.g. https://sendgrid.com/blog/whats-webhook/
webhook_address = http://127.0.0.1:80 ; Put your server endpoint address here (e.g. http://123.123.123.123:/wh )
webhook_device_mask = ["input","wd"] ; List of device types to notify on (written as a JSON list) - adding AI will generate a large amount of messages!
webhook_complex_events = False ; EVOK will send POST requests with the same data as WebSocket, rather than an empty GET request
wifi_control_enabled = False ; !!! REQUIRES THE UNIPIAP WIFI CONTROLLER TO BE INSTALLED !!! Will allow evok to control the internal Neuron wifi
soap_server_enabled = False ; Enables the simple SOAP server; use only if you need the functionality
soap_server_port = 8081 ; !!! IF SOAP SERVER IS ENABLED, THIS PORT NEEDS TO BE UNIQUE (i.e. different from the port setting above) !!!
[NEURON_1]
global_id = 1 ; Mandatory, REQUIRED TO BE UNIQUE
allow_register_access = True
scan_frequency = 10 ; Optional, 10 default, scanning frequency in [Hz]
scan_enabled = True
; Below you can find examples for connecting devices over UART; first example is a Neuron extension while the second is a custom third-party device
; Devices sharing a port use the port settings of the first device on that port (baud rate, parity, stop bits)
; !!! Note that device_name has to match a filename in the /etc/hw_definitions directory !!! See /etc/hw_definitions/CUSTOM MODBUS DEVICE.yaml for an example
[EXTENSION_1]
global_id = 2 ; Mandatory, REQUIRED TO BE UNIQUE
device_name = xS40 ; Mandatory
modbus_uart_port = /dev/extcomm/0/0 ; Mandatory
;neuron_uart_circuit = 1_01 ; Optional, allows associating extensions with specific Neuron UART-over-Modbus ports (not possible for non-Modbus UART ports, e.g. /dev/ttyUSB0 or /
dev/ttyS0)
;allow_register_access = True ; Optional, False default, is mandatory with third-party devices
address = 2 ; Optional, 1 default
;scan_frequency = 10 ; Optional, 10 default, scanning frequency in [Hz]
;scan_enabled = True ; Optional, True default
; Note that the following settings will be inherited by other devices sharing the same port, i.e. /dev/extcomm/0/0
baud_rate = 19200 ; Optional, NEEDS UNIPI IMAGE TO WORK WITH UNIPI SERIAL PORTS! USE API TO CONFIGURE UART MANUALLY IF USING STANDARD RASPBIAN
parity = N ; Optional, NEEDS UNIPI IMAGE TO WORK WITH UNIPI SERIAL PORTS! USE API TO CONFIGURE UART MANUALLY IF USING STANDARD RASPBIAN
stop_bits = 1 ; Optional, NEEDS UNIPI IMAGE TO WORK WITH UNIPI SERIAL PORTS! USE API TO CONFIGURE UART MANUALLY IF USING STANDARD RASPBIAN
[EXTENSION_2]
global_id = 3 ; Mandatory, REQUIRED TO BE UNIQUE
device_name = xS40 ; Mandatory
modbus_uart_port = /dev/extcomm/0/0 ; Mandatory
;neuron_uart_circuit = 1_01 ; Optional, allows associating extensions with specific Neuron UART-over-Modbus ports (not possible for non-Modbus UART ports, e.g. /dev/ttyUSB0 or /dev/ttyS0)
;allow_register_access = True ; Mandatory with third-party devices
address = 12 ; Optional, 15 default
;scan_frequency = 2 ; Optional, 1 default, scanning frequency in [Hz]
;scan_enabled = True ; Optional, True default
[OWBUS_1]
owbus = /dev/i2c-1 --i2c=/dev/i2c-1:ALL ; Mandatory, scanned bus (--i2c=/dev/i2c-1:ALL or localhost:2122 or 'u' for USB dongle)
interval = 3 ; Mandatory, [s] length of sensor reading
scan_interval = 300 ; Mandatory, [s] How often the scanning is done
; See below for 1Wire extension module configuration
; Example for the 1W-4R/4DI extension module, 1W-8R is almost the same, only with inputs instead of relays
;
; - Map a new 1Wire sensor with the appropriate address, type and interval
; - The syntax can be either SENSOR or 1WDEVICE
; - Setting the correct reading interval is crucial to achieve ideal performance; the default interval is 15s
;
;[1WDEVICE_2]
;bus = 1
;address = 29F39A17000000BC
;type = DS2408
;interval = 1
;
;[1WRELAY_10]
;sensor = 2
;pin = 0
;
;[1WRELAY_11]
;sensor = 2
;pin = 1
;
;[1WRELAY_12]
;sensor = 2
;pin = 2
;
;[1WRELAY_13]
;sensor = 2
;pin = 3
;
;[1WINPUT_20]
;sensor = 2
;pin = 4
;
;[1WINPUT_21]
;sensor = 2
;pin = 5
;
;[1WINPUT_22]
;sensor = 2
;pin = 6
;
;[1WINPUT_23]
;sensor = 2
;pin = 7
Andreas
Hello @Martin-Kudláček
The issue that I'm experiencing is that the communication between the units are unstable. The lights are blinking asynchronically and there seems to be no logic in it. Sometimes things works stable for a little while, then stops working again. I'm using EVOK which I'm mainly talking ws with from a Node-RED.
I've made a short video that you can watch here https://www.dropbox.com/s/9fg3tknug736xja/IMG_1966.m4v?dl=0
BR,
Andreas
Hi,
I have one L513 and 2 xS40s. They are having a lot of issues communicating, and often needs to be rebooted. I've been trying to read through the documentation, but can not find a straight forward explanation as to how to connect them all. The extensions have modbus address 2 and 12, 19.2/N on both. One of the xS40s have the the end bit set. On the L513 I use the first 485 port and have set the end bit on that one too. Does this sound correct? Is there anything else I should be aware off? Which modbus address does the L513 get?
Thanks,
Andreas
@martin-kudláček Thanks! That worked! Maybe you could update your docs?
BTW: Version is Repository:evok ActiveBranch:[master] PrecedingRelease:v.2.0.7b PrecedingRevision:326(aacb3a9) LatestCommit:Mon Sep 10 11:39:34 CEST 2018
Hi!
After enabling "allow_register_access" I can access port 502 with telnet locally, but all other connections are not responded to. This used to work, but after an upgrade it seems to binding to the loopback interface only.
evok.conf:
[NEURON_1]
global_id = 1 ; Mandatory, REQUIRED TO BE UNIQUE
allow_register_access = True
scan_frequency = 10 ; Optional, 10 default, scanning frequency in [Hz]
scan_enabled = True
Output from netstat -lptu
root@L513-sn24:/home/pi# netstat -lptu
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:http 0.0.0.0:* LISTEN 1001/nginx: master
tcp 0 0 0.0.0.0:http-alt 0.0.0.0:* LISTEN 773/python
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN 997/sshd
tcp 0 0 localhost:502 0.0.0.0:* LISTEN 867/unipi_tcp_serve
tcp6 0 0 [::]:http-alt [::]:* LISTEN 773/python
tcp6 0 0 [::]:ssh [::]:* LISTEN 997/sshd
udp 0 0 0.0.0.0:bootpc 0.0.0.0:* 982/dhcpcd
udp 0 0 0.0.0.0:48767 0.0.0.0:* 899/avahi-daemon: r
udp 0 0 0.0.0.0:mdns 0.0.0.0:* 899/avahi-daemon: r
udp6 0 0 [::]:mdns [::]:* 899/avahi-daemon: r
udp6 0 0 [::]:58202 [::]:* 899/avahi-daemon: r
That worked! It needs a reboot between the first update and the unipi-stuff. Thanks!