Terkin

Latest version: v0.14.0

Safety actively analyzes 706259 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 4

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

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 20
- Add 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`` module
- Fix 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
as ``onewire_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 and
``UdpServer`` in order to shut down using a single ``CTRL-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 using ``deattach=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, just
``read()`` 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!

0.6.0

================
- Explicitly ``deinit()`` LTE modem on each startup
- Fix ``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`` to ``MCU_PORT``
for configuring both USB/UART port and IP address
- Use offset values for DS18B20 sensors from settings
- Enable/disable individual sensors per settings
- Install MicroWebSrv and MicroDNSSrv libraries into ``dist-packages`` folder
- Add 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`` rule ``wifi-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 interactively
- Start 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 iterations
- Curate 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`` flag
- Makefile: 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 function
- Fix 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 settings
- Settings: 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 settings
- Refactor 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``
through ``make 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 the ``ng`` series of commands
- Add 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 Loader
- Reconfigure watchdog when connecting the device using MiniNet
- Propagate platform information for implementing platform switch conditions
- Transfer ``umal`` bootloader and the ``mininet`` module to the ``lib`` folder
- Start making Terkin platform-agnostic. Thanks, Markus!
- Add release archives with frozen modules compatible to Pycom MicroPython

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

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 HIGH
- Improve 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

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`` and ``SystemBatteryLevel``
- Explicitly shut down all peripherals having implicitly been turned on
- Add ``SystemWiFiMetrics`` sensor
- Add ``SystemUptime`` sensor
- Fix: Better explicitly initialize the ADC before reading it
- Improve ``SystemBatteryLevel`` sensor. Thanks, `ayoy`_.
- Make ``TelemetryTransportHTTP`` work again
- Improve 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

Page 3 of 4

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.