Skip to main content

A flexible data logger for MicroPython and CPython

Project description

https://assets.okfn.org/images/ok_buttons/ok_80x15_red_green.png https://assets.okfn.org/images/ok_buttons/oc_80x15_blue.png https://assets.okfn.org/images/ok_buttons/os_80x15_orange_grey.png

Chart recorder

Data logging for humans, written in MicroPython.



At a glance

Terkin is a flexible data logger application for MicroPython and CPython environments. It provides a lot of sensor-, networking- and telemetry-connectivity options.

Terkin has been conceived for the Bee Observer (BOB) and Hiveeyes projects and was funded by the BMBF.

Features

Batteries included.

Overview

  • Modular firmware framework

  • Flexible configuration settings subsystem

  • Compatible with MicroPython and CPython

  • Concise, readable and modularized code which is easy to follow

  • Decoupled code domains and data models for sensors vs. telemetry

  • Based on approved modules from the MicroPython standard library

  • Convenient development sandbox and test suite for quick iteration cycles

Architecture

  • Datalogger and Device are singleton objects representing the data logger application and the logging device.

  • Components of the sensor subsystem wrap hardware drivers to generalize sensor reading.

  • The telemetry subsystem uses different transport adapters to implement various connectivity scenarios.

Hardware support

Architectures

  • x86_64, ARM, ESP32, STM32

Platforms

  • Genuine MicroPython: PYBOARD-D, TTGO T-Call, TTGO T-Beam

  • Pycom MicroPython: WiPy, GPy, LoPy4, FiPy

  • CPython: Linux x86_64, Linux ARM (BeagleBone, Odroid, Raspberry Pi), macOS, WSL

Peripherals

  • Sensors: 1-Wire, I2C, ADC, System, WiFi

  • Drivers: DS18B20, BME280, BMP280, SI7021, ADS1x15, HX711, MAX17043, DS3231, AT24C32, INA219

  • Adapters: GPSD, EPSolar ViewStar PWM charge controller, Victron Energy VE.Direct MPPT charge controller, Raspberry Pi USV+

  • Connectivity: WiFi, SIM800 for GPRS, SX127x for LoRa (LoPy4, FiPy and Dragino LoRa/GPS HAT), Sequans Monarch for LTE Cat M1 or LTE Cat NB1

  • Telemetry: WiFi/MQTT, WiFi/HTTP, SIM800/HTTP, LoRaWAN/TTN OTAA+ABP

Screenshots

Sensorkit and board

https://ptrace.hiveeyes.org/2019-06-17_bob-sensorkit-small.jpeg

Bee Observer Sensorkit, assembled.

https://ptrace.hiveeyes.org/2019-06-17_bob-board-small.jpeg

Bee Observer Board, assembled.

Console output

To get a better idea about how running this firmware will feel like when watching its log output, we collected some excerpts at Running the Terkin Datalogger.

Getting started

Introduction

See Getting started with the Terkin Datalogger.

The documentation covers the main features of the MicroPython datalogger firmware and walks you through the setup process of the development sandbox environment in detail.

If you feel you have questions about anything you might encounter during the setup and installation process or if you even have suggestions to improve things, feel free to get back to us by creating an issue on the GitHub repository.

Download

On the release page , bundles of the most recent software versions are available through .tar.gz and .zip archives. These are suitable for uploading through Pymakr or similar development environments / file synchronization tools.

Configuration

Copy the settings.example.py blueprint into settings.py and adjust each configuration setting appropriately. The documentation of all parameters is in the file itself and should be reasonably self-explanatory. For using Terkin with TTN/LoRaWAN find some more details here.

Sandbox setup

If you would like to contribute to the development or want to setup a development environment for running the head version of this software, please follow up at Setup Terkin Datalogger sandbox to read about how to install the MicroPython firmware development environment and other software components it relies on and how to configure it properly.

The programming environment is command line based and has been tested successfully on Linux, macOS and the Windows Subsystem for Linux (WSL) shipped with Windows 10.

Acknowledgements

This software is an effort of many people. Thanks to all the contributors who helped to co-create and conceive it in one way or another. You know who you are.

License

This project is licensed under the terms of the AGPL license.


Have fun!

Download files

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

Source Distribution

terkin-0.14.0.tar.gz (117.0 kB view details)

Uploaded Source

Built Distribution

terkin-0.14.0-py3-none-any.whl (132.5 kB view details)

Uploaded Python 3

File details

Details for the file terkin-0.14.0.tar.gz.

File metadata

  • Download URL: terkin-0.14.0.tar.gz
  • Upload date:
  • Size: 117.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/65.4.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.15

File hashes

Hashes for terkin-0.14.0.tar.gz
Algorithm Hash digest
SHA256 e2d63bea58ba66a939dfb71a4d9565188bd4923b40915ae2dd66bbd69f3810fd
MD5 3f20e4b81dd7bf46908798131188ac56
BLAKE2b-256 5ad3ccd29c5f0f9401949de8372d1c4f26022d1d752ea37647ad320f5b3652e1

See more details on using hashes here.

File details

Details for the file terkin-0.14.0-py3-none-any.whl.

File metadata

  • Download URL: terkin-0.14.0-py3-none-any.whl
  • Upload date:
  • Size: 132.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/65.4.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.15

File hashes

Hashes for terkin-0.14.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0107ec954f2638a24382b96bd7e6aeaa36226d253f2ef5be89a550c9bd468c93
MD5 59ce2db956503bfa800afa00c8b9a6e4
BLAKE2b-256 77603376c0cfb6a149cd3fdfa4b41add1cd197b873de64466eedcdfb8a44ea0d

See more details on using hashes here.

Supported by

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