Буду добавлять понемногу. Пример скрипта. Упрощенный формат протокола. 4. Basic communication over serial port
As noted above, device is controlled by writing and reading of some values ("objects properties").
Rules for serial port are following:
4.1. Writing a value over serial port.
To write a value master sends data packet with following text format:
“>2 B7=N..N\r”, where
‘>’ message header, indicates direction of transmission from master to slave
‘2’ –address of hardware unit '1' ...'99'
SPACE - separator
‘B’ - object number – can be character ‘A’…’Z’,
‘7’ - property number, can be 0..99.
‘=’ together with ‘>’ means write command
N..N – value which must be written in text format ( SIGNED 32 bits)
‘\r’=0x0d = CR character as last character in the message
If Slave accept message it answers by message with format:
“<2 B7=X..Y\r” where:
‘<’ message header, indicates direction of transmission from slave to master
‘2’ address of slave hardware unit of HTI 16V
SPACE separator
‘B’ object number
‘7’ property number
‘=’ together with ‘<’ means answer command with value
X..Y read value (signed 32 bit in text format)
\r = 0x0d CR character as last character in the message
Note: Volatile value (like time) can be not equal to written value, because they can change from moment of writing to moment of reading.
If slave doesn't accept write message, it answers by error write message:
“<2 B7!READONLY\r”, where:
‘<’ message header
‘2’ slave address
SPACE 0x20 fields separator
‘B’ Object number
‘7’ Property number
‘!’ error indicator
READONLY error name
\r = 0x0d CR character as last character in the message
4.2. Reading of value over serial port
To read value Master sends message of following format:
“>2 D8?\r” , where
‘>’ message header, indicates direction of transmission from master to slave
‘3’ address of slave hardware unit of HTI 16V
SPACE separator
‘D’ object number
‘8’ property number
‘?’ means request for the property value
\r = 0x0d CR character as last character in the message
Slave answers identically as for write command.