thank you for your answer
I guess I accept the challenge and keep you posted
thank you for your answer
I guess I accept the challenge and keep you posted
after more research and testing I am pretty sure that the current optiboot development branch (https://github.com/Optiboot/optiboot) is the best way to go.
I can successful compile and flash the standard optiboot sources for the ATmega328 and ATmega2560.
One of the next steps are
I am still wondering why nobody ported this before - what am I missing?
~Martin
which controller do currently support the auto-id assignment?
Is this meant by "node ID generation" in the Controller comparison table?
After some intensified research, I am pretty sure, that my desired OTA (MySensor sketch directly to MCU flash without requiring external flash (DualOptiBoot requires flash) and being transport-agnostic (not MYSBootloader uses RF24)) with a 2560 can be done with the optiboot-fork bootloader by MCUdude (for the ATMega 2560 the variant is called "MegaCore", see https://github.com/MCUdude/MegaCore/). The MegaCore provides some macros for the SPM (storage programable memory) functions, which are passed to the bootloader like __boot_page_fill_short, __boot_page_write_short and __boot_page_erase_short.
The repository comes with precompiled bootloaders as .hex files and a nice Arduino GUI integration (see wiki).
My next step is to integrate the example sketch SerialReadWrite.ino into MySensors/core/MyOTAFirmwareUpdate.[c|h].
Currently I am still a bit confused about the used defines. As far as I understand the
#define MCUBOOT_PRESENT represents the MySensors bootloader by Tekka,
the #else or #ifndef MCUBOOT_PRESENT branches are for the DualOptiboot bootloader (which is somehow deprecated).
It looks like several defines are declared in #include "generated_dts_board.h", but I cannot find the file. Also there must be some kind of #include towards the dualoptiboot or mysensors specific bootloader header files, right?
Hi,
I have been searching the web for a while now, but I am still confused about all the OTA stuff, which seems only to work on 328 devices for MySensors.
For a sensor node I want to use an ATmega 2560 (can't use 328), which is supported by the current Optiboot v8 by westfw (https://forum.arduino.cc/index.php?topic=570160.0).
Is it possible to use optiboot v8 with MySensors? The DualOptiboot project does not support the 2560, was not updated for a long time and looks deserted to me.
I have been digging around in optiboot's and dualoptiboot's code for some time, but I am not sure where to begin yet (as I did not understand much of the bootloader magic)
The current optiboot v8 also supports direct EEPROM writes via the dospm function. (see git optiboot\optiboot\examples\test_dospm). Does this help in any way to integrate it into MySensors?
If you could point me in a promising direction I would be happy to contribute the results
Martin
Hi mfalkvidd,
thanks for your answer. Today I realize, that I must have been very confused yesterday and mixed up some things and wrote some BS....
To clarify for me and others: The ESP has built-in BT and Wifi interfaces. There are no additional nordic NRF whatever peripherals
Also the Philips Hue uses Zigbee, which is not Bluetooth-compliant.
However are there more examples how to use the ESP32 in a MYSensors environment? Could not find much about the interfacing between Node and Gateway...
Hi,
i am developing a wired RS485 environmental sensor node for our rooms at home, using the BME680 to measure temperature, humidity, air quality and additional sensor for light intensity and an LED as a night-light.
The prototype is based on a ESP32 and is currently working well. The sensor nodes should later be hidden in flush-mounted boxes and are powered by 24V.
As the esp32doit-devkit-v1 also supports WLAN and Bluetooth, I am wondering, if I could use the Bluetooth and the RS485 connections for future applications in parallel. Possible use cases would be a RS485 to BT relay to control Philips HUE lights or just use the BT to act as a relay in a mesh.
Enabling both interfaces in my code
#define MY_RS485
#define MY_RADIO_RF24
results in
error: #error Only one forward link driver can be activated
#error Only one forward link driver can be activated
Are these use cases somehow possible?
Martin
as a newbie to Mysensors and platformio this took me a while with the same problem.
The solution (like described above, but not understandable for me at first) is:
platformio.ini add
lib_deps = https://github.com/mysensors/MySensors.git#development
which currently links to Mysensors 2.3.2-beta #ea093e5
and the errror is gone