Smart power devices and sockets used to monitor and control power and energy metering over an IP/LAN or WiFi network.
Zero Current Switching (ZCS) ensures that a relay contact is closed at the zero crossing and opened at the precise moment when zero current flows through it. This has a number of advantages for smart power devices using relay switching techniques. With less potential harm from inrush currents, there is less wear on the relay itself and greater protection for connected switch mode power supplies (SMPS). There is also significantly reduced electromagnetic interference from repeated switching On/Off. Opening a relay contact when the current is zero is important for inductive loads (motors, transformers) but less so for capacitive loads including switch mode power supplies (SMPS) of the type found in computers, servers and IT network peripherals.
Zero Voltage Switching (ZVS) switches when the voltage is zero and is different to Zero Current Switching (ZCS) which switches when the voltage and current are both zero; referred to as the “zero-crossing” in a sinewave. ZVS is easier to implement into relay-based devices and whilst it works well for capacitive loads (switch mode power supplies). Zero voltage switching is not suitable for inductive loads including transformers and motors. Closing a relay contact when the voltage is zero is important for switching power supplies (switch mode power supplies: SMPS) of the type found in modern IT, computer and server loads.
An application program interface or API is way for separate software applications to exchange data and communicate between themselves. An API includes a set of routines, protocols and tools and specifies how these software components should interact i.e. when programming a graphical user interface (GUI).
MODBUS/TCP is an open machine-2-machine (M2M) protocol that uses a client and server master-slave mode arrangement for exchanging messages between devices. The Modbus/TCP protocol is commonly used in industrial applications including PLCs (programmable logic controllers), SCADA systems (visualisation and control of industrial processes) and sensors and actuators.
MODBUS/TCP extends the MODBUS/RTU protocol (which uses the RS485 protocol) and is used in Ethernet networks. The advantages of MODBUS/TCP Is its compatibility and openness for use with a wide range of industrial devices and systems.
MQTT stands for Message Queuing Telemetry Transport and is relatively simply protocol for exchanging messages between devices and principally Internet of Things (IoT) devices. The MQTT protocol is designed for large networks with low data traffic and is designed to minimise data volumes.
MQTT uses TCP for data transfer and may be encrypted with SSL. The protocol uses a ‘publisher-subscriber’ data transfer model and requires an MQTT Broker to use as a central hub.
An MQTT Broker acts as a central hub and is typically Cloud hosted. MQTT publishers send messages and MQTT subscribers receive them. Several subscribers can receive messages on the same ‘topic’. Within the topic, messages are exchanged as they are received by the MQTT Broker and sent to the subscribing devices. A device can also be a subscriber and publisher at the same tome for some topics. e.g. an electrical socket publishing measured values (Amps, Volts and kWh) whilst reacting to control commands.
SIP stands for Session Initiation Protocol and is used for internet telephony signalling including desk phones connected via Ethernet RJ-45 connections. SIP is also supported by most mobile Apps for making calls over a data connection and can be used over Ethernet or WiFi. The advantages of the SIP protocol is its simplicity. SOP uses the UDP port 5060 as standard but can also work on TCP/5060. See RFC3261 for more information on the protocol.
JSON can be used in a REST API which can be viewed over http(s) in either direction. Downloading (reading) the file servers to determine device status and obtain measured values. Uploading (writing) the file, allows output states to be changed. It is only necessary to transfer one data object and not the complete structure. JSON over HTTP is as the preferred REST API protocol because it uses http. M2M API protocols based on http tend to be the more reliable with respect to enterprise IT environments, security mechanisms and blocked ports.
XML stands for eXtensible Markup Language and is a language that uses tags in a defined structure. XML is designed for data files and primarily data exchange between applications and for publishing documents where it describes the content structure. XML is used in Microsoft Excel and Word, and an XML data structure can be transferred in a text tile (.xml). XML can be used as a data structure for reading and writing REST APIs.
SNMP stands for Simple Network Management Protocol can be defined as version 1 or version 2. SNMP Is a UDP (Use Datagram-based Protocol) for monitoring and managing IT networks and services. SNMP can be used to collect status information about compatible IP-connected devices and change configuration requests. The protocol uses the Manager-Agent principle. The Manager collects and process data, and the Agent reacts to messages from the manager and provides status reports. SNMP is designed for managing many network devices at a time including uninterruptible power supplies (UPS), storage devices, battery monitoring systems and communications links.
A URL API is a simple method for passing parameters as a part of a URL address starting with http or https. The address command can be entered into the address bar of a web browser including Google Chrome, FireFox, Apple Safari or Microsoft Internet Explorer or Edge.
M2M stands for Machine-2-Machine learning and is two machines communicating with each other or exchanging data, without human a interface or interaction. The interfacing can be via serial connection, powerline connection (PLC) or some form of wireless communications. M2M application programming interfaces (APIs) can include Telnet, URL API, SNMP/SNMPv3, XML, JSON, SIP, MQTT and MODBUS/TCP.
TELNET is derived from the phrase “Telecommunication Network” and refers to a TCP/IP-based protocol used in computer networks that allows the user to connect to a remote computer using a Telnet application (console). TELNET runs on top of a direct TCP/IP connection. TELNET communications are not normally encrypted.
Lua is a basic programming language designed for use in embedded applications. It is a cross-platform language as the interpreter is compiled bytecode written in ANSI C and has a relatively simple C API. Lua is used for user scripts and supports a limited set of variables including Boolean values (true/false), numbers, strings and tables. In a compatible smart power device, a Lua script can be used to control power outlets and IP/LAN connectivity. A Lua script can run continuously or when trigged by an event to power sockets ON/OFF, send emails, receive and send ‘ping’ messages, download and parse XML/JSON files over http.