I’m re-posting Clarke’s email under a different title so folks can find it.  
The “Where are the devs” thread has gotten really overloaded when it was just 
meant to be a physical location survey I think ☺

“All,

Let me jump in here.

I’m Clarke Stevens, the chair of the OCF tools group. We are at the MVP stage 
of some very exciting developer tools.

Using these tools, I can build a certifiable device in 15 minutes (actually, 
it’s more like 3 minutes after you build the IoTivity libraries). This is what 
we will use in our hackathon in Chicago in a couple weeks. Also, I have a 
presentation on it that will be available in the online version of the IoT Slam 
conference on June 21-22.

Here is what we have (currently running on the Raspberry Pi).
·         A git repo with the complete installation scripts.
·         Scripts that install IoTivity, DeviceBuilder (development scripts), 
and MRAA libraries.
·         Scripts that run the development tool chain
o    gen.sh - Reads the device description file that describes the resources in 
whatever you want to build. From that, it reads the needed resource definitions 
in oneIoTa and builds the following
§  Certifiable IoTivity code for the server.
§  An introspection file
§  PICS files for testing
§  An onboarding file for secure access
o    build.sh - Runs scons to compile and link everything and copy it to the 
right directories.
o    edit_code.sh - Loads the server.cpp source file into the nano editor so 
you can add your custom code.
o    run.sh - Runs the server executable.
o    reset.sh - Resets the onboarding state to RFOTM (ready for onboarding 
transfer method - so, unowned).
·         Onboarding Tool and Generic Client (OTGC) - This is and Android app 
(current MVP, will be available in iOS, Ubuntu and Windows in the fall). It 
supports a nice interface to onboard a device. Once the device is onboarded, It 
reads the introspection file and automatically generates a GUI with the widgets 
to support the identified resources. This client is open source. So you can 
build your own certifiable custom client starting from a working interface.
·         DeviceSpy - This has the same functionality as OTGC, but has a 
developer’s interface with the actual editable payloads for messages.
·         Compliance Test Tool (CTT) - An automated test tool that uses the 
generated PICs file to run all the tests to verify your product is OCF 
compliant.

As I said, I can run the entire tool chain in 15 minutes on a Raspberry Pi 3 in 
about 15 minutes. I will be doing this on stage at the hackathon in Chicago.

Here are some other key points.

·         oneIoTa is used as the definitive source for all resource models. Any 
resources in oneIoTa can be used. If you need something that isn’t available. 
You can submit new resources to oneIoTa (oneiota.org<http://oneiota.org/>).
·         All you need to do to define a complete device is write the device 
description file (JSON). All the necessary resources will be automatically 
pulled in and all the necessary files automatically generated and put in the 
correct directories.
·         Currently, we are using IoTivity in C/C++, but all of the scripts are 
templated, so it’s easy to convert to any language on any platform. We have 
currently tested the entire tool chain on Windows, MacOS, Ubuntu and Raspian. 
We are looking at a node.js as a possible next language. A couple of BIG 
companies are planning to support their own boards that are more likely to be 
used in real products.
·         The OTGC is currently in MVP stage on Android. It will support iOS, 
Linux and Windows by this fall.
·         DeviceSpy is a very powerful developer tool that lets you have 
perfect control over the payloads.
·         CTT lets you run all the tests for certification on your own before 
you submit your product to an Authorized Test Lab.
·         The tools generate logs so you can debug any problems.

This is an exciting and complete (OK, a debugger isn’t really integrated yet, 
but feel free to help set this up). I encourage everyone to try this. The 
current example code supports the demo hardware (Pi and EnviroPhat daughter 
board) we used for our demo kits at CES. You can see that here: 
https://openconnectivity.org/wp-content/uploads/2017/12/OCF-IoTivity-RPi3-GSG.pdf

Look at the hardware, but don’t use these instructions (they are the old ones). 
Instead, install a headless version of Raspian stretch 
(https://www.raspberrypi.org/downloads/raspbian/), then use the DeviceBuilder 
process described here: https://github.com/openconnectivity/IOTivity-setup Some 
of this may only be available to OCF members, so if you aren’t already signed 
up, you should do it. There are free levels for individuals and non-profits.

Unfortunately, the instructions for getting OTGC, DeviceSpy and CTT aren’t yet 
clearly written. The will be within the next week or so.

Also, if you can be in Chicago June 21 and 22. Sign up for the hackathon (see 
the OCF site: openconnectivity.org<http://openconnectivity.org/>). It’s free 
with free food, cool goodies and bragging rights for having participating in 
the first OCF hackathon.

OK. That’s all I’ve got.

Thanks
-Clarke”

Reply via email to