Difference between revisions of "NETIO UDP Discover"
(→Device type recognition) |
|||
Line 1: | Line 1: | ||
NETIO Discover uses UDP broadcast transmission. | NETIO Discover uses UDP broadcast transmission. | ||
+ | |||
+ | Here is Python | ||
+ | |||
+ | Python Netio Discover Class | ||
+ | Automatically detect all interfaces and sends UDP discover to search new NETIO devices on connected interfaces. | ||
+ | |||
+ | |||
+ | NETIO JAVA | ||
+ | |||
== Send Discover message: == | == Send Discover message: == |
Revision as of 01:55, 5 March 2020
NETIO Discover uses UDP broadcast transmission.
Here is Python
Python Netio Discover Class Automatically detect all interfaces and sends UDP discover to search new NETIO devices on connected interfaces.
NETIO JAVA
Send Discover message:
Destination: Broadcast (eg. 255.255.255.0)
Protocol: UDP
Destination Port: 62387
Data(HEX): 01ec00
Receive Discover response:
NETIO devices response with UDP broadcast message with destination port 62386. So listen on port 62386 and parse messages according to table below. Data are sent as datastream with flags inside. If you pass the end of known field types, ignore rest of data in datastream.
Listen protocol: UDP
Listen on port: 62386
Data(HEX):
Format: | 0x02 | 0xXX | 0xXX | F_TYPE | F_LENGTH | B0 | B1 | B2 | B3 | F_TYPE | F_LENGTH | B0 | B1 | B2 | B3 | B4 | B5 | F_TYPE | F_LENGTH ... |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Example: | 0x02 | 0xAB | 0x6B | 0x03 | 0x04 | 0xC0 | 0xA8 | 0x65 | 0x23 | 0x09 | 0x06 | 0x4E | 0x65 | 0x74 | 0x69 | 0x6f | 0x34 | ... | ... |
Meaning: | Response | magic | magic | IP | 4 bytes | 192 | 168 | 101 | 35 | PRODUCT | 6 bytes | N | e | t | i | o | 4 | ... | ... |
Field types:
F_TYPE code | Description | Data Interpretation | Data Length |
---|---|---|---|
0x01 | FIRMWARE_VERSION | ASCII | variable |
0x02 | MAC | INT | 6 |
0x03 | IP | INT | 4 |
0x04 | NETMASK | INT | 4 |
0x05 | HOSTNAME | ASCII | variable |
0x06 | DHCP | INT | 1 |
0x07 | SETUP STATE | INT | 1 |
0x08 | RESULT | INT | 1 |
0x09 | PRODUCT | ASCII | variable |
0x0A | MANUFACTURER | ASCII | variable |
0x0B | PLATFORM | ASCII | variable |
0x0C | VARIANT | ASCII | variable |
0x0D | TIMEOUT | INT | 1 |
0x0E | GATEWAY | INT | 4 |
0x0F | DNS | INT | 4 |
0x12 | PRETTY_PLATFORM_NAME | ASCII | variable |
0x13 | DEVICE NAME | ASCII | variable |
Device type recognition
All devices respons with its type. See the table below how to decode device type from FTYPE values.
Device | PRODUCT Value
(FTYPE 0x09) |
PRETTY_PLATFORM_NAME Value
(FTYPE 0x12) |
Num of outputs | Measured outputs | Dry contact inputs |
---|---|---|---|---|---|
NETIO 4 | Netio4 | NETIO 4 | 4 | - | - |
NETIO 4All | Netio4 | NETIO 4All | 4 | 1,2,3,4 | - |
NETIO 4C | Netio4 | NETIO 4C | 4 | - | - |
PowerPDU 4C | Netio4 | PowerPDU 4C | 4 | 1,2,3,4 | - |
PowerCable OEM | COBRA | - | 1 | 1 | - |
PowerCable 101x | PowerCable | - | 1 | 1 | - |
PowerCable 101F | PowerCable 101F | - | 1 | 1 | - |
PowerCable 101E | PowerCable 101E | - | 1 | 1 | - |
PowerCable 101G | PowerCable 101G | - | 1 | 1 | - |
PowerCable 101J | PowerCable 101J | - | 1 | 1 | - |
PowerCable 101S | PowerCable 101S | - | 1 | 1 | - |
PowerCable 101B | PowerCable 101B | - | 1 | 1 | - |
PowerPDU 4PS | PowerPDU 4PS | - | 4 | - | - |
PowerBOX 3PF | PowerBOX 3PF | - | 3 | - | - |
PowerBOX 3PE | PowerBOX 3PE | - | 3 | - | - |
PowerBOX 3PG | PowerBOX 3PG | - | 3 | - | - |
PowerDIN 4PZ | PowerDIN 4PZ | - | 4 | 1,2 | 2 |