Windows GUI/Controller for MySensors
-
Very interesting, I´m having the exact issues with my pro minis.. It would be very helpful with a " how-to" to compile the Mysbootloader for pro minis 3.3V 8mhz.
Kindly
-
@f1dev, I'm just trying to thinking 'out of the box'. I really don't know why the MYSBootloader doesn't work (while the original arduino bootloader does).
@scalz, @tekka, looking at MYSBootloader makefile at github, I noticed you are using
ISP_PORT = com5 ISP_SPEED = 115200 ISP_PROTOCOL = stk500v2 ISP_MCU = m328p
Well, my 'Arduino as ISP' only work as 'stk500v1' and 19200 bps --- Any other combination causes the "Yikes! invalid signature found" in avrdude, or no response at all (time-out). Could be that a different avr itself would introduce "strange bytes" during bootloader burning?
-
@rvendrame let me try some things here - can you make sure, that the MYSBootloader your are trying to flash is the one from the library and/or MYSController folder (maybe you can upload it here)?
Importantly, there is no need to re-compile MYSBootloader as it has been successfully tested down to 3.3V and 125kHz pro-minis (!). Can you please update your Arduino IDE to 1.6.5 so that we both run the same version?
-
@rvendrame the speed is not really an issue here - the bytes are verified after flashing...
-
@tekka, thank you so much. I have downloaded the .hex again from github, just for the sake. Anyway it is here MYSBootloader.hex I'm using.
-
@rvendrame said:
Hello guys, I'm trying to burn the MYSBootloader.hex into some Pro minis (clones) here, however after burning it, they get somehow 'bricked' :
- I'm using my Uno "as ISP" on IDE 1.6.4
- I've followed the step-by-step tutorial posted above by @tekka
- My pro-minis are 5V, 16Mhz, external clock , 328p, supposedly a perfect match with 'boards.txt' info...
- "Burn bootloader" ends successful, with "Done burning boot loader" message.
- After that, the pro-mini pin 13 led flashes in a kind of random pattern, and it is not possible to upload any sketch, nor any kind of serial monitor on any speed.
- I can revert it, by selecting the standard 'Arduino Pro or Pro Mini' board , and burn boot loader again. It makes the pro-mini gets back to live, I can upload my sketches and serial monitor it.
So my questions:
- I don't have extra eprom connected --- Is it mandatory? I've read somewhere that it can be disabled, but can't find the instructions anymore...
- Fuse adjustments?
- What else can I do in order to troubleshooting it?
Thanks!
How do you know that the bootloader is not functioning properly? you connected the RF module as mentioned earlier? The led is blinking irregularly due to SPI...Do you get a startup message (from MYSBootloader) in MYSController?
The 327xx bytes mentioned in verbose mode are correct - the entire flash is overwritten...
-
Yes, I connect the radio and start the node, but nothing happens --- No serial monitor, nothing in MYSController. Just the pin 13 led flashing randomly.
-
@rvendrame said:
Yes, I connect the radio and start the node, but nothing happens --- No serial monitor, nothing in MYSController. Just the pin 13 led flashing randomly.
Just flashed MYSController.hex on my Arduino pro mini 3V3 and the fuses as mentioned in the boards.txt (L: 0xF7 E: 0x06 H: 0xDA), using USBasp and everything works smoothly...
Please keep in mind: There is no serial monitor for MYSBootloader and the 13 led flashing is normal
Can you try this (in the indicated order):
0) Update Arduino IDE to 1.6.5- burn the original bootloader and upload the clear eeprom sketch
- burn MYSController, disconnect flasher and connect nRF24L01+ module
- download the most recent MySensors 1.5 library and upload the GW sketch
- launch MYSController 0.1.2.282, activate AutoID, Logging and connect to the serial GW
- let it run for a few mins and upload the log-file here
-
@tekka, just to clarify, in step 4 above - the 'upload GW sketch' should be OTA? Or via regular FT232 adapter?
-
@rvendrame: I think it is ota. With MYSBootloader you can't use ftdi for uploading sketch.
-
@scalz, thx. I will give it a try tonight.
-
@rvendrame said:
@tekka, just to clarify, in step 4 above - the 'upload GW sketch' should be OTA? Or via regular FT232 adapter?
I meant to update the Gateway node with the most recent Serialgateway sketch...
-
@tekka said:
I meant to update the Gateway node with the most recent Serialgateway sketch...
Yep, I'm already on latest version on GW. My GW runs on a pro-mini, with standard bootloader --- I guess this is not a issue?
-
@rvendrame said:
@tekka said:
I meant to update the Gateway node with the most recent Serialgateway sketch...
Yep, I'm already on latest version on GW. My GW runs on a pro-mini, with standard bootloader --- I guess this is not a issue?
and MYSController is connected via USB/FTDI to the GW...?
-
@tekka said:
and MYSController is connected via USB/FTDI to the GW...?
It is connected via USB/FTDI into a mac-mini running a TCP-to-serial SW. (so both Vera and MYSController can reach it using IP address). Works like a charm, I can see all nodes and messages, no connection issues so far.
Is it required the GW running on MYSBootloader? I hope not...
-
@rvendrame Sensor nodes with MYSBootloader (unless they are Sensebender boards) and GW with original bootloader. Curious to see your logs.
-
EDIT: @tekka, @scalz , after so many tries, I don't know why I decided to replace the nRF radio , and guess what?
Funny thing is that the previous radio is working with regular bootloader. Dam fake chips! But I will sort it out later, now I want to play with my OTA
Thanks a lot!
-
@rvendrame: so cool. I am happy for you!
See you soon
-
@tekka do MYSBootloader also work with the RFM69 radios?
-
@rvendrame excellent
-
@Francois No, in it's current stage only nRF24L01+, but porting to RFM69 should not be too difficult...
-
@tekka silly ?
But still last night changed from serial to Ethernet gw using iboard wiz5100 and the h/w changes.
No issues but for later problems do I ---use myscontroller by way of FTDI connector>usb or
-- continue to plug the original serial gw into laptop leaving Ethernet still in use ( plugged in).
-
@5546dug said:
@tekka silly ?
But still last night changed from serial to Ethernet gw using iboard wiz5100 and the h/w changes.
No issues but for later problems do I ---use myscontroller by way of FTDI connector>usb or
-- continue to plug the original serial gw into laptop leaving Ethernet still in use ( plugged in).
I'm not quite sure I understand your question. Are you having issues with the EthernetGW?
-
@tekka No everything is ok now but there will be problems in the future to sort out if history repeats itself.
So it is just a learning question for troubleshooting later.
To "see" Ethernet gw in your gui use FDTI>usb>laptop (with gw still connected to the router) or use the serial gw I had from before connected remotely to laptop via usb..
As of now I use only Ethernet gw plugged into router and the serial gw is no longer plugged into my vera.
-
@cdr said:
@tekka I feel really, really, REALLY stupid;
I changed the channel in the mysensors config.h to 77, this was the reason no node would ever show up since the default mysbootloader uses the default channel 76.
D'OH
Thanks for your patience and help, everything is working now and I'm really happy!
@tekka is there a way to change the default channel in MYSbootloader ?
-
What ware the designed values for "type" in the fimware_config.csv?
Can I use this variable for my sensor IDs?
-
@tekka, I've being playing with MYSController and MYSBootloader over last days, I'm totally amazed by them Thank you so much for developing such nice tool!
If you allow me, I have only one ask for the santa-claus list: Perhaps it is possible for MYSBootloader capture serial output from a node, allowing OTA Serial monitor via MYSController? I know you guys are doing a miracle within 2KB, but who knows...
Again, thanks a lot!
-
@NewFolk said:
@tekka is there a way to change the default channel in MYSbootloader ?
Yes, but for that you'll have to re-compile it.
-
@Pendragon said:
What ware the designed values for "type" in the fimware_config.csv?
Can I use this variable for my sensor IDs?Yes, but this is only an internal reference and not being used for AutoFW assignment
-
This sounds like a great app! What is the current status? I clicked on the link in the OP expecting it would connect with GitHub (where there might be a ReadMe.txt which tells what the current status is), but instad of that it just downloaded the app right then and there! There are now 197 posts on this thread, which is a bit many to sort through to find the status....
Move it to Github?
-
@rvendrame said:
@tekka, I've being playing with MYSController and MYSBootloader over last days, I'm totally amazed by them Thank you so much for developing such nice tool!
If you allow me, I have only one ask for the santa-claus list: Perhaps it is possible for MYSBootloader capture serial output from a node, allowing OTA Serial monitor via MYSController? I know you guys are doing a miracle within 2KB, but who knows...
Again, thanks a lot!
Thanks, I'm glad you like the tools.
Unfortunately your suggestion is not possible: bootloader and sketch run sequentially, not in parallel, and thus, cannot communicate with each other.
-
@NeverDie said:
This sounds like a great app! What is the current status? I clicked on the link in the OP expecting it would connect with GitHub (where there might be a ReadMe.txt which tells what the current status is), but instad of that it just downloaded the app right then and there! There are 197 posts on this thread, which is a bit many to sort through to find the status....
Move it to Github?
The first post is updated once a new version is released
-
@tekka said:
@NeverDie said:
This sounds like a great app! What is the current status? I clicked on the link in the OP expecting it would connect with GitHub (where there might be a ReadMe.txt which tells what the current status is), but instad of that it just downloaded the app right then and there! There are 197 posts on this thread, which is a bit many to sort through to find the status....
Move it to Github?
The first post is updated once a new version is released
So then, as far as status goes, based on the version number, I guess it's still an unstable alpha release? Am I reading between the lines correctly?
I did download it, and I can see that the files are from 7/25/2015, but there's no readme or other indication as to its status.
I imagine others probably have the same question....
-
@NeverDie No, just never felt to change the major version number...I'll add it to the feature requests
-
@tekka said:
Unfortunately your suggestion is not possible: bootloader and sketch run sequentially, not in parallel, and thus, cannot communicate with each other.
Maybe by re-implementing serial.print methods, in order to first checking which FW is installed, and if MYSBootloader, re-direct the output to a internal radio message? Just brainstorming....
-
@tekka said:
@NewFolk said:
@tekka is there a way to change the default channel in MYSbootloader ?
Yes, but for that you'll have to re-compile it.
Could you help me to find where to change channel? It is in MYSBootloaderHW.h ?
-
Du you all connect the controller direct to the gateway?
I have a serial gateway which is connected directly to a raspberry running domoticz. I can rum ser2net and then connect the MYSController via ethernet. While ser2net is running, domoticz does not get any data from the gateway.
Has anyone found a solution to use both, MYSController and a controller software (e.g. domoticz) in parallel?
-
@NewFolk said:
Could you help me to find where to change channel? It is in MYSBootloaderHW.h ?
No, it's defined in MyConfig.h (see here)
-
@rvendrame said:
@tekka said:
Unfortunately your suggestion is not possible: bootloader and sketch run sequentially, not in parallel, and thus, cannot communicate with each other.
Maybe by re-implementing serial.print methods, in order to first checking which FW is installed, and if MYSBootloader, re-direct the output to a internal radio message? Just brainstorming....
I like the idea, but again, the bootloader cannot handle that.
However, we may think about implementing an OTA serial monitor in the library, let's say re-routing the serial output and transmit it via a dedicated debug sensor instance back to the GW...@hek, what do you think about that?
-
Hmm.. One idea is that you could enable nodes to broadcast (they are not being routed/retransmitted) log data as internal (I_LOG) messages.
Gateway would pick up these messages if node is in range and just log them to controller.
-
Hi Tekka.
Great software, thanks for sharing.I 've being doing some tests and found a problem that seems to be related to my own sketches.
When I upload through OTA the TimeReporter sketch, it uploads fine, and I am able to change the firmware afterward for another one.
But when I upload my own sketch, It uploads fine, and works fine, but it stops to answer MYScontroller commands, such as reboot or assing firmware. So I am stuck with that sketch in that node. To flash another sketch in that node, I have to reflash MYSBootloader again via usbASP and later on, upload the desire sketch wit MYSController.Am I skiping something in my code that allows MYSBootloader to respond to MYSController commands?
Could you please upload the TimeReporter.ino sketch as example of a working sketch with MYSController/MYSBootloader?Thanks, regards!
Gonzalo
-
@gonzalonal said:
Hi Tekka.
Great software, thanks for sharing.I 've being doing some tests and found a problem that seems to be related to my own sketches.
When I upload through OTA the TimeReporter sketch, it uploads fine, and I am able to change the firmware afterward for another one.
But when I upload my own sketch, It uploads fine, and works fine, but it stops to answer MYScontroller commands, such as reboot or assing firmware. So I am stuck with that sketch in that node. To flash another sketch in that node, I have to reflash MYSBootloader again via usbASP and later on, upload the desire sketch wit MYSController.Am I skiping something in my code that allows MYSBootloader to respond to MYSController commands?
Could you please upload the TimeReporter.ino sketch as example of a working sketch with MYSController/MYSBootloader?Thanks, regards!
Gonzalo
There is nothing special about the sketch, except of calling gw.process() as often as possible. If you have delay() call gw.wait() instead.
For the sake of completeness, here you go:
#include <SPI.h> #include <MySensor.h> #include <Time.h> #include <avr\wdt.h> #define NODE_ID AUTO #define CHILD_ID_GENERAL 0 #define CHILD_ID_POWER 1 #define CHILD_ID_TEMPERATURE 2 #define SketchName "TimeReporter" #define SketchVersion "20150826" #define UPDATE_TIME 100000L #define REPORT_TIME 5000L MySensor gw; boolean timeReceived = false; unsigned long ms_now; unsigned long lastUpdate=0, lastRequest=0; MyMessage msgGeneral(CHILD_ID_GENERAL, V_VAR1); MyMessage msgPower(CHILD_ID_POWER, V_VOLTAGE); MyMessage msgTemperature(CHILD_ID_TEMPERATURE, V_TEMP); void setup() { // watchdog 8s wdt_enable(WDTO_8S); // repeater mode on gw.begin(NULL,NODE_ID,true); // Send sketch version and information gw.sendSketchInfo(SketchName, SketchVersion); // Register sensors to gateway gw.present(CHILD_ID_GENERAL, S_ARDUINO_NODE,"Main node"); gw.present(CHILD_ID_POWER, S_POWER,"ADC power",true); gw.present(CHILD_ID_TEMPERATURE, S_TEMP,"Chip temp"); // request time gw.requestTime(receiveTime); } // time callback void receiveTime(unsigned long time) { // Ok, set incoming time setTime(time); timeReceived = true; } long readMUX(uint8_t aControl) { long result; ADMUX = aControl; delay(20); // Wait for Vref to settle ADCSRA |= _BV(ADSC); // Convert while (bit_is_set(ADCSRA,ADSC)); result = ADCL; result |= ADCH<<8; return result; } long readVcc() { // Read 1.1V reference against AVcc return 1126400L / readMUX(_BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1)); } float readTemp() { // Read 1.1V reference against MUX3 return (readMUX(_BV(REFS1) | _BV(REFS0) | _BV(MUX3)) - 125) * 0.1075; } void loop() { // watchdog reset wdt_reset(); // process incoming messages and repeater function gw.process(); // get millis since start ms_now = millis(); // time update needed? if (timeReceived && ms_now-lastRequest > UPDATE_TIME) { // Request time from controller. gw.requestTime(receiveTime); lastRequest = ms_now; } // report time if (timeReceived && ms_now-lastUpdate > REPORT_TIME) { gw.send(msgGeneral.set(ms_now)); char Output[10]; String OutStr = String(hour()) + ":" + String(minute()) + ":" + String(second()); OutStr.toCharArray(Output,10); gw.send(msgGeneral.set(Output)); gw.send(msgTemperature.set(readTemp(),1)); gw.send(msgPower.set(readVcc()),true); lastUpdate = ms_now; } }
-
Thanks Tekka for replying.
Just another silly question.
How should I compile my sketch to later be uploaded into a MYSBootloader Arduino Nano?
Should I compile for "Arduino Nano" or for "ATMega328 16Mhz MYSBootloader"?Thanks, regards.
Gonzalo
-
@gonzalonal Assuming that you have the Nano 3.0, you should be good to go with "ATMega328 16Mhz MYSBootloader"...
-
Ok, thanks for that.
I finally found my problem.
The Node was sleeping most of the time. In spite of waking up twice per second, it was not enough to enter the uploading mode in the mysbootloader, so the node wasn't answering back to the gateway, nor MYSController.Now I have a questions
How can I OTA update/upload the firmware of a sleeping node? Should the gateway, or a relay node, send the upload message to the sleeping node as soon as it wakes up for transmiting its data?
I guess that in order to do that, the sleeping node should always wait for an aknowledge or some kind of message after waking up. I mean:Sleeping node wakes up
Then, it send its data to controller or to relay node
Afterwards, it wait for the controller to acknoledge the data just send, and to tell him (sleeping node) if there is a firmware upgrade for it.
If there's not, go back to sleep. If there is, go to OTA upgrade routine.Thanks, regards.
-
@gonzalonal
OTA updates for sleeping nodes with MYSBootloader:- add gw.wait(200) after the gw.send() (=node processes incoming messages for 200ms after sending a message)
- In MYSController, right-click on the node, select "Battery-powered / sleeping", then assign FW, confirm to reboot node (reboot request is now queued)
MYSController will now wait until it receives a message from that node, send the reboot command and hence, initiate OTA update.
-
@tekka Great Tekka, thanks again. I will try that.
Regards.
-
Hi,
I am trying to debug a mysensors temp. sensor using this tool (it is not detected by Domoticz). I connected the serial gateway to your program and when I turn the temperature sensor, I see that there is traffic back and forth between the gateway and the sensor. But my knowledge stops there.... any pointers? I can upload a screenshot of the log if it helps.
Thanks
Z.
-
@zuru screenshots and/or log files are always good starting points
-
I found my problem.... so everything is fine now.
Thanks
Z.
-
Hey guys,
maybe anyone can help. I tried to debug my sensors, but didn't got MYSController to talk with my gateway.
I have the NRF24L01+ directly connected to my rPi and can use the Gateway with Pimatic plugin. Then I tried different ways to give MYSController access:- redirecting the serial gateway to tcp port (tried ser2net and socat) to use ethernet option, but didn't got this to work.
- creating a new gateway using a spare nano with NRF24L01+ at my PC. This one worked, but the gateway didn't noticed my nodes. Are they somehow coded to only talk with the gateway they know? I waited serveral minuters (sensors reporting each minute), but didn't got any readings. I assume this programm has an auto update to show now nodes, right?
Hope someone can help, I would realy love the option to debug using my windows PC and in future upload new sketches OTA (with new bootloader).
Regards,
Anduril
-
I have followed the procedure listed and that mentioned in post 77. Pro Mini 3.3v 8mhz Arduino.
I keep getting the following message in the debug window every few minutes. Have repeated the process in post 77 several times however get the same results.
[2015-09-01 18:09:17.276 Info] DEBUG Undefined firmware/type for node=2
[2015-09-01 18:09:17.323 Info] INFO BL version=257
[2015-09-01 18:09:17.354 Info] INFO Send FW info to node 2: type=A, version=1, blocks=0x0048, CRC=0xD098
[2015-09-01 18:09:17.386 Info] TX 2;0;4;0;1;0A000100480098D0
[2015-09-01 18:09:17.417 Info] RX 2;255;4;0;0;FFFFFFFFFFFFFFFF0101Any pointers??
-
@allysmith please provide more information about the setup and upload the MYSController log for further troubleshooting
-
@tekka What kind of SPI flash is needed for this OTA stuff? Can you provide part numbers?
-
@ericvdb MYSBootloader works without external flash, in contrary to the sensebender board and dualoptiboot bootloader
-
@tekka Thanks for getting back to me. This is my my first go at this bootloader. Hope I am not doing something daft!
I have Arduino IDE 1.6.5, MySensors 1.5, MYSBootloader 1.1, MYSController_0_1_2_282 running on Windows 8, USBasp to urn bootloader.
Arduino Pro Mini 3.3v 8mhz board. I am using the standard settings in your write up for the boards.txt
Log file hopefully attached.
-
@allysmith Try clearing EEPROM via MYSBootloader command, assign blink FW and upload the entire log again....
-
@tekka As requested, cleared EEPROM via MYSBootloader, assigned blink FW.
Attached is the log.
Device shows up in the nodes window as Booting: 65535:65535 (BL1.1)
-
@tekka Have made a change to how I was powering the NRF and now straight from battery.
Looks like it was a power issue. Sufficient for transmit from the node ut not for receiving the updates.
See attached log.
Now got a different issue when I tried to reassign the FW from link to Timereporter.
I think I am moving in the right direction now.
Thanks for your help so far.
Keep up this great work.Deug.txt
-
WOOOHOOO, i got OTA working
This is awesome guysBTW, I guess OTA will not work if there's a repeater in the middle?
-
@ericvdb said:
WOOOHOOO, i got OTA working
This is awesome guysBTW, I guess OTA will not work if there's a repeater in the middle?
congrats!
OTA updates will also work with repeating nodes in between...
-
@tekka i guess OTA is not available when using a MQTT gateway?
I would like to switch my whole setup to MQTT, but don't wanna loose the super fantastic OTA feature.
-
@ericvdb in theory possible, but AFAIK not supported by any controller...at the moment
-
@tekka would you mind describing in detail the process (on the controller side) how the OTA works?
-
Can somebody explain to me how the "Reassing ID" function works in MYScontroller? I haven't been able to change a ID remotely.
ID's keep the same after reboots or power cycles, with or without the AutoID option on.
-
@cdr IDs are assigned the first time the node starts up and then stored in the Arduino EEPROM. To get a new ID, you would have to clear (that portion of) the EEPROM, or you can upload a copy of the sketch with the ID hard-coded.
Cheers
Al
-
It's possible to reassign ID if you use MYSBootloader.
-
I use MYSbootloader, but can neither get "reassign ID", nor "clear eeprom" functions to work.
I guess I could make a cleareeprom hex, but that feels like a workaround.
-
I just try (never before) and it doens't work for me too.
-
quite a few post. so apologies if this has been asked before.
I'm trying to upload a sketch(hex) to one of my nano's
it's going but froze at 70%
i had to reboot the gateway.
this time it got to 87% and seems froze again.
any thoughts/suggestions on why the gateway is freezing up?edit: i can't seem to get a sketch to upload. it gets to some random % and then the gateway freezes.
a push of the gateway reset button seems to start it over. but then freezes at random.edit 2: must have been a distance thing.. i put the bridge right next to the gateway and the code uploaded quickly without freezing.
however, i still am curious as to why the gateway fails to respond/freezes if the firmware is not able to be uploaded.
-
@cdr said:
Can somebody explain to me how the "Reassing ID" function works in MYScontroller? I haven't been able to change a ID remotely.
ID's keep the same after reboots or power cycles, with or without the AutoID option on.
Reassign ID & clear EEPROM are commands implemented in MYSBootloader 1.1: A special ST_FIRMWARE_CONFIG_RESPONSE sequence (see the source code for detail) will instruct the bootloader to either change the ID in EEPROM or clear the EEPROM. The reassign ID command will only have effect, if the firmware has does not have static a ID setting. In order to use the bootloader commands the controller should be able to reboot the node.
-
Hi @tekka,
Thanks for the reply, I created a "clear eeprom" hex and after uploading it is working as expected, the ID resets.
Using the function in Mycontroller however, does not work. Not sure if this is a bug, or perhaps an error caused by an Arduino clone, but the "reassign ID" function is not working as intended here.
Anyone here that got it working as intended?
-
@cdr please post the MYScontroller log to figure out what's going on. Thanks
-
@Tekka Same "bug" here" with MYSBootloader 1.1 (hex from github) on arduino nano. Try to change ID of node N°1, Log :
[2015-09-21 21:52:57.053 Info] INFO *** Logging START *** [2015-09-21 21:52:57.053 Info] VERSION MYSController 0.1.2.282 [2015-09-21 21:52:57.053 Info] STARTUP INI file loaded [2015-09-21 21:52:57.053 Info] STARTUP Loading FW repository... [2015-09-21 21:52:57.054 Info] REPO FW "Blink" loaded. t=10, v=1, blocks=72, crc=0xD098 [2015-09-21 21:52:57.064 Info] REPO FW "TimeReporter" loaded. t=20, v=1, blocks=840, crc=0x4AC5 [2015-09-21 21:52:57.076 Info] REPO FW "Motion" loaded. t=30, v=1, blocks=1024, crc=0xD1BF [2015-09-21 21:52:57.092 Info] REPO FW "Sensebender Micro" loaded. t=100, v=1, blocks=1344, crc=0x3482 [2015-09-21 21:52:57.108 Info] REPO FW "Sensebender Blink" loaded. t=110, v=1, blocks=768, crc=0x1314 [2015-09-21 21:52:57.108 Info] REPO FW repository loaded. Items=5 [2015-09-21 21:52:57.111 Info] STARTUP Initialize message types [2015-09-21 21:52:57.111 Info] NODE New node discovered, node id=0 [2015-09-21 21:52:57.111 Info] NODE New node discovered, node id=255 [2015-09-21 21:52:59.606 Info] INFO Connected to 192.168.1.90:5003 [2015-09-21 21:53:04.373 Info] NODE New node discovered, node id=1 [2015-09-21 21:53:04.376 Info] CHILD New child discovered, node id=1, child id=internal [2015-09-21 21:53:04.379 Info] INFO BL version=257 [2015-09-21 21:53:04.380 Info] INFO No FW assigned [2015-09-21 21:53:04.383 Info] RX 1;255;4;0;0;1E0001000004BFD10101 [2015-09-21 21:53:04.681 Info] NODE New node discovered, node id=4 [2015-09-21 21:53:04.685 Info] CHILD New child discovered, node id=4, child id=1 [2015-09-21 21:53:04.688 Info] RX 4;1;1;0;0;21.6 [2015-09-21 21:53:04.691 Info] CHILD New child discovered, node id=4, child id=2 [2015-09-21 21:53:04.694 Info] RX 4;2;1;0;1;71 [2015-09-21 21:53:06.421 Info] INFO BL version=257 [2015-09-21 21:53:06.424 Info] INFO No FW assigned [2015-09-21 21:53:06.427 Info] RX 1;255;4;0;0;1E0001000004BFD10101 [2015-09-21 21:53:08.470 Info] INFO BL version=257 [2015-09-21 21:53:08.472 Info] INFO No FW assigned [2015-09-21 21:53:08.476 Info] RX 1;255;4;0;0;1E0001000004BFD10101 [2015-09-21 21:53:14.903 Info] UPDATE 4295098650 [2015-09-21 21:53:14.906 Info] INFO BL version=257 [2015-09-21 21:53:14.909 Info] INFO No FW assigned [2015-09-21 21:53:14.913 Info] RX 1;255;4;0;0;1E0001000004BFD10101 [2015-09-21 21:53:14.916 Info] INFO BL version=257 [2015-09-21 21:53:14.918 Info] INFO No FW assigned [2015-09-21 21:53:14.922 Info] RX 1;255;4;0;0;1E0001000004BFD10101 [2015-09-21 21:53:14.925 Info] DEBUG Update child id=255, type=ARDUINO_NODE [2015-09-21 21:53:14.929 Info] RX 1;255;0;0;17;1.5 [2015-09-21 21:53:14.933 Info] TX 1;255;3;0;6;M [2015-09-21 21:53:14.937 Info] RX 1;255;3;0;6;0 [2015-09-21 21:53:14.945 Info] CHILD New child discovered, node id=0, child id=0 [2015-09-21 21:53:14.950 Info] RX 0;0;3;0;14;Gateway startup complete. [2015-09-21 21:53:16.680 Info] RX 1;255;3;0;11;Motion Sensor [2015-09-21 21:53:16.691 Info] RX 1;255;3;0;12;1.0 [2015-09-21 21:53:16.695 Info] CHILD New child discovered, node id=1, child id=1 [2015-09-21 21:53:16.701 Info] DEBUG Update child id=1, type=MOTION [2015-09-21 21:53:16.714 Info] RX 1;1;0;0;1; [2015-09-21 21:53:16.718 Info] RX 1;1;1;0;16;0 [2015-09-21 21:53:38.779 Info] INFO Node trigger set, node=1, trigger=1 [2015-09-21 21:53:39.793 Info] INFO Retained message triggered for release, node=1 [2015-09-21 21:53:39.796 Info] CHILD New child discovered, node id=1, child id=1 [2015-09-21 21:53:39.800 Info] TX 1;0;3;0;13;0 [2015-09-21 21:53:39.805 Info] RX 1;1;1;0;16;1 [2015-09-21 21:53:39.808 Info] CHILD New child discovered, node id=1, child id=internal [2015-09-21 21:53:39.811 Info] DEBUG Update child id=255, type=ARDUINO_NODE [2015-09-21 21:53:39.815 Info] RX 1;255;0;0;17;1.5 [2015-09-21 21:53:56.729 Info] INFO Disconnected [2015-09-21 21:53:58.924 Info] INFO *** Logging STOP ***```
-
@Fabien I have an idea what is going wrong here: To confirm please enable DEBUG in the gateway and kindly re-post the full log again. The issue is related to signing...
-
@tekka, I can't enable debug if I'm right. Not enouch space for the sketch.
-
Issue is signing-related and fixed in the new version. MYSBootloader 1.5. release pending. Thanks to @Fabien for testing.
-
@tekka Is it possible to upgrade MYSbootloader from 1.1 to 1.5 via OTA?
-
@jkandasa Technically possible but tricky...
-
@tekka Could you please explain the steps. Otherwise on next upgrade I have open all the boxes and play with soldering iron
-
@jkandasa Please read about NRWW and RWW flash memory sections of Atmel MCUs. The trick is (in summary) to have RWW section code calling NRWW flash updating procedures in order to same-section code...
-
I have decided it is time for me to finally learn how to do OTA uploading so I read though all the posts to learn how to do it. As I was reading through the posts I was thinking how this tool would be also be useful for troubleshooting. I'm not at home so I can't do any testing right now but I was wondering if it's possible to have the MYSController accessing my Ethernet gateway at the same time my controller (Vera) is? It seems like there could be problems with ACK messages but maybe I'm not fully understanding something? What I'd like to do is have this controller running to watch messagew but not have it interfere with normal communications with Vera. Is that possible? Thanks in advance!
-
@petewill , I have Vera (lite) + Ethernet GW, and eventually I fire the MYSController in my computer in order to debug / update FW etc. They all live together and in peace Thanks to @tekka for producing such great tool!
-
@petewill yeah i 2nd that.
i keep it up to make sure the sensors are sending and then watch the change in vera.
so no problems running both at the same time for however long you want.
-
@rvendrame & @mvader Great, thanks!
-
@tekka Do you have any plan of supporting DualOptiboot in the MYSController (not a request, just an inquiry). I believe (at least for myself) that your excellent tool is the best option to instrument OTA and since I have included external flash in my boards I would like to use DualOptiboot for OTA since it provides some "safety" in case RF transmission is shaky.
I am not saying MYSBootloader is bad in any way, but since it does not need an external flash (which is a good thing), it is more sensitive to RF interference and sometimes I suppose boards will be "soft bricked" in that case.
-
@petewill I can also confirm that MYSController can coexist with Vera.
I use node-red to abstract things. In my case, I want the Vera (and MYSController) to be left in the dark on how my controller is actually implemented and node-red is the ideal tool to do this.This is my "flow"
Using it, I can have either a serial or an ethernet gw without the controllers knowing.
Instead, I create network serial pipes using socat that the controllers connect to.
I can also filter out the debug prints from the gw if I want to examine something and also prevent them from "disturbing" the controllers (if they do not explicitly support the debug messages or gets bogged down by them).I still need to see if the node-red nodes support OTA since they key packets on '\n' currently which is not really "binary friendly" though, but for normal MySensors operation not involving binary streams, it works just fine
-
@Anticimex The latest MYSController release supports DualOptiboot, simply check the sensebender board option (node tree, right click). Besides that, MYSBootloader will not leave you with a "soft-bricked" node but rather with a slower OTA update time in the case of RF interferences. If the OTA update fails for whatever reasons (loss of connection, power issues, etc.) MYSBootloader will re-request the FW during the next power-up. Since many community members do not have an external flash option, a slightly longer down-time for the direct update should not cause any problems. Importantly, a faulty sketch with the DualOptiboot update (e.g. no regular gw.process() calls) will result in a real "soft-bricked" node. In the end, both OTA update options have their (dis)advantages, a hardware configuration w/o external flash will only work with offline OTA updates.
-
@Anticimex Thanks! Looks like I have some more reading to add to the list. Node-Red looks cool but well beyond my current knowledge...
-
@mvader said:
quite a few post. so apologies if this has been asked before.
I'm trying to upload a sketch(hex) to one of my nano's
it's going but froze at 70%
i had to reboot the gateway.
this time it got to 87% and seems froze again.
any thoughts/suggestions on why the gateway is freezing up?edit: i can't seem to get a sketch to upload. it gets to some random % and then the gateway freezes.
a push of the gateway reset button seems to start it over. but then freezes at random.edit 2: must have been a distance thing.. i put the bridge right next to the gateway and the code uploaded quickly without freezing.
however, i still am curious as to why the gateway fails to respond/freezes if the firmware is not able to be uploaded.I thought this may have been a fluke or something. but tonight i tried to OTA a mysensors sensebender board and ran into the same issue basically.
i get to some random point 60 or 70 % and then it just stops.
i moved my sensor right next to the gateway and reset it.
took off again.. but then stopped at a certain point.
and i see "firmware 130" a few times but nothing else about firmware.
the board and gateway continue to function, the sensor sends back temp and humidity etc. but nothing else about firmware. on the left in the gui, it says FW updating. but that never changes.
i won't post the entire debug log, but just the last part of it so you can see what i'm talking about9/29/2015 21:34:44 RX 3;255;4;0;2;82000100DA04 9/29/2015 21:34:44 TX 3;255;4;0;3;82000100D90421503109410951095695479537952795 9/29/2015 21:34:44 RX 3;255;4;0;2;82000100D904 9/29/2015 21:34:44 TX 3;255;4;0;3;82000100D80460E874E88EE190E0A70196010E945F2C 9/29/2015 21:34:44 RX 3;255;4;0;2;82000100D804 9/29/2015 21:34:44 TX 3;255;4;0;3;82000100D704EF92FF92CF93DF93EC016A017B01B22E 9/29/2015 21:34:44 RX 3;255;4;0;2;82000100D704 9/29/2015 21:34:44 TX 3;255;4;0;3;82000100D6040F91FF90DF90CF900895BF92CF92DF92 9/29/2015 21:34:44 RX 3;255;4;0;2;82000100D604 9/29/2015 21:34:45 TX 3;255;4;0;3;82000100D5048064808381E090E00F90DF91CF911F91 9/29/2015 21:34:45 RX 3;255;4;0;2;82000100D504 9/29/2015 21:34:45 TX 3;255;4;0;3;82000100D404FC91579760835096ED91FC9151978081 9/29/2015 21:34:45 RX 3;255;4;0;2;82000100D404 9/29/2015 21:34:45 TX 3;255;4;0;3;82000100D304FC915397808180620CC0D6015696ED91 9/29/2015 21:34:45 RX 3;255;4;0;2;82000100D304 9/29/2015 21:34:45 RX 3;1;1;0;0;75.5 9/29/2015 21:34:45 RX 3;2;1;0;1;56 9/29/2015 21:34:45 TX 3;255;4;0;3;82000100D204FF4F6083D6015B960C935B975296ED91 9/29/2015 21:34:45 RX 3;255;4;0;2;82000100D204 9/29/2015 21:34:45 TX 3;255;4;0;3;82000100D1040E940D266981EBCF838DE80FF11DE35A 9/29/2015 21:34:45 RX 3;255;4;0;2;82000100D104 9/29/2015 21:34:45 TX 3;255;4;0;3;82000100D004ED91FC915197808185FFF1CFC6016983 9/29/2015 21:34:45 RX 3;255;4;0;2;82000100D004 9/29/2015 21:34:45 TX 3;255;4;0;3;82000100CF04848DF81211C00FB607FCF9CFD6015096 9/29/2015 21:34:45 RX 3;255;4;0;2;82000100CF04 9/29/2015 21:34:45 TX 3;255;4;0;3;82000100CE04038D10E00F5F1F4F0F731127F02EF601 9/29/2015 21:34:45 RX 3;255;4;0;2;82000100CE04 9/29/2015 21:34:45 TX 3;255;4;0;3;82000100CD045096ED91FC915197808185FD2EC0F601 9/29/2015 21:34:45 RX 3;255;4;0;2;82000100CD04 9/29/2015 21:34:46 TX 3;255;4;0;3;82000100CC045B969C915B975C968C915C97981307C0 9/29/2015 21:34:46 RX 3;255;4;0;2;82000100CC04 9/29/2015 21:34:46 TX 3;255;4;0;3;82000100CB04CDB7DEB76C0181E0D60158968C935897 9/29/2015 21:34:46 RX 3;255;4;0;2;82000100CB04 9/29/2015 21:34:46 TX 3;255;4;0;3;82000100CA04CF92DF92FF920F931F93CF93DF931F92 9/29/2015 21:34:46 RX 3;255;4;0;2;82000100CA04 9/29/2015 21:34:46 RX 3;255;3;0;0;59 9/29/2015 21:34:46 TX 3;255;4;0;3;82000100C904EDCFCE010E940D26E7CFDF91CF910895 9/29/2015 21:34:46 RX 3;255;4;0;2;82000100C904 9/29/2015 21:34:46 TX 3;255;4;0;3;82000100C804F5CF808185FFF2CFA889B9898C9185FF 9/29/2015 21:34:46 RX 3;255;4;0;2;82000100C804 9/29/2015 21:34:46 TX 3;255;4;0;3;82000100C70405C0A889B9898C9186FD0FC00FB607FC 9/29/2015 21:34:46 RX 3;255;4;0;2;82000100C704 9/29/2015 21:34:47 TX 3;255;4;0;3;82000100C604EC01888D8823C9F0EA89FB89808185FD 9/29/2015 21:34:47 RX 3;255;4;0;2;82000100C604 9/29/2015 21:34:47 TX 3;255;4;0;3;82000100C504F389E02D80818F7D80830895CF93DF93 9/29/2015 21:34:47 RX 3;255;4;0;2;82000100C504 9/29/2015 21:34:47 TX 3;255;4;0;3;82000100C4048C9180648C93938D848D981306C00288 9/29/2015 21:34:47 RX 3;255;4;0;2;82000100C404 9/29/2015 21:34:47 RX 3;1;1;0;0;75.5 9/29/2015 21:34:47 RX 3;2;1;0;1;56 9/29/2015 21:34:47 TX 3;255;4;0;3;82000100C3048F739927848FA689B7892C93A089B189 9/29/2015 21:34:48 RX 3;255;4;0;2;82000100C304 9/29/2015 21:34:48 TX 3;255;4;0;3;82000100C204A80FB11DA35ABF4F2C91848D90E00196 9/29/2015 21:34:48 RX 3;255;4;0;2;82000100C204 9/29/2015 21:34:48 TX 3;255;4;0;3;82000100C104692781110C9400000895FC01848DDF01 9/29/2015 21:34:48 RX 3;255;4;0;2;82000100C104 9/29/2015 21:34:48 RX 3;1;1;0;0;75.5 9/29/2015 21:34:48 RX 3;2;1;0;1;56 9/29/2015 21:34:48 TX 3;255;4;0;3;82000100C00497E2892B49F080E090E0892B29F00E94 9/29/2015 21:34:48 RX 3;255;4;0;2;82000100C004 9/29/2015 21:34:48 TX 3;255;4;0;3;82000100BF049F73928F90E008958FEF9FEF089589E6 9/29/2015 21:34:48 RX 3;255;4;0;2;82000100BF04 9/29/2015 21:34:48 TX 3;255;4;0;3;82000100BE04828DDF01A80FB11D5D968C91928D9F5F 9/29/2015 21:34:48 RX 3;255;4;0;2;82000100BE04 9/29/2015 21:34:48 TX 3;255;4;0;3;82000100BD048FEF9FEF0895FC01918D828D981761F0 9/29/2015 21:34:48 RX 3;255;4;0;2;82000100BD04 9/29/2015 21:34:49 RX 3;255;3;0;0;60 9/29/2015 21:34:49 RX 3;255;4;0;2;130 9/29/2015 21:34:49 RX 3;1;1;0;0;75.6 9/29/2015 21:34:49 RX 3;2;1;0;1;56 9/29/2015 21:34:49 RX 3;255;4;0;2;130 9/29/2015 21:34:49 RX 3;1;1;0;0;75.5 9/29/2015 21:34:49 RX 3;2;1;0;1;56 9/29/2015 21:34:50 RX 3;255;4;0;2;130 9/29/2015 21:34:50 RX 3;255;4;0;2;130 9/29/2015 21:34:50 RX 3;1;1;0;0;75.6 9/29/2015 21:34:50 RX 3;2;1;0;1;56 9/29/2015 21:34:51 RX 3;1;1;0;0;75.5 9/29/2015 21:34:51 RX 3;2;1;0;1;56 9/29/2015 21:34:51 RX 3;255;4;0;2;130 9/29/2015 21:34:51 RX 3;1;1;0;0;75.5 9/29/2015 21:34:51 RX 3;2;1;0;1;56 9/29/2015 21:34:58 RX 1;1;1;0;0;72.8 9/29/2015 21:34:58 RX 1;2;1;0;1;58 9/29/2015 21:35:55 RX 3;1;1;0;0;75.3 9/29/2015 21:35:55 RX 3;2;1;0;1;56 9/29/2015 21:36:02 RX 1;1;1;0;0;72.8 9/29/2015 21:36:02 RX 1;2;1;0;1;58 9/29/2015 21:37:06 RX 1;1;1;0;0;72.9 9/29/2015 21:37:06 RX 1;2;1;0;1;58 9/29/2015 21:38:03 RX 3;1;1;0;0;75.0 9/29/2015 21:38:03 RX 3;2;1;0;1;57 9/29/2015 21:38:10 RX 1;1;1;0;0;72.9 9/29/2015 21:38:10 RX 1;2;1;0;1;58 9/29/2015 21:38:58 RX 2;1;1;0;0;72.1 9/29/2015 21:39:07 RX 3;1;1;0;0;74.9 9/29/2015 21:39:07 RX 3;2;1;0;1;57 9/29/2015 21:39:14 RX 1;1;1;0;0;72.9 9/29/2015 21:39:14 RX 1;2;1;0;1;58 9/29/2015 21:40:03 RX 2;1;1;0;0;72.2 9/29/2015 21:40:03 RX 2;2;1;0;1;55 9/29/2015 21:40:11 RX 3;1;1;0;0;74.8 9/29/2015 21:40:11 RX 3;2;1;0;1;58 9/29/2015 21:40:17 RX 1;1;1;0;0;72.9 9/29/2015 21:40:17 RX 1;2;1;0;1;58 9/29/2015 21:41:15 RX 3;1;1;0;0;74.7 9/29/2015 21:41:15 RX 3;2;1;0;1;58 9/29/2015 21:41:21 RX 1;1;1;0;0;72.8 9/29/2015 21:41:21 RX 1;2;1;0;1;58 9/29/2015 21:42:18 RX 3;1;1;0;0;74.6 9/29/2015 21:42:19 RX 3;2;1;0;1;58 9/29/2015 21:42:25 RX 1;1;1;0;0;72.9 9/29/2015 21:42:25 RX 1;2;1;0;1;58 9/29/2015 21:43:22 RX 3;1;1;0;0;74.6 9/29/2015 21:43:22 RX 3;2;1;0;1;58 9/29/2015 21:43:29 RX 1;1;1;0;0;72.9 9/29/2015 21:43:29 RX 1;2;1;0;1;58 9/29/2015 21:44:26 RX 3;1;1;0;0;74.4 9/29/2015 21:44:26 RX 3;2;1;0;1;56 9/29/2015 21:44:33 RX 1;1;1;0;0;72.9 9/29/2015 21:44:33 RX 1;2;1;0;1;58 9/29/2015 21:45:23 RX 2;1;1;0;0;72.1 9/29/2015 21:45:23 RX 2;2;1;0;1;54 9/29/2015 21:45:30 RX 3;1;1;0;0;74.2 9/29/2015 21:45:30 RX 3;2;1;0;1;54 9/29/2015 21:45:37 RX 1;1;1;0;0;72.9 9/29/2015 21:45:37 RX 1;2;1;0;1;58 9/29/2015 21:46:27 RX 2;1;1;0;0;72.2 9/29/2015 21:46:28 RX 2;2;1;0;1;54 9/29/2015 21:46:41 RX 1;1;1;0;0;72.9 9/29/2015 21:46:41 RX 1;2;1;0;1;58 9/29/2015 21:47:38 RX 3;1;1;0;0;73.9 9/29/2015 21:47:38 RX 3;2;1;0;1;53 9/29/2015 21:47:45 RX 1;1;1;0;0;72.9 9/29/2015 21:47:45 RX 1;2;1;0;1;58
-
@tekka ok, cool! But I installed from the link in the top post last night and I could not find DualOptiboot mentioned anywhere. Is it only by picking a Sensbender board type that option appears? Are there other settings also affected by that? My board(s) are not Sensbenders per se although they should have the same hw features.
-
@Anticimex Yes, use Sensebender board for the DualOptiboot option. MYSController will simply initiate the FW upload (assuming that OTA update is uncommented...)
-
@mvader please upload the entire log file to check a few things. Also, if the node is next to (or too close) you will get RF interferences (this has been observed for the large antenna and max tx power).
EDIT: before I forget, also upload the log from the node - this will help to elicit the problem...
-
@tekka I tried from the basement.
moved up to the fireplace mantel and then finally put it about 1 foot away from the gateway. still the same thing.
tonight after work i will pull the complete logs and post for your review.
thanks!
-
@tekka I think I might have found a bug (or perhaps this is considered a feature request):
The GW "version" (1.5) is not shown in the node info although it has sent a response to a version request as shown here:
Also, I am not sure what the "signing" field is intended for. Showing signing request status? It says "Unknown" for both my GW and my "secure" node. The node require signing and the gw is signing messages sent to it. Perhaps reserved for future functionality?
Still a great and very useful tool!
-
@mvader said:
i'm not sure how to grab the log from the node, please advise.
here is the MYSController debug log in full.
MySensors_20150930-203313.log
-
@tekka MYSBootloader is a great gift for us. With zero touch we can upgrade our firmware in to target board.
In some cases I want to recompile the source code for 8 MHz or lesser frequency or different boards. As this is not a Arduino code, I do not know how to recompile this software. I hope many people facing issue with recompiling. Could you please add some document how to recompile this source code under https://github.com/mysensors/Arduino/tree/master/MYSBootloader
Also can you post source code of MYSBootloader 1.5 version?
Thank you!
-
@jkandasa The source code for 1.5 will be available upon release (mid-end October if time allows).
-
@mvader For the node log: simply connect a serial adapter to the sensebender node and retrieve the serial output.
-
@Anticimex No, not a bug and in the feature request list (I_VERSION handling). The signing field is updated once the node sends its signing preferences.