## 3 Methods
### Data Acquisition  
The development of a data acquisition system for robots is an important part of a monitoring system. Data collection and data storage offer the possibility of executing deeper analyses about the connected devices and of assessing the status of the connected devices. The data collected from robots can be either physical data or event data. The former parameters that are measured by installed sensors, such as temperature, speed, vibrations, force, voltage, and current. Event data refer to the working status of a robot, and to hardware or software failures, breakdowns and so forth. The architecture of the here presented system is composed of a collaborative robotic manipulator (Universal Robots UR3), provided with a wireless TCP/IP connection to a gateway, in order to access an Internet network over a range of around 100 m. The communication with a robotic manipulator and gateway is established using RTDE that uses TCP/IP communication on the port 30004 and robot generates output messages on 125 Hz and Modbus TCP protocols in port 502. In the system, The RTDE protocol acquires UR3 status data such as POWER OFF/ON, Emergency Stop, Protective Stop, status of programme, that is, running, paused or stopped, and other parameters necessary for monitoring [33]. In Modbus communication, the robot controller acts as a server (Slave), gateway is client (Master) that can establish connections to the robot and send standard Modbus requests to it. The server is available at the IP address of the robot controller [34]. The robot Modbus communication interface can be used to communicate to other robots, programmable logic controller (PLC)'s, Human-Machine Interface (HMI)'s or inputs and outputs (IO) devices (when the IO device is functioning as a Modbus server). In our system, the client sends a request to read specific registers that are available in the internal memory of the robot, and the robot responds by providing the requested value. The general purpose 16-bit registers present in the robot controller can contain certain discrete variables such as the tool state, tool centre point (TCP) state, joint angle, joint velocity, current, voltage, joint temperature. The system supports the Message Queuing Telemetry Transport (MQTT) protocol. MQTT is Publish/Subscribe Model which consists of three main components: publishers, subscribers, and a broker. Publishers are the lightweight sensors and devices that connect to the broker to send their data and go back to sleep whenever possible. Subscribers are applications or devices that are interested in a certain topic, or sensory data, so they connect to brokers to be informed whenever new data is received. The brokers classify sensory data in topics and send them to subscribers interested in those topics only. A device can behave as a publisher and a subscriber at the same time by publishing to specific topics and subscribing to others, the term MQTT client is used to distinguish publishers/subscribers from brokers. Node-Red is a flow based open source programming tool built upon Node.js that is used to connect hardware devices, API's and other online services belonging to the realm of Internet of Things (IoT). Node-Red provides a browser-based flow editor which can be used to create JavaScript functions in the form of interconnected blocks that together construct a flow. One of the biggest advantages of Node-Red is its ability to run at the edge of the network in the cloud and locally on a standard personal computer (PC). In the proposed framework Node-Red is ran on the standard PC and the editor is accessible via any web browser on the local network. The Node-Red dashboard is an add on module of Node-Red that is used to create  
Figure 2: On-line monitoring framework. and present on-line data graphical user interface(UI) on a web browser. The dashboard package allows the addition of many UI components such as buttons, sliders, leds and gauges.