CHANGES

in-progress

2017-04-16 0.16.0

  • Try to fix Firmwares for load cell adjustment regarding ESP8266 compatibility again

  • node-wifi-mqtt.ino firmware:

    • Fix DEEPSLEEP_TIME order of magnitude: MEASUREMENT_INTERVAL is in ms already. Thanks, Matthias!
    • Fix IP address output. Thanks, Matthias!
    • When SENSOR_DUMMY is enabled, don’t use any real sensors. Thanks, Giuseppe!
    • Add comment about connecting GPIO#16 to RST for waking up after deep sleep. Thanks, Giuseppe and Matthias!
    • Add sensor ADS1231. Thanks, Clemens!
  • Improve Firmware builder

    • Add support for architecture “ESP”
    • Add variables TARGET_BOARD_TAG and TARGET_BOARD_SUB to firmware builder helper output
    • Add firmware builder helper to Makefile for node-wifi-mqtt-homie
  • Properly define and use HE_CONTAINERS in Generic firmware

2017-04-06 0.15.0

  • Firmwares for load cell adjustment (scale-adjust-hx711.ino and scale-adjust-ads1231.ino)

    • Make it compile against Espressif/ESP8266
    • Make it work on the ESP8266 at runtime by satisfying the watchdog. Thanks, Martin!
    • Properly read numeric value from serial port. Thanks, Matthias!
    • Fix computing the loadCellKgDivider. Thanks, Clemens!
    • Fix compilation on Arduino version <= 1.0.6
  • Generic firmware: Reduce loop interval when being in bootstrap phase

  • Open Hive GSM and WiFi sensor nodes: Fix Makefile for ESP8266. Thanks, Matthias!

  • Mois sensor node: Add firmware node-yun-http.ino for Mois Box. Thanks, Markus!

  • Improve the node-wifi-mqtt.ino firmware for the Basic WiFi/MQTT sensor node:

    • Fix Makefile for ESP8266 reported not to work on Ubuntu 16.10. Thanks, Matthias!
    • Completely overhaul the basic ESP8266/MQTT firmware making it more efficient and flexible, see also Improve the basic “node-wifi-mqtt” firmware. Thanks, Giuseppe and Matthias!
    • Start with single device counts of DHTxx and DS18B20 sensors to make firmware even more basic out of the box. Thanks again, Matthias!
    • Modularize and streamline code to better serve educational purposes
    • Enable connecting to multiple WiFi access points with multiple attempts. Thanks, Matthias and Clemens!
    • Read and transmit battery level. Thanks, Matthias!
    • Read and transmit free heap memory
    • Improve overall configurability and wifi_connect/mqtt_connect re. retrying
    • Add deep sleep mode

2017-03-31 0.14.0

2017-03-17 0.13.0

  • Add x-www-form-urlencoded serialization to TerkinData C++ library
  • Fix JSON serialization: Don’t convert values to string
  • Improve CSV serialization demo: Set float precision to three digits

2017-02-01 unreleased

2017-01-14 0.12.0

  • Add ArduinoSTL, a STL and iostream implementation for Arduino based on uClibc++

  • Update firmware for Basic WiFi/MQTT sensor node (node-wifi-mqtt.ino). Thanks Clemens and Karsten!

    • Make things actually work
    • Add dependency “Adafruit_MQTT_Library”
    • Add more sensors
    • Add Makefile and documentation
  • Improve Homie Firmware for ESP8266 beehive scale based on Homie

    • Add dependencies as git submodules
    • Add Makefile
  • Add TerkinData C++ library: Flexible data collection for decoupling sensor reading and telemetry domains

2017-01-10 0.11.0

2016-11-01 0.10.0

2016-09-17 0.9.0

2016-07-08 0.8.1

  • Add documentation about the new Generic firmware, “generic.ino”.
  • Switch “node-gprs-http” sketch from Rob Tillaarts DHTlib to DHTstable, as suggested by Clemens. Thanks again!

2016-07-08 0.8.0

  • Make building “generic” sketch for x86_64 a bit easier, just do cd generic; ./sim/build.
  • Add Open Hive GSM and WiFi sensor nodes from Clemens Gruber as “node-gprs-http.ino”. Thanks, Clemens!
  • Satisfy dependencies of “node-gprs-http” per git submodules (mostly), accompanied by Arduino Makefile yak shaving.
  • Add Firmwares for load cell adjustment. Thanks again, Clemens!
  • Finish restructuring work on “generic” sketch. Proof-of-Concept “node69-transceiver69x95-gateway95” is working!

2016-07-04 0.7.1

2016-07-04 0.7.0

General

  • Add sketch generic.ino as a module composition breadboard.
  • Add Terrine, an application boilerplate for convenient MCU development.
  • Run generic sketch on x86_64 incl. pseudo radio link communication using RadioHead RH_TCP driver.

BERadio

  • Bring libberadio in shape as BERadio C++.
  • BERadioMessage does generic Bencode serialization on top of EmBencode using a map for holding sensor family values.
  • Automatic message fragmentation based on MTU (maximum transfer unit) size for BERadioMessage.
  • Last mile from BERadio message to radio transmission, use RadioHead RH_TCP driver on Unix.
  • Move non-BERadio code to Terrine.

Libraries

  • Add RadioHead library, we are using the RH_RF69 and RH_RF95 drivers.
  • Switch from vanilla EmBencode to Hiveeyes fork.
  • Switch to branch “oo-improvements” of EmBencode fork.
  • Add “Standard C++ for Arduino” library StandardCplusplus.
  • Switch from vanilla StandardCplusplus to Hiveeyes fork fixing an issue with gcc5.
  • Switch submodule EmBencode to branch “oo-improvements”
  • Make submodules EmBencode and StandardCplusplus track specific feature branches of Hiveeyes forks.
  • Switch submodule EmBencode to branch “header-guard” fixing redefinition of 'class EmBencode’ errors.
  • Add guard to BERadio header file fixing redefinition of 'class BERadioMessage’ errors.
  • Switch to EmBencode branch “fix-typeinfo-reference”.

2016-06-17 0.6.1

2016-06-16 0.6.0

General

  • Add project tooling Arduino-Makefile and Bare-Arduino-Project as git submodules under tools/.

  • Adapt vanilla Makefiles from Bare-Arduino-Project for vendor node-gprs-any.

  • Add Hiveeyes foundation libraries as proposal for decoupling sensor and transmitter domains.

  • Add convention for automated firmware builder that make --file Makefile-Xyz.mk all-plus-firmware-info should output the path to the target HEX- and ELF files, e.g.:

    TARGET_HEX: ../bin/node-gprs-any/pro328/node-gprs-any.hex
    TARGET_ELF: ../bin/node-gprs-any/pro328/node-gprs-any.elf
    

Open Hive GPRSbee

This piece of software supports the Open Hive Seeeduino Stalker carrying a GPRSbee transceiver using the software components Terkin, Hiveeyes-Lib and OpenHive-Lib.

  • Add ArduinoJson and GPRSbee library as git submodules under libraries/.
  • Add example sketch node-gprs-any.ino demonstrating simple HTTP+JSON communication over GPRSbee.
  • Update HE_API_URL to use different url for non-TLS communication: http://swarm.hiveeyes.org/api-notls/. The default GPRSbee devices don’t do SSL.
  • Connect to access point with authentication by default, using GPRSBEE_AP_USER and GPRSBEE_AP_PASS. Disable authenticated mode by setting GPRSBEE_AP_AUTH to false.

Documentation

  • Fix make target “docs-html”
  • Upgrade to Sphinx 1.4.1
  • Add “sphinx_rtf_theme==0.1.9” to requirements-dev.txt due to error “sphinx_rtd_theme is no longer a hard dependency since version 1.4.0. Please install it manually.”
  • Add label hiveeyes-arduino and changes to documentation for referencing from other Sphinx instances.
  • Disable caching of remote intersphinx inventories

2016-05-26 0.5.2

  • Add BERadio C++ to evaluate whether a Standard C++ based firmware will still fit into the 32 KB flash memory of the little ATmega328.
  • Get Sphinx documentation in shape

2016-04-16 0.5.1

  • Add Sphinx for documentation

2016-04-16 0.5.0

  • Get real with HX711
  • Polish repository for publishing on GitHub

2016-02-20 0.4.1

  • Fix nasty battery draining

2016-02-03 0.4.0

  • Add RADIO_ATC capability
  • Update RFM69 library
  • Get the node into the field
  • Interval tuning

2015-11-12 0.3.0

  • Update RFM69 library
  • Add code for DS18B20 sensor
  • Add MCU sleep modes (LowPower)
  • Add serial-to-mqtt forwarding
  • Design BERadio communication paradigm
  • Work on update-over-the-air (WirelessProgramming)
  • Add code for HX711 and DHT22 sensors
  • Add RF-to-UART gateway code, see gateway-rfm69-beradio.ino

2015-08-19 0.2.0

  • Add Bencode [cccamp2015]

2015-02-03 0.1.0

2014-11-04 0.0.0

  • Start working on Hiveeyes Arduino using RFM12