실리콘렙스 ember zigbee - 3

이미지
Simplicity Studio를 이용한 다운로드 1. ISA3에 PC에 연결하고 command "em3xx_isa.exe"를 이용해서 pc 네트워크에 포함될 수 있도록 수정한다. 2. 수정한 결과를 확인한다. 3. Simplicity Studio에 정상적으로 연결된 경우 아래와 같이 녹색이 들어온다. 4. upload 기능을 사용할수 있다. 5. 부트로더가 최초에 다운로드되지 않았다면 포함하여 다운로드해야 한다.

실리콘렙스 ember zigbee - 2

이미지
부트로더 올리기 ZCL Application Framework V2 설정하기 1. 시리얼 통신 사용하기 *빨간색 부분을 체크해야 시리얼통신 확인

실리콘렙스 ember zigbee - 1

이미지
1. 제품개발 관련하여 실리콘렙스의 em357을 사용 2. cortex-m3 기반 모듈 3. 실리콘렙스에서 제공하는 emberznet pro stack 사용 사용한 보드 : EM35X-DEV(개발용 보드) 스텍버전 : EmberZNet5.4.4 샘플버전 : ZCL Application Framework V2 -> EmberZNet 5.4.4.0 GA SoC 5.4.4.0              : -> HaSampleGateway, HaSampleLight, HaSampleSwitch 개발 툴 : Simplicity Studio4, 컴파일러 : IAR(ARM)7.30 다운로드 (툴): ISA3 Utilities 다운로드 방식 : *.s37 파일 업로드

CC2650 BLE 서비스 등록, READ, WRITE, NOTIFY 해보기

Ti에서 제공하는 BLE 스텍을 사용해서 통신하기 먼저 BLE 스텍에서 Profiles 그룹에 있는 서비스들을 이용하면 쉽게 구현할 수 있다. 서비스 API를 살펴보면서 하면 쉽게 할 수있다. 1. 먼저 static 함수들은 서비스파일에서만 사용할 수 있기때문에 그외의 파일에서 호출 할 수 없다. 따라서 2. 나머지 서비스 헤더 파일에 extern 되어 있는 함수들을 사용자 응용 파일에서 호출해서 사용하면된다. 예를 들면 서비스 등록, 콜벡 등록, 파라미터 수정, 읽기등이 해당된다. 3. 서비스 파일을 어떻게 설정하느냐에 따라서 서비스의 기능을 정할 수 있다.  Enabler Characteristic Properties에 해당되는 변수값을 설정하면 된다. 3가지 항목은 아래와 같다. -GATT_PROP_READ -GATT_PROP_WRITE -GATT_PROP_NOTIFY 이 외에도 여러가지가 있으니 gattservapp.h를 살펴보면 될것 가탇. 4. 서비스 등록에 관련된 내용은 아래와 같다. 사용자가 하고 싶은데로 설정하면 될것 같다. -Service attribute -Characteristic Properties -State Characteristic -Characteristic Configs -Characteristic User Description 이 외에도 여러가지가 있다. 5. Profile Attributes - Table을 통해서 프로파일의 구성을 설정할 수 있다. 6. readAttrCB 콜백함수를 통해서 Read로 들어오는 이벤트를 처리할 수 있다. 7. writeAttrCB 콜백함수를 통해서 Write로 들오는 이벤트를 처리할 수 있다. 8. AddService 함수를 통해서 사용자가 서비스를 등록할 수 있다. 9. SetParameter 함수는 사용자 코드에서 호출하여 파라미터를 설정해 놓을 수있다. 10. GetParameter 함수는 사용자 코드에서 변경된 파라미...

CC2650 UART 해보기

