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 8.0k 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 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 Online
            J.HilkJ Online
            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 Online
                J.HilkJ Online
                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 Online
                    J.HilkJ Online
                    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