Samsung/RT-OCF

Name: RT-OCF

Owner: Samsung

Description: The aim of the RT-OCF project is to develop an open source software framework which is a light-weight device-to-device (D2D) framework based on Open Connectivity Foundation (OCF) specification for IoT devices.

Created: 2018-01-18 06:34:18.0

Updated: 2018-01-18 08:41:18.0

Pushed: 2018-01-19 11:38:45.0

Homepage: null

Size: 1837

Language: C

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

RT-OCF

Overview

The RT-OCF project is to develop an open source software framework which is a lightweight device-to-device (D2D) framework based on Open Connectivity Foundation (OCF) specification for IoT devices. RT-OCF targets TizenRT, a lightweight RTOS-based platform to support low-end IoT devices, and provides functionalities such as device discovery, create/read/update/delete operations of device resources, resource observation, and so on. All target functionalities of RT-OCF are not yet completed. For example, provisioning to cloud considering security together is underdeveloped. The Charter of the RT-OCF Open Source Project is to create, develop and maintain open source technologies.

The architecture of RT-OCF is as follows.

And key modules of RT-OCF shown in the above architecture are summarized as follows.

| Module | Functionality | | ————- |————-| | Resource | Resource/Request/Observe definition | | Messaging | Coap and transport layers | | Security | Acl2/cred/doxm/pstat handler | | Utils | Memory and data structure APIs |

Module

RT-OCF Module is a unit of the source code that accomplishes a specific objective, a subsystem of RT-OCF. Modules are established by the development community on as-need basis. They are hosted on the RT-OCF infrastructure, follow the rules of community and of development, and follow the coding guidelines established by the RT-OCF community.

Each Module is led by the Reviewer and Maintainer. New Module can be suggested by any member of the Community, but the final decision on hosting said project rests with the Steering Committee. Modules that are no longer active are archived and do not have assigned Reviewers and Maintainers.

Setup Preparation

To run RT-OCF, you need to install the package below.

  1. Clone Tizen RT first and move to external directory.
r TizenRT test
do pip install pyserial

etup development environment

t clone https://github.com/Samsung/TizenRT.git
 external
  1. Clone RT-OCF.
t clone https://github.com/Samsung/RT-OCF.git
  1. Work within external/RT-OCF.
How to Setup

For Setup RT-OCF options

inux$ make menuconfig
How to build
Linux

For Building RT-OCF with linux

python script(recommended)

tools/build.py linux -h
e: build.py linux [-h] [--rebuild] [--ci]

x Build

onal arguments:
, --help  show this help message and exit
rebuild   True, Build after clean
ci        True, if it is ci build.

shell script

ols/build_linux.sh
TizenRT

For Building RT-OCF with TizenRT

python script(recommended)

tools/build.py tizenrt -h
e: build.py tizenrt [-h] [--rebuild] [--config CONFIG] [--with-flash]
                    [--ci]

n RT Build

onal arguments:
, --help       show this help message and exit
rebuild        True, Build after clean
config CONFIG  Select the config you want to use for the TizenRT build.
with-flash     True, if you want to flash binary after building
ci             True, if it is ci build.

shell script

ols/build.py tizenrt

tik053/zeroroot config
 you want to build with RT-OCF, run this script.
ols/build_tizenrt_zeroroot.sh

ild TizenRT with specify config name
ols/build_tizenrt_with_configure.sh ${CONFIG_NAME}

ild TizenRT without configuration
e this script if you want to build the old configuration.
ols/build_tizenrt.sh ${CONFIG_NAME}
How to test
Linux

For Testing RT-OCF with linux

python script(recommended)

tools/test.py linux -h
e: test.py linux [-h] [--rebuild] [--skip-build] [--cov] [--ci] [-v]
                 [-g GROUP] [-n NAME] [-c COUNT]

x Test

onal arguments:
, --help            show this help message and exit
rebuild             True, Build after clean
skip-build          True, if you want to execute only test
cov                 True, If you want to calculate test coverage.
ci                  True, if it is ci build.
, --verbose         Print test name before each test run
 GROUP, --group GROUP
                    Select a test group whose name contains the specified
                    string
 NAME, --name NAME  Select a test case whose name contains the specified
                    string
 COUNT, --count COUNT
                    Repeat the test for the specified number of times

shell script

ols/test_linux.sh
n specific test group
ols/test_linux.sh -g test_mem
n specific test name
ols/test_linux.sh -n getMemInfo_alloc_int_free_one
nerate coverage report
ols/coverage_linux.sh
TizenRT

For Testing RT-OCF with TizenRT

python script

tools/test.py tizenrt -h
e: test.py tizenrt [-h] [--skip-build] [--rebuild] [--ci]

n RT Test

onal arguments:
, --help    show this help message and exit
skip-build  True, if you want to execute only test
rebuild     True, Build after clean
ci          True, if it is ci build.
Flash to target board

Use the following commands to install the output binaries on the board (Artik053).

 ../../os/
ke download ALL
Documentation

This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.