ZConnect is an open-source connected product development toolkit. Add connectivity and smart features to an existing line of devices, or create an entirely new product with the endless possibilities that connected devices unlock.
Django App
The ZConnect Django app makes it really easy to build a powerful, scalable backend for your connected product. Built-in functionality for:
- interfacing with devices
- storing and aggregating time-series data
- managing users, organizations and billing
Frontend Framework
The ZConnect front-end libraries, built with React and Redux to enable extremely fast development of web interfaces and apps
- zconnect-js provides core functionality for use across React and React Native applications
- zconnect-web is a flexible and powerful collection of React components for quickly building UIs.
System overview
A typical IoT deployment is devided into three main parts: the IoT platform, the devices and the interfaces to interact with the system. In Zconnect, the IoT platform can be built on top of zconnect-django
, the devices communicate with the platform over MQTT and the interfaces are built in React or React Native using zconnect-js
and zconnect-web
.
Any of the parts can be used independently of the others, since they interact via simple APIs. However, the components are designed to work together so that you can quickly and easily build and IoT system with an interface made from reusable components.
HTTP API specs MQTT specs (coming soon) React Component Guide
Core Repositories
zconnect-django
The core of ZConnect, built with Django for an excellent developer experience.
- manage devices, users and organizations
- provides a complete RESTful HTTP API
- optional modules for billing and time-series data
zconnect-js
Provides middleware, actions, selectors and utilities for connecting to ZConnect API. Integrates with the redux store in React and React-Native apps. Consists of:
- custom api interaction layer
- authentication logic
zconnect-web
Build ZConnect web-apps faster with a set of intiutive and easy-to-use building blocks.
- layout components including navbars, interactive panels, forms and controls
- api connected components including time series graphs and device activity streams
- easy theming using scss vars or full customisation with classnames
View on GitHub Component Guide
Testing and Demo Repositories
zconnect-web-template
A “ZConnect Quickstart” designed to make it very easy to get started on a web-app built with ZConnect.
- demos the usage of the available components
- shows how the style can be customised
- can be used as a starting point for a new project
zconnect-django-demo
An example IoT platform built on zconnect-django
.
zconnect-system-demo
A complete IoT system demo built using docker.
- an instance of
zconnect-django-demo
built usingzconnect-django
- an instance of
zconnect-web-tempalte
built usingzconnect-js
andzconnect-web
- a device emulator, including a visual front-end to see and set device state
- a mock MQTT broker using
ibm-iot-emulator
ibm-iot-emulator
A mock for the IBM IoT platform for easier testing that doesn’t pollute live data.
- hosts an MQTT broker which acts in the same way as the IBM MQTT broker
- hosts an API which emulates the IBM IoT API
- hosted in a docker container to give high portability.
zconnect-mqtt-auth
A mosquitto Plugin authorising devices used by ibm-iot-emulator
device-simulator-frontend
A simple interface which lets you interact with a virtual device that is connected to the Zconnect platform.
device-simulator-backend
A simulated device for use with device-simlator-frontend
.