REV 1.0b E2BOX COMPANY http://www.e2box.co.kr E 2B O X
이문서는 EBhostW의 USB Serial 출력사용시필요한프로토콜을다루고있습 니다. Mini USB 커넥터 E 2B O X 2
1. SERIAL COMMUNICATION PROTOCOL SEQUENCE 1-1. Data Output 1-1-1. 일반적인데이타출력 10ms ~1s 설정가능 output rate EBHost DATA DATA DATA DATA PC 1-1-2. Output Rate 를초과하는데이터의출력 데이타출력후즉시다음데이타출력 output rate EBHost DATA DATA DATA PC E 2B O X 3
1-2. Commnd Operations 데이타전송중지 EBHost DATA DATA Comand 수신모드 PC '<' COMMAND about 500ms Execution <Resp.> DATA DATA '>' E 2B O X 4
2. COMMUNICATION PROTOCOL DESCRIPTIONS 2-1. ASCII OUTPUT DATA FORMAT (ASCII 출력모드는 <soc1> 명령으로설정할수있습니다.) CH - ID sp DATA 1 sp DATA 2 sp... sp DATA n EOL channel - sensor id, ascii data 1, ascii data 2,..., ascii data n CR LF CH : 데이터를보낸센서의채널 - : 채널과아이디구분자 '-' (2D)hex ID : 데이터를보낸센서의 ID sp : separator ',' (2C)hex DATA n :n 번째데이터 EulerAngle(sof1) / Gyro(sof3) 모드출력순서 DATA1 DATA2 DATA3 DATA4 DATA5 DATA6 DATA7 DATA8 DATA9 DATA10 DATA11 Roll Pitch Yaw ( 가속도X) ( 가속도Y) ( 가속도Z) ( 지자기X) ( 지자기Y) ( 지자기Z) ( 온도) ( 배터리) Quaternion(sof2) 모드출력순서 DATA1 DATA2 DATA3 DATA4 DATA5 DATA6 DATA7 DATA8 DATA9 DATA10 DATA11 DATA12 Q1 Q2 Q3 Q4 ( 가속도X) ( 가속도Y) ( 가속도Z) ( 지자기X) ( 지자기Y) ( 지자기Z) ( 온도) ( 배터리) 가속도, 지자기, 온도센서, 배터리값출력은설정에의해 ON/OFF 할수있습니다. EOL :CR (0D)hex LF(0A)hex ex) EulerAngle 출력모드 :100-3,6.69,2.26,-36.42,92(CR)(LF) 100번채널의 3번아이디를가진센서의데이타 Roll :+6.69, Pitch : +2.26, Yaw :-36.42, 배터리잔량 :92 ex) Quaternion출력모드 100번채널의 0번아이디를가진센서의데이타 100-0,-0.2686,0.0945,0.0091,0.9585,50(CR)(LF) Q1 :-0.2686, Q2 : 0.0945,Q3 :0.0091,Q4 :0.9585, 배터리잔량 :50 E 2B O X 5
2-2. HEX(binary) OUTPUT DATA FORMAT (Hex 출력모드는 <soc2> 명령으로설정할수있습니다.) 2byte 1byte 1byte 2byte 2byte 2byte 2byte SOP CH ID DATA 1 DATA 2... DATA n CHK CH과 ID, Batt를제외한항목은 16bit(2byte) 이며 2 의보수형식으로출력됩니다. SOP :(5555)hex 2의보수 HEX Decimal 0111 1111 1111 1111 7FFF 32767. 0000 0000 0000 0001 0001 1 0000 0000 0000 0000 0000 0 1111 1111 1111 1111 FFFF -1. 1000 0000 0000 0000 8000-32768.... CH : 데이터를보낸센서의채널 ID : 데이터를보낸센서의 ID DATA n :n 번째데이터 EulerAngle(sof1) / Gyro(sof3) 모드출력순서 DATA1 DATA2 DATA3 DATA4 DATA5 DATA6 DATA7 DATA8 DATA9 DATA10 DATA11 Roll Pitch Yaw ( 가속도X) ( 가속도Y) ( 가속도Z) ( 지자기X) ( 지자기Y) ( 지자기Z) ( 온도) ( 배터리) 1byte Quaternion(sof2) 모드출력순서 DATA1 DATA2 DATA3 DATA4 DATA5 DATA6 DATA7 DATA8 DATA9 DATA10 DATA11 DATA12 Q1 Q2 Q3 Q4 ( 가속도X) ( 가속도Y) ( 가속도Z) ( 지자기X) ( 지자기Y) ( 지자기Z) ( 온도) ( 배터리) 1byte 가속도, 지자기, 온도센서, 배터리값출력은설정에의해 ON/OFF 할수있습니다. CHK :checksum, 모든 byte 를더한값 (SOP 포함,overflow 무시) ex) EulerAngle 출력모드 (55)(55)(64)(00)(04)(9B)(02)(5D)(E8)(7D)(2E)(03)(9F) (55)(55) :SOP (64)(00) :CH 100,ID 0 (04)(9B) :+1179 (02)(5D) :+605 (E8)(7D) : -6019 (2E) : 46 (03)(9F) : (55)+(55)+(64)+(00)+(04)+(9B)+(02)+(5D)+(E8)+(7D)+(2E) =39F Roll:+11.79 도,Pitch:+6.05 도, Yaw:-60.19 도,BAT:46%,CHK :39F E 2B O X 6
2-3. BYPASS OUTPUT DATA FORMAT (bypass 출력모드는 <soc3> 명령으로설정할수있습니다.) 2byte 1byte 1byte 28byte 1byte 2byte SOP CH ID DATA *14 Batt CHK CH과 ID, Batt를제외한항목은 16bit(2byte) 이며 2 의보수형식으로출력됩니다. SOP :(5555)hex CH : 데이터를보낸센서의채널 ID : 데이터를보낸센서의 ID DATA14 : DATA1 DATA2 DATA3 DATA4 DATA5 DATA6 DATA7 DATA8 Q1 Q2 Q3 Q4 자이로X 자이로Y 자이로Z 가속도X DATA9 DATA10 DATA11 DATA12 DATA13 DATA14 가속도Y 가속도Z 지자기X 지자기Y 지자기Y 온도 Batt : 배터리잔량 CHK :checksum, 모든 byte 를더한값 (SOP 포함,overflow 무시) 2-4. COMMAND &RESPONESE FORMAT STX COMMAND (RESPONSE) DATA ETX < CMD DATA > STX :'<' (3C)hex CMD : COMMAND DATA :DATA ETX :'>' (3E)hex DATA 항목은명령어에따라없을수도있습니다. ex) command :<sb1> 통신 baudrate를 9600bps로변경 response : <ok> 정상처리완료 E 2B O X 7
3. COMMAND &STATUS CODE LIST COMMAND DATA Description TO SENSOR 00 ~ 99 Sensor command sensor id(00~99) 로전송 command TO SENSOR (Broadcast)?? Sensor command 전체 sensor로 command 전송 SET OUTPUT USB DATA sou SET OUTPUT RATE sor 1~100 SET BAUDRATE SET OUTPUT FORMAT SET OUTPUT ACCELERO SET OUTPUT MEGNETO SET OUTPUT TEMPERATURE SET OUTPUT BATTERY SET OUTPUT CODE sb sof soa som sot sob soc 0:USB 로데이터출력안함 1:USB 로데이터출력함 1 :9600bps 2 :19200bps 3 :38400bps 4 :57600bps 5 :115200bps 6 :230400bps 7 :460800bps 8 :921600bps 1 :Euler Angles 2 :Quaternion 3 : 자이로데이타 0 : 가속도센서값출력안함 1 : 가속도센서값출력 2 : 중력성분제거된가속도센서값출력 0 : 지자기센서값출력안함 1 : 지자기센서값출력함 0 : 온도센서값출력안함 1 : 온도센서값출력함 0 : 배터리잔량출력안함 1 : 배터리잔량출력함 1 :ASCII 출력모드 2 :HEX(binary) 모드 3 :BYPASS 모드 RF SET CHANNEL sch 0 ~ 125 SET MAX_ID mid 0 ~ 99 LOAD FACTORY SETTINGS USB 로센서데이터의출력여부설정 (default :0) 센서 polling 주기설정 주기 :100Hz / data (default :1) Baudrate 설정 Databit, stopbit, paritybit 는변경되지않습니다. Stopbit :1bit Databit : 8bit Parity is none (default :8) 데이터출력포맷설정 (default :2) 가속도센서값출력여부설정 (default :0) 지자기센서값출력여부설정 (default :0) 온도센서값출력여부설정 (default :0) 배터리잔량출력여부설정 (default :1) 출력모드설정 (default :1) RF 채널설정 0~125 채널설정가능 (default :100) 최대 sensor ID 설정 0~99 설정가능 (default :14) lf NONE 초기설정치 Load VERSION CHECK ver NONE Version 표시 E 2B O X 8
RESPONSE CODE LIST STATUS LIST DESCRIPTION OK ok 정상처리완료. ERROR er Error 발생 Time Out to 응답시간초과 E 2B O X 9
4. COMMUNICATION DETAILS 4-1. TO SENSOR sensor id(00~99) 로 command id 는두자리(2byte) 입니다. 전송 해당 id 의센서로부터응답이없을경우 <to> 이리턴됩니다. 응답이있을경우해당센서의 status 가리턴됩니다. '<' id data '>' id : data : Sensor ID Sensor Command( 센서메뉴얼참조) 예) id3번센서의 led off "<03sled0>" 4-2. TO SENSOR(Broadcast) 전체 sensor로 command 전송 Response Code 는항상 "<to>" 로수신됩니다. '<' "??" data '>' data : Sensor Command( 센서메뉴얼참조) 예) 전체센서의 led 활성화 <??sled1>" 4-3. SET OUTPUT USB DATA USB 로센서데이터의출력여부설정 센서데이터를무선수신기없이확인할수있습니다. 센서데이터의빠른처리를위해서는 USB출력설정을 off 하는것이좋습니다. <ok> 응답이후설정된출력모드동작합니다. '<' "sou" data '>' data : '0' USB 로데이터출력안함 '1' USB로데이터출력함 (default) E 2B O X 10
4-4. SET OUTPUT RATE 센서 polling 주기설정 주기 : 100Hz / data data 범위는 1(100Hz) ~100(1Hz) 까지지정할수있습니다. <ok> 응답이후설정된 polling 주기로동작합니다. '<' "sor" data '>' data :'1' ~ "100" (default :'1') 4-5. SET BAUDRATE Baudrate 를설정합니다.Databit, stopbit, paritybit 는변경되지않습니다. Stopbit :1bit Databit :8bit Parity is none <ok> 응답이후설정된 baudrate 로동작합니다. '<' "sb" data '>' data : '8' 921600bps (default) '7' 460800bps '6' 230400bps '5' 115200bps '4' 57600bps '3' 38400bps '2' 19200bps '1' 9600bps E 2B O X 11
4-6. SET OUTPUT FORMAT 데이터출력포맷을설정합니다. EulerAngles 출력,Quaternion 출력, 자이로데이타출력으로설정할수있습니다. <Euler Angles 출력모드> EulerAngles 출력모드로설정시 Roll, Pitch, Yaw 순서로 3개의항목에대한값이 출력이됩니다. 각항목에대한값의범위는아래와같습니다. Roll 값의범위 : -180 도 ~ +180도 Pitch 값의범위 :-90 도 ~ +90도 Yaw 값의범위 :-180 도 ~ +180도 소수점이하 2 째자리까지출력됩니다. HEX모드의경우각항목에서 100 을나누어야합니다. <Quaternion 출력모드> Quaternion 출력모드로설정시 x,y,z,w 순서로 4개의항목에대한값이출력이됩 니다. 소수점이하 4 째자리까지출력됩니다. HEX모드의경우각항목에서 10000 을나누어야합니다. < 자이로데이타출력모드> 자이로데이타출력모드로설정시 Roll, Pitch, Yaw 순서로 3개의항목에대한값이 출력이됩니다. 소수점이하 1 째자리까지출력됩니다. HEX모드의경우각항목에서 10 을나누어야합니다. '<' "sof" data '>' data : '1' Euler Angles '2' Quaternion (default) '3' 자이로데이타 E 2B O X 12
4-7. SET OUTPUT ACCELERO 가속도센서값의출력여부를설정합니다. 가속도센서값출력을설정하였을경우데이터출력항목에가속도센서 이추가가됩니다. x,y,z 출력되는가속도의단위는중력가속도단위 g 입니다.1g 는 9.8m/s 2 입니다. 가속도센서는움직이지않더라도항상중력방향으로 1g 의값이출력이됩니다. soa2 명령으로중력성분이제거된가속도출력을설정할수있습니다. 소수점이하 3 째자리까지출력됩니다. HEX모드의경우각항목에서 1000 을나누어야합니다. '<' "soa" data '>' data : '0' 가속도센서값출력안함 (default) '1' 가속도센서값출력 '2' 중력성분제거된가속도센서값출력 항목 4-8. SET OUTPUT MAGNETO 지자기센서값의출력여부를설정합니다. 지자기센서값출력을설정하였을경우데이터출력항목에지자기센서 x,y,z 이추가가됩니다. 출력되는자기장의단위는 ut(micro-tesla) 입니다. 1uT는 0.01Gauss 입니다. 최대측정범위는 ±1200uT 입니다. 소수점이하 1 째자리까지출력됩니다. HEX모드의경우각항목에서 10 을나누어야합니다. '<' "som" data '>' 항목 data : '0' 지자기센서값출력안함 (default) '1' 지자기센서값출력 E 2B O X 13
4-9. SET OUTPUT TEMPERATURE 온도센서값의출력여부를설정합니다. 온도센서값출력을설정하였을경우데이터출력항목에온도센서항목이추가됩니다. 출력되는단위는섭씨( ) 입니다. 소수점이하 1 째자리까지출력됩니다. HEX모드의경우각항목에서 10 을나누어야합니다. '<' "sot" data '>' data : '0' 온도센서값출력안함 (default) '1' 온도센서값출력 4-10. SET OUTPUT BATTERY 무선센서의배터리잔량출력여부를설정합니다. 배터리잔량출력을설정하였을경우데이터출력항목에배터리잔량항목이추가됩니다. 출력되는단위는 % 입니다. '<' "sob" data '>' data : '0' 배터리잔량출력안함 '1' 배터리잔량출력 (default) 4-11. SET OUTPUT CODE 출력모드를설정합니다. '4-1. ASCII OUTPUT DATA FORMAT' 를참고하십시오. '4-2. HEX(binary) OUTPUT DATA FORMAT' 를참고하십시오. '4-3. BYPASS OUTPUT DATA FORMAT' 를참고하십시오. '<' "soc" data '>' data : '1' ASCII 출력모드 (default) '2' HEX(binary) 출력모드 3 BYPASS 출력모드 E 2B O X 14
4-12. RF SET CHANNEL RF 채널을설정합니다. 0~125 채널을설정할수있습니다. 데이터를수신할무선센서모듈과동일한채널이설정되어야합니다. 두개이상의수신기를사용할경우채널간격이충분이떨어져야채널간섭이줄어듭 니다. '<' "sch" data '>' data :'0' ~ "125" (default :'100') 4-13. SET MAX_ID 최대수신 ID 를설정합니다. 0~99의 MAX_ID 를설정할수있습니다. 0번 ID 부터 MAX_ID 까지의데이타를수신하게됩니다. MAX_ID 가크면많은센서의데이타를하나의수신기로수신할수있지만데이타 수신속도가떨어집니다. 반대로 MAX_ID가작으면수신할수있는센서수는줄어들 지만수신속도는빨라집니다. 중복된 ID 가있을경우데이터충돌이발생합니다. '<' "mid" data '>' data :'0' ~ "99" (default : '14') 4-14. LOAD FACTORY SETTINGS 제품출하시설정값으로모두복원합니다. STX COMMAND ETX '<' "lf" '>' 4-15. VERSION CHECK Version 정보를표시합니다. 다른명령과달리 <ok> 응답을하지않습니다. STX COMMAND ETX '<' "ver" '>' 응답예 ) <1.0> E 2B O X 15
이투박스 homepage :www.e2box.co.kr e-mail :e2b@e2box.co.kr E 2B O X 16