A high level software interface

DINGO-IoT provide you with a high level open platform to develop your own IoT APPs or other type of software.

Only lack of imagination can stop you

OVERVIEW

GO-IoT software stack is intended to give developers high-level programming power for their IoT applications. They don't have to  bother about programming the bits and bytes at sensor/device level. We have already done it for them by implementing the DINGO Peripheral Manager and BACnet/IoT.

Please read about the DINGO software stack here...,  before continuing.

The DINGO software stack is all developed in C++ and POCO. Full support is included for the KDevelop RAD environment. We chose this environment to get as small footprint and fast code as possible, without loosing development-speed.
However developers may choose any other programming environment, they want. This is because DINGO software stack is provided with a REST web-service interface (based on BACnet/WS rules). This gives the developers total freedom of using whatever dev. environment best suits them.

We plan to open-source the BACnet IoT server and client software stack in Q4 2017.

USING REST WEB SERVICES

The DINGO software stack provides full Restful Web Services based on BACnet/WS rules, not only for the BACnet part, but also for APP-manager, Peripheral Manager an other modules of the software stack.
Key features are:

  • CRUD operations via simple POST-, GET-, PUT- and DELETE-requests.
  • Supports Change Of Value (COV) subscriptions by web socket push notifications.
  • Supports XML and JSON for structured data.
  • Supports plain text for primitive data.
  • Runs under HTTP and HTTPS.
  • Contains authorization - OAuth 2.0 (available soon).

APP DEVELOPMNT

DINGO software stack has a powerful environment to manage APPs. APP parameters can be fully detailed in the DINGO SQLite database. By defining the parameters correctly, those can be viewed and set in DINGO MANAGER or "your manager".
How and when APPs are executed is also configurable via BACnet Scheduling objects.
In addition  APPs can be accessed from BACnet via BACnet Program objects. Thereby other BACnet devices from any vendor can communicate easily with the APP.

To add to all this APPs can be configured to be source to BACnet objects. For example an APP that retrieves weather forcast data from the Internet, can be a source to Analog Input Temperature and Analog Input Rain BACnet objects.

CONTRIBUTE TO BACNET/IOT

We chose BACnet as we could not find any other standard that is as well and fully defined in terms of device-to-device communication, both at the Application-layer as well as the Network-layer. What is more BACnet is an ongoing definition and widely accepted by the industry.

DINGO BACnet/IOT is a brand new implementation of the BACnet standard.  The BACnet standard is huge. Our implementation today only implements a part of it. However we will continue to add BACnet objects and services by definition as needed. To make that happen even faster we have decided to open source our BACnet/IoT such that 3d parties can contribute to the development or add their own proprietary objects and services.

A community will be built up around this development.

Read more about BACnet/IoT here...

OTHER PLATFORMS

Although the upper layer of DINGO software stack is based on BACnet, it does not prevent development based on other standards or proprietary software not related to BACnet. The BACnet part can easily be "turned off".
DINGO BACKBONE is basically a powerful Linux computer (can also be "Windows 10 IoT" when equipped with the DINGO Raspberry Pi editions of the Computer Board). 
Therefore developers can develop whatever software they want within the restrictions of that operating system.
In that case the DINGO Peripheral Manager library can be very useful to access peripherals (sensors and actuators) at a semi-high level. That is much more easy than having to develop against GPIOs, GPIO Interrupts, I2C, Modbus and other low-level hardware and buses.
In that case DINGO MANAGER can still be used to configure peripherals, that saves a lot of development work.
 
For more information about DINGO IoT bus support here... 
For more information about DINGO MANAGER here...