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. Development
  3. Inserting custom data into payload bytes

Inserting custom data into payload bytes

Scheduled Pinned Locked Moved Development
12 Posts 2 Posters 2.1k Views 3 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.
  • eporocrailE Offline
    eporocrailE Offline
    eporocrail
    wrote on last edited by
    #3

    Thanks for your reaction!!!
    I am going to experiment with it and post proceedings later!

    1 Reply Last reply
    1
    • eporocrailE Offline
      eporocrailE Offline
      eporocrail
      wrote on last edited by
      #4

      I succeeded to transfer one single byte. It is not clear to me how I can construct a message in the payload which contains ten bytes.
      The normal concatenation seems not to work.
      I tried several things but no luck.

      mfalkviddM 1 Reply Last reply
      0
      • eporocrailE eporocrail

        I succeeded to transfer one single byte. It is not clear to me how I can construct a message in the payload which contains ten bytes.
        The normal concatenation seems not to work.
        I tried several things but no luck.

        mfalkviddM Offline
        mfalkviddM Offline
        mfalkvidd
        Mod
        wrote on last edited by mfalkvidd
        #5

        @eporocrail I think you can simply use byte myByteArray[10] and set each byte (0-9) to your payload. Then call message.set(myByteArray, 10)

        1 Reply Last reply
        0
        • eporocrailE Offline
          eporocrailE Offline
          eporocrail
          wrote on last edited by
          #6

          Thanks for your very fast reply!

          Up to the next step!

          1 Reply Last reply
          0
          • eporocrailE Offline
            eporocrailE Offline
            eporocrail
            wrote on last edited by
            #7

            @mfalkvidd It works!
            Bytes put into the message are transferred in Hex. They show up in the Mosquitto toppic!

            Thanks a lot.

            1 Reply Last reply
            0
            • eporocrailE Offline
              eporocrailE Offline
              eporocrail
              wrote on last edited by
              #8

              @mfalkvidd

              I again need your advice

              } void loop() { data1 = data1 + 1; bericht[1] = data1; send(msg.set(data1)); send(msg.set(bericht, 1)); }

              data1 is transferred to Mosquito with a changing value.
              bericht[1] is transferred with the originally assigned value.
              it is not updated to the new value.
              what could be causing this?

              mfalkviddM 1 Reply Last reply
              0
              • eporocrailE eporocrail

                @mfalkvidd

                I again need your advice

                } void loop() { data1 = data1 + 1; bericht[1] = data1; send(msg.set(data1)); send(msg.set(bericht, 1)); }

                data1 is transferred to Mosquito with a changing value.
                bericht[1] is transferred with the originally assigned value.
                it is not updated to the new value.
                what could be causing this?

                mfalkviddM Offline
                mfalkviddM Offline
                mfalkvidd
                Mod
                wrote on last edited by
                #9

                @eporocrail arrays start numbering for zero. So send(bericht, 1) will send the first byte of bericht, but data1 was written to the second byte.

                Either use bericht[0]=data1 (if you want to send only one value) or use send(bericht, 2) if you want to send two values (bericht[0] and bericht[1] together)

                1 Reply Last reply
                0
                • eporocrailE Offline
                  eporocrailE Offline
                  eporocrail
                  wrote on last edited by
                  #10

                  @mfalkvidd

                  Somebody has to make that mistake again!
                  This time it was me!

                  Thanks.

                  1 Reply Last reply
                  1
                  • eporocrailE Offline
                    eporocrailE Offline
                    eporocrail
                    wrote on last edited by
                    #11

                    @mfalkvidd

                    I did some tests.
                    I put a byte counter I a loop without delay.
                    The nano was able to publish every fourth number. So the network is functioning but for not a very high speed requirement.

                    I did the same with a MQTT client on a Wemos D1 mini module. The difference in speed was dramatic. No gaps between numbers and much faster.

                    Because of the envisioned use for controlling a model railroad track layout I decided to go for the higher performance of the Wemos with all negative consequences as far s complexity of decoder composition is concerned.

                    Thanks for the support!

                    mfalkviddM 1 Reply Last reply
                    1
                    • eporocrailE eporocrail

                      @mfalkvidd

                      I did some tests.
                      I put a byte counter I a loop without delay.
                      The nano was able to publish every fourth number. So the network is functioning but for not a very high speed requirement.

                      I did the same with a MQTT client on a Wemos D1 mini module. The difference in speed was dramatic. No gaps between numbers and much faster.

                      Because of the envisioned use for controlling a model railroad track layout I decided to go for the higher performance of the Wemos with all negative consequences as far s complexity of decoder composition is concerned.

                      Thanks for the support!

                      mfalkviddM Offline
                      mfalkviddM Offline
                      mfalkvidd
                      Mod
                      wrote on last edited by
                      #12

                      @eporocrail very nice, great work! Thanks for reporting back.

                      You might know this already, but it is possible to run the Wemos at 160MHz instead of default 80MHz. Not sure if you need it or if it helps, but it might be good to know. Just select the higher frequency in the Tools menu in Arduino IDE.

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


                      19

                      Online

                      11.7k

                      Users

                      11.2k

                      Topics

                      113.1k

                      Posts


                      Copyright 2025 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