2009년 5월 23일 토요일

OTA(Over The Air)

Deluge는 대규모 센서 네트워크에서 센서 노드들의 무선 프로그래밍을 가능하게 한다. 컴파일 된 프로그램의 binary와 같은 data object를 네트워크내에 있는 센서 노드들에게 퍼뜨리는 방법으로 이를 보통 OTA(Over the Air) Programming or Reprogramming 이라고 한다. 센서 네트워크에서 네트워크를 이루고 있는 센서 노드의 갯수가 증가할 경우에, 센서 노드에 일일이 프로그램을 다운로드하는 것은 비효율적이다. 이 경우 Deluge 매카니즘을 사용하게 되면 매우 효과적이다.


Deluge 2.0

- Goals :
• robustness & useability가 강화된 network programming

- Features :
• Multihop 지원 : multihop 네트워크 안의 모든 노드에 무선으로 프로그램 적재
• Epidemic propagation : 모든 노드에 의한 연속적인 전파 전달로, 통신율이 낮은 노드에도 전파 전달이 되도록 기여함.
• Redundant data integrity checks : CRC계산으로, 모든 노드의 프로그램 이미지 무결성을 보장하도록 기여함.
• Store multiple program images : 프로그램 이미지를 여러 개 저장함으로써, 계속되는 다운로드 없이도, 프로그램을 빠르게 교환.
• Golden image : 최소한의 network programming을 지원하는 프로그램 이미지로 외부 flash의 안전한 위치에 저장된다. 복구에 필요한 코드 부분이 있다.
• Isolated bootloader : TinyOS 어플리케이션의 리셋 후에 실행을 보장하는 코드. bootloader는 마이크로컨트롤러 프로그래밍과 관련되어 있으며, 프로그래밍 에러시 Golden Image를 읽어서 복구한다.
• Rollback gesture : 노드 고장시, 리셋 스위치를 여러 번 누르면, Golden image로 전환되어 새로운 프로그램을 받아들일 수 있도록 준비됨.
• Small RAM foot print : 150byte 미만의 메모리 차지.

- Improvement :
• 프로그래밍 전에 이미지가 유효한가에 대한 이미지 검증
• 프로그래밍 실패시 자동으로 Golden Image로 rollbak
• 어플리케이션의 의한 Golden image의 수정을 방지
• 프로그램에 대한 다양한 정보(program name, compile time, host name ...)
• CRC를 포함한 metadata 데이터구조를 사용
• Deluge나 TOSBase node 연결시 자동으로 감지
• 불완전한 이미지 자동 재시작
• 동일한 이미지 자동 감지

- Compatible platform :
• Mica2, Mica2-doc, MicaZ, Telos Rev.A, Telos Rev.B, TmoteSky

- Deluge Testing :

• Formatting the Flash ; Flash 메모리의 FAT를 위한 formatting
1) tinyos-1.x/apps/TestDeluge의 FlashFormat 어플리케이션 install
2) reset후 자동으로 포맷 시작(Yellow On), Success종료(Green On), Fail종료(Red On)

• Installing Deluge ; 기본 Deluge 어플리케이션과 TOSBoot 인스톨
1) tinyos-1.x/apps/TestDeluge의 DelugeBasic 어플리케이션 install(must set node ID)

• Pinging the Node ; Deluge java tool chain으로 현재 노드의 Deluge확인
1) Deluge가 적용된 노드를 UART로 연결한다.(SerialForwarder 혹은 MOTECOM 환경변수 설정)
2) java net.tinyos.tools.Deluge --ping
3) result screen

• Installing the Golden Image ; Deluge를 지원하는 최소 기능을 포함한 TinyOS application
1) application compile
2) build/telosb/tos_image.xml 생성 확인
3) java net.tinyos.tools.Deluge -i -in=0 -ti=./build/telosb/tos_image.xml 명령으로 Golden Image 생성 및 업로드(Golden image는 특별한 어플리케이션으로 직접연결로만 다운로드 가능)
4) 다른 노드에도 1~3의 과정으로 Golden image 다운로드 할 것.

• preparing your code : deluge 사용을 위해 사용자 어플리케이션에 deluge적용
1) top level configuration에서 DelugeC Component 추가, Main과 DelugeC wiring

• injecting a New Program image
1) java net.tinyos.tools.Deluge -i -in=1 -ti=./build/telosb/tos_image.xml

• reprogramming with a New program image
1) java net.tinyos.tools.Deluge -r -in=1(1번 image가 프로그래밍되어 동작됨. (GroupID, NodeID 유지됨))

- Deluge command :
• Ping
# java net.tinyos.tools.Deluge --ping
• Inject
# java net.tinyos.tools.Deluge --inject --tos_image= --imgnum=
• Reboot
# java net.tinyos.tools.Deluge --reboot --imgnum=
• Erase
# java net.tinyos.tools.Deluge --erase --imgnum=
• Reset
# java net.tinyos.tools.Deluge --reset --imgnum=
• Dump(extract)
# java net.tinyos.tools.Deluge --dump --imgnum= --outfile=

댓글 없음:

댓글 쓰기