Skip to content

ClemensGruber/hiveeyes-micropython-firmware

 
 

Repository files navigation

image

image

Terkin Datalogger

Data logging for humans, written in MicroPython.

About

The Terkin Datalogger has been conceived for the Bee Observer (BOB) project, funded by the BMBF.

Introduction

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

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.

Features

Overview

  • Lightweight unopinionated firmware framework
  • Flexible configuration settings subsystem
  • 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 for quick iteration cycles

Batteries included.

Architecture

  • Datalogger and Device Singleton objects representing the data logger application and your logging device.
  • Sensor and HardwareDriver Sensor components wrap hardware drivers to generalize sensor reading.
  • Telemetry and TelemetryTransport The telemetry subsystem uses different transport adapters for different connectivity scenarios. MQTT and HTTP over TCP over WiFi is implemented already as well as TTN over LoRaWAN. We are still waiting for confirmation of LTE Cat M1 or LTE Cat NB1 connectivity in Germany (thanks, Ron and Jan!).

Screenshots

Sensorkit and board

Bee Observer Sensorkit, assembled.

Bee Observer Sensorkit, assembled.

Bee Observer Board, assembled.

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.

Platforms

Beautified output of os.uname() output the datalogger has been tested on.

Pycom FiPy:

Python  : 3.4.0
lorawan : 1.0.2
machine : FiPy with ESP32
nodename: FiPy
release : 1.20.0.rc11
sigfox  : 1.0.1
sysname : FiPy
version : v1.9.4-0a38f88 on 2019-05-14

PYBOARD-D SF2:

Python  : 3.4.0
machine : PYBD-SF2W with STM32F722IEK
nodename: pyboard
release : 1.11.0
sysname : pyboard
version : v1.11-328-gd96391aca on 2019-09-21

Getting started

Introduction

See Getting started with the Terkin Datalogger.

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.

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.

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.

If you feel you have questions about the semantics of the configuration settings or if you even have suggestions to improve things, feel free to get back to us by creating an issue on the GitHub repository.

Project information

About

These links will guide you to the source code of the »Terkin Datalogger« and its documentation.

Contributing

We are always happy to receive code contributions, ideas, suggestions and problem reports from the community.

So, if you'd like to contribute you're most welcome. Spend some time taking a look around, locate a bug, design issue or spelling mistake and then send us a pull request or create an issue.

Thanks in advance for your efforts, we really appreciate any help or feedback.

Licenses

This software is copyright © 2017-2020 The Hiveeyes Developers and contributors. All rights reserved.

It is and will always be free and open source software.

Use of the source code included here is governed by the GNU General Public License GNU-GPL-3.0 and the European Union Public License EUPL-1.2. Please also have a look at the notices about licenses of third-party components.

Acknowledgements

This firmware is an effort of many people. So, thanks to all the contributors who got their hands dirty and helped to co-create and conceive it in one way or another.

You know who you are.


Have fun!

About

Hiveeyes MicroPython Datalogger - data logging for humans.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 85.0%
  • Makefile 11.8%
  • JavaScript 2.4%
  • Other 0.8%