- [x] FW INDEX :hidden:
- [x] Refine new firmware overview page
- [x] Get rid of tools subdirectory
- [x] Hibernate Firmware Builder
- [x] Run linkchecker
- [x] Use brand color of previous theme
- [x] Naming things:
trudering
=>stulabs
orringlabs
- [x] Docs: Add Ringlabs Bienenwaage
- [x] Fix links within
coverage.md
https://hiveeyes.org/docs/arduino/#coverage - [x] Add Mermaid
- [x] Dissolve
StandardCplusplus
completely - [o] @mois-update
- [o] Polish individual pages, e.g. mois
- [o] Broadcast PlatformIO configs to @wtf's firmwares
- [o] At least, on all firmwares, you will need to configure the
HX711_OFFSET
andHX711_KNOWN_WEIGHT
values ... - [o] Improve leftnav, with sections
- [o] Rename
./openhive/rfm69-node/synopsis.dot
- [o] Improve section about Kotori
- [o] Add more footer links like Discourse
- [o] Update changelog
- [o] multihop: Remove notion of
HE_CONTAINERS
. - After switching to ArduinoSTL, container data structures can be taken for granted.
- [o] multihop: Remove notion of
- [o] Release
- [o] Docs: Add Terkin, BOB, BEEP, EasyHive, Autonome Zelle, Dachboden Lab, @hsors
- [o] Add firmwares by @wtf, @tonke, and @hsors.
- https://git.cicer.de/autonome-zelle/autonome-zelle-sfwv
- https://git.cicer.de/autonome-zelle/az3-cubecell-boden
- https://github.com/hsors/connected-bee-hive
- https://github.com/hiveeyes/terkin-datalogger
- https://github.com/marcelgasser/nexTerkin
- https://git.cicer.de/tonke/esphome-nau7802
- https://git.cicer.de/tonke/preferencesscale
- https://git.cicer.de/tonke/sx126x-arduino-lorawan
- https://git.cicer.de/tonke/sim7000g
- https://git.cicer.de/tonke/esphome
- https://git.cicer.de/tonke/fipy
- https://git.cicer.de/tonke/wipy
- https://git.cicer.de/tonke/amqp-to-mqtt
- Look at muon, and more. https://github.com/hiveeyes/beradio/issues
- Generalize HTTP access
- https://registry.platformio.org/libraries/csharpermantle2/http-parser
- https://registry.platformio.org/libraries/csharpermantle/http-parser-arduino
- https://registry.platformio.org/libraries/exosite/libexosite%20http-data-api%20sync
- https://registry.platformio.org/libraries/azure/AzureIoTProtocol_HTTP
- https://registry.platformio.org/libraries/khoih-prog/AsyncHTTPRequest_RP2040W
- https://github.com/boblemaire/asyncHTTPrequest
- https://registry.platformio.org/libraries/petruspierre/EasyHTTP
- https://registry.platformio.org/libraries/khoih-prog/AsyncHTTPSRequest_Generic
- More libs
Include reStructuredText - links do not work:
```{eval-rst} .. include:: ../resources.rst ```
Firmware-Builder - Helper.mk:
firmware-info: @# For architecture "AVR" @echo "TARGET_HEX: $(TARGET_HEX)" @echo "TARGET_ELF: $(TARGET_ELF)" @echo "TARGET_BOARD_TAG: $(BOARD_TAG)" @echo "TARGET_BOARD_SUB: $(BOARD_SUB)" @# For architecture "ESP" @echo "TARGET_BIN: $(MAIN_EXE)" @echo "TARGET_CHIP: $(CHIP)" all-plus-firmware-info: all firmware-info
- Look at https://github.com/SergiusTheBest/plog, a portable, simple and extensible C++ logging library
Make more #define's @ node-gprs-http-firmware-builder:
const long loadCellZeroOffset = 38623; // const long loadCellKgDivider = 22053; // 1/2 value for single side measurement, so that 1 kg is displayed as 2 kg const long loadCellKgDivider = 11026;
With the "Modern, flexible firmware: WiFi, MQTT, JSON" firmware, decode and interpolate the topology information from the channel address into appropriate firmware variables: https://community.hiveeyes.org/t/firmware-builder-beta/265
check out workbench@elbanco:/opt/esp-open-sdk after resizing /opt
- [o] Make SerialDebugger optionally use SERIAL_PORT_HARDWARE
- Further improvements to :ref:`node-wifi-mqtt`
- [o] Publish discrete values to the MQTT bus, use MQTT_DISCRETE maybe.
- [o] Add debugging using http://playground.arduino.cc/Code/SerialDebugger
- [x] Comment: "Connect the D0 pin with RST pin to enable wakeup of the MCU." re. deep sleep mode
- On "Adafruit Feather HUZZAH", wire RST with GPIO16, see also https://learn.adafruit.com/adafruit-feather-huzzah-esp8266/pinouts
- [x] @gtuveri: it makes no sense to add #if SENSOR* stuff if SENSOR_DUMMY is true?
- [o] @gtuveri: why to proceed within execution if no WiFi connection has been established?
- [x] @Thias:
#define DEEPSLEEP_TIME MEASUREMENT_INTERVAL * 1000UL
since measurement interval is in ms already - [x] Improve inline comments again
- [o] Switch from Adafruit_MQTT to https://github.com/tuanpmt/esp_mqtt or https://github.com/marvinroger/async-mqtt-client?
- [x] Add sensor ADS1231
- Polish https://github.com/hiveeyes/aerowind-ads1231
- Add http://www.nikolaus-lueneburg.de/2016/10/wemos-d1-mini-battery-shield/
- Announce at http://forum.sodaq.com/t/hive-scale-code/275 when this works on ESP8266 also
- https://github.com/PaulStoffregen/TimeAlarms
- https://github.com/pycom/pycom-micropython/blob/master/docs/lopy/quickref.rst
- https://github.com/pycom/pycom-micropython/blob/master/docs/library/network.LoRa.rst
Use LWT (Last Will and Testament) MQTT feature http://www.hivemq.com/blog/mqtt-essentials-part-9-last-will-and-testament
Update TerkinData with appropriate JSON serialization:
int json_length = root.measureLength(); char payload[json_length+1]; root.printTo(payload, sizeof(payload));
See also: bblanchon/ArduinoJson#75
Let all devices send a "system boot" annotation
- Document ADS1231 patch for ESP8266, write to forum
- Augment calibration sketches to send calibration values to backend?
- Use PlatformIO
- Rename repository from "arduino" to "firmware"
- node-wifi-mqtt: Submit data as JSON container
- # If you like this project, please add a star!
- Test framework based on gtest: https://github.com/google/googletest
- Should use recent ESP8266 Arduino Core, see also https://github.com/esp8266/Arduino/compare/2.3.0...master
- Properly document correct libraries for individual sketches (A. Nickel)
- mike-matera/ArduinoSTL#4
Alternative libraries for ADS1231:
Rename node-gprs-http to node-gsm-wifi-http
node-openhive: Make HTTP interface compatible with Hiveeyes backend
node-openhive: Make feature flags compatible with firmware builder
RaspIO setup
Hardware jumper to decouple SPI from RFM69
Compile using:
cat Makefile-Linux.mk # RasPIO Hiveeyes, 2016-12-15 BOARD_TAG = gert328 MCU = atmega328p F_CPU = 12000000L ISP_PROG = gpio FORCE_MONITOR_PORT = true
Upload using:
sudo avrdude -P gpio -c gpio -p atmega328p -v -U flash:w:../../bin/src/gert328/src.hex
Enable UART on /dev/ttyS0:
root@raspberrypi:~# cat /boot/config.txt | grep uart enable_uart=1
Use the correct serial device:
screen /dev/ttyS0 115200
.. seealso:: http://raspberrypi.stackexchange.com/questions/47671/why-my-program-wont-communicate-through-ttyama0-on-raspbian-jessie
Stop picocom:
CTRL + A + X
- [o] Investigate alternative HX711 library
- [o] Migrate from StandardCplusplus to ArduinoSTL?
- [o] Provide complete Zip Snapshot of Repository contents
- [o] Add http://platformio.org/
- [o] Add https://nodemcu-build.com/
- [o] Add https://www.heise.de/developer/artikel/Auf-Kommando-3361570.html
- [x] Fix git submodule dependency when cloning freshly, still does not track feature branches.
- [o] BERadio: Try to use BERadioShadowEncoder again
- [o] BERadio: message.set_mtu_size(96); (!!!)
- [o] generic.ino-gateway: put delay, to allow serial interrupt
- [o] BERadio: Add warning message if BERadioMessage overflows buffer of EmBencode (display only once!)
- [x] Add main sketch from Clemens
- [o] Automatic firmware building for node-gprs-http
- [o] Add scale adjustment sketches for ADS1231 and HX711
- [x] Pluck into RadioHead, finally (char* to uint8_t* geschwummse)
- [x] Send data through RadioHead's RH_TCP driver
- [x] Debugging Infrastructure (dprint, memfree)
- [o] Integrate BERadio with Terkin transmitter infrastructure
- [o] Make :ref:`Kotori` receive data from RH_TCP driver
- [o] Make std::string to uint8_t conversion available at BERadioMessage::send
- [o] Move to https://github.com/rocketscream/Low-Power
- [o] Credits and more upstream references
- [o] CONTRIBUTORS.rst
- [o| node-gprs-http/README.rst
- [o] Display licenses in documentation
- [o] Properly document BOARD_TAG vs. BOARD_SUB for Arduino 1.0.x vs. 1.6.x
- [o] Project packaging (tarball, zip?) and publishing
- [o] Add
git push github master
tomake release
. Don't miss the tags! - [o] Also publish to aPlatformIO
- [o] Detect when compling against Arduino 1.0.x vs. 1.6.x and adjust BOARD_TAG vs. BOARD_SUB appropriately.
- [o] Get into aESP8266
- [x] Add Arduino gateway code, e.g.
gateway-rfm69-beradio
- [x] Add
node-wifi-mqtt
from Clemens - [x] Add :ref:`libberadio` spike and associated documentation from :ref:`beradio`
- [x] Send
embencode.patch
upstream to enable OO-based composition - [x] Integrate
StandardCplusplus
via git submodule - [x] Try to use it from regular sketches. Watch the firmware sizes!
- [x] Add Sphinx for documentation
- [x] Purge docs/build from git repository
- [x] Interlink Sphinx (conf.py) with hiveeyes, beradio kotori docs
- [x] Add "Howto use inotool" to README
- [x] Check out different Sphinx theme
- [x] Publish at https://hiveeyes.org/docs/arduino/
For more tooling like distribution package building, see :ref:`beradio` and :ref:`kotori` repositories
- [x] Add Makefile for convenience
- [x] Add bumpversion for release cutting
- [x] Find other modern command line driven Arduino IDE replacement, maybe just use ArduinoMk
- https://github.com/plerup/makeEspArduino
- https://github.com/esp8266/Arduino
- https://github.com/esp8266/Arduino/blob/master/boards.txt
- https://github.com/esp8266/Arduino/blob/master/platform.txt
- https://platformio.org/
- https://registry.platformio.org/libraries/lowpowerlab/RFM69
- https://registry.platformio.org/libraries/davylandman/AESLib
- https://docs.platformio.org/en/latest/librarymanager/dependencies.html#dependency-specifications
- https://docs.platformio.org/en/latest/manifests/library-json/index.html#library-json
- https://docs.platformio.org/en/latest/librarymanager/creating.html#examples
- https://docs.platformio.org/en/latest/core/userguide/lib/cmd_install.html#pio-lib-install
- https://docs.platformio.org/en/latest/platforms/atmelavr.html#packages