Among the most significant of the new features is native WebSocket support. This enables web browsers to make direct connections with an AES7-2018 enabled device. Previously, TCP connectivity was required for device control, with browser control only possibly by proxy; forwarding a WebSocket connection to a TCP stack.
Native WebSocket browser connectivity is a key advantage in enabling very low latency real-time web based and IoT AES70 control applications. The full-duplex nature of WebSockets allows the web server to initiate communication with client devices, establishing a persistent, bidirectional connection that allows the status of the device to be updated instantaneously without an initiating client request. This makes devising powerful browser and App based GUI’s a much ‘lighter’ proposition for developers.
Also included in the standard revision is native UDP (User Datagram Protocol) support; again as an alternative to TCP, enabling AES70 implementation. The faster, lighter communication protocol facilitates AES70 implementation with a much ‘smaller footprint’ within constrained hardware designs. This is more ideal for compact devices like wall controllers or existing hardware that doesn’t have much resource headroom.
Alliance member company DeusO GmbH has been conducting extensive development of a web-based user interface framework and multi-device control solutions, which utilize AES70 in recent years. The company’s Business Development Manager Matt Hardy was on hand to introduce a controller implementation and real device simulation, using open source JavaScript library AES70.js and the newly announced C++11 AES70.cpp.
The company’s approach to embedded C++11 libraries is for optimization for small devices. “We are generating C++ device side libraries which utilize our own code generation technologies developed specifically for flexible AES70 library implementations. The approach to embedded targets starts with a C++ library template which automatically optimizes during compilation,” says Hardy. “Key benefits are having precise reporting of static RAM requirements and the ability to shrink the resulting library’s physical size.
“The C++ template approach allows integration with an existing code base and is largely agnostic to developer preferences. Our intent is to not dictate how a device needs to be constructed, but to simply provide a flexible way to expose it as an AES70 ready device.”
DeusO offers an evaluation kit for the C++ device library as a binary that can run on a Linux oriented system such as a Raspberry Pi. This evaluation includes a user interface using the JavaScript AES70.js controller library to connect and control device parameters via a web browser. “Our aim is to provide a useful means of evaluating both AES70 on the device side and the web-based controller potential of AES70.js,” says Hardy.
The company also offers a complete AES70 controller implementation in C# for Visual Studio and MonoDevelop integrated development environments.
The work of the OCA Alliance, in supporting developers become more familiar with the AES70 standard and providing assistance in its implementation, is key to its mission. At ISE the alliance revealed additional new tools and support resources, all freely available from its website.
Of particular advantage is OCTT, an open-source tool for testing devices' conformance to the minimum AES70 implementation specification, defined in Part 2 of the AES70 standard. While not a full-blown formal test suite, OCTT is a Windows-based programmers’ tool, intended to confirm that devices under development fulfil the minimum requirements for AES70 compliance.
The OCTT control file is a free open-source offering that users can extend to add their own specific tests. Alliance membership is not required to access and use OCTT, and there are no commercially difficult licensing conditions. Architecturally OCTT is an AES70 controller and its source code may also provide a useful starting point for development of commercial AES70 controllers. OCTT supports AES70-2015 and AES70-2018 devices, and is available via the OCA Technical Site downloads page.
The OCA Alliance Technical Committee is now operating a public discussion list for AES70. Anyone can post to the list; alliance membership is not required. Questions and comments may be asked on any and all AES70-related topics. All levels experience and knowledge are welcome. The list's email address is here.
Links to other related pages are on the OCA Alliance Technical Site home page.
For audioXpress coverage of ISE 2019 and the OCA Alliance efforts, see the report here.
ocaalliance.com