TinyOS2009/03/02 19:56

고민 고민 해서 실험에 성공하였다.;;
많은 에러와. 여러가지 문제들이 많았지만.. 문제를 찾고난 후. 간단한 것들 이란것을 알았다.

1. /opt/tinyos-1.x/tools/java/net/tinyos/sim/msg 폴더에 간다.
make all 실행

2. /opt/tinyos-1.x/tools/java/net/tinyos/sim/ 폴더로 간다.
make all 실행

3. 2개의 cygwin을 띄운다.
1) apps/TestTinyViz 폴더로 간다.
make pc
build/pc/main.exe -gui 30
2) /opt/tinyos-1.x/tools/java/net/tinyos/sim 폴더로 간다.
tinyviz 실행.


저작자 표시 비영리 동일 조건 변경 허락
Posted by Lws
TinyOS2009/01/22 11:48


위에 보이는 Led가지고 실습을 해보았다.

실습 내용은 000 2진수 counting 을 하는것이다.
1씩 숫자를 증가 시키면서 LED를 점등하는 실습인데.
이 실습을 통해서 2진수계산법과 기본적인 컴포넌트 프로그래밍 스킬을 익힐수가 있다.

atomic count ++ ;
temp = count%7;
if(count >0 && temp ==0){
    temp = 7;
}
if(temp & 0x1) {
    call Leds.redOn();
}else {
    call Leds.redOff() ;
}
if(temp & 0x2) {
    call Leds.greenOn();
}else {
    call Leds.greenOff();
}if(temp & 0x4) {
    call Leds.yellowOn();
}else {
    call Leds.yellowOff();
}

내가 한 방식이다. 여러가지 방식이 있겠지만.
내가짠 알고리즘 방식은 16진수 1 2 4 를 비교해서 같은경우 점등 다르면 소등을 한다.
즉 5 일 경우 녹색와 빨간색 LED가 점등이 된다..
저작자 표시 비영리 동일 조건 변경 허락
Posted by Lws
TAG LED, tinyos, 예제
TinyOS2009/01/20 12:59

TinyOS에서는 친절하게 자신이 설계한 컴포넌트를 자동으로 html파일과 이미지 파일로 만들어 주는 명령어가 있다.

커맨드 창에서 이렇게 치면.. 폴더에 관련 파일들이 생성되는것을 확인할수가 있다.

make <platform> docs

직접 Test를 해보았다.


C:\tinyos\cygwin\opt\tinyos-1.x\doc\nesdoc\cricket 폴더안에 파일이 생성된것을 확인할수 있었다.

덤으로 blink 예제를 수행시킨 결과 그림한개를 가져와 보았다.

참 좋은 기능이다. 자신이 프로그램을 다 짜면 이런식으로 문서화 할때 편리하게 이용할수가 있다는게 얼마나 좋은가..
저작자 표시 비영리 동일 조건 변경 허락
Posted by Lws
TinyOS2009/01/19 12:54
TinyOS를 공부했던 지난 여름방학때가 기억난다.. 아무것도 모르면서 무턱대고 시작만 햇던시기 ;;
지금 다시 기억을 회상하면서 다시 시작하고자 한다.
처음부터 의문점을 가지고 한개한개씩 배워 나가 보자.

TinyOS system과 library와 application은 무엇으로 쓰여 있을까요 ?

nesC 기반으로 되어있다.
nesC는 c언어와 비슷하고, TinyOS는 c와nesC두개의 모델을 모두 수용한다.
TinyOS의 중요한것들은 다 nesC기반으로 만들어져 있습니다.

TinyOS는 그럼 누구를 위해서 만들어 졌으면, 무엇에 쓰이는가 ?

TinyOS는 센서 네트워킹을 하는 embedded systems 을 위해서 만들어졌고,
궁극적인 목적은 application designers에게 좀더 쉽게 접근을 허용하고 쉽게 구축을 도와주기 위함이다.

nesC의 특징은 무엇인가 ?

1.잘규약된 component기반이며, 양방향성을 가진 interface로 구축되어 있습니다.

2.nesC는 concurrency model로 tasks and hardware event handlers 를 기반을 하고 있습니다. data 컴파일 순서에 따라 작업이 수행됩니다.

nesC는 어떻게 구성되어 있는가 ?

한개이상의 Components가 연결되어 있는 구조로 되어 있습니다.
각각의 Components들은 provides and uses interface를 가지고 있습니다.
interface는 허용한 지점만 access를 허용하고, 양방향성을 지니고 있습니다.
그리고 interface는 provider가 수행하는 command와 interface user가 사용하는 event가 있습니다.
Component가 interface의 command를 호출하기 위해서는,반드시 interface의 event를 수행해야 합니다.
그리고 한개의 Component는 여러개의 provide와use interface를 가지며, 같은 interface내에도 여러개의 instance를 가지고 있습니다.

nesC의 2개 타입 ?

modules 와 configuration이 있다.
modules는 주로 한개이상의 interface를 사용하기 위한 코드들이 들어있습니다.
configuration은 다른components들과 wiring하여 구성하는 코드들이 있습니다.

코드 내부 이름은 어떻게 규정하나요 ?

TinyOS Coding and Naming Conventions
내부 내용을 보면 자세하게 이름을 어떻게 쓰는지 나와있다.

TinyOS의 두개의 threads 가 존재한다 !!!! ??

TinyOS에는 동시에 2개의 쓰레드가 존재 합니다.
그것은 tasks와 hardware event handlers 입니다

Task와 hardware event handlers의 차이점은 ??

