- 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
- 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!
- 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
- CPython: Add missing dependency modules
umqtt
andurequests
- CPython: Fix runtime dependency: Don't use
os_path
- CPython: Add "psutil" to list of runtime dependencies
- 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
- 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
- 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"
- 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
- Support SX127x on Dragino LoRa/GPS HAT for LoRa. Thanks @tonke and many more, see: mayeranalytics/pySX127x#21 (comment)
- Add TTN/LoRaWAN README. Thanks, @thiasB!
- TTN: Add payload converter code for PutsReq.com HTTP endpoint. Thanks, @thiasB!
- Fix
I2CBus.power_on
. Thanks, @tonke!
- Improve packaging
- Improve compatibility between Genuine MicroPython and Pycom MicroPython - micropython/micropython#5915 - pycom/pycom-micropython-sigfox#436
- 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 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!
- 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
toMCU_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
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 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
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 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 themininet
module to thelib
folder - Start making Terkin platform-agnostic. Thanks, Markus!
- Add release archives with frozen modules compatible to Pycom MicroPython
- 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
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
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
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
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 firmwares - Move 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
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
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
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 Gerber - Add 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
Baby steps.
- Initial commit
- Add .gitignore to exclude
*_local.py
configuration files - WIP: Hands on FiPy
- First stable version