M2M (Machine 2 Machine) refers to direct electronic communication among machines. For example a program in a PC communicating with a smart sockets device without human intervention.
M2M Active client

M2M Active Client means that a built-in function (application) controls the communication. For example, a Lua script runs in the device and actively communicates with the remote device or system.

  • Passive M2M API example:
    NETIO smart sockets waiting for commands sent from a smart building control system (e.g. using the Modbus/TCP protocol). The program runs in the control system and the NETIO device only receives “socket on/socket off” commands.
  • M2M Active Client example:
    NETIO smart sockets device contains a Lua script that reads, once per second, the temperature from a LAN thermometer over the network (see AN13). According to the temperature, the script may turn on an air-conditioning unit connected to one of the sockets.
    The program runs as a Lua script directly in the NETIO smart sockets device, and uses a M2M protocol (e.g. http xml) to read the temperature from the remote sensor.


In both cases, the same M2M protocol can be used. The difference is in which device acts as the “master” (server, active) side or the “slave” (client, passive) side of the communication.

In the context of NETIO products

Lua scripts in NETIO 4x products can handle the following M2M Active Client protocols.

  • Lua PING request (AN09, AN24, AN25)
  • Lua XML over HTTP(s) get (AN13, AN14)
  • Lua URL API over HTTP(s) get (AN06)
  • Lua SNMP (AN16)
  • Lua MQTT (AN35)
  • Lua RS-232 (Serial port) (AN18)


>> For more details, see the AN (Application Notes) overview

Ask for a price or technical parameters

For device testing use name/password demo/demo