2 ****************************************************************************
3 Release date: Nov 15th, 2014.
4 OS: Ubuntu 12.0.4 and above
5 Requires boost version 1.55 to build.
6 Code buildable in gcc 4.6.3 and above.
7 NOTE: Boost is not distributed but should be installed in the Ubuntu machine.
8 *****************************************************************************
10 Release commit number: acf4c1
14 --------------------------------------------
15 Class OCPlatform (Header file: OCPlatform.h)
16 --------------------------------------------
21 Existing subscribePresence API has been overloaded with a resource type parameter.
22 Client can now subscribe presence with interested resource type.
23 This release also supports multicast presence subscription.
25 Available subscription options are:
27 Unicast presence subscription without resource type.
28 Multicast presence subscription without resource type.
29 Unicast presence subscription with resource type.
30 Multicast presence subscription with resource type.
36 Maximum length of URI supported is 64 bytes (sent from the client)
37 Maximum length of query supported is 64 bytes (sent from the client)
38 Maximum length of request and response from server for Ardunio is is 256 bytes
39 Maximum length of request and response from server for non-Ardunio is is 1024 bytes
41 OIC base supports Arduino WiFi shield.
42 This support has been tested with Arduino Mega 2560 and with Arduino 1.0.5 WiFi library.
43 Please refer to oic-resource/csdk/README file for building OIC base with WiFi support.
46 1. OCStack is compiled with security only if a valid libtinydtls.a is available
47 under oic-resource/resource/csdk/tinydtls directory.
48 2. Currently, security credentials for resource and client are hard-coded in the stack source files.
49 3. Currently, tinyDTLS does not support establishing new associations with existing parameters.
50 Due to this limitation, if the client application is re-started and attempts to create a new DTLS
51 session with an existing server, tinyDTLS server rejects the request.
52 4. Security is NOT supported for Arduino platform.
56 1. When observation is used, server shutdown causes an error.
59 1. In case of unicast presence with rt, only one rt is permitted per IP address for
60 subscribePresence. If multiple subscriptions are done, only first subscribePresence’s rt is used.
61 2. For multicast presence, server shutdown (ungraceful) scenario is not notified to the client,
62 but graceful shutdowns are notified.
71 REFER https://oic-review.01.org/gerrit for more details on getting oic-resource repo.
72 If the code is not cloned:
73 Clone the oic-resource repo using this command: git clone oic:oic-resource
75 NOTE: If the repo is already cloned, use 'git pull' inside oic-resource folder to get the
78 In repo oic-resource, root folder consists of 'resource' folder. Inside OIC folder there
81 Inside oic-resource directory, use 'make'to build the entire OIC code. This would build the C++ SDK,
82 core(i.e base) and samples.
84 Use 'make BUILD=debug' to build the entire OIC code in debug mode. This would build the C++ SDK,
85 core(i.e base) and samples.
91 A basic sample for hosting a resource on a server and a sample for client for discovering resources
93 Simple server sample location: oic-resource/examples/simpleserver.cpp
94 Simple client sample location: oic-resource/examples/simpleclient.cpp
95 Server and client mode (mode type both) location: oic-resource/examples/simpleclientserver.cpp
96 Simpleserver and simpleclient samples also provide examples for doing POST operation.
98 Garage samples provide usage of OCRepresentation, get/set attribute values
99 oic-resource/examples/garageclient.cpp
100 oic-resource/examples/garageserver.cpp
102 Fridge samples provide usage of constructResourceObject API, std bind
103 (for mapping request and responses), default
104 device entity handler, header options support and Delete operation.
105 oic-resource/examples/fridgeclient.cpp
106 oic-resource/examples/fridgeserver.cpp
108 Presence samples provides examples to use presence APIs
109 Sample with basic presence feature for server side: oic-resource/examples/presenceserver.cpp
110 Sample with basic presence feature for client side: oic-resource/examples/presenceclient.cpp
112 Room samples provides examples to use resource collection.
113 oic-resource/examples/roomclient.cpp
114 oic-resource/examples/roomserver.cpp
116 After building the code in oic-resource, executables for samples are in directory named
117 'oic-resource/samples/release'.
118 After building the code in oic-resource, executables are in directory named 'oic-resource/release'.