Sign inSign up

dataristix/dataristix-for-iotdevices

By dataristix

•Updated 5 days ago

Dataristix Industrial Data Processing

Image
Internet of things
0

7.1K

dataristix/dataristix-for-iotdevices repository overview

⁠Dataristix® for IoT Devices

⁠Experimental!

This connector module is part of Dataristix⁠, which means you can exchange data with other connectors. The connector for IoT devices is based on the .NET IoT library (https://github.com/dotnet/iot⁠) and so far integrates around 50 IoT devices that may be available on your Raspberry Pi (see example⁠). We cannot test all devices, but should you have any problems or there is a device or feature missing that you would like to see added, then please contact us⁠ and we may be able to help.

⁠Requirements

Connector modules are provided as Docker containers for 64-bit architectures only, that means, you need a 64-bit operating system, install Docker and then "docker compose" your module configuration (example given below). You may be able to get away with a 1 GB Raspberry Pi for a setup with one or two connector modules and a limited number of tasks, but will probably need a 2 GB system or better for anything else. You can find instructions for Docker installation on Debian based operating systems here: https://docs.docker.com/engine/install/debian/⁠

⁠Installation

Please see the Dataristix Core⁠ module for general information. Here is an example that installs connectors CSV, E-Mail, Excel, IoT Devices, MQTT, Power BI, REST, Script, and SQLite. You can exchange your IoT device data with the other connector modules.

⁠Summary

Use docker compose up with the files provided below, then browse to http://localhost:8282 on your Raspberry Pi or browse to http://raspberrypi:8282 on another computer connected to your Raspberry Pi.

⁠Docker Compose File

The following Docker Compose file configures Dataristix for the selected connectors. Remove modules that are not required. Save the text below into a docker-compose.yml file together with the docker-compose.override.yml file below , then type docker compose up to run. See also notes in the next section.

name: dataristix-pod

# Common settings for services. The 'dataristix-secrect' volume should be configured with restricted access.
# ===========================================================================================================
x-dataristix-common: &dataristix-common
    volumes:
      - dataristix-data:/dataristix-data
      - dataristix-secret:/dataristix-secret

services:

# Core Service. Module services specified with '--modules=' must follow below.
# =============================================================================
  dataristix-core:
    image: dataristix/dataristix-core:latest
    container_name: dataristix-core
    command: --modules="CSV, E-Mail, Excel, IoT Devices, MQTT, Power BI, REST, Script, SQLite"
    depends_on:
      - dataristix-for-csv
      - dataristix-for-email
      - dataristix-for-excel
      - dataristix-for-iotdevices
      - dataristix-for-mqtt
      - dataristix-for-powerbi
      - dataristix-for-rest
      - dataristix-for-script
      - dataristix-for-sqlite
    <<: *dataristix-common

# Dataristix proxy and backend-for-frontend
# =================================
  dataristix-proxy:
    image: dataristix/dataristix-proxy:latest
    container_name: dataristix-proxy
    depends_on:
      - dataristix-core
    ports:
      - "8282:8282"
    expose:
      - "8282"
    <<: *dataristix-common

# CSV Connector 
# ===============================
  dataristix-for-csv:
    image: dataristix/dataristix-for-csv:latest
    container_name: dataristix-for-csv
    # command: --CsvDataFolder="<defaults to /dataristix-data/modules/CSV Connector/CSV>" 
    <<: *dataristix-common

# Email Connector 
# ===============================
  dataristix-for-email:
    image: dataristix/dataristix-for-email:latest
    container_name: dataristix-for-email
    <<: *dataristix-common

# Excel Connector 
# ===============================
  dataristix-for-excel:
    image: dataristix/dataristix-for-excel:latest
    container_name: dataristix-for-excel
    <<: *dataristix-common

# IoT Devices Connector 
# ===============================
  dataristix-for-iotdevices:
    image: dataristix/dataristix-for-iotdevices:latest-experimental
    container_name: dataristix-for-iotdevices
    privileged: true
    <<: *dataristix-common

# MQTT Connector 
# ===============================
  dataristix-for-mqtt:
    image: dataristix/dataristix-for-mqtt:latest
    container_name: dataristix-for-mqtt
    ports:
      # Expose broker ports. Adjust if different ports are configured. Add WebSocket ports if required.
      # Expose default TCP broker port
      - 1883:1883    
      # Expose TLS TCP broker port
      - 8883:8883
    <<: *dataristix-common
    
# Power BI Connector 
# ===============================
  dataristix-for-powerbi:
    image: dataristix/dataristix-for-powerbi:latest
    container_name: dataristix-for-powerbi
    <<: *dataristix-common

# REST Connector 
# ===============================
  dataristix-for-rest:
    image: dataristix/dataristix-for-rest:latest
    container_name: dataristix-for-rest
    <<: *dataristix-common

# Script Connector 
# ===============================
  dataristix-for-script:
    image: dataristix/dataristix-for-script:latest
    container_name: dataristix-for-script
    <<: *dataristix-common

# SQLite Connector 
# ===============================
  dataristix-for-sqlite:
    image: dataristix/dataristix-for-sqlite:latest
    container_name: dataristix-for-sqlite
    <<: *dataristix-common

volumes:
    dataristix-data:
        name: dataristix-data
    dataristix-secret:
        name: dataristix-secret
⁠Docker Compose Override File

Dataristix containers run as a non-root user by default. Add the following docker-compose.override.yml file to override the container user as root (or configure another suitable user) to ensure that Dataristix containers have read and write access to the dataristix-data and dataristix-secret volumes. The IoT Connector needs to be privileged to access system devices.

# Override user as 'root' or specific Dataristix user with read and write access
# to the 'dataristix-data' and 'dataristix-secret' volumes.

services:

# Core
# ===============================
  dataristix-core:
    user: root

# Proxy
# ===============================
  dataristix-proxy:
    user: root

# CSV
# ===============================
  dataristix-for-csv:
    user: root

# Email
# ===============================
  dataristix-for-email:
    user: root

# Excel
# ===============================
  dataristix-for-excel:
    user: root

# IoT Devices
# ===============================
  dataristix-for-iotdevices:
    user: root    

# MQTT
# ===============================
  dataristix-for-mqtt:
    user: root

# Power BI
# ===============================
  dataristix-for-powerbi:
    user: root

# REST
# ===============================
  dataristix-for-rest:
    user: root

# Script
# ===============================
  dataristix-for-script:
    user: root

# SQLite
# ===============================
  dataristix-for-sqlite:
    user: root

⁠Tip

Use the Dataristix JSON Decoder to extract values from complex types. For example, enter x, y, z in separate lines to extract vector components.

Tag summary

Content type

Image

Digest

sha256:7188f2cf2…

Size

77.8 MB

Last updated

5 days ago

docker pull dataristix/dataristix-for-iotdevices:latest-experimental-beta