Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Unable to send and receive images between 2 Raspberry connected to Zigbee via UART.
Forum Updated to NodeBB v4.3 + New Features

Unable to send and receive images between 2 Raspberry connected to Zigbee via UART.

Scheduled Pinned Locked Moved Unsolved General and Desktop
42 Posts 4 Posters 7.5k Views 1 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.
  • R Rika

    @mrjj I tried, still only get 190.
    16 sizeeeee:
    32 sizeeeee:
    64 sizeeeee:
    64 sizeeeee:
    14 sizeeeee:

    mrjjM Offline
    mrjjM Offline
    mrjj
    Lifetime Qt Champion
    wrote on last edited by
    #31

    @Rika
    Good testing.
    So even it says
    qDebug()<<ba.size()<<"size_send:";
    1000 size_send
    you only get
    5 lines of
    16 sizeeeee:
    32 sizeeeee:
    64 sizeeeee:
    64 sizeeeee:
    14 sizeeeee:
    ?

    R 1 Reply Last reply
    0
    • mrjjM mrjj

      @Rika
      Good testing.
      So even it says
      qDebug()<<ba.size()<<"size_send:";
      1000 size_send
      you only get
      5 lines of
      16 sizeeeee:
      32 sizeeeee:
      64 sizeeeee:
      64 sizeeeee:
      14 sizeeeee:
      ?

      R Offline
      R Offline
      Rika
      wrote on last edited by Rika
      #32

      @mrjj Sometimes 4 lines, sometimes 7 lines, but the total is 190 bytes. With 500-A, received only 230

      mrjjM 1 Reply Last reply
      0
      • R Rika

        @mrjj Sometimes 4 lines, sometimes 7 lines, but the total is 190 bytes. With 500-A, received only 230

        mrjjM Offline
        mrjjM Offline
        mrjj
        Lifetime Qt Champion
        wrote on last edited by
        #33

        @Rika
        Ok
        if we do
        ba.fill('A', 10);
        do you then get all ?

        R 1 Reply Last reply
        0
        • mrjjM mrjj

          @Rika
          Ok
          if we do
          ba.fill('A', 10);
          do you then get all ?

          R Offline
          R Offline
          Rika
          wrote on last edited by
          #34

          @mrjj yes.

          mrjjM 1 Reply Last reply
          0
          • R Rika

            @mrjj yes.

            mrjjM Offline
            mrjjM Offline
            mrjj
            Lifetime Qt Champion
            wrote on last edited by
            #35

            @Rika
            So it seems data get cut over some size.

            What Os is running on the boards ?

            Also maybe Zigbee has some sort of max transfer size ?

            R 1 Reply Last reply
            0
            • mrjjM mrjj

              @Rika
              So it seems data get cut over some size.

              What Os is running on the boards ?

              Also maybe Zigbee has some sort of max transfer size ?

              R Offline
              R Offline
              Rika
              wrote on last edited by
              #36

              @mrjj I use raspbian. I tried using a PC connected to zigbee and sent photos to my Pi4 + Zigbee with Realterm, my Pi4 received the photos. I think the error is in the program sends the data.

              1 Reply Last reply
              0
              • J.HilkJ Offline
                J.HilkJ Offline
                J.Hilk
                Moderators
                wrote on last edited by
                #37

                well, lets narrow it down,
                write returns a quint64 with the actual number of bytes written to the serialport, what does that return ?

                void serial::on_pushButton_2_clicked()
                {
                        static QByteArray ba;
                        ba.fill('A', 1000);
                        if(serialPort->isOpen()==true){
                            quint64 send = serialPort->write(ba);
                            qDebug()<<send << " of" << ba.size()<<"size_send:";
                        }
                }
                

                Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


                Q: What's that?
                A: It's blue light.
                Q: What does it do?
                A: It turns blue.

                R 1 Reply Last reply
                1
                • J.HilkJ J.Hilk

                  well, lets narrow it down,
                  write returns a quint64 with the actual number of bytes written to the serialport, what does that return ?

                  void serial::on_pushButton_2_clicked()
                  {
                          static QByteArray ba;
                          ba.fill('A', 1000);
                          if(serialPort->isOpen()==true){
                              quint64 send = serialPort->write(ba);
                              qDebug()<<send << " of" << ba.size()<<"size_send:";
                          }
                  }
                  
                  R Offline
                  R Offline
                  Rika
                  wrote on last edited by
                  #38

                  @J-Hilk 1000 of 1000 size.

                  J.HilkJ 1 Reply Last reply
                  0
                  • R Rika

                    @J-Hilk 1000 of 1000 size.

                    J.HilkJ Offline
                    J.HilkJ Offline
                    J.Hilk
                    Moderators
                    wrote on last edited by
                    #39

                    @Rika well,
                    to make sure your 2nd application is not simply very late in its creation/startup process, try clicking the button a 2nd time, see if something changes :D

                    After that, time for a serial port listing device, to check what is actually transferred


                    Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


                    Q: What's that?
                    A: It's blue light.
                    Q: What does it do?
                    A: It turns blue.

                    mrjjM 1 Reply Last reply
                    0
                    • J.HilkJ J.Hilk

                      @Rika well,
                      to make sure your 2nd application is not simply very late in its creation/startup process, try clicking the button a 2nd time, see if something changes :D

                      After that, time for a serial port listing device, to check what is actually transferred

                      mrjjM Offline
                      mrjjM Offline
                      mrjj
                      Lifetime Qt Champion
                      wrote on last edited by
                      #40

                      @J-Hilk
                      When i goggle Zigbee , i do see max payload mentioned.
                      Do you think that could be the cause here ?
                      I never used Zigbee so not sure if its even an issue.

                      J.HilkJ 1 Reply Last reply
                      1
                      • mrjjM mrjj

                        @J-Hilk
                        When i goggle Zigbee , i do see max payload mentioned.
                        Do you think that could be the cause here ?
                        I never used Zigbee so not sure if its even an issue.

                        J.HilkJ Offline
                        J.HilkJ Offline
                        J.Hilk
                        Moderators
                        wrote on last edited by J.Hilk
                        #41

                        @mrjj uh, I should read the opening post more clearly,

                        You're right, that is most likely the issue, ZigBee is a low data transfer protocol and from what my quick google search told me, limited to about 100 - 200 bytes, which fits exactly here

                        for a quick and dirty test, we could split the test byte array and send it delayed, that should work

                        void serial::on_pushButton_2_clicked()
                        {
                                static QByteArray ba;
                                   int index(0);
                                   ba.fill('A', 1000);
                                   if(serialPort->isOpen()==true){
                                       QTimer *t = new QTimer();
                                       auto sendSection = [=,&index]()->void{
                                           serialPort->write(ba.data() + index * 100, 100);
                                           index ++;
                                           if(index == 10)
                                               t->deleteLater();
                                       };
                                       QObject::connect(t, &QTimer::timeout, sendSection);
                                       t->start(1000);
                                //       quint64 send = serialPort->write(ba);
                                       qDebug()<< ba.size()<<"size_send:";
                                   }
                        }
                        

                        Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


                        Q: What's that?
                        A: It's blue light.
                        Q: What does it do?
                        A: It turns blue.

                        1 Reply Last reply
                        2
                        • R Offline
                          R Offline
                          Rika
                          wrote on last edited by
                          #42

                          @mrjj @J-Hilk Sorry for my late reply. The problem is when I try to send from PC with Realterm (Pc is also connected to Zigbee), on Pi4 I still get pictures.

                          1 Reply Last reply
                          0

                          • Login

                          • Login or register to search.
                          • First post
                            Last post
                          0
                          • Categories
                          • Recent
                          • Tags
                          • Popular
                          • Users
                          • Groups
                          • Search
                          • Get Qt Extensions
                          • Unsolved