Skip to content
  • MySensors
  • OpenHardware.io
  • Categories
  • Recent
  • Tags
  • Popular
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo
  1. Home
  2. Controllers
  3. Windows GUI/Controller for MySensors

Windows GUI/Controller for MySensors

Scheduled Pinned Locked Moved Controllers
myscontrollermysbootloader
486 Posts 101 Posters 348.0k Views 73 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • T therik

    Thank you for this excellent work. I look forward to using it in my network. I just have a couple questions regarding setting up the GUI. I've read through this thread several times, but still have a couple of gaps in my understanding.

    1. Is the gateway that interfaces with the GUI an additional gateway which listens to, and sends node messages and updates? That is, additional to one that is interfaced with the controller (in my case a serial gateway connected to a Vera controller)?

    2. If my the answer to my first question is, yes, it is an additional gateway, is the code defining the operation different such that is does not interfere with the 'true' gateway? Or is the code the same (standard serial gateway sketch) but simply does not interfere?

    3. Do the nodes require the MYSBootloader in order to show up in the 'messages' tab, or will 'messages' tab show all node traffic regardless of bootloader? Of course for over the air (OTA) sketch updates it needs the MYSBootloader.

    4. Are these the correct steps to setup operation:

    a) download and extract the files.

    'b) place the bootloader folder into /arduino/hardware path such that the MYSBootloader and the associated boards show up in the 'tools->boards' menu.

    c) connect an Arduino with the gateway sketch to a computer using a USB cable (for the serial connection).

    d) run MYSController.exe (on windows) and select the COM port of the serial gateway in the configuration.

    e) hit connect and node traffic will show up in the 'messages' tab.

    If this is correct (and now that I write it down) it seems pretty straightforward, but I didn't see it explicitly described elsewhere. Sorry to be such a beginner, and thanks for straightening me out if I'm incorrect in any step.

    tekkaT Offline
    tekkaT Offline
    tekka
    Admin
    wrote on last edited by
    #58

    @therik said:

    Is the gateway that interfaces with the GUI an additional gateway which listens to, and sends node messages and updates? That is, additional to one that is interfaced with the controller (in my case a serial gateway connected to a Vera controller)?

    No, but certainly a good idea to look into.

    Do the nodes require the MYSBootloader in order to show up in the 'messages' tab, or will 'messages' tab show all node traffic regardless of bootloader? Of course for over the air (OTA) sketch updates it needs the MYSBootloader.

    No, the MYSBootloader is required for OTA updates with MYSController or compatible controllers.

    Are these the correct steps to setup operation:

    a) download and extract the files.

    'b) place the bootloader folder into /arduino/hardware path such that the MYSBootloader and the associated boards show up in the 'tools->boards' menu.

    c) connect an Arduino with the gateway sketch to a computer using a USB cable (for the serial connection).

    d) run MYSController.exe (on windows) and select the COM port of the serial gateway in the configuration.

    e) hit connect and node traffic will show up in the 'messages' tab.

    Yes, that's pretty much it. Copying the bootloader directory is only needed for updating to MYSBootloader via ISP.

    1 Reply Last reply
    1
    • tekkaT tekka

      @Dirk_H , @dzairo: yup, will include this option in the next update. Thanks for reporting.

      tekkaT Offline
      tekkaT Offline
      tekka
      Admin
      wrote on last edited by tekka
      #59

      @Dirk_H , @dzairo BAUD option included in the latest release. Update via software or here.

      1 Reply Last reply
      0
      • pit007P Offline
        pit007P Offline
        pit007
        wrote on last edited by pit007
        #60

        @tekka Hello, I check your great software and do my first steps with mySensors.

        It looks very amazing!

        Here are my first comments:

        1. I must program the MYSBootloader with the H-fuse setting H:0xD8 (2048 word), the value H:0xDE (in your fuses.txt) or H:0xDA (in your boards.txt) didn't work for me.
        2. The blink.hex seems to be the normal blink sketch, it didn't have nrf24 functionality. Needs a local hardreset to flash other firmware.
        3. The Arduino IDE (with the enhanced boards.txt) isn't able to program a firmware with the MYSBootloader - think this results in the higher baud rate (115200 vs. 57600) and my case to have the Arduino running in a VM !?
        4. The update function in MYSController isn't working because it needs a proxy configuration (not imported).
        5. I got a warning sign on the nodes-tree, don't know what it mean, but node is working (no info in the context menu).
        6. The interrupt line of the ner24L01 isn't needed.
        7. A right click in the open context menu ( e.g. on clear firmware) forces a software error.
          8 ) After connecting the Serial GW the MYSController doesn't responce for a while (searching for nodes?) Maybe a background task or an indicater would be a idea ?!
          9)On XP (or XP style) a selected row in the mesages or nodes tab is not readable - the selection is in dark blue, the text in black.

        It should be possible to use the MYSBootloder (.hex) without changes also for 8Mhz nodes (internal RC L:0xE2), OTA only.
        The SPI is independent from the clock, Uart is not used, delays are 2 times longer but this should be no problem.

        Is there a scenario to keep your MYSController connected and have the mash working at the same time?
        For example, with a gateway connected at Raspberry PI and a TCP connection from MYSController to the RPI? Or with two gateways ?

        Looking forward for the next features :-),
        regards Pit

        tekkaT 1 Reply Last reply
        0
        • pit007P pit007

          @tekka Hello, I check your great software and do my first steps with mySensors.

          It looks very amazing!

          Here are my first comments:

          1. I must program the MYSBootloader with the H-fuse setting H:0xD8 (2048 word), the value H:0xDE (in your fuses.txt) or H:0xDA (in your boards.txt) didn't work for me.
          2. The blink.hex seems to be the normal blink sketch, it didn't have nrf24 functionality. Needs a local hardreset to flash other firmware.
          3. The Arduino IDE (with the enhanced boards.txt) isn't able to program a firmware with the MYSBootloader - think this results in the higher baud rate (115200 vs. 57600) and my case to have the Arduino running in a VM !?
          4. The update function in MYSController isn't working because it needs a proxy configuration (not imported).
          5. I got a warning sign on the nodes-tree, don't know what it mean, but node is working (no info in the context menu).
          6. The interrupt line of the ner24L01 isn't needed.
          7. A right click in the open context menu ( e.g. on clear firmware) forces a software error.
            8 ) After connecting the Serial GW the MYSController doesn't responce for a while (searching for nodes?) Maybe a background task or an indicater would be a idea ?!
            9)On XP (or XP style) a selected row in the mesages or nodes tab is not readable - the selection is in dark blue, the text in black.

          It should be possible to use the MYSBootloder (.hex) without changes also for 8Mhz nodes (internal RC L:0xE2), OTA only.
          The SPI is independent from the clock, Uart is not used, delays are 2 times longer but this should be no problem.

          Is there a scenario to keep your MYSController connected and have the mash working at the same time?
          For example, with a gateway connected at Raspberry PI and a TCP connection from MYSController to the RPI? Or with two gateways ?

          Looking forward for the next features :-),
          regards Pit

          tekkaT Offline
          tekkaT Offline
          tekka
          Admin
          wrote on last edited by
          #61

          @pit007 Thanks for your feedback.

          1. I must program the MYSBootloader with the H-fuse setting H:0xD8 (2048 word), the value H:0xDE (in your fuses.txt) or H:0xDA (in your boards.txt) didn't work for me.

          Ups, this is a mistake in the fuses.txt file, I will update that. The settings in the boards.txt are correct.
          The MYSBootloader 1.0 is 1834 bytes in size, therefore 0xDA works (1024W), but 0xD8 (2048W) is also ok (assuming you are programming the atmega328p). All calls are relative, and the MCU skips invalid commands (0xFF) until it starts parsing at 0x7800.

          1. The blink.hex seems to be the normal blink sketch, it didn't have nrf24 functionality. Needs a local hardreset to flash other firmware.

          yep, correct :)

          1. The Arduino IDE (with the enhanced boards.txt) isn't able to program a firmware with the MYSBootloader - think this results in the higher baud rate (115200 vs. 57600) and my case to have the Arduino running in a VM !?

          With MYSBootloader 1.0 you can only program a firmware with MYSController or similar tools. I'm currently working on a dual bootloader that includes OTA and Arduino IDE/AVRDude programming.

          1. The update function in MYSController isn't working because it needs a proxy configuration (not imported).

          Hmm, I assume you are referring to the check for updates function (automatically triggered after startup)? I will look into that.

          1. I got a warning sign on the nodes-tree, don't know what it mean, but node is working (no info in the context menu).

          The warning sign means no version/type information received. This information is sent during MYSBootloader startup, but not with conventional (e.g. optiboot) bootloaders.

          1. The interrupt line of the ner24L01 isn't needed.

          The communication is entirely controlled by the gateway - and yes, the interrupt pin is not used in the current gateway setup.

          1. A right click in the open context menu ( e.g. on clear firmware) forces a software error.

          Please send a screenshot to myscontroller@gmail.com

          8 ) After connecting the Serial GW the MYSController doesn't responce for a while (searching for nodes?) Maybe a background task or an indicater would be a idea ?!

          Please check the debug tab: any truncated messages or error flags after startup?

          1. On XP (or XP style) a selected row in the messages or nodes tab is not readable - the selection is in dark blue, the text in black.

          ok, will look into that.

          It should be possible to use the MYSBootloder (.hex) without changes also for 8Mhz nodes (internal RC L:0xE2), OTA only.
          The SPI is independent from the clock, Uart is not used, delays are 2 times longer but this should be no problem.

          Yes, 8Mhz should work, but ideally you recompile the bootloader with F_CPU set to 8 Mhz for correct delay timings.

          Is there a scenario to keep your MYSController connected and have the mash working at the same time?
          For example, with a gateway connected at Raspberry PI and a TCP connection from MYSController to the RPI? Or with two gateways ?

          Not yet, but I have some ideas...

          Have fun

          1 Reply Last reply
          0
          • slartiS Offline
            slartiS Offline
            slarti
            wrote on last edited by
            #62

            Hi and thanks for a cool piece of software!

            I finally got around to soldering an ethernet gateway and decided to give this a spin. It worked like a charm for a while but now I get this error everytime any message goes through the gateway to Vera:

            myscontroller error.PNG

            OS is 32-bit Windows 7

            I can only get rid of this behaviour if I delete the configuration settings file and start over. It seems it only happens if I have logging enabled and exit the program and restart it.

            I'll have to start playing with the bootloader soon to get the OTA capabilities.

            "One is never alone with a rubber duck"

            tekkaT 1 Reply Last reply
            0
            • D Offline
              D Offline
              dzairo
              wrote on last edited by
              #63

              Hi.
              Just one idea .. your tools is very good .. why not add more better function ..
              1.If not received data from sensor more than predefined time then send email or tweet .. etc. for example using https://www.pushingbox.com/
              2. Make server version .. for web interface ..
              I thinks .. is possible order in TESCO cheap windows 8.1 tablet in price 90Euros ..
              one or two year later then will be possible buy in price around 50 euros .. why not use this platform?
              I use ASUS with USB serial port and work good .. if make easy uart to wifi (esp8266) converter then can work directly with wifi..

              tekkaT 1 Reply Last reply
              0
              • slartiS slarti

                Hi and thanks for a cool piece of software!

                I finally got around to soldering an ethernet gateway and decided to give this a spin. It worked like a charm for a while but now I get this error everytime any message goes through the gateway to Vera:

                myscontroller error.PNG

                OS is 32-bit Windows 7

                I can only get rid of this behaviour if I delete the configuration settings file and start over. It seems it only happens if I have logging enabled and exit the program and restart it.

                I'll have to start playing with the bootloader soon to get the OTA capabilities.

                tekkaT Offline
                tekkaT Offline
                tekka
                Admin
                wrote on last edited by tekka
                #64

                @slarti I've seen this error if the log file is exclusively opened somewhere else. Try deleting or renaming the current logfile and restart the MYSController. I will change the log file handling in a upcoming release.

                1 Reply Last reply
                0
                • D dzairo

                  Hi.
                  Just one idea .. your tools is very good .. why not add more better function ..
                  1.If not received data from sensor more than predefined time then send email or tweet .. etc. for example using https://www.pushingbox.com/
                  2. Make server version .. for web interface ..
                  I thinks .. is possible order in TESCO cheap windows 8.1 tablet in price 90Euros ..
                  one or two year later then will be possible buy in price around 50 euros .. why not use this platform?
                  I use ASUS with USB serial port and work good .. if make easy uart to wifi (esp8266) converter then can work directly with wifi..

                  tekkaT Offline
                  tekkaT Offline
                  tekka
                  Admin
                  wrote on last edited by
                  #65

                  @dzairo certainly an interesting idea! Please have a look at one of the discussed home automation solutions - there you can even define more complex scenarios.

                  1 Reply Last reply
                  0
                  • D Offline
                    D Offline
                    dzairo
                    wrote on last edited by
                    #66

                    yes.. I just that user use RPi etc hardware solution .. but in fact
                    is possible buy tablet .. complete solution : standard windows 8.1 , LCD , battery .. wifi , bluetooth .. CE .. why not use this platform ..
                    give link for - home automation solution..

                    regards..

                    PS: you can see , I my self make similar software for windows ..but more easy .. and why not use windows core for server , database .. etc ..

                    1 Reply Last reply
                    0
                    • J Offline
                      J Offline
                      Justin Lim
                      wrote on last edited by
                      #67

                      @tekka This GUI is great help especially for beginners like me who don't understand what the serial messages mean! You extract all the information so well and so beautifully.
                      Hope its not too much to ask, but may I take a look at the source code? Because I need to know the method you used to extract the messages, as well as tying the data to the proper fields. I somehow need to push all of these data to the proper fields in my database and I'm stuck at deciphering the messages being received. Thanks in advance and cheers!

                      1 Reply Last reply
                      0
                      • AnticimexA Offline
                        AnticimexA Offline
                        Anticimex
                        Contest Winner
                        wrote on last edited by
                        #68

                        This is a nice tool. Good work! Is there any possibility to get support for all the message types on the development branch as well?

                        Do you feel secure today? No? Start requiring some signatures and feel better tomorrow ;)

                        tekkaT 1 Reply Last reply
                        0
                        • AnticimexA Anticimex

                          This is a nice tool. Good work! Is there any possibility to get support for all the message types on the development branch as well?

                          tekkaT Offline
                          tekkaT Offline
                          tekka
                          Admin
                          wrote on last edited by
                          #69

                          @Anticimex Thanks :) Yes, I in the upcoming release.

                          1 Reply Last reply
                          1
                          • D Offline
                            D Offline
                            dzairo
                            wrote on last edited by
                            #70

                            Hi.
                            One idea .. FIFO buffer for outgoing message..
                            low power relay node .. if use bi stable relay then is possible to power only from battery .. but radio must go to sleep.. then wake up every 5 or 10 second .. and ask gateway for new command ..
                            node just if wake up then waiting for example 0,5 sec for incoming message .. if not received then go sleep ..
                            gateway wait for node .. and if got command in FIFO for this node then send message ..
                            just idea..

                            tekkaT 1 Reply Last reply
                            1
                            • D dzairo

                              Hi.
                              One idea .. FIFO buffer for outgoing message..
                              low power relay node .. if use bi stable relay then is possible to power only from battery .. but radio must go to sleep.. then wake up every 5 or 10 second .. and ask gateway for new command ..
                              node just if wake up then waiting for example 0,5 sec for incoming message .. if not received then go sleep ..
                              gateway wait for node .. and if got command in FIFO for this node then send message ..
                              just idea..

                              tekkaT Offline
                              tekkaT Offline
                              tekka
                              Admin
                              wrote on last edited by
                              #71

                              @dzairo excellent idea, this will be implemented in the .276 release. Thanks

                              1 Reply Last reply
                              1
                              • D Offline
                                D Offline
                                dzairo
                                wrote on last edited by
                                #72

                                Hi.
                                ...ehm , in Windows is possible use database and install web server .. you have idea use this?
                                database is good way , pls try thinking about my idea using cheap windows tablet as controller , by serial port (usb) or lan (wifi ..etc) . .. problem is that tablet memory is not good for many write cycle .. but this is possible solve ..
                                best regards

                                1 Reply Last reply
                                0
                                • B Offline
                                  B Offline
                                  blackdog65
                                  wrote on last edited by
                                  #73

                                  Hi Tekka,
                                  Great tool and SO useful for debugging.
                                  I have MYSController running under Wine on Linux Mint with no problems.

                                  I do have one small issue though. I have a serial gateway that reports to Domoticz on my Mint PC. This works fine and MSController connects fine. When I tried to move my gateway to a remote installation of Domoticz on a Raspberry Pi (same network) MSController cannot see it if I try to connect by TCP. I hope it's just something silly like port no. or something, but any ideas?

                                  Many thanks

                                  tekkaT 1 Reply Last reply
                                  0
                                  • B blackdog65

                                    Hi Tekka,
                                    Great tool and SO useful for debugging.
                                    I have MYSController running under Wine on Linux Mint with no problems.

                                    I do have one small issue though. I have a serial gateway that reports to Domoticz on my Mint PC. This works fine and MSController connects fine. When I tried to move my gateway to a remote installation of Domoticz on a Raspberry Pi (same network) MSController cannot see it if I try to connect by TCP. I hope it's just something silly like port no. or something, but any ideas?

                                    Many thanks

                                    tekkaT Offline
                                    tekkaT Offline
                                    tekka
                                    Admin
                                    wrote on last edited by
                                    #74

                                    @blackdog65 You will have to pipe the serial gateway via tcp:port with e.g. ser2net.

                                    1 Reply Last reply
                                    0
                                    • B Offline
                                      B Offline
                                      blackdog65
                                      wrote on last edited by
                                      #75

                                      @tekka WOW! I thought that was going to be SO difficult... but it took 10mins total! Thank you very much... I'm good to go ;)

                                      tekkaT 1 Reply Last reply
                                      0
                                      • B blackdog65

                                        @tekka WOW! I thought that was going to be SO difficult... but it took 10mins total! Thank you very much... I'm good to go ;)

                                        tekkaT Offline
                                        tekkaT Offline
                                        tekka
                                        Admin
                                        wrote on last edited by tekka
                                        #76

                                        For completeness, here are the MYSBootloader instructions for OTA updates via MYSController:

                                        1. Load gw sketch and connect arduino either via serial or ethernet port. No special bootloader needed for that part (i.e. standard optiboot bootloader will do the job).

                                        2. Add these lines to the boards.txt file in your Arduino IDE installation folder (located somewhere like C:/Program Files/Arduino/hardware/arduino/avr)

                                          proMYSBL16.name=ATmega328 external 16Mhz with MYSBootloader
                                          proMYSBL16.upload.tool=avrdude
                                          proMYSBL16.upload.protocol=arduino
                                          proMYSBL16.upload.maximum_size=30720
                                          proMYSBL16.upload.maximum_data_size=2048
                                          proMYSBL16.upload.speed=115200
                                          proMYSBL16.bootloader.tool=avrdude
                                          proMYSBL16.bootloader.low_fuses=0xF7
                                          proMYSBL16.bootloader.high_fuses=0xDA
                                          proMYSBL16.bootloader.extended_fuses=0x06
                                          proMYSBL16.bootloader.unlock_bits=0x3F
                                          proMYSBL16.bootloader.lock_bits=0x3F
                                          proMYSBL16.bootloader.file=MySensors/MYSBootloader.hex
                                          proMYSBL16.build.mcu=atmega328p
                                          proMYSBL16.build.f_cpu=16000000L
                                          proMYSBL16.build.board=AVR_UNO
                                          proMYSBL16.build.core=arduino
                                          proMYSBL16.build.variant=standard

                                          ######## settings for 8Mhz internal clock

                                          proMYSBL8.name=ATmega328 internal 8Mhz with MYSBootloader
                                          proMYSBL8.upload.tool=avrdude
                                          proMYSBL8.upload.protocol=arduino
                                          proMYSBL8.upload.maximum_size=30720
                                          proMYSBL8.upload.maximum_data_size=2048
                                          proMYSBL8.upload.speed=57600
                                          proMYSBL8.bootloader.tool=avrdude
                                          proMYSBL8.bootloader.low_fuses=0xE2
                                          proMYSBL8.bootloader.high_fuses=0xDA
                                          proMYSBL8.bootloader.extended_fuses=0x06
                                          proMYSBL8.bootloader.unlock_bits=0x3F
                                          proMYSBL8.bootloader.lock_bits=0x3F
                                          proMYSBL8.bootloader.file=MySensors/MYSBootloader.hex
                                          proMYSBL8.build.mcu=atmega328p
                                          proMYSBL8.build.f_cpu=8000000L
                                          proMYSBL8.build.board=AVR_UNO
                                          proMYSBL8.build.core=arduino
                                          proMYSBL8.build.variant=standard

                                        3. Copy MYSBootloader.hex (from MYSController/Bootloader folder) to the Arduino IDE installation folder C:/Program Files/Arduino/hardware/arduino/avr/bootloaders/MySensors/

                                        4. Restart Arduino IDE, choose under Tools | Board | ATmega328 external 16Mhz with MYSBootloader or Tools | Board | ATmega328 internal 8Mhz with MYSBootloader depending on your HW settings

                                        5. Connect USBasp to sensor node and select Tools | Burn Bootloader

                                        6. If everything worked well until here, you now have the MYSBootloader with the fuse settings from above burnt to your sensor node (16Mhz extXTAL or 8Mhz intRC, BOOTSZ 1024W, BOD 1V8).

                                        7. Please use the AVR fuse calculator to retrieve the individual fuse settings. If you need to change frequency, BOD or other settings, change the fuse settings based on the fuse calculator.
                                          Important: The MYSBootloader.hex file was compiled for 16Mhz oscillators but it should also work at 8Mhz. If you intend to go below 8Mhz, I highly recommend to compile the bootloader with adjusted frequency settings.

                                        8. Start MYSController, hit config and adjust settings (COM-Port & baud or IP address:port)

                                        9. Hit connect: Connection to gateway should be established (gateway answers with gateway ready message), the node should appear and request an ID & FW.

                                        10. Right-mouse click on that node, select assign FW, choose for example **TimeReporter ** (demo firmware included in the MYSController/Firmware folder). Then click reboot and wait until FW is uploaded and node boots.

                                        11. TimeReporter firmware reports every few seconds some values such as time, millis, and voltage.

                                        12. Custom firmware: compile your sketch and retrieve the generated .hex file (activate verbose mode in the Arduino IDE to get compiler messages and output path).

                                        13. Copy .hex file to MYSController/Firmware folder and edit firmware_config.csv file according to the existing lines.

                                        14. Hit Refresh Repo in MYSController and the newly copied firmware should appear in the Assign FW dropdown list, ready to be uploaded.

                                        Have fun :)

                                        M 1 Reply Last reply
                                        5
                                        • D Offline
                                          D Offline
                                          dzairo
                                          wrote on last edited by
                                          #77

                                          ..nice..
                                          .. and you try add new function what we talking above..? .. if make node with bi-stable relay battery powered only ..

                                          regards..

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          10

                                          Online

                                          11.7k

                                          Users

                                          11.2k

                                          Topics

                                          113.0k

                                          Posts


                                          Copyright 2019 TBD   |   Forum Guidelines   |   Privacy Policy   |   Terms of Service
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • MySensors
                                          • OpenHardware.io
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular