Dear Kishen, George, Clarke,

many thanks for your answers.

I managed to have two applications running: one with two devices, one with one device.


@George:

"With IoTivity-lite the security information is encoded across multiple files. Feel free to open up the folder specified in oc_storage_config(…) you will find many files ( acl_#, cred_#, doxm_#, keypair_#, pstat_# ) Like IoTivity-classic these files are cbor encoded."

Seems it depends on access rights: having created the folder by myself it works: there are all those files. AND: On-boarding on two devices from two different applications / processes works. Maybe we shout have a look on the scenario "one application (= server) with two or more devices. each device with one or more resources". How is this handled within the app.


It's midnight in Germany. I'll now "call it a day" and drink a "Köstritzer Schwarzbier" (https://www.koestritzer.de/produkte/koestritzer-schwarzbier/)


Many thanks to you all!


Looking forward to here from you and see you! Maybe I can invite you for such a beer at an upcoming OCF event ;-)





Cheers and best regards,

Diethelm






Am 03.12.2019 um 23:26 schrieb Maloor, Kishen:

Diethelm,

There's more than one way to achieve this. It really depends on the architecture you'd prefer to employ.

> In old days (IoTivity) it was possible to have one server (in one surrounding

> application) that starts several devices. Is that possible with IoTivity lite too?

By "surrounding application", are you suggesting a separate application that spawns off specific processes as and when? You can do that with IoTivity-Lite

servers too.

> If not: I started two servers (one and the copy of the executable from the first).

> When I onboarded the first one successfully onboarding of the second failed.

This could've been because both were pointing at the same storage path (i.e. the path supplied to oc_storage_config())? That's the path where all state (credentials,

etc.) are persisted.

> - is it possible to start two or more servers within one application ?

The multi-device server which George cited lets you set up and run multiple virtual servers within a single application process. Each virtual server would have its

own set of endpoints/ports.

> - How to organise credentials in that case (persistence, etc...)

When using a multi-device server, all state is automatically organized by the stack and indexed by virtual server. (For e.g., acl_0 is ACL for the 0th server, acl_1 for the 1st server, etc.).

They're also loaded back appropriately into the contexts of each virtual server following a power cycle.

> In general there might be the question:

> If a server application provides two or more devices: then it can only manage ONE

> credential folder / file ? Is that the design goal?

The (oc_storage_config()) folder is one per application process, and state is dumped into separate files and managed by the stack.

Thanks,

-Kishen.

--

Kishen Maloor

Intel Corporation

*From: *<iotivity-dev@lists.iotivity.org> on behalf of George Nash <george.n...@intel.com>
*Date: *Tuesday, December 3, 2019 at 2:18 PM
*To: *"Prof. Dr.-Ing. Diethelm Bienhaus" <diethelm.bienh...@mni.thm.de>, Clarke Stevens <clarke.stev...@sjrb.ca> *Cc: *"iotivity-dev@lists.iotivity.org" <iotivity-dev@lists.iotivity.org>, Sören Fink <soeren.f...@mni.thm.de>, "thorsten.e...@gmx.de" <thorsten.e...@gmx.de>
*Subject: *Re: [dev] IoTivity lite question

I am no sure about the OTGC but when I use the onboarding_tool that ships with iotivity-lite I see two device names `My fridge` and `My thermostat`. With two distinct device ids. We may need to file a bug against the OTCG for this issue. Has anyone tried OTGC with against a multiple device sample?

Onboarding must be performed for both devices.

With IoTivity-classic all security information was written to a single file.

With IoTivity-lite the security information is encoded across multiple files. Feel free to open up the folder specified in oc_storage_config(…) you will find many files ( acl_#, cred_#, doxm_#, keypair_#, pstat_# ) Like IoTivity-classic these files are cbor encoded.

If you are using cloud, introspection, or the update api’s you may find additional files. All files written to persistent storage by the iotivity-lite stack will only go to the location specified by oc_storage_config.

The number appended to the end of the file name is the device that file is associated with. Device numbering starts with zero `0`.

George

*From:*Prof. Dr.-Ing. Diethelm Bienhaus <diethelm.bienh...@mni.thm.de>
*Sent:* Tuesday, December 3, 2019 12:51 PM
*To:* Clarke Stevens <clarke.stev...@sjrb.ca>; Nash, George <george.n...@intel.com> *Cc:* iotivity-dev@lists.iotivity.org; Sören Fink <soeren.f...@mni.thm.de>; thorsten.e...@gmx.de
*Subject:* Re: [dev] IoTivity lite question

Dear Clarke, dear George,

many thanks for your quick responses.

I'm working in a project with the company BSC which is pushing the EnOcean spec.

We are preparing some hardware and a gateway for the interop meeting next week.

I really like the R Pi example. I started some time ago with Rami's example "IoTivity Development on Raspberry Pi* 3"

I think we will start a server providing ONE device with one to several resources representing a single EnOcean sensors.


What do you think?








One more question - hopefully I will not bother ;-) - since I have been not involved in the iotivity lite topic for a longer time.

At the beginning of the security stuff there were cbor files stored holding the credentials.


Nowadays there are commands like


oc_storage_config("./devicebuilderserver_creds");

oc_storage_config("./devicebuilderserver_creds");

But it seems that e.g. ./devicebuilderserver_creds is displayed as a folder not a file.

Maybe there is a trick behind that ...


@George:
I just tried the multi_device_server_linux.c

The OTGC app displays two devices - unfortunately with the same name "My fridge"

Having onboarded the first device an onboarding of the second device failed.
Was that example tested with the OTGC app and security?

In general there might be the question:
If a server application provides two or more devices: then it can only manage ONE credential folder / file ? Is that the design goal?

Best regards,

Diethelm