이것은 상당히 중요한 개념으로
작업을 선점하냐 안하냐를 따지는문제를 가지고 논하는것입니다.
Task는 어떤 작업이 있을경우 다른 작업을 선점 하지 않습니다.
hardware event handlers의 경우는 async수식어와함께쓰인 event와command는 다른작업이 있어도 중간에 interrupt해서 선점합니다.

흠...
컴포넌트 기반의 프로그래밍이라..
저작자 표시 비영리 동일 조건 변경 허락
Posted by Lws
TAG nesC, tinyos
TinyOS2009/01/12 18:19

Tiny OS 정의

TinyOS is a free and open source component-based operating system and platform targeting wireless sensor networks (WSNs). TinyOS is an embedded operating system written in the nesC programming language as a set of cooperating tasks and processes. It is intended to be incorporated into smartdust. TinyOS started as a collaboration between the University of California, Berkeley in co-operation with Intel Research, and has since grown to a be an international consortium, the TinyOS Alliance.

Smartdust is the term used to describe a network of tiny wireless microelectromechanical systems (MEMS) sensors, robots, or devices, installed with wireless communications, that can detect (for example) light, temperature, or vibration.

TinyOS 는 컴포넌트 기반의 무료 오픈소스이다. 그리고 무선네트워크를 목적으로 한 플랫폼이다.
TinyOS는 task와processes를 사용하는 nesC프로그램 기반의 임베디드 시스템이다.
그것은 smartdust라는것을 쓰는것으로 의도 되었다.(smartdust란 무선 microelectromechanical  시스템으로 정의된다.)즉 초소형 네트워크 장비.. Tiny OS의 시작은 캘리포니아 대학과, 인텔연구와 협력하는 버클리에서 시작하였고, TinyOs 협회에서 국제적인 협회로 성장하게 되엇다.


역사..

TinyOS began as a project at UC Berkeley as part of the DARPA NEST program. It has since grown to involve thousands of academic and commercial developers and users worldwide. (list in reverse order)

  • August 2008: TinyOS 2.1.0 released.
  • July 2007: TinyOS 2.0.2 released. Work on TinyOS 2.1, which involves slight changes to a few interfaces, begins.
  • April 2007: TinyOS 2.0.1 released at the 4th TinyOS Technology Exchange in Cambridge, MA.
  • November 2006: TinyOS 2.0 released at the SenSys conference in Boulder, CO.
  • July 2006: TinyOS 2.0 beta2 released.
  • February 2006: TinyOS 2.0 beta1 released at the 3rd TinyOS Technology Exchange in Stanford, CA.
  • December 2005: TinyOS 1.1.15, the last 1.1 version, is released.
  • July 2005: NEST project concludes.
  • June 2004: Working group forms on next steps for TinyOS, based on experiences porting to new platforms. Group agrees to start work on 2.0.
  • September 2003 - December 2005: TinyOS begins a periodic minor release process.
  • August 2003: TinyOS version 1.1 is released, which includes new nesC features including data race detection.
  • September 2002: TinyOS version 1.0, implemented in nesC, is released.
  • April 2002: Work on the nesC programming language begins as a collaboration between Intel Research and UC Berkeley.
  • February 2002: Berkeley distributes 1000 mica nodes to other participants in the NEST project.
  • 2001: Berkeley develops the mica platform and releases TinyOS version 0.6.
  • 2000: Berkeley designs the rene platform and partners with Crossbow, Inc., who mass produces the hardware. TinyOS version 0.43 is made available to the public via SourceForge. Pre-1.0 versions of TinyOS are a mix of C and Perl scripts.
  • 1999: First TinyOS platform (WeC) and OS implementations are developed at Berkeley.

출처 : Wikipedia

음. 시초가 버클리라.. ㅎ
흠.. 조금씩 알아가는 재미가 있네요 ^^;
파이팅 ! ㅎ

저작자 표시 비영리 동일 조건 변경 허락
Posted by Lws
TinyOS2009/01/02 18:15


위에 보이는 그림이 Cricket Mote의 모습이다.

제품의 특징.
Mica2 433Mhz 주파수 사용
실재 위치 인식전용 모듈
초음파 센서 탑재(송신/수신)
2개AA 건전지 사용
유비쿼터스 컴퓨티 응용
자산추적 시스템 응용

제품의 특징은 대략 이렇다. Mica2의 초음파 센서가 달렸다고 생각하면 이해가 쉽다.
Crkcket에관해 실제 속성을 이용해 프로그래밍을 하고자 한다.

http://www.xbow.com/Products/productdetails.aspx?sid=176

http://cricket.csail.mit.edu/

http://cricket.csail.mit.edu/v2man-html/ (Cricket웹 매뉴얼)

검색끝에 2사이트를 찾았다. 사이트에 나온바로는 TinyOS와 Cricket 플랫폼을 깔면 된다고 써있다. !! 설치를 완료 하면 모든 준비 완료 !!

저작자 표시 비영리 동일 조건 변경 허락
Posted by Lws
TinyOS2009/01/01 17:39



http://www.tinyos.net/ 
무선 네트워크 기술정보 커뮤니티, 소프트웨어, 하드웨어, 다운로드, 보도자료 수록.

http://www.tinyos.re.kr/
 
산업자원부 운영 기술공유 포럼, 타이니OS 플랫폼 소개, 행사 및 보도자료 안내.

http://www.tinyosmall.co.kr/
 
무선센서네트워크 전문쇼핑몰, USN, 인터페이스 등 상품 판매, 고객상담 안내.
Posted by Lws