Skip to content
  • 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. Development
  3. RS485/RS232/Serial transport class for mysensors.org
  • Getting Started
  • Controller
  • Build
  • Hardware
  • Download/API
  • Forum
  • Store

RS485/RS232/Serial transport class for mysensors.org

Scheduled Pinned Locked Moved Development
rs485 serialrs485
143 Posts 27 Posters 102.8k Views 27 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.
  • hekH Offline
    hekH Offline
    hek
    Admin
    wrote on last edited by
    #117

    30 seconds sound like a long time.. Not sure what could be wrong. I don't have any test setup here unfortunately.

    BartB 2 Replies Last reply
    0
    • kduinoK Offline
      kduinoK Offline
      kduino
      wrote on last edited by
      #118

      Hi,
      I am wondering if I can just use the mySensors Lib to pass on the data via another connection. Currently I have a Loxone Controller which accepts UDP and TCP/IP connections (and others, but I chose these). As gateway I have an ArduinoMega and the network is running on RS485.
      So my understanding is that I can setup the network with the mySensors code and all the data is collected by the gateway which passes the data via UDP to the controller. V.v. the controller sends the data to the gateway which passes tha data on to the correspondent node.
      Is there any project similar to this?
      Thank you very much for your help!
      Best regards Kduino

      1 Reply Last reply
      0
      • BartB Bart

        @elektro12345

        So what's with the DE+RE pins on that USB-RS485 converter? Will it even work in this configuration? I do have such converter but so far I've used the arduino as a SerialGateway to connect to RPi.

        elektro12345E Offline
        elektro12345E Offline
        elektro12345
        wrote on last edited by
        #119

        @Bart I do not know what You mean with DE+RE pins on the converter.
        On the converter You connect A and B calbe from bus.
        DE and RE pins fromMAX485 You connect with sealf and connect to pin in my case D2 on Arduino.

        1 Reply Last reply
        0
        • elektro12345E Offline
          elektro12345E Offline
          elektro12345
          wrote on last edited by
          #120

          I have a question, when I wont send do domoticz from Arduino presentation lightsensor I can send by serial something like this:

          1;2;0;0;16;V_LIGHT_LEVEL
          

          and domoticz will understend that is the lightsensor LUX ?

          1 Reply Last reply
          0
          • hekH hek

            30 seconds sound like a long time.. Not sure what could be wrong. I don't have any test setup here unfortunately.

            BartB Offline
            BartB Offline
            Bart
            wrote on last edited by
            #121

            @hek

            I was able to solve that long initialization problem with removing AltSoftSerial completely and using another Mega board on Serial1 serving as a GW. It looks like the AltSoftSerial on Nano was not working well with Serial1 on Mega.

            Strange that although now it works almost instantly, the reading of data from the HA takes longer than before... Not sure what could be causing this.

            It looks that these RS485 modules have the resistors already added between A and B cables and +5 and GND so I don't think that could be an issue.

            1 Reply Last reply
            0
            • hekH Offline
              hekH Offline
              hek
              Admin
              wrote on last edited by
              #122

              Thanks for the feedback.

              So how should the modules be inter-connected? Do you have time to create some drawing for the instruction page?

              BartB 1 Reply Last reply
              0
              • hekH hek

                Thanks for the feedback.

                So how should the modules be inter-connected? Do you have time to create some drawing for the instruction page?

                BartB Offline
                BartB Offline
                Bart
                wrote on last edited by Bart
                #123

                @hek
                I will do the schematic once I solve all issues as I am still losing events while connected to Home Assistant. Need to check whether it is because of pymysensors library (Home Assistant side) or if there is still some GW <-> Sensors problem. At this moment my Sensors board has around 48 binary states one can set/read from the controller and at the same time they are changeable via input pins (falling edge toggles the switch).

                To give a quick overview of my setup:

                2 x (MEGA 2560 + RS485 module)
                alt text

                I have the following connections for each mega+rs485 module:

                • +5/GND connected to respective pins on rs485 module
                • D2 connected to RE/DE
                • D18 <-> RO
                • D19 <-> DI

                The A and B lines are connected to each other. (A-A, B-B). And most importantly I am using the above mentioned minor change in the MyTransportRS485.cpp to replace altSoftSerial with Serial1 (https://forum.mysensors.org/topic/1947/rs485-rs232-serial-transport-class-for-mysensors-org/99)

                and just if anyone would like to try it here's the config I am using:

                // Gateway:
                #define MY_RS485
                #define MY_RS485_DE_PIN 2
                #define MY_RS485_BAUD_RATE 9600
                #define MY_GATEWAY_SERIAL
                // below not official for getting the Serial1
                #define MY_RS485_SERIAL Serial1
                
                // Sensor node
                #define MY_DEBUG
                #define MY_RS485
                #define MY_RS485_DE_PIN 2
                #define MY_RS485_BAUD_RATE 9600
                // below not official for getting the Serial1
                #define MY_RS485_SERIAL Serial1
                
                1 Reply Last reply
                1
                • karlheinz2000K Offline
                  karlheinz2000K Offline
                  karlheinz2000
                  wrote on last edited by
                  #124

                  @Bart
                  Does it work with serial1 on mega2560?

                  I can't get a single bit out of the harware serial1.
                  Is it only the smal patch in MyTransportRS485.cpp?

                  BartB 1 Reply Last reply
                  0
                  • karlheinz2000K karlheinz2000

                    @Bart
                    Does it work with serial1 on mega2560?

                    I can't get a single bit out of the harware serial1.
                    Is it only the smal patch in MyTransportRS485.cpp?

                    BartB Offline
                    BartB Offline
                    Bart
                    wrote on last edited by
                    #125

                    @karlheinz2000
                    Yes. Got it working with this patch. Although not reliably when other board was using the altsoftserial.

                    1 Reply Last reply
                    0
                    • karlheinz2000K Offline
                      karlheinz2000K Offline
                      karlheinz2000
                      wrote on last edited by
                      #126

                      Got it working too :smile:
                      Problem was: RX1 and TX1 labels on the chinese Mega2560 board are swapped. :angry:
                      All other RX/TX labels are right.

                      BartB 1 Reply Last reply
                      0
                      • karlheinz2000K karlheinz2000

                        Got it working too :smile:
                        Problem was: RX1 and TX1 labels on the chinese Mega2560 board are swapped. :angry:
                        All other RX/TX labels are right.

                        BartB Offline
                        BartB Offline
                        Bart
                        wrote on last edited by
                        #127

                        @karlheinz2000 Are any of your boards using AltSoftSerial instead of HW serial? I was not able to get a reliable connection with software serial library....

                        1 Reply Last reply
                        0
                        • karlheinz2000K Offline
                          karlheinz2000K Offline
                          karlheinz2000
                          wrote on last edited by
                          #128

                          I use a mega with hw-serial and a nano (gateway) with AltSoftSerial.
                          It works fine the last 24 hours. Still running...
                          I did not test other configurations.

                          1 Reply Last reply
                          0
                          • hekH hek

                            30 seconds sound like a long time.. Not sure what could be wrong. I don't have any test setup here unfortunately.

                            BartB Offline
                            BartB Offline
                            Bart
                            wrote on last edited by
                            #129

                            @hek Looks like something has been fixed in regards to altSoftSerial. Today I've pulled latest development and everything works fine. The gateway has no problem finding nodes and all messages reach their destinations.

                            1 Reply Last reply
                            0
                            • hekH Offline
                              hekH Offline
                              hek
                              Admin
                              wrote on last edited by
                              #130

                              Hmm, strange. Wonder if this PR affected the behaviour of AltSoftSerial (in a good way).

                              https://github.com/mysensors/MySensors/pull/599

                              BartB 1 Reply Last reply
                              0
                              • hekH hek

                                Hmm, strange. Wonder if this PR affected the behaviour of AltSoftSerial (in a good way).

                                https://github.com/mysensors/MySensors/pull/599

                                BartB Offline
                                BartB Offline
                                Bart
                                wrote on last edited by
                                #131

                                @hek I will try to check if this change did it.

                                1 Reply Last reply
                                0
                                • BartB Offline
                                  BartB Offline
                                  Bart
                                  wrote on last edited by
                                  #132

                                  I am wondering if a node-2-node communication should be working. I have compiled the ping/pong example for RS485 but it appears the nodes are not communicating.

                                  1 Reply Last reply
                                  0
                                  • hekH Offline
                                    hekH Offline
                                    hek
                                    Admin
                                    wrote on last edited by
                                    #133

                                    Did you set one of them to be repeater (or gateway)?

                                    BartB 1 Reply Last reply
                                    0
                                    • hekH hek

                                      Did you set one of them to be repeater (or gateway)?

                                      BartB Offline
                                      BartB Offline
                                      Bart
                                      wrote on last edited by Bart
                                      #134

                                      @hek ok. all good now - the ping pong example working. I forgot about the gateway flag.

                                      BTW, checked to see if the GW has any issues without PR 599 but it seems it is still working OK. I have not changed the HW connections so must be some other change.

                                      1 Reply Last reply
                                      0
                                      • karlheinz2000K Offline
                                        karlheinz2000K Offline
                                        karlheinz2000
                                        wrote on last edited by
                                        #135

                                        Is any data buffer/FIFO implemented in RS485 gateway?
                                        My controller (fhem) is transmitting data too fast to the gateway, so some data is not transmitted on RS485.
                                        I checked RX/TX from controller to gateway -> all data is going into gateway. But not all data goes out to my sensor node.

                                        I have only one sensor (and gateway) on RS485.
                                        Baudrate is 19200 on RS485 and to controller.
                                        Sensor node uses HW serial. Gateway is on NANO with AltSoftSerial.

                                        L 1 Reply Last reply
                                        0
                                        • karlheinz2000K karlheinz2000

                                          Is any data buffer/FIFO implemented in RS485 gateway?
                                          My controller (fhem) is transmitting data too fast to the gateway, so some data is not transmitted on RS485.
                                          I checked RX/TX from controller to gateway -> all data is going into gateway. But not all data goes out to my sensor node.

                                          I have only one sensor (and gateway) on RS485.
                                          Baudrate is 19200 on RS485 and to controller.
                                          Sensor node uses HW serial. Gateway is on NANO with AltSoftSerial.

                                          L Offline
                                          L Offline
                                          LeoDesigner
                                          wrote on last edited by
                                          #136

                                          @karlheinz2000
                                          I had no chance to look to the AltSoftSerial code, but if we are talking about hardware serial - arduino as a standard has 64 bytes buffer. I think it's possible that your gateway is not fast enough to process packets at high rate from FHEM. Also even if they are processed on time - at 19200 you may loose packets due low serial speed. It's simple no room for next packet.

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


                                          14

                                          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
                                          • OpenHardware.io
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular