Windows GUI/Controller for MySensors
-
I try to uplaod sketch via OTA but it doesn''t work.
I have sensebender with stock bootloader. Gateway is connect to an ODROID C1 with ser2net and i connect to ser2net. I can see all incoming traffic for my sensors.
I upload sensebender default sketch from dev branch using MySensors dev branch too.
I tell MYSController sensors is battery powered.
I try with the two provided example but nothing happen in log or anything else@Fabien said:
I try to uplaod sketch via OTA but it doesn''t work.
I have sensebender with stock bootloader. Gateway is connect to an ODROID C1 with ser2net and i connect to ser2net. I can see all incoming traffic for my sensors.
I upload sensebender default sketch from dev branch using MySensors dev branch too.
I tell MYSController sensors is battery powered.
I try with the two provided example but nothing happen in log or anything elsecheck in the sensebender announcement thread. I had the same question. Hek responded with what needed to be done to make it work.
I didn't get a chance to try his solutions yet to see if it works. if you do, post and let us know.edit: here
http://forum.mysensors.org/topic/1345/sensebender-micro/139 -
@Fabien
I dont understand what you mean by "I told MysController" that the node is battery powered. It should find that out automatically I think. Anyway I'm pretty sure that I read somewhere that battery powered sensors cant be updated OTA. (If it relly is battery powered). I think I read a define somewhere that disables the firmware low level commands in the MySensors Library if the Node is battery powered. -
@Dirk_H said:
I think I read a define somewhere that disables the firmware low level commands in the MySensors Library if the Node is battery powered.
No there isn't. But battery powered sensors most likely sleep most of the time so they won't receive any update command. And a fw updates over-the-air would probably drain batteries pretty quick.
-
@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!
:+1: -
Hi, nice work. Is there any chances that you add the possibility to log the nodes information to a mysql database ?
-
Hi @tekka
I am having trouble understanding the error codes on this gui.It is the solar mini weather stn on proto board and it is not working properly.
At this minute I see that the g/w code is telling me 4-4-5-0 ,there was a node 5 in my My Sensors package and it was configured as a repeater but it is not here as it connected laptop> usb port/cord> ftdi 3.3v> 3.3 v promini.
As the code cannot get to and from node 5 it is a down as a st=failIs there a why to change this in your program to allow continuing debugging my sketch?
Am I again missing something?
Thanks -
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!
-
@rvendrame: it seems to be wrong fuses. MYSBootloader does not use extra eeprom. It's DualOptiboot which uses one. You need to set fuses. Then burn bootloader. For fuses you need to look in boards.txt . It should work. For setting fuses, I use usbasp. I never tried with uno.
-
@scalz, thanks for the reply. BTW, did you see this?
Well, with standard bootloader (working), my pro-minis have fuses as FF DA 05 (Low/High/Ext).
The MYSBootloader.hex boot loader (not working) is set in boards.txt with F7 DA 06.
I have played with all possible combinations (including changing values in boards.txt), no luck.
Maybe I have to compile my own version of MYSBootloader? Sorry, this is all new to me...
Thx again
-
@rvendrame: Hi I don't have a mac. But I use a similar tool for win (avrdudess). but your link seems ok.
You don't have to recompile MYSBootloader. MYSBootloader needs to match fuses. If not, it will blink like you have seen. Do you have an usbasp? very useful. So you need to burn fuses F7 DA 06. Did you try that? And then burn bootloader.
Be careful when burning fuses, don't try combination or you will semi-brick atmel chip (meaning you could not be able to reprogram it normal spi way). Never enable RSTDISBL and DWEN bits in fuse. You can see all of this here http://www.engbedded.com/fusecalc/ very useful too!If in future you want to test new ota, I have made a small breadboard to test it. You can find it here : https://oshpark.com/profiles/scalz You will need to solder eeprom and atsha.
-
@scalz , one more thing: What speed did you set? The AVRFuses seems to work on at 19200 bps --- Could this be a problem?
And moreover --- You mentioned that extra eprom is not required --- But what about atsha? I don't have that either... (just pro-mini + radio ). Is it required for OTA? -
@rvendrame: I am not at home at this moment. but I will check. baudrate is already set up in .hex and in boards.txt . So I think it should work..strange thing. I don't know MYSBootloader so. maybe grandmaster @Tekka have an idea:grinning: maybe something has changed. I don't know.
extra eeprom is for new ota in mysensors 1.5
ATSHA is optional, it is just on the board too. It is for authentication in 1.5 too. -
no. you don't need it.
two ota bootloaders are available for mysensors. MYSBootloader and Dualoptiboot. MYSBootloader does not require extra eeprom. Dualoptiboot needs it. sorry for confusion:smirk: -
@scalz said:
MYSBootloader does not require extra eeprom.
No problem, that's clear. Any other idea? The only thing I could progress was to catch the firmware upload in verbose mode (see bellow, it looks ok to me).
One question: Is it okay to have "Boot Flash size = 1024 words" , and the .hex file having ~32Kb ? More strange is that file has 5.676 bytes when I check it via Mac finder.
avrdude: input file /Users/i007897/Dropbox/Bench/Arduino/hardware/MySensors/avr/bootloaders/MySensors/MYSBootloader.hex contains 32722 bytes <<<<<<< ?????/Applications/Arduino 1.6.4.app/Contents/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino 1.6.4.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf -v -patmega328p -cstk500v1 -P/dev/cu.usbmodem1421 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0x06:m -Uhfuse:w:0xDA:m -Ulfuse:w:0xF7:m avrdude: Version 6.0.1, compiled on Apr 14 2015 at 16:30:25 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright (c) 2007-2009 Joerg Wunsch System wide configuration file is "/Applications/Arduino 1.6.4.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf" User configuration file is "/Users/i007897/.avrduderc" User configuration file does not exist or is not a regular file, skipping Using Port : /dev/cu.usbmodem1421 Using Programmer : stk500v1 Overriding Baud Rate : 19200 AVR Part : ATmega328P Chip Erase delay : 9000 us PAGEL : PD7 BS2 : PC2 RESET disposition : dedicated RETRY pulse : SCK serial program mode : yes parallel program mode : yes Timeout : 200 StabDelay : 100 CmdexeDelay : 25 SyncLoops : 32 ByteDelay : 0 PollIndex : 3 PollValue : 0x53 Memory Detail : Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00 signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00 Programmer Type : STK500 Description : Atmel STK500 Version 1.x firmware Hardware Version: 2 Firmware Version: 1.18 Topcard : Unknown Vtarget : 0.0 V Varef : 0.0 V Oscillator : Off SCK period : 0.1 us avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.05s avrdude: Device signature = 0x1e950f avrdude: erasing chip avrdude: reading input file "0x3F" avrdude: writing lock (1 bytes): Writing | ################################################## | 100% 0.02s avrdude: 1 bytes of lock written avrdude: verifying lock memory against 0x3F: avrdude: load data lock data from input file 0x3F: avrdude: input file 0x3F contains 1 bytes avrdude: reading on-chip lock data: Reading | ################################################## | 100% 0.02s avrdude: verifying ... avrdude: 1 bytes of lock verified avrdude: reading input file "0x06" avrdude: writing efuse (1 bytes): Writing | ################################################## | 100% 0.06s avrdude: 1 bytes of efuse written avrdude: verifying efuse memory against 0x06: avrdude: load data efuse data from input file 0x06: avrdude: input file 0x06 contains 1 bytes avrdude: reading on-chip efuse data: Reading | ################################################## | 100% 0.02s avrdude: verifying ... avrdude: 1 bytes of efuse verified avrdude: reading input file "0xDA" avrdude: writing hfuse (1 bytes): Writing | ################################################## | 100% 0.02s avrdude: 1 bytes of hfuse written avrdude: verifying hfuse memory against 0xDA: avrdude: load data hfuse data from input file 0xDA: avrdude: input file 0xDA contains 1 bytes avrdude: reading on-chip hfuse data: Reading | ################################################## | 100% 0.02s avrdude: verifying ... avrdude: 1 bytes of hfuse verified avrdude: reading input file "0xF7" avrdude: writing lfuse (1 bytes): Writing | ################################################## | 100% 0.06s avrdude: 1 bytes of lfuse written avrdude: verifying lfuse memory against 0xF7: avrdude: load data lfuse data from input file 0xF7: avrdude: input file 0xF7 contains 1 bytes avrdude: reading on-chip lfuse data: Reading | ################################################## | 100% 0.02s avrdude: verifying ... avrdude: 1 bytes of lfuse verified Fuse burn: avrdude done. Thank you. /Applications/Arduino 1.6.4.app/Contents/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino 1.6.4.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf -v -patmega328p -cstk500v1 -P/dev/cu.usbmodem1421 -b19200 -Uflash:w:/Users/i007897/Dropbox/Bench/Arduino/hardware/MySensors/avr/bootloaders/MySensors/MYSBootloader.hex:i -Ulock:w:0x0F:m avrdude: Version 6.0.1, compiled on Apr 14 2015 at 16:30:25 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright (c) 2007-2009 Joerg Wunsch System wide configuration file is "/Applications/Arduino 1.6.4.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf" User configuration file is "/Users/i007897/.avrduderc" User configuration file does not exist or is not a regular file, skipping Using Port : /dev/cu.usbmodem1421 Using Programmer : stk500v1 Overriding Baud Rate : 19200 AVR Part : ATmega328P Chip Erase delay : 9000 us PAGEL : PD7 BS2 : PC2 RESET disposition : dedicated RETRY pulse : SCK serial program mode : yes parallel program mode : yes Timeout : 200 StabDelay : 100 CmdexeDelay : 25 SyncLoops : 32 ByteDelay : 0 PollIndex : 3 PollValue : 0x53 Memory Detail : Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00 signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00 Programmer Type : STK500 Description : Atmel STK500 Version 1.x firmware Hardware Version: 2 Firmware Version: 1.18 Topcard : Unknown Vtarget : 0.0 V Varef : 0.0 V Oscillator : Off SCK period : 0.1 us avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.05s avrdude: Device signature = 0x1e950f avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed To disable this feature, specify the -D option. avrdude: erasing chip avrdude: reading input file "/Users/i007897/Dropbox/Bench/Arduino/hardware/MySensors/avr/bootloaders/MySensors/MYSBootloader.hex" avrdude: writing flash (32722 bytes): Writing | ################################################## | 100% 0.00s avrdude: 32722 bytes of flash written avrdude: verifying flash memory against /Users/i007897/Dropbox/Bench/Arduino/hardware/MySensors/avr/bootloaders/MySensors/MYSBootloader.hex: avrdude: load data flash data from input file /Users/i007897/Dropbox/Bench/Arduino/hardware/MySensors/avr/bootloaders/MySensors/MYSBootloader.hex: avrdude: input file /Users/i007897/Dropbox/Bench/Arduino/hardware/MySensors/avr/bootloaders/MySensors/MYSBootloader.hex contains 32722 bytes avrdude: reading on-chip flash data: Reading | ################################################## | 100% 0.00s avrdude: verifying ... avrdude: 32722 bytes of flash verified avrdude: reading input file "0x0F" avrdude: writing lock (1 bytes): Writing | ################################################## | 100% 0.05s avrdude: 1 bytes of lock written avrdude: verifying lock memory against 0x0F: avrdude: load data lock data from input file 0x0F: avrdude: input file 0x0F contains 1 bytes avrdude: reading on-chip lock data: Reading | ################################################## | 100% 0.02s avrdude: verifying ... avrdude: 1 bytes of lock verified avrdude done. Thank you.And
-
@scalz said:
MYSBootloader does not require extra eeprom.
No problem, that's clear. Any other idea? The only thing I could progress was to catch the firmware upload in verbose mode (see bellow, it looks ok to me).
One question: Is it okay to have "Boot Flash size = 1024 words" , and the .hex file having ~32Kb ? More strange is that file has 5.676 bytes when I check it via Mac finder.
avrdude: input file /Users/i007897/Dropbox/Bench/Arduino/hardware/MySensors/avr/bootloaders/MySensors/MYSBootloader.hex contains 32722 bytes <<<<<<< ?????/Applications/Arduino 1.6.4.app/Contents/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino 1.6.4.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf -v -patmega328p -cstk500v1 -P/dev/cu.usbmodem1421 -b19200 -e -Ulock:w:0x3F:m -Uefuse:w:0x06:m -Uhfuse:w:0xDA:m -Ulfuse:w:0xF7:m avrdude: Version 6.0.1, compiled on Apr 14 2015 at 16:30:25 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright (c) 2007-2009 Joerg Wunsch System wide configuration file is "/Applications/Arduino 1.6.4.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf" User configuration file is "/Users/i007897/.avrduderc" User configuration file does not exist or is not a regular file, skipping Using Port : /dev/cu.usbmodem1421 Using Programmer : stk500v1 Overriding Baud Rate : 19200 AVR Part : ATmega328P Chip Erase delay : 9000 us PAGEL : PD7 BS2 : PC2 RESET disposition : dedicated RETRY pulse : SCK serial program mode : yes parallel program mode : yes Timeout : 200 StabDelay : 100 CmdexeDelay : 25 SyncLoops : 32 ByteDelay : 0 PollIndex : 3 PollValue : 0x53 Memory Detail : Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00 signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00 Programmer Type : STK500 Description : Atmel STK500 Version 1.x firmware Hardware Version: 2 Firmware Version: 1.18 Topcard : Unknown Vtarget : 0.0 V Varef : 0.0 V Oscillator : Off SCK period : 0.1 us avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.05s avrdude: Device signature = 0x1e950f avrdude: erasing chip avrdude: reading input file "0x3F" avrdude: writing lock (1 bytes): Writing | ################################################## | 100% 0.02s avrdude: 1 bytes of lock written avrdude: verifying lock memory against 0x3F: avrdude: load data lock data from input file 0x3F: avrdude: input file 0x3F contains 1 bytes avrdude: reading on-chip lock data: Reading | ################################################## | 100% 0.02s avrdude: verifying ... avrdude: 1 bytes of lock verified avrdude: reading input file "0x06" avrdude: writing efuse (1 bytes): Writing | ################################################## | 100% 0.06s avrdude: 1 bytes of efuse written avrdude: verifying efuse memory against 0x06: avrdude: load data efuse data from input file 0x06: avrdude: input file 0x06 contains 1 bytes avrdude: reading on-chip efuse data: Reading | ################################################## | 100% 0.02s avrdude: verifying ... avrdude: 1 bytes of efuse verified avrdude: reading input file "0xDA" avrdude: writing hfuse (1 bytes): Writing | ################################################## | 100% 0.02s avrdude: 1 bytes of hfuse written avrdude: verifying hfuse memory against 0xDA: avrdude: load data hfuse data from input file 0xDA: avrdude: input file 0xDA contains 1 bytes avrdude: reading on-chip hfuse data: Reading | ################################################## | 100% 0.02s avrdude: verifying ... avrdude: 1 bytes of hfuse verified avrdude: reading input file "0xF7" avrdude: writing lfuse (1 bytes): Writing | ################################################## | 100% 0.06s avrdude: 1 bytes of lfuse written avrdude: verifying lfuse memory against 0xF7: avrdude: load data lfuse data from input file 0xF7: avrdude: input file 0xF7 contains 1 bytes avrdude: reading on-chip lfuse data: Reading | ################################################## | 100% 0.02s avrdude: verifying ... avrdude: 1 bytes of lfuse verified Fuse burn: avrdude done. Thank you. /Applications/Arduino 1.6.4.app/Contents/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino 1.6.4.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf -v -patmega328p -cstk500v1 -P/dev/cu.usbmodem1421 -b19200 -Uflash:w:/Users/i007897/Dropbox/Bench/Arduino/hardware/MySensors/avr/bootloaders/MySensors/MYSBootloader.hex:i -Ulock:w:0x0F:m avrdude: Version 6.0.1, compiled on Apr 14 2015 at 16:30:25 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright (c) 2007-2009 Joerg Wunsch System wide configuration file is "/Applications/Arduino 1.6.4.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf" User configuration file is "/Users/i007897/.avrduderc" User configuration file does not exist or is not a regular file, skipping Using Port : /dev/cu.usbmodem1421 Using Programmer : stk500v1 Overriding Baud Rate : 19200 AVR Part : ATmega328P Chip Erase delay : 9000 us PAGEL : PD7 BS2 : PC2 RESET disposition : dedicated RETRY pulse : SCK serial program mode : yes parallel program mode : yes Timeout : 200 StabDelay : 100 CmdexeDelay : 25 SyncLoops : 32 ByteDelay : 0 PollIndex : 3 PollValue : 0x53 Memory Detail : Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00 signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00 Programmer Type : STK500 Description : Atmel STK500 Version 1.x firmware Hardware Version: 2 Firmware Version: 1.18 Topcard : Unknown Vtarget : 0.0 V Varef : 0.0 V Oscillator : Off SCK period : 0.1 us avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.05s avrdude: Device signature = 0x1e950f avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed To disable this feature, specify the -D option. avrdude: erasing chip avrdude: reading input file "/Users/i007897/Dropbox/Bench/Arduino/hardware/MySensors/avr/bootloaders/MySensors/MYSBootloader.hex" avrdude: writing flash (32722 bytes): Writing | ################################################## | 100% 0.00s avrdude: 32722 bytes of flash written avrdude: verifying flash memory against /Users/i007897/Dropbox/Bench/Arduino/hardware/MySensors/avr/bootloaders/MySensors/MYSBootloader.hex: avrdude: load data flash data from input file /Users/i007897/Dropbox/Bench/Arduino/hardware/MySensors/avr/bootloaders/MySensors/MYSBootloader.hex: avrdude: input file /Users/i007897/Dropbox/Bench/Arduino/hardware/MySensors/avr/bootloaders/MySensors/MYSBootloader.hex contains 32722 bytes avrdude: reading on-chip flash data: Reading | ################################################## | 100% 0.00s avrdude: verifying ... avrdude: 32722 bytes of flash verified avrdude: reading input file "0x0F" avrdude: writing lock (1 bytes): Writing | ################################################## | 100% 0.05s avrdude: 1 bytes of lock written avrdude: verifying lock memory against 0x0F: avrdude: load data lock data from input file 0x0F: avrdude: input file 0x0F contains 1 bytes avrdude: reading on-chip lock data: Reading | ################################################## | 100% 0.02s avrdude: verifying ... avrdude: 1 bytes of lock verified avrdude done. Thank you.And
@rvendrame weird...the .hex file size is 5676 bytes (this is the intel hex format and MYSBootloader is under 2kb, so 1024 words are ok). The 32722 bytes are the cause of the problem...
You mentioned that burning the standard bootloader revives your Arduino - can you post the verbose mode output as comparison?
