This repository provides source code that allows to set-up and demonstrate an IoT to Cloud SmartHome demo leveraging OCF and IoTivity to communicate between smart appliances (OCF servers), a Home GW (OCF client) and a cloud-based portal (using the IoT REST API Server). The user can interact with the various devices via both an Android companion app (when on the local network) and via the cloud portal. For a more comprehensive overview of the architecture and a detailed step-by-step guide on how to put it all together, please take a look at our online tutorial.
The repository is organised as follows:
gateway
: code running on the Home Gatewayocf-servers
: OCF server implementations in JavaScript (located injs-servers
).- Generic documentation on how to set them up is available here
- The specifications for the OCF servers is availabe in the
ocf-servers/doc/
folder
ostro-config
: a collection ofsystemd
service files that can help automatically start the Home GW software (on the Home Gateway) and OCF servers (on the OCF server hardware). (note: these require manual adaptation and not all OCF servers have an associated service file available)sensors
: source code for the various Smart Devices that are based on the Zephyr Projectsmarthome-web-portal
: code for the cloud portalsnap
: meta file for packaging the Home Gateway into a snap
You will find dedicated README.md files in most of these subfolders that will explain in more details how to use their respective contents.