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
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.
Preview in 90 seconds
- Connect your QT Py device with USB
- (Optional) Back up its
code.pyfile
- (Optional) Back up its
- 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 sensor node runtime the 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 # Ctrl-] to quit
- Plot data in the Analog Plotter demo GUI app
- Optionally, delete the folder
qtpy-previewwhen you are done
Note: This preview does not demonstrate MQTT communication over WiFi
In order to communicate on the WiFi network, the QT Py sensor node must also have
- an MQTT broker
- WiFi credentials
Visit the MQTT setup page for more details if you want to try the demo apps over the network.
Gallery
In addition to the command line tools, the qtpy-datalogger package includes these GUI apps.
Scanner
qtpy-datalogger run scanner
Scan for nodes by group. Select a node to send it messages.
Data Viewer
qtpy-datalogger run data-viewer
Open a CSV file for time series data.
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
...
Supported systems
Supported Python versions
- Host
- Python 3.11
- Python 3.12
- Python 3.13
- Node
- CircuitPython 9.x
Supported host platforms
- Windows
Supported connection types
- Serial / UART
- Network / MQTT
Entry points
- Host program:
qtpy_datalogger/console.py - QT Py program:
qtpy_datalogger/sensor_node/code.py
Questions and help
Please go to the Welcome page for questions and help.
Contributing
This project manages its Python package with uv.
The environment setup instructions are on the Develop 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file qtpy_datalogger-1.0.9.tar.gz.
File metadata
- Download URL: qtpy_datalogger-1.0.9.tar.gz
- Upload date:
- Size: 79.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
74ac30b8ab04a88c10ffe926b0df6850d5e41e969ff5713f1f036387b4bceb0d
|
|
| MD5 |
8fa2d5b39a3b0d1f4a5c5343b1922f3f
|
|
| BLAKE2b-256 |
ecf8194fc6de1ca035e0f5037d23e3a0202c6050163e777e3909d551f0f7b3ce
|
Provenance
The following attestation bundles were made for qtpy_datalogger-1.0.9.tar.gz:
Publisher:
publish.yml on wireddown/qtpy-datalogger
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qtpy_datalogger-1.0.9.tar.gz -
Subject digest:
74ac30b8ab04a88c10ffe926b0df6850d5e41e969ff5713f1f036387b4bceb0d - Sigstore transparency entry: 1753211392
- Sigstore integration time:
-
Permalink:
wireddown/qtpy-datalogger@1f9804cb55a3bb923c406e9c271ec293ab5706ab -
Branch / Tag:
refs/tags/1.0.9 - Owner: https://github.com/wireddown
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@1f9804cb55a3bb923c406e9c271ec293ab5706ab -
Trigger Event:
release
-
Statement type:
File details
Details for the file qtpy_datalogger-1.0.9-py3-none-any.whl.
File metadata
- Download URL: qtpy_datalogger-1.0.9-py3-none-any.whl
- Upload date:
- Size: 94.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
23f3c425e8b47a5438d0006327fd14c8cfaf07c79d5e7c046a60dd0a70dce32b
|
|
| MD5 |
9fdc3b4732cfbfb7cf2010cf145c6458
|
|
| BLAKE2b-256 |
5bcaf7b3b8db16f2b17373eb42e3108c42d198a123e3b8ceb8efaecada2738f4
|
Provenance
The following attestation bundles were made for qtpy_datalogger-1.0.9-py3-none-any.whl:
Publisher:
publish.yml on wireddown/qtpy-datalogger
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qtpy_datalogger-1.0.9-py3-none-any.whl -
Subject digest:
23f3c425e8b47a5438d0006327fd14c8cfaf07c79d5e7c046a60dd0a70dce32b - Sigstore transparency entry: 1753211409
- Sigstore integration time:
-
Permalink:
wireddown/qtpy-datalogger@1f9804cb55a3bb923c406e9c271ec293ab5706ab -
Branch / Tag:
refs/tags/1.0.9 - Owner: https://github.com/wireddown
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@1f9804cb55a3bb923c406e9c271ec293ab5706ab -
Trigger Event:
release
-
Statement type: