资源描述
Olympus C2020数码相机通信协议剖析
阿呆 2000/12/20
PC机往相机方向发送的消息
本文档中的长度、内容、校验都是低位在前面的字节,高位在后面的字节。比方:时间 在消息中表现出来的字节顺序是0X1E 0X14 0X74 0X36 ,那么表示的值是 0X36*256*256*256+0X74*256*256+0X14*256+0X1 E。
消息格式说明:
消息说明
协议头
消息内容长度
消息内容
校验
正常消息
0X1B0X43
2 个 BYTE
下面说明
2 个 BYTE
波特率消息
OX IB 0X53
检测相机消息
0X00
无
无
无
确认消息
0X06
1. 确认消息表示PC机已经收到了相机的消息。
2. 检测相机消息表示在启动传输之前必须检测相机,看相机是否准备好。
3. 删除照片消息有特殊要求,必须请求现有照片张数,然后删除,删除后等待相机消 息0x05,表示删除完成,然后等待相机Oxff消息,表示结束本次通信,然后重新 建立通信,即可删除下一幅照片。
各种消息:
1. 波特率消息:
消息内容:OXCX) 0X11 0XYY 0X00 0X00 OXOOo 其中 0XYY 表示0X00:恢复默认设置
0X01: 9600BPS0X02: I9200BPS
0X03: 38400BPS0X04: 576(X)BPS
0X05: 115200BPS0X06: 235100BPS
2. 启动消息:
IB 43 06 00 00IB 43 02 00 04
06IB 43 0A 00 03 //设置到
IB 43 02 00 0106
IB 43 02 00 0106
IB 43 03 00 03IB 43 OA 00 03
//IB 43 06 00 00
IB 43 02 00 0406
IB 43 OA 00 03//
IB 43 02 00 0106
IB 43 03 00 03//
IB 43 OA 00 03//
IB 43 OA 00 03//
IB 43 02 00 0106
IB 43 06 00 00IB 43 02 00 04
06IB 43 06 00 00
IB 43 02 00 0406
IB 43 06 00 00IB 43 02 00 04
06IB 43 02 00 04
06IB 43 02 00 04
06IB 43 02 0() 04
06IB 43 03 00 03
IB 43 OA 00 0301 (目录号)00 00 00 54 00 〃定位到一号子目录
53 58 00 //得到日录名称
54
44
43
49
41)
20
20
20
20
F4
01
D
C
I
M
53
54
00
53
54
00
54
5C
B3
00
54
44
43
49
41)
20
20
20
20
F4
01
D
C
I
53
01
00
00
00
54
00
54
58
00
54
31
30
30
4F
4C
59
41)
50
79
02
1
0
0
0
L
Y
M
P
53
54
00
54
5C
1
B3
00
54
|
44
43
49
4D
20
20
20
20
F4
01
D
C
I
54
31
30
30
4F
4C
59
4D
50
79
02
1
0
0
0
L
Y
V
P
0A 0B 00 //现有几张照片
04
01
00
00
00
05
00
4F
53
00
得全
炫
件名
04
02
00
00
00
06
00
4F
53
00
04
03
00
00
00
07
00
4F
53
00
16
1A
00
1B
1F
00
1B
1F
00
54
5C
B3
00
54
44
43
49
4D
20
20 20 20 F4 01
1B
43
0A
00
03
54
31
30
30
4F
4C
59 4D 50 79 02
1B
43
02
00
01
0A
0B
00
06
1B
43
06
0()
00
04
01
00
00
00
05
00
1B
43
02
00
04
4F
53
00
06
1B
43
06
00
00
04
02
00
00
00
06
00
1B
43
02
00
04
4F
53
00
06
1B
43
06
00
00
04
03
00
00
00
07
00
1B
43
02
00
04
4F
53
00
06
〃第一张照片索引06
1B
43
02
00
01
12
13
00
06
1B
43
06
00
00
04
01
00
00
00
05
00
1B
43
02
00
01
0D
0E
00
06
1B
43
06
00
00
04
01
00
00
00
05
00
1B
43
02
00
04
2F
33
00
〃:
得全
V一般属性
06
1B
43
06
00
00
04
01
00
00
00
05
00
1B
43
02
00
01
0D
0E
00
06
1B
43
02
00
04
0F
13
00
06
06
06
1B
43
06
00
00
04
01
00
00
00
05
00
1B
43
02
00
04
2F
33
00
06
1B
43
02
00
04
IB
IF
00
〃第二张照片索引
1B 43 02 00 01 12 13 0006
O O Q O d O1B 43 02 0() 04 IB 1F 00
0600
1B 5306
0000
1102
00
0000
1300
1B 4302
0001
1213
00
06IB
4306 00 00 04 02
0000 00 06 00
IB43
02 00 04 4A 4E00
//得到详细属性06
附录2 相机向计算机发送的消息以下为开始:
15()3 0() ()4 0() ()1 ()0 0() (X) ()1 (X)启动相机的应答
03 00 04 00 33 DF 74 36 BCOI 相机时间03 00 04 00 11 00 00 00 11 00 已有照片数
03 00 04 00 08 00 00 00 08 00还可以拍的照片数以下为传输索引:
06确认03 00 (M 00 01 00 00(X)01 00
03 00 04 00 01 00 00 00 01 00一幅照片的索引:
0603 00 04 00 85 04 00 00 89 00 索引氏度
03 00 85 04下载索引FF D8 FF DB 00 C5 (X) 0D 09 0A OB 0A 08 0D 0B
B4 50 01 45 00 14 B4 0051 40 05 14 00 51 40 0B4A 29 Al IFFF D9 77 82 (最后两个字节为校验)
06()3 0() ()4 0() (X)(是否锁定)()0 0() (X) ()0 0()没有被锁定
以下为传输照片:
0603 00 04 00 01 00 00 00 01 00
03 00 04 00 01 00 00 (X) ()1 0()传输一幅照片:
0603 00 04 00 9CB9 01 00 56 01 照片长度
02 00 00 08传输照片第零帧FF D8 FF El 1C 45 45 78 69 66 00 (X) 49 49
2A 00 08 00 00 00 0B 00 0E01 02 00 20 00 00 00FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FFBC58 (最后两个字节为校验)
02 01 00 08传输照片第-•帧FF D8 FF DB ()0 C5 0() 0D
09 0A OB 0A 08 0D OB OB OB OF 0E 0D 10 1421 150B 21 CF 9E DF 8F 34 49 DB 40 43 62 B2 92 10E1
2E21 C3 AE D3 BE DC 3154 4A (两字节校验)
02 02 00 08传输照片第二帧1F4C
9E OF B8 A8 E3 D3 06 FF 00 DE DE 0C 7F B3 6F FFED DO 46 A5 89 FC 33 F5 A5 74 B7 01 87 57 B6 0A
4B 5ACEA0 36 D2 4A 11 83 E9 D7AD 3E 2B7A FB
02 03 00 08传输照片第三帧E8 E7 4D DI 5B C8 57 A7 2C 05 11 6A
4AF1 77 13D3 71 FE 6E 7F E5 89 1FF0 3FFEB534 98 CD 00 1C F6 E9 4B 40 07 5A OF 4E 94 00 73 OF 2E
02 36 00 08传输照片第36帧4A4D00 07 ID 33 47 4E71 40
09 91 9E 94 75 E8 68 (X) 04 FADI 81 E9 93 40075C 0E B4 60 6D EB 40 08 ()0 C5 1C OF 5A 00 09 A5
26 80 0E 39 CD 1803 5F
03 37 9C0I传输照片最后一帧(即第37帧)1DE8 00 06
8E 3D 28 00 CO 3C 67 14 1C 7D 28 00 C0A4 18 CDFB 0A 60 29 CO C7 14 31 04 F5 FD 29 88 55 C6 39
A3 80 70 3B DO 07 FF D966 AC (两字节校验)
0603 00 04 00 00 00 00 00 00 00 未锁定
FF结束本次通信以下为删除照片:
1503 00 04 00 01 00 00 00 01 00
03 00 04 00 01 00 00 00 01 0003 00 04 00 02 00 00 00 02 00
03 00 04 00 0F 00 00 00 00 OF 0006
03 00 04 00 00 00 00 00 00 0006
0605本照片己经删除完毕
FF另一份相机发送的消息:
15
06
03 00040001()0
03 0006005352
//SR
03 0019004F4C
2E 00 83 06
0() 00 ()1 0()
39 35 34 00 47 01
9 5 4
59 4D 50 55 53 20 4F 50 54 49 43 41 4C 20 43 4F 2E 2C 4C 54 44
//相机公司:()L Y M PUS OPTICAL CO. , L T
03 00 04 00 64 00
03 00 58 0() 01 00
00 00 00 00 00 00
00 00 00 00 00 00
00 00 00 00 00 00
00 00 00 00 00 00
00 00 00 00 00 00
00 006400//?
0() 00()00()00()00000()0
00 000000000000000000
00 000050414E0000()000
00 000000000000000000
00 00000000000000A06C
00 00 00 00 00 00 00 EC 01 //?
03 00 04 00 47 0A 7E 36 05 01 //时间
03 00 17 00 4F 4C 59 4D 50 55 53 20 44 49 47 49 54 41 4C 20 43 41 41) 45 52 41 0020 06
//相机类型:
0
L Y
J/
P
U
S空格D
I
G
I
T
A
LC A
E
R
A
06
03 00 04 00
01
00 00
00
01
00
06
06
03 00 09 00
44
43 49
40
20
20
20 20 00
91)
01
//
D
C I
M
06
03 00 04 00
01
00 00
00
01
00
03 00 04 00
01
00 00
00
01
00
06
06
06
03 00 09 00
31
30 30
4F
4C
59
4D 50 00
22
02
//
1
0 0
0
L
Y
,P
06
03 00 04 00
00
00 00
00
00
00
06
06
06
03 00 04 00
03
00 00
00
03
00
//现有几张照片
06
03 00 0D 00
50
43 32
30
30
30
30 31 2E
4A
50
47
00
C5
02
〃文件名:
P
C 2
0
0
0
0 1 .
J
P
G
06
03 00 0D 00
50
43 32
30
30
30
30 32 2E
4A
50
47
00
C6
02
//文件名:
P
C 2
0
0
0
0 2 .
J
P
G
06
03 00 0D 00
50
43 32
30
30
30
30 33 2E
4A
50
47
00
C7
02
〃文件名:
P
C 2
0
0
0
0 3 .
J
P
G
03 00 17 00
4F
4C 59
41)
50
55
53 20 44
49
47
49
54
41
4C 20 43 41
41)
45
52
41
20 06
//相机类型:
0
L Y
P
U
S空格D
I
G
I
T
A
LC A
E
R
A
03 00 06 00
53
52 39
35
34
00
47 01
//
S
R 9
5
4
03 00 06 00
53
52 39
35
34
00
47 01
//
S
R 9
5
4
06
06
06
03 00 04 00
03
00 00
00
03
00
〃现有照片数
0603 00 0D 00 50 43 32 30 30 30 30 31 2E 4A 50 47 00 C5 02
06
03
00
OD
00
50
43
32
30
30
0 0 1. JPG
30 30 32 2E 4A 50 47 00 C6 02
06
03
03
00
OD
00
50
43
32
30
30
30
30
33
2E
4A
50
47
00
C7
02
03 00 ()4 00 01
00
00
00 ()1 0()
06
03 00 04 00 25
10
00
00 35 00
06
03 00 20 00 7A
FB
04
00 25 10 00 00 00 00 00
00 02 00 00 00
00
0()
00 00 E3 26 7D 36 00 00 0()
00 00 00 00 00
6C
03
06
03 00 04 00 25
10
00
00 35 00
02 00 00 08 FF
D8
FF
DB 00 C5 00 OD 09 OA
OB OA 08 OD OB
OB
OB
OF OE OD 10 14 21 15 14 12
12 14 28 ID IE
18
21
30 2A 32 31 2F 2A 2E 2D 34
3B 4B 40 34 38
47
39
2D 2E 42 59 42 47 4E 50 54
55 54 33 3F 5D
63
5C
52 62 4B 53 54 51 01 OE OF
OF 14 11 14 27
15
15
27 51 36 2E 36 51 51 51 51
51 51 51 51 51
51
51
51 51 51 51 51 51 51 51 51
03 00 ()4 00 01
00
00
00 ()1 0()
06
03 00 04 00 25
10
00
00 35 00
06
03 00 20 00 7A
FB
04
00 25 10 00 00 00 00 00
00 02 00 00 00
00
0()
00 00 E3 26 7D 36 00 00 0()
00 00 00 00 00
6C
03
06
03 00 04 00 25
10
00
00 35 00
02 00 00 08 FF
D8
FF
DB 00 C5 00 OD 09 OA
OB OA 08 OD OB
OB
OB
OF OE OD 10 14 21 15 14 12
12 14 28 ID IE
18
21
30 2A 32 31 2F 2A 2E 2D 34
3B 4B 40 34 38
47
39
2D 2E 42 59 42 47 4E 50 54
55 54 33 3F 5D
63
5C
52 62 4B 53 54 51 01 OE OF
OF 14 11 14 27
15
15
27 51 36 2E 36 51 51 51 51
51 51 51 51 51
51
51
51 51 51 51 51 51 51 51 51
01
FF
D9
CB
E5
06
03
00
20
00
4E
56
05
00
CB
OD
00
00
00
00
00
00
02
00
00
00
00
00
00
00
E3
2D
7D
36
00
00
00
00
00
00
00
00
46
03
03
00
06
00
53
52
39
35
34
00
47
01
FF
15
06
03
00
04
00
01
00
00
00
01
00
06
03
00
4C
00
01
00
00
00
OA
00
00
00
28
00
00
00
5A
0()
()0
00
OA
00
()0
00
31
39
39
38
3A
31
32
3A
〃
1
g
9
8
:
1
2
:
32
30
20
31
37
3A
30
31
3A
30
30
00
00
00
00
00
//;
20 .
空松
¥ 1
7
•
0
1
•
0
0
OA 00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 00 00 00 00 00 00 0() 00 42 00 00 00 OA 00 00 0() C3 04 FF //照片详细属性FF
消息内容:0XOI 0X12请求时间:
消息内容:0X01 0X02设置时间:
消息内容:0X00 0X02 OXAA OXBB OXCC 0XDD,其中 OXAA OXBB OXCC 0XDD 是以 秒为单位的时间,绝对0不知表示的是什么时间。0X80 0X43 0X6D 0X38表示2000年1月 1日0时0分。秒。
3. 己经拍得的照片数:
消息内容:0X01 0X0A还可以拍几张照片:
消息内容:0X01 0X0B设置相机的读写指针到第几张照片:
消息内容:0X00 0X04 OXAAOXBB OXCC 0XDD,其中 OXAA OXBB OXCC OXDD 是定 位到第几张照片得到索引长度:
消息内容:0X01 0X0D下载索引:
消息内容:0X04 OXOF得到照片长度:
消息内容:0X01 OXOC下载照片:
消息内容:0X04 OXOE照片是否被锁定:
消息内容:0X01 0X27删除照片:
消息内容:0X02 0X07相机的公司名称:
消息内容:0X04 0X30请求 SR954:
消息内容:0X04 0X1B请求相机ID:
消息内容:0X04 0X16得到照片的一般属性:
消息内容:0X04 0X2F得到照片的详细属性:
消息内容:()X()4 0X4A设置相机的目录:
消息内容:0X03 0X54 OXYYOXZZ...,其中OXYY OXZZ表示目录名称。
4. 取得本目录下的目录数:
消息内容:0X01 0X53设置读写指针到第几个目录:
消息内容:0X00 0X53 OXAA OXBB OXCC OXDD,其中 OXAAOXBB OXCC OXDD 表示 目录序号。
5. 取得目录名称:
消息内容:0X04 0X5423.取得文件名:
消息内容:0X04 0X4F相机往PC机方向发送的消息
消息格式说明:
消息说明
协议头
本次消息序 号(从()开
始)
消息内容长 度
消息内容
校验
正常消息
0X03
1 个 BYTE
2 个 BYTE
下面说明
2 个 BYTE
传输内容大 于2K时的
2K消息
0X02
检测相机消 息
0X15
无
无
无
无
确认消息
0X06
删除一幅照 片完成消息
0X05
传输结束消 息
0XFF
1. 传输结束消息表示相机己经复位成传输以前的状态,如果相机要发送其他消息,那么要先检测相机,然后发送波特率,然后发送启动消息,然后其他消息。这是相机唯 一主动发送的消息。
2. 删除一幅照片完成消息表示本次要删除的照片己经删除完成,可以删除其他照片或 进行其他操作。
3. 确认消息在PC机发送索引或删除消息时,表示己经收到该消息,并且相机无消息 要发送。
4. 检测相机消息表示PC机检测相机时,相机给出的应答。
5. 校验为消息内容的按字节加。
6. 0X02开始的消息,其长度固定为2048,所以其长度字段的2个字节为0X000X08。
各种消息:
1. 启动应答消息:
消息内容:0X01 0X00 0X00 0X00 o时间消息:
消息内容:以秒为单位表示的时间,4个BYTE.
2. 现有照片数:
消息内容:照片数,4个BYTE。
3. 还可以拍的照片数:
消息内容:照片数,4个BYTE。
4. 索引长度消息:
消息内容:以字节为单位的长度,4个BYTEo
5. 是否锁定消息:
消息内容:0X00 0X00 0X00 0X00,表示本照片未被锁定。
0X01 ()X(X) 0X00 0X00,表示本照片己经被锁定,不能删除。
6. 照片长度消息:
消息内容:以字节为单位的长度,4个BYTE。
7. 相机的公司名称:
消息内容:公司名称。
8. SR954:
消息内容:SR954。
9. 相机ID:
消息内容:相机ID。
10. 照片的一般属性:
消息内容:照片属性,具体属性不知怎么区分。
11. 照片的详细属性:
消息内容:详细属性,从第21字节开始共19字节表示拍照片时间,是用ASCII码表示 的时间。例如:03 00 4C 00 01 00 00 00 0A 00 00 00 28 00 00 00 5A 00 00 00 0A 00 00 00 31(1) 39(9) 39(9) 38(8) 3A(:)31(1) 32(2) 3A(:) 32(2) 30(0) 20( ) 31(1) 37(7) 3A(:) 30(0) 31(1) 3A(:) 30(0) 30(0) 00 00 00 00 00 0A 00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 00 00 00 00 00 00 ()0 00 42 ()0 (X) ()0 0A 0() ()0 0() C3 04 ,里面包含时间 1998 年 12 月 2()日 17 时 01 分()0 秒。
12. 本目录下的目录数:
消息内容:目录数。
13. 目录名称:
消息内容:目录名称。
14. 文件名:
消息内容:以0X00结尾的文件名。
PC机与相机之间的协议过程协议过程如下列图所示:
说明:
1.每次交互都由计算机发起,相机应答;
2. 如果相机应答的是数据(以()X()3开头),那么计算机再发0X06应答,结束本次交互;
3. 如果相机应答的是0X06或0X05或0XFF或0X15,那么结束本次交互;如果相机应答的是数据(以()X02 0X0()开头),那么计算机再发0X06应答,相机再 发数据(以0X02 0X01开头),计算机再发0x06应答,如此反复,直到相机发数据
(以0X03 0XYY+1开头),计算机以0X06应答,结束本次交互。
4. 每次通信开始时,如果上次的通信过程中,相机还没有发送0XFF,那么本次通信开 始时,不要发送相机检测消息,直接发送波特率消息及其以后的消息。
5. 在PC机向相机索取索引长度、下载索引,索取照片是否被锁定,删除照片,索取 照片长度、下载照片时,都需要先发送设置相机的读写指针到第几张照片消息。以 便相机能够取到正确的信息。
6. 对于目录与文件名的取得与设置有特殊之处,要求顺序进行,可以参考后面的消息。
7. 每次通信开始时,计算机先以19200bps波特率发送消息0x(X),接收到0x15后,再 以19200bps波特率发送波特率消息,告诉相机从下一条消息开始,双方的波特率 都转换成波特率消息中所设置的波特率。计算机接收到相机以19200bps发送的0x06 消息以后,所有以后的本次通信的消息都以波特率消息所设置的波特率通信。
附录1计算机向相机发送的消息
注:以下的数字都是16进制的值以下为开始:
00检测相机1B 53 06 00 00 11 02 (波特率)00 00 (X) 13 00 波特率消息
1B43 02 00 01 12 13 00 启动相机06确认
1B43 02 00 01 02 03 00索取相机时间06
1B43 02 00 01 0A 0B 00相机里已经有几张照片06
1B43 02 0001 OB 0C 00相机还可以拍儿张照片06
以下为得到照片的索引:
IB 43 02 00 01 12 13 0006
第一幅照片的索引:
IB 43 06 00 00 04 01 (第儿幅照片)00 00 00 05 00将相机的读写指针定位到第儿幅照片1B43 02 00 01 0D 0E 00索取本幅照片索引长度
061B43 02 00 04 0F1300请求下载索引
06 061B43 06 00 00 04 01 00 00 00 05 00
1B 43 02 00 01 27 28 (X)本照片是否被锁定06
第二幅照片的索引:
1B43 06 00 00 04 02 00 00 00 06 00IB 43 02 00 01 0D 0E00
06IB 43 02 00 04 OF 1300
06 06IB 43 06 00 00 04 02 00 00 00 06 00
IB 43 02 00 01 27 28 0006
第三幅照片的索引:
IB 43 06 ()0 0()0403 (X) 0()0()()7 00IB 43 02 00 01 0D 0E 00
06IB 43 02 00 04 OF 1300
06 06IB 43 06 00 00 04 03 00 00 (X) 07 00
IB 43 02 00 01 27 28 0006
第四幅照片的索引:
IB 43 06 0() 00 04 04 (X) 0()00 08 00IB 43 02 00 01 0D 0E 00
06IB 43 02 00 04 OF 1300
06 061B 43 06 ()0 0() 04 04 (X) ()0 0() ()8 00
IB 43 02 00 01 27 28 0006
第五幅照片的索引:
1B 43 06 00 (X) 04 05 00 00 00 09 00IB 43 02 00 01 0D 0E00
06IB 43 02 00 04 OF 13 00
06 061B 43 06 00 ()0 04 ()5 0() ()0 00 09 00
IB 43 02 00 01 27 28 0006
第六幅照片的索引:
IB 43 06 00 00 04 06 (X) 00 00 0A00IB 43 02 00 01 OD OE00
06IB 43 02 00 04 OF 13 00
06 061B 43 06 00 00 04 06 ()0 00 00 OA 00
IB 43 02 00 01 27 28 0006
以下为得到照片:
IB 53 06 00 00 11 02 00 00 00 13 001B43 02 0001 12 13 00
06IB 43 02 00 01 12 13 00
06得到第二幅照片:
IB 43 06 00 00 04 02 00 00 00 06 00IB 43 02 00 01 OC OD 00索取照片长度
061B43 02 00 04 0E 1200 下载照片
06 06 06 06 06 06 06 06 06 0606 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06
06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 0606 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06
06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 0606 06 06 06 06 06 06 06 06 06 06 06 06 06 06 06
06 06 06 06 06 06 06 06 06 06 06 06 06 06 06 0606 06 06 06 06 06 06 06 06 06 06
展开阅读全文