Azent Key Technical Features
Why Technical Engineers are using Azent
Azent is a software stack which implements support for the Lucid protocol.
- Azent is targeted at Field Device implementations.
- Azent is delivered as source code, ready for integration into your project on your platform.
Language
Azent is written in the C coding language.
It is well documented with comment blocks for major functions and comments throughout the code. The code base is split into multiple files and it is laid out in an intuitive file structure which is documented in the manual. Azent uses CMake for configuration and build .
Functionality
Azent implements all of the functionality described in the Lucid Protocol specification. This includes implementing all of the JSON messaging – both processing requests from the broker and forming responses back to the broker.
3 Editions of Azent
Azent is provided in one of three editions:
- Basic
- Standard
- Premium
Each edition builds functionality and features on the previous edition.
The editions are all built by Terzo Digital from a single code base; this gives the benefit of, for example, a single fix within the Basic edition being changed once and deployed in all 3 editions.
Modular
Azent is bundled with both an MQTT library and a JSON library, both of which are required for the Lucid standard. However, they can be “detached” from Azent, and you can use your own MQTT and JSON libraries if appropriate.
How Product Vendors use the APIs
The core Azent code is separated from device-specific code using APIs. The APIs provide the interface and a level of abstraction to operating system functions such as file access and sending / receiving TCP packets.
In addition, APIs also provide the interface to optional software libraries, such as the JSON library and the MQTT library. This allows you as a product vendor to either use the libraries we bundle with Azent, or to use your own libraries which implement the same functions.
For example, if you already have a JSON library on your device, and want to use that instead of the one we bundle Azent with, then you can code and compile the Azent API against your JSON library.
Likewise, if your platform is something we have not written an example for, then you can implement those low level layers on your platform, permitting the whole of the Azent stack above to work on that platform.
Example Projects
Azent is bundled with the sample projects to demonstrate how to include Azent into your product. It also allows you to build a fully working product on standard, readily-available hardware such as Rasberry Pi.
Azent Basic is provided with a single example project. Other editions of Azent are bundled with more example projects. Through time we expect to add more platforms to the list of examples we provide.
In the meantime, here are Seven Surprising Ways to Use Lucid.
Licence
To use any of the Azent editions, we require you to sign our simple software licence agreement. Please contact us to get started.
Pre-requisites
Azent is appropriate for use on simple, low specification devices but devices must provide the following:
- C code toolchain for compiling and linking Azent into an executable that will run on the device
- A TCP/IP stack and some hardware capability of connecting over TCP/IP to a Lucid broker
- Some form of clock
- A file system
Azent Supporting Material
To support the integration of the Azent stack in your Lucid product, Terzo Digital provide the following resources:
- In-code comment blocks and comments
- User manual
- Example implementation projects for different platforms and operating systems
- Professional support (costed option – with some time bundled into the Premium edition)