Am 03.12.2019 um 20:53 schrieb Clarke Stevens:

    Diethelm,

    From your example, I think you may just be building a basic OCF
    device with multiple resources (resources in OCF are fairly atomic
    and devices contain multiple resources). You might want to look at
    the Raspberry Pi examples here that have multiple resources on
    daughter boards. I particularly like the Explorer Hat Pro example
    because it has both sensors and actuators and there is a nice
    tutorial (enclosed). Also, the EnOcean bridge specification should
    be available soon. In the mean time, you can see what a bridge
    looks like with several other protocols (ZigBee, Z-Wave, U+,
    oneM2M, AllJoyn and Bluetooth).

    https://github.com/openconnectivity/Sample-Raspberry-Pi-Code

    If you actually do need a Device to contain other devices, you can
    do that, but it is not as simple.

    Thanks,

    -Clarke




        On Dec 3, 2019, at 12:11 PM, Prof. Dr.-Ing. Diethelm Bienhaus
        <diethelm.bienh...@mni.thm.de
        <mailto:diethelm.bienh...@mni.thm.de>> wrote:

        Hi all,

        we are building a gateway for EnOcean sensors. The goal is to
        have a device for each physical device like a button or a sensor.
        There are EnOcean sensors with e.g. three measurement points
        like combined temperature / illuminance / presence.

        So we want to provide several devices (with one to n
        resources) from our gateway application.
        In old days (IoTivity) it was possible to have one server (in
        one surrounding application) that starts several devices. Is
        that possible with IoTivity lite too?

        If so: could some one send me e.g. a link to an example?


        Many thanks in advance.


        Best regards,
        Diethelm





        -------- Weitergeleitete Nachricht --------

        *Betreff:*

                

        RE: IoTivity lite question

        *Datum:*

                

        Tue, 3 Dec 2019 18:49:40 +0000

        *Von:*

                

        Rami Alshafi<ralsh...@vtmgroup.com> <mailto:ralsh...@vtmgroup.com>

        *An:*

                

        Prof. Dr.-Ing. Diethelm Bienhaus<diethelm.bienh...@mni.thm.de>
        <mailto:diethelm.bienh...@mni.thm.de>

        Hi,

        Yes, I believe it is possible to be accomplished with
        IoTivity-lite. I do not know for sure but no one complained
        about it being an issue at all and I work with many developers.

        Your best bet is to send out your question to the IoTivity
        developer mailing list (iotivity-dev@lists.iotivity.org
        <mailto:iotivity-dev@lists.iotivity.org>) and one of the
        developers will likely respond. The holidays in the US are
        coming up so maybe responses will be slower.

        Thanks,

        -Rami

        *From:*Prof. Dr.-Ing. Diethelm Bienhaus
        [mailto:diethelm.bienh...@mni.thm.de]
        *Sent:*Tuesday, December 3, 2019 8:17 AM
        *To:*Rami Alshafi<ralsh...@vtmgroup.com>
        <mailto:ralsh...@vtmgroup.com>
        *Subject:*IoTivity lite question

        Hi Rami,

        hopefully you can help us (or push forward our problem):

        Using the nice development process (gen.sh -> build.sh ->
        run.sh) we could generate a server with the desired resources.

        OCF Server name : "server_lite_5821"

        Intialize Secure Resources

        Register Resource with local path "/humidity"

        number of Resource Types: 1

        Resource Type: "oic.r.humidity"

        Default OCF Interface: "oic.if.a"

        Register Resource with local path "/keycardswitch"

        number of Resource Types: 1

        Resource Type: "oic.r.keycardswitch"

        Default OCF Interface: "oic.if.a"

        Register Resource with local path "/rockerbutton"

        number of Resource Types: 1

        Resource Type: "oic.r.button"

        Default OCF Interface: "oic.if.a"

        Register Resource with local path "/sensor_contact"

        number of Resource Types: 1

        Resource Type: "oic.r.sensor.contact"

        Default OCF Interface: "oic.if.a"

        Register Resource with local path "/sensor_presence"

        number of Resource Types: 1

        Resource Type: "oic.r.sensor.presence"

        Default OCF Interface: "oic.if.a"

        Register Resource with local path "/temperature"

        number of Resource Types: 1

        Resource Type: "oic.r.temperature"

        Default OCF Interface: "oic.if.a"

        Successfully installed PKI certificate

        Successfully installed intermediate CA certificate

        Successfully installed root certificate

        OCF server "server_lite_5821" running, waiting on incoming
        connections.

        The goal is to have a device for each physical device like a
        button or a sensor.

        There are EnOcean sensors with e.g. three measurement points:

        Light, Temperature and Occupancy Sensor

        (A5-08-XX)

                

        Temperature value

        Temp Unit (by spec

        Temp Range (by TYPE spec)

        Illumination value

        Illumination range (by type spec)

        Occupancy

                

        oic.r.temperature

        oic.r.sensor.illuminance

        oic.r.sensor.presence

                

        oic.d.sensor

                

        Generic Sensor


        So we want to provide several devices (with one to n
        resources) from our gateway application.

        In old days (IoTivity) it was possible to have one server (in
        one surrounding application) that starts several devices. Is
        that possible with IoTivity lite too?

        If not: I started two servers (one and the copy of the
        executable from the first). When I onboarded the first one
        successfully onboarding of the second failed.

        Our questions:

        - is it possible to start two or more servers within one
        application ?

        - How to organise credentials in that case (persistence, etc...)

        Many thanks in advance,

        Diethelm

--
        ----------------------------------------------------------

        Prof. Dr.-Ing. Dipl.-Wirt. Ing. Diethelm Bienhaus

        Fachgebiet Informatik mit Schwerpunkt Ingenieur-lnformatik

        Fachbereich Mathematik, Naturwissenschaften und Informatik

        Technische Hochschule Mittelhessen

        Wiesenstr. 14 - D-35390 Gießen




--
----------------------------------------------------------
Prof. Dr.-Ing. Dipl.-Wirt. Ing. Diethelm Bienhaus
Fachgebiet Informatik mit Schwerpunkt Ingenieur-lnformatik
Fachbereich Mathematik, Naturwissenschaften und Informatik
Technische Hochschule Mittelhessen
Wiesenstr. 14 - D-35390 Gießen




--
----------------------------------------------------------
Prof. Dr.-Ing. Dipl.-Wirt. Ing. Diethelm Bienhaus

Fachgebiet Informatik mit Schwerpunkt Ingenieur-lnformatik
Fachbereich Mathematik, Naturwissenschaften und Informatik

Technische Hochschule Mittelhessen
Wiesenstr. 14 - D-35390 Gießen


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#10311): 
https://lists.iotivity.org/g/iotivity-dev/message/10311
Mute This Topic: https://lists.iotivity.org/mt/65853266/21656
Group Owner: iotivity-dev+ow...@lists.iotivity.org
Unsubscribe: https://lists.iotivity.org/g/iotivity-dev/unsub  
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to