ComfyUI Extension: bitalino_comfy

Authored by lunarring

Created

Updated

0 stars

A package implementing a Bitalino device ComfyUI custom node.

Custom Nodes (0)

    README

    BITalino Custom Node for ComfyUI

    This module implements a custom node for ComfyUI to interface with BITalino devices. It provides a convenient way to capture sensor data from a BITalino device, using the PLUX-API-Python library to handle the connection and data acquisition.

    Overview

    The module is built around two main components:

    • LRBitalinoReceiver (in comfy/bitalino_receiver_node.py):
      A custom node for ComfyUI that exposes configurable inputs such as:

      • BITalino MAC address
      • Acquisition duration (in seconds)
      • Sampling frequency (samples per second)
      • Channel code (specifies which sensor channel to use)

      This node initializes the BITalino connection (if not already done) and fetches the latest sensor value, returning it as a float.

    • BitalinoReceiver (in src/bitalino_receiver.py):
      Handles the direct interaction with the BITalino device. It uses multi-threading to run the data acquisition process in the background. The class:

      • Sets up the BITalino device for data collection
      • Performs the acquisition based on the specified parameters
      • Uses a callback (onRawFrame) to update the last sensor reading, which is later retrieved by the custom node

    Features

    • Custom Node Integration: Seamlessly integrates with ComfyUI as a custom node, enabling the use of BITalino devices within your ComfyUI workflows.
    • Configurable Parameters: Easily set the BITalino MAC address, change the duration of data acquisition, adjust the sampling frequency, and select the desired sensor channel.
    • Parallel Data Acquisition: Uses Python's threading module to run data acquisition in parallel without blocking the main thread.
    • Cross-Platform Support: Designed to work across different operating systems (macOS, Linux, Windows) with platform-specific adjustments managed internally.

    Requirements

    • Python Version: Python 3.10 or higher is recommended.
    • PLUX API: Ensure the PLUX-API-Python library is available and properly configured for your operating system. The module dynamically adjusts paths and settings based on your platform.

    Installation

    To install the package in editable mode, run the following command in your terminal:

    pip install -e .