Treva를 Blutooth에 연결한 무선이동 카메라

AVR Project 조회 수 12097 추천 수 39 2003.09.22 10:20:57


http://www.asahi-net.or.jp/~qx5k-iskw/robot/blue.htmlipstack
■ Treva를 Blutooth에 연결한 무선이동 카메라

모듈의 VCC, VCC_IO, ON단자에 3.3V를 공급하고,
TxD, RxD를 PC의 직렬포트에 접속합니다.
이제 모듈을 제어할 수 있게 되었습니다.
여기까지로는 수 cm 정도만 전파가 날아가므로,
유전체 안테나를 모듈과 같이 모뎀유닛이나 PC에 조립하고,
ANT와 GND의 2단자를 접속합니다.

BL-PC10에 부속된 PC카드를 사용하여 Bluetooth 모듈의 제어가 가능합니다.
BL-PC10의 드라이버를 설치하면, 직렬포트와 모뎀을 추가합니다.
직렬포트는 위의 TXD와 RXD를 사용합니다.
inf 화일을 수정하여 모뎀이 설치되지 않아도 되게하면 좋지않을까 합니다.
곤란한 것은 Win9x 드라이버만 있다는 것입니다.

PC의 RS232c포트에 MAX232를 경유하여 블루투스모뎀을 연결한 사진


HCI는 어디에서도 배포하지 않음, 먼저 중요한 것은 규격입니다.
Bluetooth 공식 사이트의 규격표 페이지에서 v.1.1 CORE 규격표를 받습니다.
그후에 그것을 읽지 않았으나, 영어만으로 되어 있으며,
필요한 정보가 분산되어 있어, 읽기 까지는 시간이 걸렸습니다.

Bluetooth에는 HCI라는 인터페이스 명칭으로 알려져 있습니다.
이것이 PC나 마이콤에서 Bluetooth 모듈을 제어하려면,
데이터를 무선으로 송수신하기 위하여 최하층의 인터페이스로 됩니다.
이 HCI에는 Command Packet, Event Packet, ACL/SCO Packet의
3종류의 패킷이 정의되어 있고, 그것을 이해하는 것이 최초의 고비이다.


그림과 같이, 모듈에 대한 지시는 Command Packet 입니다.
모듈은 이패킷을 받으며, 코멘드의 내용에 반응하는 Event를 돌려줍니다.
무선으로 다른 모듈을 찾고 싶을 때,
다른 모듈과 송수신하는 데이터는 Data Packet으로,
모듈에서 지시가 있을 때는 Event Packet이 모듈로 부터 통지됩니다.
이 3종류의 패킷의 포맷은 CORE 규격인 PartH:1 4.4
EXCHANGE OF HCI-SPECIFIC INFORMATION에 써있습니다.
UART를 통과하는 패킷의 선두에는
PartH:4 2 PROTOCOL의 Table 2.1에 써있는 indicator가 추가됩니다.
Command Packet을 모듈로 보낼때에는 먼저 0x01을 UART에 보내고,
계속해서 16bit의 Opcode를 보내면, ㅣ로 됩니다.
모듈로 부터 UART를 통과하여 패킷을 수신하고 싶으면,
선두가 0x04 이면 Event Packet을, 0x02/0x03이면 Data Packet으로 해석합니다.

다음은 Data Packet에서 다른 모듈과 데이터의 취급을 하기까지의 수순입니다.
Bluetooth 모듈은 내부에 state를 가지고 있어,
결정된 수순으로 따라하지 않으면 상대가 보이지 않습니다.
상대에게 자신이 보이지 않게 됩니다.

(1)다른 모듈로 부터 보이기 위해 Write Scan Enable Command로 모듈을 설정한다.
(2)다른 모듈로 부터 접속요구가 있으면 Connection Request Even가 모듈로 부터 넘어 오는데,
Accept Conenction Request Command를 모듈에 보낸다.
(3)접속이 완료되면 Connection Complete Event가 모듈로 부터 넘어오게 된다.
이것으로 상대모듈과의 접속이 완료되고,
이 이하는 상대의 모듈과 자유롭게 Data Packet의  취급이 됩니다.

다음은 Command를 모듈에 보내는
Command Complete Event나 Command Status Event 가 들어오게 처리하고 싶으면
Reset된 모듈명을 설정하려 コマゴマ와 했던것을 하지 않으면 좋지요
실제에는 Data Packet을 써서,
HCI보다 상위의 L2CAP이나 SDP나 RFCOMM의 프로토콜에 대응한 취급이 필요합니다.
그들의 주변과 모듈 사이에서 취급을 해 보아야 합니다.

첨부된 모듈의 VCC, VCC_IO, ON단자에 3.3V를 공급하고,
TxD, RxD를 PC의 직렬포트에 접속합니다.
이제 모듈을 제어할 수 있게 되었습니다.
여기까지로는 수 cm 정도만 전파가 날아가므로,
유전체 안테나를 모듈과 같이 모뎀유닛이나 PC에 조립하고,
ANT와 GND의 2단자를 접속합니다.

