Updated release notes for 2.0.0-rc-1

Change-Id: Ibc9276c3a6824bb61716fae1c3d55edcfd61b923
Reviewed-on: https://weave-review.googlesource.com/9616
Reviewed-by: Aidan Wolter <awolter@google.com>
Reviewed-by: Shyam Parthasarathy <shyamsundarp@google.com>
1 file changed
tree: 83d9231ce6535e8652596a824fd3fe583848a94f
  1. .clang-format
  2. .gitignore
  5. Dockerfile
  7. Makefile
  8. README.md
  10. autotest/
  11. build/
  12. device_tests/
  13. docs/
  14. examples/
  15. include/
  16. integration_tests/
  17. navbar.md
  18. platform/
  19. provider_testrunner/
  20. provider_tests/
  21. src/
  22. templates/
  23. test/
  24. third_party/
  25. tools/

Iota Library

Iota is an implementation of Weave intended for use on microcontroller scale devices. The Iota codebase is open source and distributed under Apache 2.0 license available in the LICENSE file.

The Getting Started guide can help you figure out how to build and use the Iota library.

Source Layout


The platform/ directory contains platform-specific code. Under here you'll find directories for SoC makers and a host device which can be used to run Iota on a Linux-based machine (including embedded Linux devices such as the Raspberry Pi, BeagleBone, etc.).

Platform specific examples exist in the examples/ directory within directories corresponding to the platform type.

Please refer to platform-specific READMEs below for details about each platform.


The docs/ directory contains Iota documentation. Start with the Getting Started guide to get going.


The include/iota/ directory contains the public Iota headers.


The include/iota/cloud directory contains headers related to weave state machine.


The include/iota/schema directory contains device interfaces and trait definitions. The include/iota/schema/interfaces contains auto generated code related to device definitions. The include/iota/schema/traits contains auto generated code for trait definitions that are used in the examples.


The include/iota/provider/ directory contains the definition of the Iota HAL. Iota clients must provide an implementation for each function defined in this directory.


The examples/ directory contains a number of examples organized by platform type.


examples/common directory contains code that is common to all platforms.


examples/common/devices contains a definition of light component with all its traits.


examples/qc4010, examples/mw302 and examples/host contain example code that is specific to each platform. Let's use the qc4010 platform for the discussion below. Other platforms follow a similar directory organization.

The examples/qc4010/framework directory contains code common to all examples for qc4010 platform like connecting to Wifi and initializing CLIs. The main entry point to the libiota example application is within the directory with the name of the component. For example, examples/qc4010/light contains the main function for light device example.

The examples/host directory is a good starting point for understanding how to use Iota in your application. The light example runs natively on Linux-based devices (such as a Raspberry Pi). Additional information is available in the Getting Started guide.


The provider_testrunner/ directory contains sample application to create the providers and exercise the provider test-suite. If you are developing for a new platform not currently supported by libiota, Refer to the README guide if you are developing for a new platform.


The src/ directory contains the source files for the Iota library. Third party applications should not directly depend on header or implementation files under this directory.


The third_party/ directory contains external dependencies that we'd rather not download at build time.


The integration_tests/ directory contains integration tests for the Linux host and various boards with the Weave server. The source for the binaries to run on the host or board are contained here. To run the integration tests via ‘make integration_tests’, these additional dependencies required by autotest must be installed: python-numpy


The autotest/ directory contains Autotest integration tests and Iota-specific Autotest utilities. This includes the test scripts and used to exercise the Weave server and an Iota device during an integration test.


See the repository style guide.


Join the IOT developer community to post questions and to participate in discussions. You can also post questions in Stack overflow with tag google-weave.