Hello again Zhang, If you want a detailed explanation you should check "csdk/stack/src/oicgroup.c" and "csdk/stack/src/occollection.c".
Long story short a collection resource is nothing but a resource, with something special: it has subordinate resources (bindResource is the call you should look after). This resource alone does nothing, so you have to create the actual resources to control a particular device and bind them to your collection resource. Regarding the role of this type of resource, you have to choose what to do with it. So, to help you issue commands on subordinate resources there are two interfaces, GROUP and BATCH, each with a slightly different purpose. On the group interface you can build action sets and using the batch interface you can forward requests to all subordinate resources. I recommend you read the core spec of the protocol. Best regards, Cosmin From: Zhang, Jingke Sent: Tuesday, September 15, 2015 9:37 AM To: Petrisor, Cosmin; iotivity-dev at lists.iotivity.org Subject: RE: resource/examples/groupclient stops after finding resource Thanks Cosmin, yes it works. Here I am curious that I used to think light resource is contained or under collection resource. Just guess what the group means. I should be wrong. Cosmin, could you help to explain what the 'group' means? Thanks very much for your help! From: Petrisor, Cosmin Sent: Monday, September 14, 2015 10:02 PM To: Zhang, Jingke; iotivity-dev at lists.iotivity.org<mailto:iotivity-dev at lists.iotivity.org> Subject: RE: resource/examples/groupclient stops after finding resource Hello Zhang, I think I can help you with that. As you can see in "resource/examples/groupserver.c" this server only registers a collection resource with the default entity handler and nothing more. After registering that collection resource it searches for "core.light" which is never registered by any of the two involved entities. It seems that you have two options here (the easy way, or the hard way): 1. Try starting the lightserver (it has the same path) in one terminal, start the group server after 10 - 15 sec, wait for it to find the light resource and after that start the group client. Et voila. 2. Implement the server-side part for light manipulation in groupserver.c (entity handler, resource registration, etc, etc). This one might give some headaches. Best Regards, Cosmin From: iotivity-dev-bounces at lists.iotivity.org<mailto:iotivity-dev-bounces at lists.iotivity.org> [mailto:[email protected]] On Behalf Of Zhang, Jingke Sent: Monday, September 7, 2015 8:47 AM To: iotivity-dev at lists.iotivity.org<mailto:iotivity-dev at lists.iotivity.org> Subject: [dev] resource/examples/groupclient stops after finding resource Hi all, When I run example app 'groupclient', it stops after finding 'collection' resources. Do not ask me options 1/2/3/4. I am using latest iotivity, commit info is: commit 0cf008a96ec37fec868d03dbdec4653f9db83495 Author: Jihun Ha <jihun.ha at samsung.com<mailto:jihun.ha at samsung.com>> Date: Fri Sep 4 16:20:39 2015 +0900 My validation step is: 1. cd out/linux/x86_64/release/resource/examples/ (my dev is Ubuntu14.04) 2. ./groupserver 3. In another terminal at same path, run './groupclient' Is there anything wrong with the example code? As iotivity-0.9.1 worked fine. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.iotivity.org/pipermail/iotivity-dev/attachments/20150915/40518276/attachment.html>
