I can confirm smartsleep works fine with mysensors 2.0.0 (battery powered arduino pro mini 3.3V )
Thank you for your support! This is awesome controller!
Posts made by yd
-
RE: OTA firmware update with external MQTT broker
-
RE: OTA firmware update with external MQTT broker
@jkandasa You are right. It's working now after clear cache. There is no plan to firmware upgrade at this moment. I will let you know when I do test this function.
-
RE: OTA firmware update with external MQTT broker
@jkandasa Oh, it works now. I have to restart after restore from backup.
After restart server then I'm able to see all firmware^^ however I can't see smart sleep option on firefox.
I can see it on chrome. -
RE: OTA firmware update with external MQTT broker
@jkandasa Hi jkandasa,
I did upgrade with SNAPSHOT version from google drive.
Seems it works fine but I'm unable to select firmware from node. There are many firmware in utilities.
Do you know this issue?
Thank you in advance. -
RE: OTA firmware update with external MQTT broker
@jkandasa Is there any easy update Snapshot version. Just overwrite all files?
-
RE: OTA firmware update with external MQTT broker
Thank you for your explain. I didn't know how DualOptiboot works.
However if your node is battery powered and has sleep mode, it may work differently.
Mysensors 2.0.0 library has smartSleep() when it wake up, wait 500ms to get command from controller. (You can change wait time from config)
You can place reboot command when node send heartbeat.
I use node-Red to send reboot command because MyController current official version doesn't support this.I'm not sure how firmware update function work battery powered node with DualOptiboot.
-
RE: OTA firmware update with external MQTT broker
@imedia
Seem you are on the right track. If you make a simple wiki document for newbie after you success, it will be huge help for the community.
English is my second language so it will take long time for me and afraid not crystal clear for everyone^^; -
RE: OTA firmware update with external MQTT broker
@imedia
Add type
Utilities => Firmwares => Click "Types" on right top => click "Add firmware type" right next => add new record
Add version
Utilities => Firmwares => Click "Versions" on right top => click "Add firmware version" right next => add new recordAfter you flash MYSBootLoader, you will see the node ID in MYController node list.
You can select the node and click action then you can edit node.
From that screen, you will be able to select one of firmware which you have uploaded in utilities.Once you upload MYSBootloader, Once you have new bootloader, the node doesn't have firmware so keep sending request to controller to get firmware. Obviously your gateway should work as expected.
Hope this help you.Cheers~
-
RE: OTA firmware update with external MQTT broker
@imedia One more thing you need to know.
Once you got New boot loader, you are unable to use arduino sketch to put new firmware.
You have to use OTA. It took 5-10minutes;; Not sure what's wrong with this but it looks like mysensors boot loader bug or how it works.Cheers~
-
RE: OTA firmware update with external MQTT broker
Well you'd better see following link to get HEX file.
https://www.mysensors.org/about/ota (search "How to upload a new sketch just with OTA")
Then you can find hex file in build.pathIn MyController, you have to create new type and version first then you can select the type and version then upload HEX file.
Once you upload firmware, you can go Resources => Node then you can select any node which you want to uplpad firmware. Then edit node and select firmware.
Don't forget reset node to get new firmware.
Cheers,
YD -
RE: OTA firmware update with external MQTT broker
@imedia You don't need to change fuse for OTA. It's mostly for low battery.
I've use mysensors boot loader from MYSController 0_1_2_282.
However you need usbasp bootloader burning cable and also I use avrdudess s/w to burn boot loader.
I don't know why but I was unable to burn bootloader from arduino or any other s/w.
Only problem is after you use mysensors bootloader, you can't use arduino to burn firmware on it.
Ah I use arduino pro mini 3.3V version.After you load firmware on MYController, you have to reset node to start burn firmware from controller.
Hope this save your time.
Thanks.
-
RE: OTA firmware update with external MQTT broker
@jkandasa Thanks. Finally I've solved the issue but not in MyController.
You are right. I did map new firmware and push reset button then it works however MYSController behavior is a little bit different for battery powered node.When I look into smartsleep(), it send heartbeat() before going to sleep.
I guess MYSController check firmware version between MYSController and node then if it's different, it send reboot command automatically. Then node restart and process firmware upgrade. So firmware upgrade works well with battery powered node.
If you add this function to MyController, it will be great.Thanks.
-
RE: OTA firmware update with external MQTT broker
Is there any way to reboot battery powered node when I need?
I did try to use rule but seems not triggered properly.
I think if I can reboot node after load new firmware, it will work for me.Thank you in advance.
-
RE: OTA firmware update with external MQTT broker
@jkandasa I upload new firmware with wait(300) before/after smartsleep() but nothing happen.
From following article, MYSController does something for battery powered node.https://forum.mysensors.org/topic/1563/cannot-remotely-reboot-a-node/2
-
RE: OTA firmware update with external MQTT broker
@jkandasa Hi Jkandasa, Thank you for your reply!
I have been working on this last couple of days and check what's different between MYSController and MYController.
First, I have to set battery powered node on MYSController otherwise doesn't work either.
However MYController can update firmware successfully when node is rebooted.
I did send reboot command but seems not working properly.
I think there is some different between normal node and battery powered node. ( Probably buffered in controller for battery powered node)
My node can be shown on MYScontroller as battery powered node..Now I'm loading new firmware with wait(300) before/after smartsleep().
Can you point what I'm missing please?
Thank you.
-
OTA firmware update with external MQTT broker
First of all, Thank you for your all effort. This is nice and easy mysensors controller!
Nowadays I'm trying to use OTA with mysensors.
OTA works with serial gateway with MYSController but doesn't work with MyController with ESP8266 MQTT gateway.
Probably I didn't know how to use OTA properly with MyController.Here is what I have been doing.
- Add firmware with Types and Version on Utilities => Firmware
- Select firmware from Resources => Node => detail => edit .
Node run every 15minutes but nothing happen after 1hr later.
No log at all..Here is my configuration
Mysensors : 2.0.0
Gateway :
ESP8266 Devkit V3 MQTT Gateway
Node :
MySBootLoader : 1.1
Using Smartsleep on Battery powered Arduino pro minimosquitto MQTT on same server with myController
Thank you.