PC측의 Bluetooth 연결용 소프트웨어


C8051F300에 Treva와 Ericsson Bluetooth 모듈을 붙힙니다.
L2CAP의 일부까지 조립했던 프로토콜 스택의 규격표를 보고 작성했습니다.
이 프로토콜 스택을  blueme라고 이름지였습니다.

C8051F300은 RAM을 256 바이트만 탑재하고 있으므로
패킷의 처리는 곤란합니다. UART수신용으로 32바이트 버퍼로,
프로트콜 스택은 버퍼로 부터 1바이트씩 읽어서 처리하고 있습니다.
처리코드는 빈부분이 있으니, 필요하다면 패킷처리를 할수 있습니다.

모듈의 VCC, VCC_IO, ON단자에 3.3V를 공급하고,
TxD, RxD를 PC의 직렬포트에 접속합니다.
이제 모듈을 제어할 수 있게 되었습니다.
여기까지로는 수 cm 정도만 전파가 날아가므로,
유전체 안테나를 모듈과 같이 모뎀유닛이나 PC에 조립하고,
ANT와 GND의 2단자를 접속합니다.

PC측의 응용도 VC++로 작성했습니다.
COM 포트의 앞에 Ericsson 모듈이 보이면 OK입니다.
Open 버튼을 누르고 통신포트를 엽니다.
Inquiry 버튼으로 다른 모듈을 탐색합니다,
다른 모듈이 발견되면 모듈고유의 어드레스가 표시되면 선택하고,
Connect 버튼을 눌러서 접속합니다.

접속상태로 스페이스바를 누르면
Treva의 화상전송개시 코멘드가 Bluetooth 모듈을 거쳐서 C8051F300로 보내집니다.
C8051F300은 Treva 화상을 취득하여 Bluetooth 모듈을 거쳐 화상테이터를 PC로 보냅니다.
1화면의 화상 데이터가 보내지면 PC측에 화상이 표시됩니다.

대차에 태운 C8051F300에 이동용의 RC 서보를 붙혀 보았습니다.
앞과정의 PC 응용에서 커서키를 써서 대차를 움직입니다.
이것으로 이까사마 무선 이동카메라의 완성입니다.
패킷을 잃어버려 폭주하기도 하지만, 커서키로 즐거운 장소로 이동하여
그장소의 영상을 PC로 전송합니다.

현재는 마이콤측 PC측 어느쪽도 자작의 응용을 쓰지는 않았으나,
Bluetooth의 장점은 PC측의 환경이 정리된다고 생각합니다.
L2CAP에서 위의 프로토콜을 진짜로 실장하지 않으면 어떨까 생각하고 있습니다.

C8051F300용 bluetooth 모듈제어 소스 (14KByte LZH 압축)
http://www.asahi-net.or.jp/~qx5k-iskw/robot/blue/treservo.lzh
PC용 bluetooth 모듈제어 VC++ 소스와 실행화일 (1.2MByte LZH 압축)
http://www.asahi-net.or.jp/~qx5k-iskw/robot/blue/tresvopc.lzh

번역 : ipstack@ipstack.co.kr
날자 : 9.10. 2003


List of Articles
번호 제목 글쓴이 날짜 조회 수

AVR Project PIC Based Serial Port Servo Controller file

http://www.digitalnemesis.com/ash/projects/picservo/ ◆ PIC Based Serial Port Servo Controller By Ashley Roll Ever wanted to use Servos in a robotics project? This project uses a PIC microcontroller and...

AVR 강좌 RS-232 란 무엇인가? file

RS-232 란 무엇인가...

AVR 강좌 하드웨어 기초 file [1]

윤덕용 새 페이지 1 외부 자료 Link 작성자 Thinking in C++, 2nd ed. Volume 1 Bruce Eckel Thinking in C++, 2nd ed. Volume 2 ...

AVR Project FT245AM을 사용한 USB 인터페이스 설계 file

http://www.eix.co.uk/Ethernet/USB/ FT245AM을 사용한 USB 인터페이스 설계 USb는 생각보다 빠르다. USB는 PC의 저속에서 중속의 주변장치에서 새로운 방법을 제공한다. 새로운 USB 표준은 RS232C와 비교하면 보다 ...

AVR Project VHF 무선 데이터 수신기 file

http://jaichi.virtualave.net/avr-prog-e.htm 새 페이지 1 VHF 무선 데이터 수신기 ■ 회로: 이 수신기는 증폭도과 함께 크리스털 세트보다 작습니다. 작동전압 범위는 3V 에서 5V입니다. 나의 책상위에서는 2.5V이하로 작동합니다....

AVR Project VHF 무선 데이터 송신기 file

http://users.cableaz.com/~cappels/dproj/LCRFLINK/TRRxmtr/TRFxmtr.htm 새 페이지 1 산뜻한 생각으로 대략 접근하는 무전원의 송신기를 그렸다. 쓰기 시작하기 전에. 디커플링 캐패시터를 너무 크게 만들지 않도록 주의하라 그래서, ...

