Network integration of embedded products as well as new operation concepts have become important design parameters in the development of applications in an industrial environment. The devices at field level are rarely stand-alone solutions, but are directed by a process-control computer, which itself can be integrated into a local or company-wide network as well as the related business processes. A kind of middleware is established between the field and business levels.
In this context emlix mostly uses C/C++, often as a Qt-based solution or Java. For the communication between the levels, among others, TRestful web services are utilized. Which components are used is largely dependent on the application and integration context. Equally of course, the performance capabilities of the hardware and the necessary performance of the processes play a role.
Whereas at the field level the processes are often real-time-critical, this is not necessary on the business level. If the two levels communicate with each other, this must be taken into account during the planning of the architecture. The same goes for the separation of open source and proprietary software.
Operation concepts in industry are changing, partly due to the high availability and the ease of use of mobile devices. The comfort expectations of the user are increasing. Operation takes place remotely via mobile devices.
Android can be a useful alternative for industrial applications, as long as certain conditions are met.
In the planning of such devices and multi-level architectures and operating concepts it is clear that security requirements must play a significantly greater role than with stand-alone concepts. emlix supports its customers in the planning of suitable system and software architecture, in the implementation and integration of the solution as well as with life cycle support and maintenance.
Technologies and Frameworks
For application development in embedded projects, emlix uses, among others, the following programming languages, frameworks and technologies:
■ C/C++, Qt, Java, LUA, Python
■ nano-X, GTK+, SDL
■ JSON, XML
■ jsonRPC, D-Bus
■ HTTP, FTP, SMTP, TCP/IP, UDP
■ authentication, encryption
■ certificates, signatures
■ SSL, TLS