To integrate with machines, write a connector app for the Docker Runtime.
Connector apps are a type of ActyxOS app, whose purpose is to connect with equipment or software outside of the ActyxOS swarm. Fundamentally, there is nothing special about them, except that they always run in the Docker Runtime because interaction with the outside world does not happen via a user interface.
In some cases, the machine you are integrating will provide a network-based interface such as OPC UA, MQTT or fieldbuses like PROFINET or EtherCAT. In that case, the architecture is relatively simple: run your connector app in the Docker Runtime on an ActyxOS edge device and interact with the machine over the network.
Node-RED is a tool that allows you graphically construct data flows. It can be quite useful for such scenarios. Node-RED also provides several protocol-specific connector nodes (e.g. OPC UA) out-of-the-box.
If the machine you are integrating does not have any network-based interfaces, you will have to take a slightly more complex approach. In such cases, you must connect indirectly to the I/Os of the PLC or sensors/actuators on the machine.
Since most edge devices don't have I/Os, you use a Digital I/O Converter that sits between the machine's I/Os and the ActyxOS edge device and translates the I/O signals into a network data stream. You then access this stream from your connector app.
W&T Web-IO Connectors
Check out the W&T Web-IO Connectors if you are looking for a way to translate I/Os to MQTT. They have been successfully used with connector apps running on ActyxOS.