Terkin Datalogger CHANGES¶
in progress¶
2022-11-26 0.14.0¶
Allow joining hidden WiFi APs on MicroPython devices. Thanks, @nznobody!
Update runtime and sandbox dependencies
Add support for CPython 3.10 and 3.11
Update to
pyserial==3.5
Update Adafruit library versions
2021-09-17 0.13.0¶
CPython: Improve tests for HTTP telemetry subsystem
CPython: Adjust software tests to use Mosquitto 2.0
CPython: Run software tests on GitHub Actions
CPython: Switch from PyCrypto to PyCryptodome
Implement TelemetryClient.FORMAT_CSV. Thanks, @nznobody!
Enable NTP/RTC sync from settings with
networking.ntp.enabled
. Thanks, @nznobody!VEDirect driver: Add support for MicroPython. Thanks, @nznobody!
2021-07-28 0.12.0¶
Documentation: Fix build and update to Sphinx 4
CPython: Don’t enable modeserver in example configuration blueprints
Sensors: Implement temperature compensation for HX711 sensors. Thanks, @WSt89!
CPython: Fix HTTP telemetry
2021-07-26 0.11.4¶
CPython: Add missing dependency modules
umqtt
andurequests
2021-07-26 0.11.3¶
CPython: Fix runtime dependency: Don’t use
os_path
2021-07-26 0.11.2¶
CPython: Add “psutil” to list of runtime dependencies
2021-07-26 0.11.1¶
CPython: Fix runtime dependency: Don’t use
os_path
CPython: Improve configuration blueprints
CPython: Provide real values to mem_{free,alloc} and machine.freq
Fix software tests by making dualchannel scale mode (“scaleB”) optional
CPython: Upgrade Adafruit-Blinka to resolve dependency woes
2021-07-26 0.11.0¶
Add DS3231micro.py driver. Thanks, @poesel!
Upgrade to PyCayenneLPP 1.5.0. Thanks, @smlng!
Add “make firmwares” release target
Add “get_sensor_by_type” helper method
Switch to “DS3231tokei” library. Thanks, @poesel!
Fix installation on CPython
2020-05-22 0.10.0¶
Rework LoRaWAN settings and remove
join_attempt_count
since we can’t control the join attempts. Thanks, @thiasB!Add APB activation method for LoRaWAN. Thanks, @thiasB!
Rename “busses” to “buses” all over the place
Fix ABP auth parameter passing for Dragino
Improve inline documentation and logging re. LoRaWAN OTAA vs. ABP
Disable LoRa by default
LoRaWAN: consider restored join status for both, OTAA and ABP activation. Thanks, @thiasB!
Add Sphinx documentation. Thanks, @poesel!
Update Makefile tooling for upgrading Pycom MicroPython firmware
Add Makefile target to generate callgraph
Add minimal weight scale adjustment wizard
Add Sequans LTE Modem support for Pycom GPy/FiPy devices. Thanks, @wetterfrosch and @tonke!
Refactor more sensors for self-registration
Adjust sandbox for installation on newer Debian/Ubuntu distributions. Thanks, Jan!
Add sensor wrappers for BMP280 and INA219. Thanks, @tonke!
Don’t log configuration on startup by default. Thanks, @tonke!
Improve registering buses
Add sensor tests for SBCs
Add sensor wrapper for PiUSV. Thanks, @tonke!
Update PyCayenneLPP library to include “Generic” and “Unix Time” types.
Add updated MicroPython “datetime” module to satisfy PyCayenneLPP
Improve firmware builder
Add make target to upload “settings.py”
2020-05-04 0.9.0¶
Fix LoRa subsystem
Add Si7021 sensor. Thanks, @thiasB!
Add a bunch of sensors for RaspberryPi. Thanks, @tonke!
Improve drivers VEDirect, EPSolar, ADS1x15. Thanks, @tonke!
Fix tests
Update TTN decoder.js. Thanks, @thiasB!
Improve reading sensors by returning SensorReading object from driver
Improve registering sensors by moving the setup to the sensor modules
Improve CPython/RaspberryPi setup tooling and documentation
Improve new sensor registration architecture once more
Clean up EPSolar hardware driver
Self-register EPSolarSensor
Resolve woes with ModuleNotFoundError
Switch settings to new LPP format scheme. Thanks, @thiasB!
Import scale parameters as floating point number. Thanks, @thiasB!
Update TTN README. Thanks, @thiasB!
Enable native DS18x20 driver by default. Thanks, @ClemensGruber and @thiasB!
Nail RaspberryPi dependencies
Add
sensors.power_toggle_buses
setting, defaults to True. Thanks, @tonke!Improve PyTrack sensor. Thanks, @tonke!
Update Dragino setup tooling
Add “join_attempt_count” and “join_attempt_interval” settings re. LoRa. Thanks, @tonke!
Add setup.py for CPython
Improve logging and exception handling for CPython
Make configuration file backup optional
Improve sensor registration and startup
Add “terkin” commandline entrypoint
Trim CPython compatibility layer
Improve CPython bootstrapping and logging
Improve gpiozero and gpsd sensors. Thanks, @tonke!
Add BME280 on Odroid XU4 based on smbus2. Thanks, @tonke!
Fix setup.py re. encoding of README.rst
LoRa: Ignore downlink messages for sleep interval and data payload inclusion on devices not running Pycom or Vanilla MicroPython. Thanks, @thiasB!
LoRa: return to sleep interval from settings after reset. Thanks, @thiasB!
Improve I2C bus support for Odroid XU4. Thanks, @tonke!
Improve GPSD sensor. Thanks, @tonke!
Use I2C bus 5 as secondary on Raspberry Pi. Thanks, @tonke!
Improve sensor enablement evaluation. Now, sensor sections have to be enabled explicitly within settings.
Fix button manager setup
Update documentation
Fix DS18x20 module names
Fix tests and improve test robustness
Fix LANG locale setting for Click at runtime. Thanks, @tonke!
Improve CPython bootstrapping
Fix webserver imports
Move UDP modeserver implementation
Don’t start WiFi by default
Make UDP modeserver and HTTP API ports configurable
Various networking improvements
Improve CPython setup
Add UI spike on CPython based on Picotui
Upgrade MicroWebSrv2 module
Improve packaging and prepare upload to PyPI
2020-04-28 0.8.0¶
Support SX127x on Dragino LoRa/GPS HAT for LoRa. Thanks @tonke and many more, see: https://github.com/mayeranalytics/pySX127x/issues/21#issuecomment-620695583
Add TTN/LoRaWAN README. Thanks, @thiasB!
TTN: Add payload converter code for PutsReq.com HTTP endpoint. Thanks, @thiasB!
2020-04-27 0.7.2¶
Fix
I2CBus.power_on
. Thanks, @tonke!
2020-04-26 0.7.1¶
Improve packaging
Improve compatibility between Genuine MicroPython and Pycom MicroPython - https://github.com/micropython/micropython/issues/5915 - https://github.com/pycom/pycom-micropython-sigfox/issues/436
2020-04-22 0.7.0¶
Fix sandbox installation issue by nailing pycopy-cpython-upip to 1.2.6
Improve sanity checks for sandbox setup
Improve RGB-LED signalling
Import microWebSrv only when enabling HTTP service to save memory
Make WiFi work in non-threaded environments again
Improve MiniNet WiFi connectivity
Improve logging timestamping
Improve sandbox tooling robustness
Upgrade to pycopy-cpython-upip==1.3.3 again. Thanks, Paul!
Add basic recycle task for uploading the code to the Pyboard D
Start LoRa on demand to reduce memory consumption
Defer loading modules for sensors at runtime to save memory
Load the ADC module for “SystemBatteryLevel” at runtime
Fix missing ADC module import
Process DS18B20 addresses case insensitive
Port to ESP32 WROVER with MicroPython 1.11. Thanks, Markus!
Fix network status flag
Improve cross-compilation tooling re. Pycom vs. pyboard-D
Display HTTP egress payload in log output on INFO level
Add option to use external WiFi antenna
Pyboard D-series: Improve sandbox tooling
Pyboard D-series: Make the source tree compatible with Genuine MicroPython
Adjust slightly for running on Pycom devices again
WiFi adjustments for Pyboard-D
Appropriately compute sleep time, resolve #4
Make
make setup
more platform-agnostic, resolve #20Add external antenna option for vanilla MicroPython
Use trimmed-down settings.py for PYBD
Add configuration settings overlay per
settings-user.json
Improve robustness with minimal configuration for PYBD
Improve instructions for Pycom firmware bundling and installation
Adjust sandbox infrastructure for Pycom MicroPython 1.11
Fix import path of
onewire
moduleFix weird error when freezing modules
Add LoPy4 support in Bootloader. Thanks, @poesel.
Add auto docstrings with pyment. Thanks, @poesel.
- Large refactoring.
Get rid of the “hiveeyes” module namespace.
Rework the “sensors.system” configuration section.
- Improve configuration module.
Reduce convolution of “purge_sensible_settings”
Be more graceful when attempting to read json settings
Add missing
import socket
to LoRa module. Thanks, @thiasB!- Improve multi-platform support
Refactor platform switch and rename first stage bootloader to Universal MicroPython Application Loader (umal)
Improve gracefulness for MachineResetCause helper
Improve WiFi robustness on first connection attempt
Gracefully handle buses without names. Thanks, @thiasB!
Be graceful if OSError exception object received from MQTT publishing has no “errno” attribute.
Improve sensor registration mechanics again
Improve utility functions to work around the 128-bit UUID byte swap problem. Thanks, @poesel!
Disable web server by default.
Make use of LoRaWAN state restoration from NVRAM. Thanks, @thiasB!
Only restore LoRa state from NVRAM on wake from deep sleep. Thanks, @thiasB!
Refactor BLE encoding/decoding utility functions
Improve connection to WiFi after starting again
Use
lte.deinit(reset=True)
for shutting down LTE modem on startup, see https://forum.pycom.io/topic/3083/lte-deinit-not-working/2. Thanks, @combaindeft!Speed up shutting down LTE modem on startup by not invoking “detach” as we haven’t actually been attached at all, like
lte.deinit(detach=False, reset=True)
. Thanks @arapostol for https://github.com/pycom/pycom-micropython-sigfox/pull/255/files which made us look at the source code in detail.Improve robustness of WiFi manager re. “connectivity after reset” again
Improve inline documentation
Improve platform switch for system sensors
Acquire
onewire.py
drivers for both Vanilla MicroPython and Pycom MicroPython asonewire_native.py
vs.onewire_python.py
.Fix 1-Wire multi-platform support again. Thanks, @poesel!
Port codebase to Genuine MicroPython on ESP32. Thanks, @poesel!
Adjust naming for sensor driver adapters
Obtain improved lowlevel MicroPython driver for the MAX17043. Thanks, @poesel!
Upgrade to MicroWebSrv2. Thanks, Jean-Christophe (@jczic)!
Fix multi-platform support for SystemTemperatureSensor
Improve WiFi connectivity after hard reset again
Catch KeyboardInterrupt in order to properly shut down the HTTP server. Thanks, @jczic!
Just start HTTP server once without trying again
Upgrade to MicroWebSrv2 2.0.2
Catch
KeyboardInterrupt
exceptions in WiFi keepalive thread andUdpServer
in order to shut down using a singleCTRL-C
Upgrade to MicroWebSrv2 2.0.3. Thanks, @jczic!
Improve thread shutdown behavior when receiving
SIGINT
/CTRL-C
Improve sensor reading from 1-Wire DS18X20 devices
Support native 1-Wire/DS18X20 MicroPython driver
Improve 1-Wire/DS18X20 support after the pure-Python variant has aligned its API to the one of Genuine MicroPython. Thanks, @robert-hh!
Remove
fastboot
setting as the LTE modem can already be shutdown more quickly by usingdeattach=False
Improve timekeeping
Update 1-Wire/DS18X20 driver again. The DS18B20 driver now also supports parasite power mode. Thanks, @robert-hh!
Improve bootstrap messages
Add boolean flags for enabling/disabling Wifi and LoRa. Thanks @thiasB!
Skip reading WiFi sensors when WiFi is disabled. Thanks @thiasB!
Optimize reading the HX711. Don’t ever use
read_average()
. Instead, justread()
the sensor ten times for computing the median.Port LTE attach procedure from “Autonome Zelle”. Thanks, @wtf!
Fix installation of “MicroWebSrv2” dependency. Thanks, Chris!
Shut down peripherals regardless of using deep sleep or not
Battery voltage sensor: Make ADC attenuation configurable. Thanks, @thiasB!
Power on I2C peripheral after power off. Thanks, @ckrohne!
Enable WiFi by default if not explicitly disabled within configuration
Improve “make install-ng”: Now also works over USB/UART
LoRaWAN/TTN integration for real. Thanks, @thiasB!
Introduce
DataFrame
object to improve internal data transfer.Backward compatibility for sensor type “system.battery-voltage”.
Improve cross-compilation for MicroPython 1.12, see #61. Thanks, @poesel!
Fix Makefile target “install-pycom-firmware”.
Add GPRS modem support for SIM800. Thanks, @sarusso!
Sandbox: Separate desktop notifications from tools/terkin.py. Fix nasty dependency bug on the “netaddr” module. Add gracefulness to “make notify” target.
Adjust directory layout: Move “terkin” files to “lib” folder
Adjust directory layout: Move root files to “src/” folder
Support firmware image building for Genuine MicroPython
Sandbox presets: “config.mk” is now “presets.mk”
Upgrade to rshell 0.0.26
Adjust directory layout: Move “lib/” folder inside “src/” folder
Add missing “_boot.py” to custom MicroPython firmware images. Thanks, @poesel!
Clean up rshell upload scripts for bytecode uploading
Fix module search path computation in bootloader
Stop messing with terminal on UART0 for now
Add firmware builder machinery
Add lowlevel driver for DS3231 RTC
Upgrade to rshell 0.0.27
Add basic test suite
Adjust machinery to run under pytest
Add tests for WiFi
Add MQTT telemetry test. Needs running MQTT broker.
Add
pytest-docker-fixtures
to invoke the MQTT telemetry tests against a Mosquitto broker running on Docker.Add test coverage reporting
Skip Mosquitto/Docker integration tests on Windows/WSL
Improve test suite re. Mosquitto dependency
Add LoRaWAN tests
Add tests covering sleep modes and maintenance mode
Add tests covering sensor machinery
Add tests covering GPRS telemetry
Improve tests covering LoRaWAN message decoding with environmental sensors
Update 3rd-party modules
Fix flakyness of MQTT test
Add tests covering HTTP uplink telemetry
Use updated “umqtt” module for CPython compatibility
Use “time.time()” rather than “time.time_ns()” to retain compatibility with Python3.6. Thanks, Matthias!
Add new make targets for the testsuite to the inline Make documentation. Thanks, Markus!
Improve error reporting for “make setup”
Improve test coverage for HTTP telemetry / urequests module
Add test coverage for “system.voltage.battery” by mocking the ADC
Round sensor values according to settings
Start supporting CPython on Linux/RaspberryPi. Thanks, @tonke!
2019-08-19 0.6.0¶
Explicitly
deinit()
LTE modem on each startupFix
settings.example-bob.py
. Thanks, @MKO1640 and @ClemensGruber.Improve formatting of BEEP telemetry field mapping for BOB
Disable telemetry adapter offline state for now
Disable DEBUG log level for system sensors
Add the “maintenance” device status / mode
Add UDP mode server for signalling the device into maintenance mode
Add device discovery and UDP client for signalling maintenance mode
Attempt to fix woes with IPv6 addresses from
terkin.py
Skip networks like 127.0.0.0/8 and 169.254.0.0/16 for
terkin.py
Make “terkin.py” handle multiple MAC address prefixes coming from different Pycom devices. Now: WiPy, FiPy.
Optionally read MAC address from command line in order to discover and maintain specific device
Add MQTT authentication
Update documentation
Improve rshell access over IP
Rename environment variable
MCU_SERIAL_PORT
toMCU_PORT
for configuring both USB/UART port and IP addressUse offset values for DS18B20 sensors from settings
Enable/disable individual sensors per settings
Install MicroWebSrv and MicroDNSSrv libraries into
dist-packages
folderAdd singleton factory method to
TerkinDatalogger
. Thanks, @DieDiren.Increase timeout for ARP ping requests with “terkin.py”
Use most recent “dotty_dict” module
Properly format MAC addresses
Add maintenance mode interval to configuration settings
Lazily import “ButtonManager” for trimming #11
Improve MAC address parsing and formatting
Improve MAC address normalization by also removing dashes and dots
Follow the Pycopy MicroPython fork, standard library wise
Upgrade to Dotty Dict 1.1.1. Thanks, @pawelzny.
Improve sandbox tooling incl. FTP source code upload
DS18B20: Extend time between starting the conversion and reading the sensor to one second.
Add MiniNet helper and corresponding
Makefile
rulewifi-connect
Ship configuration blueprint with deep sleep disabled
Improve MiniNet helper to get IP address
Set default maintenance duty cycle to 15 seconds
Improve Watchdog subsystem by adjusting to edge cases. Thanks, @pinguin999.
Reorder sections when uploading using FTP
Add Self-documenting-Makefile helper
Improve Pycom firmware installation
Slightly document Makefile targets
Increase timeout when sending ARP packets for device discovery. Thanks, @ClemensGruber.
Slightly adjust “make help”. More Makefile improvements.
Desktop notifications for MicroTerkin Agent
Make MicroTerkin Agent write detected IP address into file
Improve Makefile sandbox tooling
Prettify logging
Optionally start modeserver, defaulting to true
Add basic HTTP API subsystem. Thanks @vkuhlen and @DieDiren.
Add
make provide-wifi
command for starting the access point interactivelyStart WiFi in STA_AP mode by default
Disable garbage collector when reading sensors to improve timing
Improve tooling and inline documentation
Add option
main.fastboot
for skipping LTE modem teardown for faster development iterationsCurate the garbage collector
Add backup mechanism for configuration files
Fix polling for WiFi connectivity
HTTP API: Add basic endpoints for configuration settings
Add backup configuration snippet to settings blueprint files
Makefile: Prompt for restart after FTP transfer
Makefile: Add
RUNNING_IN_HELL
flagMakefile: Suppress desktop notifications on Windows for now
Makefile-Todo: Use lftp.exe for file transfer on Windows?
Extend module search path to “terkin” and “hiveeyes” folders in order to support native Pymakr operation
Make reference to “datalogger” object available in global scope
Slightly tweak garbage collector curator to collect garbage after computing and setting threshold
Add more accessor methods to
TerkinConfiguration
Add
get_last_stacktrace
utility functionFix memory exhaustion when starting the MicroWebSrv twice
HTTP API: Add endpoints for getting and setting individual configuration settings
Object model refactoring
HTTP API: Add endpoint for getting the last reading
Refactor
sensors
-section of configuration settingsSettings: Rename sensor “key” attribute to sensor “id”
Settings: Rename HX711 enumeration attribute from “address” to “number”
Fix broken dependencies re.
pycopy-collections
Move HTTP API request/response examples to screenshots folder
Constructor refactoring and naming things
Add
id
attribute to bus configuration settingsRefactor and improve DS18B20 settings, reading and processing
Improve prettified sensor readings log output
Improve HTTP API
Improve initialization robustness with bus device objects
Add
mpy-cross-util.py
Add ahead-of-time compilation using
mpy-cross
throughmake recycle-ng MPY_CROSS=true
Refactoring, documentation, cleanups, naming things
Improve user experience with
mpy-mk
sandbox toolkit. Thanks, @rohlan and @ClemensGruber. - Fix interactive confirmation - Add advices to guide user on errors - Improve Windows compatibility for theng
series of commandsAdd colors to
mpy-mk
Add note about installing
pycom-fwtool-cli
on Linux. Thanks, weef.mpy-mk: Improve operating system detection
mpy-mk: Streamline user interface
Another attempt at touch button wakeup
mpy-mk: Improve cross compilation
sensors: Use BME280 library by robert-hh
mpy-mk: Add “make colors” for colored output testing on Windows
Make MicroTerkin Agent compatible with Python3.5. Thanks, @rohlan.
Attempt to automate installation of the modem firmware (WIP). Thanks, @rohlan.
Gracefully ignore missing “py-notifier” package on Linux. Thanks, @rohlan.
Fix
scapy
dependency woes. Thanks, @rohlan.Add tools for building firmware images for ESP32 based on Pycom MicroPython. Thanks, @emmanuel-florent.
onewire.py: Use library optimized for timing and with enabled CRC checks by @robert-hh, thanks!
First steps with BLE (WIP)
First steps with LTE (WIP)
Be more graceful when starting network services
Wrap “station.isconnected()” to mitigate unhandled exceptions on timeout errors
Extend default watchdog timeout to 60 seconds
Try two times to connect to WiFi station
Makefile improvements - Don’t run “mpy-cross-setup” on each invocation of “mpy-compile” - Don’t clobber “mpy_cross_all.py”
Improve LED signalling
Parallelize networking subsystem
Prepare real “light sleep” (WIP)
Attempt to reset WiFi connection if scanning fails
Add
umal
, the Universal MicroPython Application LoaderReconfigure watchdog when connecting the device using MiniNet
Propagate platform information for implementing platform switch conditions
Transfer
umal
bootloader and themininet
module to thelib
folderStart making Terkin platform-agnostic. Thanks, Markus!
Add release archives with frozen modules compatible to Pycom MicroPython
2019-06-22 0.5.1¶
HX711: Configure data pin as pull-up to be able to detect readiness
Disable Watchdog in blueprint settings
Improve logging and terminal handling in bootstrap phase
Improve release bundling
2019-06-22 0.5.0¶
Power saving.
Improve documentation
Improve voltage divider settings for reading the battery level
Package the release bundle with the same directory layout as the sandbox
Add foundation for having button events through ESP32 touch pads
Add basic logging configuration settings to support turning off logging entirely
Fix purging of sensible configuration keys
Improve MAC address formatting when logging network status
Try 11 dB attenuation for measuring vcc
Disable heartbeat through RGB-LED, just blink twice on startup
Turn off interrupts while powering down the HX711
Improve inline documentation and logging
Improve IRQ handling when reading the HX711
Sleep for 80 microseconds after pulling HX711 clock pin
PD_SCK
to HIGHImprove bus- and sensor power-management. Add “power_on” signal.
Explicitly turn off LTE modem before deep sleep
Use 6dB attenuation factor again when reading the ADC for measuring VCC
Conditionally turn off LTE modem
WiFi STA: Get hold of auth mode and store into NVRAM to skip WiFi scan on each cycle
WiFi STA: Erase auth mode from NVRAM if connection fails
Refactor radio/networking subsystem
Explicitly start and stop Terminal on UART0 based on configuration
HX711: Hold clock pin “PD_SCK” in designated state through internal pull-up in the RTC-domain, even during deep sleep.
HX711: Improve setup and initialization after power up
Add watchdog and feed it
2019-06-17 0.4.0¶
Getting real.
Upgrade to
Pycom MicroPython 1.20.0.rc11
Stop leaking sensible information into settings output
Improve documentation
Switch to LittleFS
Add deep sleep
Improve Makefile targets
Add more wakeup reasons
Add missing configuration section for HX711 to settings example. Thanks, @ClemensGruber.
Add basic device-interval sensors
SystemTemperature
andSystemBatteryLevel
Explicitly shut down all peripherals having implicitly been turned on
Add
SystemWiFiMetrics
sensorAdd
SystemUptime
sensorFix: Better explicitly initialize the ADC before reading it
Improve
SystemBatteryLevel
sensor. Thanks, @ayoy.Make
TelemetryTransportHTTP
work againImprove telemetry subsystem re. multi-protocol and -topology. Enable HTTP telemetry.
Add configuration example for BEEP-BOB
settings.example-bob.py
Honor “scale” and “offset” parameters when reading the HX711. Fix #6.
Improve reading the HX711 re. wrong kg scaling. Transmit all raw values and settings of HX711.
Attempt to improve #5: Reading Vcc.
Add missing “topology” configuration settings attribute for MQTT telemetry to example configurations
Fix deep sleep
Conditionally start telemetry subsystem just if networking is available
Improve robustness wrt. WiFi connectivity
Improve log messages
Bump version to 0.4.0dev
Improve purging of sensible configuration settings
SystemBatteryLevel: Obtain voltage divider parameters from settings
Improve release tooling
Improve error signalling for missing “topology” configuration setting
2019-06-07 0.3.0¶
Yaks all the way down.
Add ds18x20 lib
Implement DS and HX sensors using
AbstractSensor
ds18x20: Add reading multiple sensors
Populate SensorManager, add bus management, add OneWireBus
SensorManager: Make ds18x20 use OneWire-Bus through
AbstractBus
ds18x20: fix runtime issues, resetting OneWire before scanning for devices
Little cleanup
- SensorManager
Add bus driver for i2c and onewire buses
Settings: add buses to (sensor-)settings
Convention: Bus address
<BUS_FAMILY>:<BUS_NUMBER>
- Makefile|libs:
Add bme280, Pycoproc, Quectel L76 GNSS library (Pytrack Board)
Add Pytrack Board Library, Pytrack Board Accelerator
- SensorManager
Add bus to sensor registry
Add bme280 (humidity, temperature, pressure)
Add i2c bus
Cleanups
Compensate for missing
_onewire
package, maybe on older firmwaresMove acquire_bus to
AbstractSensor
Fix I2C pin propagation
Add Pytrack sensor
Don’t croak on failures
Fix HX711 pin wiring
Move Pytrack sensor to ratrack namespace
Add Pytrack Quectel L76 GNSS sensor
Makefile: cleanup (rm old DS18X20 lib)
settings|sensor: add TODO: “i2c-address -> settings -> sensor”
settings|sensor: add TODO: “i2c-address -> settings -> sensor”
Sensors: naming, (WIP!) hardcoded proposal for naming (see bme280)
Add Pytrack support
Moar sensors
Add appropriate logging
Improve LoRa subsystem
Improve logging, code cosmetics
Add “make clean” target
Enable all sensors
Improve bus registration
Improve BME280 readings
Improve documentation
Update documentation
Add LoRaWAN/TTN telemetry with CayenneLPP
Start WiFi before LoRaWAN
Reduce logging noise
Improve sandbox, documentation and naming things
Update documentation
Remove main.py.dist again
Improve automatic sensor field naming
Improve example settings
Improve logging all over the place
Upgrade to rshell 0.0.21
Use “device_id” as part of the MQTT “client_id”
Fix telemetry success signalling
Cleanup
Improve network/telemetry error handling, robustness and convenience for WiFi and MQTT connectivity
Improve logging
Update documentation
Improve reporting about which telemetry targets succeeded
2019-03-23 0.2.1¶
Fixes.
Fix install-requirements re. dotty_dict patching
Fix “make list-serials”
Dependencies: add OneWire & DS18x20 libraries
Fix urllib dep
Introduce SensorManager
Fix urllib dep
2019-03-17 0.2.0¶
Fill in the gaps, lots of.
Update documentation
Update backlog
Improve MQTT robustness by compensating
ECONNRESET
andECONNABORTED
exceptions from connection to MQTT broker by attempting to transparently reconnect next time when performing a telemetry submission.Stop connecting to further WiFi networks after getting connected already
Make the telemetry domain obtain the “format” parameter from configuration settings in order to control the serialization method.
Update MQTT address example settings
Improve WiFi STA connectivity and status reporting
Improve status reporting and inline comments
Fix example configuration
Improve documentation
Preparing cayenneLPP into telemetry, new convention for sensor mapping (e.g. channel in CayenneLPP)
Lora works now, cleaning up and restructuring, might be good
Add TTN to get_handler() and transmit()
Improve telemetry target selector
Add PyCayenneLPP package to foundation libraries
Add telemetry target for running Base64-encoded CayenneLPP over MQTT
install upip via pypi
Add project header to main sketch files
Improve PyCayenneLPP installation
Reduce rshell buffer size to “30”
Improve Telemetry - Multiple telemetry sinks running in parallel - Add MQTT driver adapter
Streamline sensor reading vs. telemetry submission
Trim configuration settings output
Naming things
Improve documentation
Fix channel naming in example configuration
Skip reporting the current configuration settings as this crashes the serial output on WSL.
Use environment variable “MCU_SERIAL_PORT” for configuring serial port
Overhaul make target “setup-requirements” to populate “dist-packages”
Update documentation, improve README and add README-HARDWARE.md
Improve “refresh-requirements” make target
Documentation, once more
Bump documentation again
Slight application namespace refactoring
Improve reporting
Don’t enable serial device in “boot.py”
Improve documentation
Add examples for different use cases
Build distribution archive files and upload them to GitHub
Refactoring/modularization
Update documentation
Minor fixes
Re-add BobDatalogger
Add release tooling
2019-03-14 0.1.0¶
Architecture blueprint. Works, sort of.
Add build environment
Begin with documentation
Large refactoring
Remove “urllib” package as we might want to pull it back in using “upip” later.
Add dependency management through “dist-packages” folder by using “upip” with MicroPython on Unix
Improve framework layout
Improve robustness of TelemetryClient
Add DummySensor
Add MemoryFree sensor
Update documentation
Add vanilla
hx711.py
by David GerberAdd improved HX711 library by Ralf Lindlein
Improve documentation
Code cosmetics, improve logging
Add HX711 sensor component
Update documentation and tooling
Improve HX711 sensor robustness, don’t block the device driver while waiting for hardware intercom
Add watchdog timer (WDT) support
Idle in the mainloop
Naming things
Run garbage collector on each loop iteration
Prepare RTC code
Ignore empty sensor readings
Naming things, HX711 robustness
Add vanilla Dotty Dict package
Add basic TTN example
TTN for real?
Improve configuration system and WiFi STA connectivity
Update documentation
This and that
Troubleshooting git errors, whatever, need to commit
Add LoRaWAN (TTN) flavour to terking devices
this and that, still WIP, not working
WIP: code is running, but not connected to TTN successfull
Lora works now, cleaning up and restructuring, might be good
Resolve urllib dependency woes
Use telemetry parameters from configuration settings
This and that
Use sensor parameters from configuration settings
Increase number of retry attempts for catching a WiFi connection, essentially checking for 15 seconds
Update documentation
Refactor LoRaWAN bootstrapping
2019-03-01 0.0.0¶
Baby steps.
Initial commit
Add .gitignore to exclude
*_local.py
configuration filesWIP: Hands on FiPy
First stable version