Skip to content

Technical Requirements

Before diving into Coreflux, there are a few technical requirements you should be aware of to ensure a smooth and successful setup.

Basic Understanding of MQTT

Coreflux is deeply integrated with MQTT, a lightweight messaging protocol designed for low-bandwidth, high-latency, or unreliable networks. Familiarize yourself with its basic concepts, such as:

  • Publish/Subscribe Model: Understand how devices (or "clients") can publish messages to "topics" and how other clients can subscribe to these topics to receive the messages.
  • Broker: Grasp the role of the MQTT broker in mediating the communication between clients.
  • QoS Levels: Learn about the different Quality of Service levels and their implications for message delivery.

Understanding MQTT Protocol

Coreflux is built around MQTT (Message Queuing Telemetry Transport), a lightweight messaging protocol ideal for IoT applications. Understanding the following key MQTT concepts will help you get the most out of Coreflux:

Publish/Subscribe Model

Unlike traditional client-server models, MQTT uses a publish-subscribe pattern that decouples message publishers from subscribers:

  • Publishers send messages to specific topics without knowing who will receive them
  • Subscribers receive messages from topics they're interested in without knowing who sent them
  • Topics are simple string identifiers used to filter and route messages (e.g., "sensors/temperature/room1")

The broker sits between publishers and subscribers, managing message routing and delivery.

MQTT Broker

The MQTT broker is the central hub of any MQTT deployment:

  • Acts as an intermediary between all clients (devices, applications, services)
  • Routes messages from publishers to subscribers based on topic matching
  • Handles client connections, authentication, and authorization
  • Manages message persistence and delivery guarantees

Coreflux provides a full-featured MQTT broker with extended capabilities for IoT orchestration. For more details, see the MQTT Protocol documentation.

Quality of Service (QoS)

MQTT offers three levels of delivery assurance:

  • QoS 0 (At most once): Fastest but least reliable; messages may be lost
  • QoS 1 (At least once): Messages will arrive but may be delivered multiple times
  • QoS 2 (Exactly once): Highest reliability but slowest performance; ensures messages arrive exactly once

Different IoT scenarios require different QoS levels depending on the importance of the data.

Hardware and Software Requirements

  • Operating System: Coreflux is compatible with both Windows and Linux operating systems. Ensure you're running a supported version.
  • Memory: At least 2GB of RAM is recommended for optimal performance.
  • Storage: Ensure you have at least 500MB of free disk space for the Coreflux installation and additional space for data storage.

Network Configuration

  • Internet Connection: A stable internet connection is essential for downloading Coreflux and accessing its online resources.
  • Ports: Ensure that ports 1883 (for MQTT) and 8883 (for MQTT over TLS/SSL) are open and accessible. Adjust your firewall settings if necessary.
  • Network Reliability: While MQTT is designed to work in unreliable networks, a stable network connection will provide the best experience.

Coreflux Account

While not mandatory for all features, having a Coreflux account can provide additional benefits, such as cloud storage, advanced analytics, and more. You can sign up here.

Familiarity with JSON

Many of Coreflux's configurations, including the MQTT Broker's, are in JSON format. A basic understanding of JSON will be beneficial when customizing these configurations.

Next Steps

After ensuring you meet these requirements, explore: