You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 52 Next »

BellaDati IoT Data Controller is distributed microservices based application implemented in Java utilizing proven frameworks Hazelcast and Vert.x.

Controller modules

Audit

Provides licensing and management services to other modules

  • provides auditing services and provides status of receivers and sensors
  • recognizes and cooperates with all receivers and senders that are deployed on the same local machine or on remote machines
  • It automatically recognizes other modules, that are running on the same machine or on different servers

Receiver

Receives data from IoT devices, eventually subscribes the data published by external services. It provides authentication and message verification mechanism to ensure the data security and integrity. There are several modes, in which the Receiver can operate:

  • MQTT server  - module is running as MQTT server, which allows devices to either subscribe or publish messages to it
  • MQTT subscribe - module subscribes to existing MQTT broker and receives messages from it
  • HTTP POST consumer - module accepts HTTP POST request with data from devices
  • UDP server - module accepts UDP datagrams
  • Telnet server/client - module is running as telnet server or telnet client
  • Websockets server/client - module - module is running as Websockets server or client
  • JMS client - module able to communicate with other systems over JMS messaging protocol
  • RTSP client - module able to connect to RTSP video streams, capture image data and metadata for further processing
  • Keyence MC serial/TCP - module connecting to PLCs over serial and TCP connections in binary and ascii mode 
  • Modbus PLC - module implementing PLC4X framework to support Modbus communication protocol

  • PLC4X - extendable module supporting variety of protocols such as AB-Ethernet, ADS /AMS, BACnet/IP, CANopen, DeltaV, DF1, EtherNet/IP, Firmata, KNXnet/IP, OPC-UA, S7 and transports, e.g. TCP, UDP, Raw Socket, Serial Port, CAN bus, SocketCAN, PCAP replay
  • Custom module - module implemented using IoT Controller SDK with wide range of options

Sender

BELLADATI_REST(SendToBellaDatiAction.class),
    BELLADATI_BULK(SendToBellaDatiBulkAction.class),
    DATABASE(DatabaseAction.class),
    DATASET(DatasetAction.class),
    HTTP_REQUEST(HttpRequestAction.class),
    MQTT_PUBLISH(MqttPublishAction.class),
    EMAIL(SendEmailAction.class),
    SAVE_TO_FILE(SaveToFileAction.class),
    TCP_IP_PUBLISH(TcpIpAction.class),
    MODBUS_PUBLISH(ModbusPublishAction.class),
    CUSTOM(null);

Sender is used to read data from receiver and conditionally execute automated actions, for example:

  • BellaDati REST - Send data to the BellaDati backend over REST API, single or bulk mode for huge data loads

  • BellaDati Data set - Send data directly to BellaDati data sets
  • HTTP based - Send data to 3rd party systems using HTTP protocol with wide range of authentication options support

  • SMTP - Use SMTP action to execute send email actions

  • Filesystem - store data to filesystems

  • MQTT publish - Publish MQTT messages to the MQTT broker

  • Modbus publish - Publish messages using Modbus protocol
  • PLC4X publish - extendable module supporting variety of protocols such as AB-Ethernet, ADS /AMS, BACnet/IP, CANopen, DeltaV, DF1, EtherNet/IP, Firmata, KNXnet/IP, OPC-UA, S7 and transports, e.g. TCP, UDP, Raw Socket, Serial Port, CAN bus, SocketCAN, PCAP replay
  • Custom action - Custom action implemented using IoT Controller SDK


Modules API

Each IoT Data Controller module provides set of HTTP endpoints, which can be used to manage module's configuration, read status or received data.

Scalability and distributed processing

Error rendering macro 'column'

com.atlassian.renderer.v2.macro.basic.validator.MacroParameterValidationException: Width parameter must be a number (optionally followed by 'px' or '%').

Error rendering macro 'column'

com.atlassian.renderer.v2.macro.basic.validator.MacroParameterValidationException: Width parameter must be a number (optionally followed by 'px' or '%').

Microservices based architecture

Error rendering macro 'column'

com.atlassian.renderer.v2.macro.basic.validator.MacroParameterValidationException: Width parameter must be a number (optionally followed by 'px' or '%').

Error rendering macro 'column'

com.atlassian.renderer.v2.macro.basic.validator.MacroParameterValidationException: Width parameter must be a number (optionally followed by 'px' or '%').

  • No labels