summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJin Yoon <jinny.yoon@samsung.com>2018-08-20 16:30:33 +0900
committerJin Yoon <jinny.yoon@samsung.com>2018-08-20 16:34:21 +0900
commitdbdecc2387b8bf6467d92478fe57f54ad21dbeaf (patch)
tree7deda53beb09ec0759e8f37c2a7babf19d1e9137
parent98b118389f7848f66d9f98c12f0f5d920d2e403b (diff)
downloadrcc-dbdecc2387b8bf6467d92478fe57f54ad21dbeaf.tar.gz
rcc-dbdecc2387b8bf6467d92478fe57f54ad21dbeaf.tar.bz2
rcc-dbdecc2387b8bf6467d92478fe57f54ad21dbeaf.zip
QUIZ
Change-Id: I2f3642bd53c7d3b79f6a6a2f76e4e1fd47554427
-rw-r--r--.gitignore4
-rw-r--r--res/device_def.json38
-rw-r--r--src/smart-blind.c44
3 files changed, 47 insertions, 39 deletions
diff --git a/.gitignore b/.gitignore
index 7b0adc8..2fd2277 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,6 @@
/Debug/
/SA_Report/
+/.sign/
+/res/certificate.pem
+/res/privatekey.der
+/crash-info/
diff --git a/res/device_def.json b/res/device_def.json
index 8993491..8e11803 100644
--- a/res/device_def.json
+++ b/res/device_def.json
@@ -4,12 +4,12 @@
"specification": {
"device": {
"deviceType": "oic.d.light",
- "deviceName": "Smart Blind",
+ "deviceName": "*** YOUR DEVICE NAME ***",
"specVersion": "core.1.1.0",
"dataModelVersion": "res.1.1.0"
},
"platform": {
- "manufacturerName": "fAbr",
+ "manufacturerName": "*** YOUR MNID ***",
"manufacturerUrl": "http://www.samsung.com/sec/",
"manufacturingDate": "2017-08-31",
"modelNumber": "BLIND-01",
@@ -17,30 +17,30 @@
"osVersion": "1.0",
"hardwareVersion": "1.0",
"firmwareVersion": "1.0",
- "vendorId": "TizenVendor"
+ "vendorId": "*** YOUR VENDOR ID ***"
}
},
"resources": {
"single": [
{
- "uri": "/capability/switch/main/0",
+ "uri": "/capability/illuminanceMeasurement/main/0",
"types": [
- "x.com.st.powerswitch"
+ "oic.r.sensor.illuminance"
],
"interfaces": [
- "oic.if.a",
+ "oic.if.s",
"oic.if.baseline"
],
"policy": 3
},
{
- "uri": "/capability/illuminanceMeasurement/main/0",
+ "uri": "/capability/doorControl/main/0",
"types": [
- "oic.r.sensor.illuminance"
+ "x.com.st.doorcontrol"
],
"interfaces": [
- "oic.if.s",
- "oic.if.baseline"
+ "oic.if.baseline",
+ "oic.if.a"
],
"policy": 3
}
@@ -50,24 +50,24 @@
],
"resourceTypes": [
{
- "type": "x.com.st.powerswitch",
+ "type": "oic.r.sensor.illuminance",
"properties": [
{
- "key": "power",
- "type": 3,
+ "key": "illuminance",
+ "type": 2,
"mandatory": true,
- "rw": 3
+ "rw": 1
}
]
},
{
- "type": "oic.r.sensor.illuminance",
+ "type": "x.com.st.doorcontrol",
"properties": [
{
- "key": "illuminance",
- "type": 2,
+ "key": "doorState",
+ "type": 3,
"mandatory": true,
- "rw": 1
+ "rw": 3
}
]
}
@@ -77,7 +77,7 @@
"connectivity": {
"type": 1,
"softAP": {
- "setupId": "007",
+ "setupId": "*** YOUR SETUPID ***",
"artik": false
}
},
diff --git a/src/smart-blind.c b/src/smart-blind.c
index 15db4bd..801582c 100644
--- a/src/smart-blind.c
+++ b/src/smart-blind.c
@@ -36,14 +36,12 @@
#define SENSOR_KEY_ILLUMINANCE "illuminance"
#define SENSOR_KEY_RANGE "range"
-#define SENSOR_URI_POWER "/capability/switch/main/0"
-#define SENSOR_KEY_POWER "power"
-#define SENSOR_POWER_INITIALIZING "off"
+#define SENSOR_URI_DOOR "/capability/doorControl/main/0"
+#define SENSOR_KEY_DOOR "doorState"
+#define SENSOR_POWER_INITIALIZING BLIND_DOWN
#define I2C_BUS_NUMBER (1)
-
-// QUIZ
-#define SENSOR_GATHER_INTERVAL (1.0f)
+#define SENSOR_GATHER_INTERVAL (5.0f)
// QUIZ
//#define USE_ST_SDK
@@ -63,8 +61,8 @@ static app_data *g_ad = NULL;
#define SERVO_MOTOR_DUTY_CYCLE_COUNTER_CLOCKWISE 1.0
#define SERVO_MOTOR_DUTY_CYCLE_CLOCKWISE 2.0
-#define BLIND_UP "on"
-#define BLIND_DOWN "off"
+#define BLIND_UP "opening"
+#define BLIND_DOWN "closing"
static inline int __get_illuminance(void *data, unsigned int *illuminance_value)
{
@@ -75,8 +73,10 @@ static inline int __get_illuminance(void *data, unsigned int *illuminance_value)
retv_if(!ad->illuminance_data, -1);
// QUIZ
- ret = resource_read_illuminance_sensor(1, illuminance_value);
+#if 0
+ ret = resource_read_illuminance_sensor(/*** BUS ***/, illuminance_value);
retv_if(ret != 0, -1);
+#endif
sensor_data_set_uint(ad->illuminance_data, *illuminance_value);
_D("Illuminance value : %u", *illuminance_value);
@@ -107,11 +107,12 @@ static int __set_servo_motor(void *data, int on)
}
#if 0 // QUIZ
- ret = resource_set_servo_motor_value(/* duty_cycle */);
+ ret = resource_set_servo_motor_value(/*** DUTY CYCLE ***/);
retv_if(ret != 0, -1);
#endif
sensor_data_set_string(ad->power_data, power_value, strlen(power_value));
+ st_things_notify_observers(SENSOR_URI_DOOR);
return 0;
}
@@ -136,7 +137,7 @@ static Eina_Bool __illuminance_to_servo_motor(void *data)
ret = __get_illuminance(ad, &illuminance_value);
retv_if(ret != 0, ECORE_CALLBACK_RENEW);
-#if 1 // # Senario : Illuminance sensor
+#if 0 // # Senario : Illuminance sensor
int on = 0;
if (illuminance_value < ILLUMINATION_CRITERIA) {
@@ -207,21 +208,23 @@ static bool handle_get_request(st_things_get_request_message_s* req_msg, st_thin
_D("resource_uri [%s]", req_msg->resource_uri);
retv_if(!g_ad, false);
- if (0 == strcmp(req_msg->resource_uri, SENSOR_URI_ILLUMINANCE)) {
+ // QUIZ
+ if (0 == strcmp(req_msg->resource_uri, /*** URI ILLUMINANCE ***/)) {
if (req_msg->has_property_key(req_msg, SENSOR_KEY_ILLUMINANCE)) {
unsigned int value = 0;
sensor_data_get_uint(g_ad->illuminance_data, &value);
resp_rep->set_int_value(resp_rep, SENSOR_KEY_ILLUMINANCE, value);
}
return true;
- } else if (0 == strcmp(req_msg->resource_uri, SENSOR_URI_POWER)) {
- if (req_msg->has_property_key(req_msg, SENSOR_KEY_POWER)) {
+ // QUIZ
+ } else if (0 == strcmp(req_msg->resource_uri, /*** URI_DOOR ***/)) {
+ if (req_msg->has_property_key(req_msg, SENSOR_KEY_DOOR)) {
const char *str = NULL;
sensor_data_get_string(g_ad->power_data, &str);
if (!str) {
str = SENSOR_POWER_INITIALIZING;
}
- resp_rep->set_str_value(resp_rep, SENSOR_KEY_POWER, str);
+ resp_rep->set_str_value(resp_rep, SENSOR_KEY_DOOR, str);
_D("Power : %s", str);
}
return true;
@@ -235,18 +238,19 @@ static bool handle_set_request(st_things_set_request_message_s* req_msg, st_thin
_D("resource_uri [%s]", req_msg->resource_uri);
retv_if(!g_ad, false);
- if (0 == strcmp(req_msg->resource_uri, SENSOR_URI_POWER)) {
+ // QUIZ
+ if (0 == strcmp(req_msg->resource_uri, /*** URI DOOR ***/)) {
int ret = 0;
char *str = NULL;
- if (req_msg->rep->get_str_value(req_msg->rep, SENSOR_KEY_POWER, &str)) {
+ if (req_msg->rep->get_str_value(req_msg->rep, SENSOR_KEY_DOOR, &str)) {
retv_if(!str, false);
- _D("set [%s:%s] == %s", SENSOR_URI_POWER, SENSOR_KEY_POWER, str);
+ _D("set [%s:%s] == %s", SENSOR_URI_DOOR, SENSOR_KEY_DOOR, str);
sensor_data_set_string(g_ad->power_data, str, strlen(str));
- resp_rep->set_str_value(resp_rep, SENSOR_KEY_POWER, str);
+ resp_rep->set_str_value(resp_rep, SENSOR_KEY_DOOR, str);
- if (0 == strcmp(str, "on")) {
+ if (0 == strcmp(str, "opening")) {
ret = __set_servo_motor(g_ad, 1);
} else {
ret = __set_servo_motor(g_ad, 0);