AVR Project AVR 6디지트 50MHz 주파수 카운터 file

http://www.myplace.nu/avr/countermeasures/index.htm AVR 6디지트 50MHz 주파수 카운터 ■ 개요 이것은 필요에 충족하는 또 다른 프로젝트이다. 나는 TTL 칩들을 이용해 간단히 주파수 카운터를 조립한적이 있다. 그것은...

AVR Tool AVR JTAG ICE file

Description: The Atmel AVR® JTAG ICE is an In-circuit Emulator for Atmel's megaAVR® Flash microcontrollers with 16K or more program memory. The JTAG ICE talks to the On-Chip debug module on the...

AVR Project PIC 전자식 그림간판의 제작(AVR로 응용가능) file

http://www.interq.or.jp/japan/se-inoue/e_pic6_2.htm 16F84A의 전자식 그림간판 메세지는 오른쪽에서 왼쪽으로 흐르며 표시한다. 128 개의 LED를 이 기판에 사용하였다. 이 장치의 소프트웨어는 다음과 같은 기술을 사용하...

AVR Project AVR JTAG 에뮬레이터의 제작 file

http://avr.openchip.org/bootice/index.html ■ BootICE(아트멜 AVR JTAG ICE와 호환)를 만들자 아직도 JTAG ICE를 많은 돈을 주고 구입하십니까? 여기에 완전하게 호환되는 BootICE의 완전한 설계(회로도,기판,소...

AVR Tool AVR Studio V4.07 설정방법 및 디버거 사용방법 file

http://www.atmel.com/ipstack AVR Studio V4.07 설정방법 및 디버거 사용방법 (1) 다음 사이트를 방문하여 AvrStudioV4.07을 받는다. http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2725 그림과 같은 CD모양의...

AVR Project CMOS 카메라 Treva의 PC화상표시 file

http://www.paken.org:8080/aaf/treva/index.htmlipstack CMOS 카메라 Treva의 PC화상표시 feel H용 이미지 캡쳐유닛 Treva를 범용 CPU로 접속합니다. 입력과 출력을 1가닥의 신호선으로 OK!가장 간단한? 이미지 센서입니...

AVR Project AT90S2313 디지털 용량계 file

http://elm-chan.org/works/cmc/report.htmlipstackAT90S2313 디지털 용량계 이것은 용량을 빨리 측정하는 간단한 용량계이다. 용량의 측정 원리는 임피던스 브릿지나 딥메터처럼 용량을 한번에 측정한다. 요즈음의 표준 용량계는 Cx에...

AVR Project AVR로 만드는 3채널 다이오드 온도계 file

http://elm-chan.org/works/temp3/report_j.html 다이오드로 온도를 측정하는 3채널 온도계의 제작 고정도 써미스터를 사용하여 무조정으로 ±0.5℃の 온도정도를 실현을 하였습니다만, 최근의 프로세서는 다이온도를 직접 모니터하...

AVR Project Treva or DMR-C1 Serial Camera Interface file [3]

http://homepage3.nifty.com/mujirushi/ews/dmrc1/ipstackTreva Serial Camera Interface 이 페이지에는 독자적으로 해석한 내용이 포함되어 있으므로, 반드시 내용을 보증하는 것이 아닙니다. 이용에 있어서는 자기책임으로 하여 주시기...

AVR Project Treva를 Blutooth에 연결한 무선이동 카메라 file

http://www.asahi-net.or.jp/~qx5k-iskw/robot/blue.htmlipstack ■ Treva를 Blutooth에 연결한 무선이동 카메라 모듈의 VCC, VCC_IO, ON단자에 3.3V를 공급하고, TxD, RxD를 PC의 직렬포트에 접속합니다. 이제 모듈을 ...

AVR Project AVR90S2313과 Treva 카메라 file

http://stk500.hp.infoseek.co.jp/treva.htmlipstack 최근 마이콤등으로 움직이는 방법이 증가하고 있는 FeelH용 CMOS 카메라인 Treva입니다. STK500에는 부속된 2선식 케이블로 Vcc-GND, SCK-DO의 형태입니다. Treva와 STK500의 ...

AVR Project AT90S2313을 사용한 IR to USB 모듈 file

http://www.cesko.host.sk/IgorPlugUSB/IgorPlug-USB (AVR)_eng.htm Universal USB interface & USB Infrared Interface with microprocessor AT90S2313-10 : 마이크로 콘트롤러로 USB를 완성 : IgorPlug-USB (AVR) 이기사의 ...

AVR 강좌 AVR Mega128 퓨즈비트 설정방법 file

http://www.tns-tech.co.kr128 퓨즈비트 설정방법...

AVR Project AVR Mega8을 사용한 PID제어 소스 file

http://www.circuitcellar.com/library/print/1002/eady147/index.htm LCD에 보이는 것은 실제 조리기의 온도와 음식3개의 온도이다. 압전 경보기가 꺼져 있으면, 조리기의 온도는 5° 간격으로 180° 에서 400°F이다. 음...