mirror of
https://github.com/emqx/neuron.git
synced 2026-10-23 10:22:32 +08:00
151 lines
5.5 KiB
Plaintext
151 lines
5.5 KiB
Plaintext
*** Settings ***
|
|
Library Keyword.Neuron.GrpConfig
|
|
Library Keyword.Neuron.Neuron
|
|
Library Keyword.Neuron.Node
|
|
Library Keyword.Neuron.Subscribe
|
|
Library Keyword.Neuron.Read
|
|
Library Keyword.Neuron.Tag
|
|
Library Keyword.Neuron.Tool
|
|
|
|
Resource error.resource
|
|
Resource simulator.resource
|
|
|
|
*** Variables ***
|
|
${NODE_UNKNOWN} 0
|
|
${NODE_DRIVER} 1
|
|
${NODE_WEB} 2
|
|
${NODE_MQTT} 3
|
|
${NODE_STREAM_PROCESSOR} 4
|
|
${NODE_APP} 5
|
|
|
|
${NODE_CTL_START} 0
|
|
${NODE_CTL_STOP} 1
|
|
|
|
${NODE_STATE_IDLE} 0
|
|
${NODE_STATE_INIT} 1
|
|
${NODE_STATE_READY} 2
|
|
${NODE_STATE_RUNNING} 3
|
|
${NODE_STATE_STOP} 4
|
|
|
|
${NODE_LINK_STATE_DISCONNECTED} 0
|
|
${NODE_LINK_STATE_CONNECTING} 1
|
|
${NODE_LINK_STATE_CONNECTED} 2
|
|
|
|
${TAG_ATTRIBUTE_READ} 1
|
|
${TAG_ATTRIBUTE_WRITE} 2
|
|
${TAG_ATTRIBUTE_SUBSCRIBE} 4
|
|
${TAG_ATTRIBUTE_RW} 3
|
|
|
|
${TAG_DATA_TYPE_BYTE} 2
|
|
${TAG_DATA_TYPE_INT8} 3
|
|
${TAG_DATA_TYPE_INT16} 4
|
|
${TAG_DATA_TYPE_INT32} 5
|
|
${TAG_DATA_TYPE_INT64} 6
|
|
${TAG_DATA_TYPE_UINT8} 7
|
|
${TAG_DATA_TYPE_UINT16} 8
|
|
${TAG_DATA_TYPE_UINT32} 9
|
|
${TAG_DATA_TYPE_UINT64} 10
|
|
${TAG_DATA_TYPE_FLOAT} 11
|
|
${TAG_DATA_TYPE_DOUBLE} 12
|
|
${TAG_DATA_TYPE_BOOL} 13
|
|
${TAG_DATA_TYPE_BIT} 14
|
|
${TAG_DATA_TYPE_STRING} 15
|
|
|
|
${PLUGIN_MODBUS_TCP} modbus-tcp-plugin
|
|
${PLUGIN_MQTT} mqtt-plugin
|
|
|
|
${MQTT_FUNC_LOGIN} ${1}
|
|
${MQTT_FUNC_LOGOUT} ${2}
|
|
${MQTT_FUNC_READ} ${3}
|
|
${MQTT_FUNC_WRITE} ${4}
|
|
${MQTT_FUNC_GET_TTY} ${5}
|
|
${MQTT_FUNC_ADD_GROUP_CONFIG} ${6}
|
|
${MQTT_FUNC_UPDATE_GROUP_CONFIG} ${7}
|
|
${MQTT_FUNC_DELETE_GROUP_CONFIG} ${8}
|
|
${MQTT_FUNC_GET_GROUP_CONFIG} ${9}
|
|
${MQTT_FUNC_SUBSCRIBE_GROUP_CONFIG} ${10}
|
|
${MQTT_FUNC_UNSUBSCRIBE_GROUP_CONFIG} ${11}
|
|
${MQTT_FUNC_GET_SUBSCRIBE_GROUP_CONFIG} ${12}
|
|
${MQTT_FUNC_ADD_TAGS} ${13}
|
|
${MQTT_FUNC_UPDATE_TAGS} ${14}
|
|
${MQTT_FUNC_DELETE_TAGS} ${15}
|
|
${MQTT_FUNC_GET_TAGS} ${16}
|
|
${MQTT_FUNC_ADD_NODES} ${17}
|
|
${MQTT_FUNC_UPDATE_NODES} ${18}
|
|
${MQTT_FUNC_DELETE_NODES} ${19}
|
|
${MQTT_FUNC_GET_NODES} ${20}
|
|
${MQTT_FUNC_NODE_SETTING} ${21}
|
|
${MQTT_FUNC_GET_NODE_SETTING} ${22}
|
|
${MQTT_FUNC_NODE_CONTROL} ${23}
|
|
${MQTT_FUNC_GET_NODE_STATE} ${24}
|
|
${MQTT_FUNC_ADD_PLUGIN} ${25}
|
|
${MQTT_FUNC_UPDATE_PLUGIN} ${26}
|
|
${MQTT_FUNC_DELETE_PLUGIN} ${27}
|
|
${MQTT_FUNC_GET_PLUGIN} ${28}
|
|
${MQTT_FUNC_PING} ${29}
|
|
|
|
${MQTT_UUID} 123456-789abc-123456-aabbcc
|
|
${MQTT_CONFIG_HOST} 127.0.0.1
|
|
${MQTT_CONFIG_PORT} ${1883}
|
|
${MQTT_CONFIG_REQ_TOPIC} neuronlite/request
|
|
${MQTT_CONFIG_RES_TOPIC} neuronlite/response
|
|
${MQTT_CONFIG} {"req-topic": "${MQTT_CONFIG_REQ_TOPIC}",
|
|
... "res-topic": "${MQTT_CONFIG_RES_TOPIC}",
|
|
... "ssl": false, "host": "${MQTT_CONFIG_HOST}", "port": ${MQTT_CONFIG_PORT},
|
|
... "username": "", "password": "", "ca-path":"", "ca-file": ""}
|
|
|
|
${MODBUS_TCP_CONFIG} {"host": "127.0.0.1", "port": 60502, "connection_mode": 0}
|
|
${OPCUA_CONFIG} {"host": "127.0.0.1", "port": 4840, "username": "user", "password": "123456"}
|
|
|
|
*** Keywords ***
|
|
To Array
|
|
[Arguments] ${str_array}
|
|
${tmp} Array ${str_array}
|
|
[RETURN] ${tmp}[0]
|
|
|
|
Neuron Ready
|
|
Start Neuron
|
|
Sleep 3
|
|
|
|
Compare Tag Value As Bool
|
|
[Arguments] ${tags} ${id} ${value}
|
|
|
|
${ret} = Compare Tag Value Bool ${tags} ${id} ${value}
|
|
|
|
Should Be Equal As Integers ${ret} 0
|
|
|
|
Compare Tag Value As Int
|
|
[Arguments] ${tags} ${id} ${value}
|
|
|
|
${ret} = Compare Tag Value Int ${tags} ${id} ${value}
|
|
|
|
Should Be Equal As Integers ${ret} 0
|
|
|
|
Compare Tag Value As Float
|
|
[Arguments] ${tags} ${id} ${value}
|
|
|
|
${ret} = Compare Tag Value Float ${tags} ${id} ${value}
|
|
|
|
Should Be Equal As Integers ${ret} 0
|
|
|
|
Compare Tag Value As String
|
|
[Arguments] ${tags} ${id} ${value}
|
|
|
|
${ret} = Compare Tag Value String ${tags} ${id} ${value}
|
|
|
|
Should Be Equal As Integers ${ret} 0
|
|
|
|
Import Neuron API Resource
|
|
${api} = Get Variable Value ${NEURON_API} http
|
|
IF $api.lower() not in ["mqtt", "http"]
|
|
Fatal Error Neuron API should be `http` or `mqtt`, `${NEURON_API}` unsupported
|
|
END
|
|
|
|
Set Global Variable ${NEURON_API} ${api}
|
|
Set Global Variable ${NEURON_API_RESOURCE} api_${api}.resource
|
|
Log To Console Neuron API is `${NEURON_API}`, load resource `${NEURON_API_RESOURCE}`
|
|
Import Resource ${NEURON_API_RESOURCE}
|
|
|
|
Skip If Not Http API
|
|
Skip If $NEURON_API != "http" Current API is not `http`, just skip
|