CC2650은 Coretex-M3로 ARM 구조를 따른다. 하지만 본인은 아직까지 ARM 구조를 다뤄본적이 없기 때문에 이번 기회를 통해서 제어 해보기로 한다. 기존해 해봤던 MSP430 이나 8051 구조에서는 각 핀이 할 수 있는일이 정해져있었다. 기본적으로 GPIO 제어는 대부분의 핀에서 할 수있었지만 해당핀의 고유 기능이 정해져있어서 고유 레이지스터를 통해서 정해진 핀을 사용할 수 있었다. 하지만 Coretex-M3에서는 모든 핀이 GPIO 뿐만아니라 사용자가 요구하는 기능을 수행 할 수 있다. 따라서 UART 통신을 구현할 때에도 정해진 핀이 없기 때문에 사용자가 먼저 핀에 대한 설정을 해줘야 한다. 이런 초반작업에 대한 내용을 사용자가 모두 알아야 되는 불편함 때문인지 아니면 사용자 편의 기능을 위해서인지 TI에서는 CC2650에 사용할 수 있는 TI-RTOS를 지원해준다. TI-RTOS를 사용하면 사용자는 간편하게 핀설정 뿐아니라 UART, I2C, PWM등 해당 칩이 지원하는 기능들을 손쉽게 사용할 수 있게 되어 있다. 어떻게 보면 내가 점점 더 TI칩을 사용하게 되는것이 이런 편의 기능을 계속 제공해주기 때문이라는 생각도 든다. 어쨌든 CC2650의 UART를 사용하기 위해서는 TI-RTOS에서 제공하는 API호출을 통해서 아래와 같이 사용할 수 있다. 핀설정은 아래와 같은 파일에서 확인 할 수 있다. *IOID에 대한 하드웨어 핀 확인은 datasheet를 보면 알 수 있다. #define Board_UART_RX                       IOID_12 #define Board_UART_TX                       IOID_4   먼저 사용하고자 하는 프로젝트에 사용할 ...

CC2650 BLE 만들기 #2 - Notify 해보기

#BLE 기본 설정에 대한 이해가 필하다.  : 기본적으로 대상이 되는 장비는 기본적으로 Advertsing 모드로 동작하고 스마트폰은 Scan 모드로 동작한다.  : 스마트폰은 Scan 모드를 통해서 접속할 장비를 검색을 할 수 있다.  : 접속하고 나면 두 장비는 Central 과 Peripheral 각각 하게 된다.  : 스마트폰이 Central 역할, 장비가 Peripheral 역할을 하게된다. #Read 기능  : 스마트폰에서 장치의 상태 정보를 확인 할 수 있다. #Write 기능  : 디바이스 정보를 수정 할 수 있다. #Notify가 가능하다.  : 디바이스에서 변경되는 정보를 자동으로 업데이트 받을 수 있다. #CC2650을 BLE 스텍을 이용한 테스트 방법  : Ti 사이트에서 BLE 스텍을 다운로드 받는다.  : 예제에서 다음 부분을 수정하면 내가 원하는 BLE 장비를 만들 수 있다. #디바이스 서비스 등록하기  * XX_AddService - Initializes the Simple Key service by registering  *                 GATT attributes with the GATT server. #디바이스 파라미터 프로파일 업데이트 /*  * XX_SetParameter - Set a Simple Key Profile parameter.  *  *    param  - Profile parameter ID  *    len    - length of data to right  *    pValue - pointer to data to write.  This...

CC2650 BLE 만들기 #1

1. Ti 에서 만들어 팔고있는 CC2650DK 보드를 이용한 BLE 예제 돌려볼때 주의할 점   #. Ti를 홈페이지를 통해서 CC2650에 사용할 수 있는 BLE 스텍을 다운로드 받는다.       : 로그인 해야 하는 불편함이 있음   #. 예제를 위한 IAR 컴파일러를 설치한다.       : 버전이 정확히 맞지 않으면 컴파일 에러가 발생하기 때문에 BLE 스텍 가이드 문서를 참조하여 똑같은 컴파일러 버전을 다운로드 받아서 사용한다.       : 30일 무료버전을 받을 수 있다.   #. BLE 스텍을 설치한 폴더에서 가지고 있는 보드에서 가능한 샘플을 선택한다.       : 여러보드들이 있어서 그런지 예제하나에 여러 보드를 설정을 통해서 사용할 수 있게 해놓았다.     #. 컴파일 해보기       : 컴파일시 사용자 지침서를 꼭 확인하고 컴파일을 해야한다.       : 예제 프로젝트 구성을 보면 APP, STACK 두가지의 프로젝트를 제공하는데 APP는 STACK을 사용하여 컴파일 하기 때문에 반드시 처음이나 STACK이 수정되었을 때 STACK을 꼭 컴파일 해줘야한다.       : 절차는 아래와 같다.         1. Select the new stack project.         2. Select Project→ Download→ Download Active Application to download the stack project.         3. Select the application project.        ...