HTTP vs MQTT: Which to Use for Real-Time Messaging

If you are building something that needs to move data between clients and servers in real time — device telemetry, live dashboards, push notifications, chat, multiplayer state — you have several protocols to choose from, and HTTP and MQTT are two of the most common. On paper they look like alternatives; in practice they solve different problems well,… Read More »

Zakaria El Intissar

Open Source MQTT Broker: Mosquitto vs EMQX vs HiveMQ CE

If you have decided that MQTT is the right protocol for your project and now need to pick a broker to run it on, the good news is that the three most widely-used options are open source. The bad news is that “open source” hides some important differences: license type, what “free” actually covers, what you get in… Read More »

Zakaria El Intissar

SCADA and ICS: The Difference and How They Fit Together

SCADA and ICS are not two names for the same thing. ICS (Industrial Control System) is the category. SCADA (Supervisory Control and Data Acquisition) is one type of system inside that category. Every SCADA system is an ICS. Not every ICS is a SCADA system. That’s the whole answer in three sentences. The rest of this article explains… Read More »

Zakaria El Intissar

Modbus Unit Identifier Explained: Unit ID by Scenario

You just installed a Modbus TCP device. The manual says “set Unit ID to 1.” Your PLC configuration asks for a Unit ID. Another device manual says “Unit ID is ignored.” A third says “Unit ID must be 0xFF.” What is going on? Which one is right? All of them are right. The Unit Identifier — usually called… Read More »

Zakaria El Intissar

Modbus Client-Server vs Master-Slave Terminology

You just downloaded a new device manual and it says “Modbus client” and “Modbus server.” Your RS-485 documentation says “master” and “slave.” Your PLC code has variables named slaveId. Which is right? Do you need to change your code? Are these different protocols? Short answer: no. The protocol is identical. The terminology depends mostly on the transport you… Read More »

Zakaria El Intissar

Modbus Broadcast Function Codes: Address 0 Explained

Does anyone actually use Modbus broadcast? Some do. Most engineers go their whole careers without touching it. Broadcast is one of those Modbus features that lives in the corner of the spec, gets one or two paragraphs in most books, and shows up unexpectedly when you have to commission a large multi-drop bus at 3 AM. This article… Read More »

Zakaria El Intissar

Modbus TCP MBAP Header Explained: 7 Bytes Byte by Byte

Every Modbus TCP packet starts with 7 bytes called the MBAP header (Modbus Application Protocol header). Those 7 bytes are what turn Modbus from a serial protocol into a network protocol. Get them right and everything works. Get them wrong, and the server may ignore the request, close the connection, or return an exception. This article decodes a… Read More »

Zakaria El Intissar

Modbus TCP Security Explained: TLS on Port 802

Standard Modbus TCP has zero security. No authentication. No encryption. No integrity checks. Anyone who can reach TCP port 502 can issue Modbus requests. Depending on the device configuration, this may allow reading registers, writing coils or registers, changing operating parameters, or disrupting industrial processes. For decades, the answer was “put it behind a firewall and hope for… Read More »

Zakaria El Intissar

Modbus Byte Order and Word Order: Fix Your 32-Bit Values

You read a float from a Modbus device. The value should be 25.3 degrees Celsius. You get 1.3 × 10³⁸. Or maybe -8.5 × 10⁻⁴¹. Or something that swings wildly between reasonable and absurd every time you re-read. Welcome to Modbus byte and word order. It is the single most common headache when you connect a new device.… Read More »

Zakaria El Intissar

How to Configure CIP (EtherNet/IP) on Allen-Bradley Controllers

On an Allen-Bradley controller, “CIP” and “EtherNet/IP” are the same conversation. CIP is the protocol — the object model, the services, the way data is named. EtherNet/IP is CIP running on top of standard Ethernet. When you configure a Rockwell PLC to talk to a drive, a remote I/O block, a camera, or another controller, you’re configuring EtherNet/IP,… Read More »

Zakaria El Intissar