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”
