Skip to main content

A remote control and data acquisition system using Adafruit QT Py S3

Project description

QT Py Datalogger

qtpy-datalogger -- A remote control and data acquisition system using the Adafruit QT Py S3 and CircuitPython

Documentation

Available at downtothewire.io/qtpy-datalogger/welcome

Status

CI: Tests and Analyzers Dependabot Updates Publish: Release on PyPI

Structure

graph LR
    AP(🛜 Access Point)
    App(🐍 App)
    MQTT(📨 MQTT)
    QTPy(🐍 QT Py S3)

    subgraph "🌐 Network"
        AP
    end

    subgraph "💻 PC Host"
        App<-.->MQTT
        MQTT<-.->AP
    end

    subgraph "🧪 Test Zone"
        AP<-.->|🛜 WiFi|QTPy
    end

The PC host controls and communicates with any number of sensor nodes on the wireless network.

Supported Python versions

  • Host
    • Python 3.11
    • Python 3.12
    • Python 3.13
  • Node
    • CircuitPython 9.0

Supported host platforms

  • Windows

Supported connection types

  • Serial / UART
  • Network / MQTT

Entry points

Preview in 90 seconds

  1. Connect your QT Py device with USB
    • (Optional) Back up its code.py file
  2. Preview the program in a deletable Python virtual environment
# Create and enter a new Python virtual environment
mkdir qtpy-preview
cd qtpy-preview
python -m venv --upgrade-deps .venv
.\.venv\Scripts\activate.ps1

# Install
pip install qtpy-datalogger

# Show the package help
qtpy-datalogger --help

# Search for devices
qtpy-datalogger connect --discover-only

# Install the node runtime on a device
qtpy-datalogger equip

# Open a serial connection, use Ctrl-] to quit
qtpy-datalogger connect

qtpycmd get_apps

qtpycmd stats

qtpycmd read A0 A1 A2 A3

This preview does not demonstrate MQTT communication over WiFi

Gallery

Scanner

qtpy-datalogger run scanner

Scan for nodes by group. Select a node to send it messages.

Screenshot of the scanner app

Data Viewer

qtpy-datalogger run data-viewer

Open a CSV file for time series data.

Screenshot of the data viewer app

CSV format

  • Series data are in columns
  • Series names are in the first row
  • The time axis is in the first column
    • ISO timestamps and floating point values both accepted
Time,Sensor 1,Sensor 2
0.0,1.284,2.713
0.22,1.302,5.536
...

Questions and help

Please go to the wiki home page for guidance.

Contributing

This project manages its Python programs with uv.

The environment setup instructions are in the wiki on the Contributing page.

The design documentation is in the wiki under the Design Doc pages.

Legacy system

This project replaces a legacy system that uses Python and JeeNodes.

See the summary and source code in the docs/legacy folder for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qtpy_datalogger-1.0.6.tar.gz (77.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

qtpy_datalogger-1.0.6-py3-none-any.whl (93.2 kB view details)

Uploaded Python 3

File details

Details for the file qtpy_datalogger-1.0.6.tar.gz.

File metadata

  • Download URL: qtpy_datalogger-1.0.6.tar.gz
  • Upload date:
  • Size: 77.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for qtpy_datalogger-1.0.6.tar.gz
Algorithm Hash digest
SHA256 dafae6338eb9b46379ee59a194cdd904e9f9fd4e109401bd31e05f8c8dbedd61
MD5 5173d9e50b3ff0a8a77ca433f2122eaa
BLAKE2b-256 2b56dbd51b961214a089603ef31052b21e376db89957b4127a46c51c5907d5aa

See more details on using hashes here.

Provenance

The following attestation bundles were made for qtpy_datalogger-1.0.6.tar.gz:

Publisher: publish.yml on wireddown/qtpy-datalogger

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file qtpy_datalogger-1.0.6-py3-none-any.whl.

File metadata

  • Download URL: qtpy_datalogger-1.0.6-py3-none-any.whl
  • Upload date:
  • Size: 93.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for qtpy_datalogger-1.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 775f9dffaebbdefd13de808db7374ed7b00a9e67e8f8e12d8520d6743dabdd55
MD5 7d019f93fd255eefa3e36ec89c39b292
BLAKE2b-256 c4040cfab20debb2434a2c8bdea9973953d0a4e909be58d4535c68c2547f89e6

See more details on using hashes here.

Provenance

The following attestation bundles were made for qtpy_datalogger-1.0.6-py3-none-any.whl:

Publisher: publish.yml on wireddown/qtpy-datalogger

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page