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. [PLEASE HELP] how to make a barcode receiver?
Forum Updated to NodeBB v4.3 + New Features

[PLEASE HELP] how to make a barcode receiver?

Scheduled Pinned Locked Moved Solved General and Desktop
57 Posts 9 Posters 13.4k Views 4 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.
  • raven-worxR raven-worx

    @davidlabib
    just a note:
    Some barcode scanners have different modes. One mode is "keyboard" mode (like you are using it now) and another can be via the serial interface. The later would let you use QtSerialPort module to receive the scanned code in plain text.
    Those modes can be switched by scanning a special barcode. Take a look at the scanners manual.

    ? Offline
    ? Offline
    A Former User
    wrote on last edited by
    #28

    @raven-worx
    0_1534682994843_f52d64be-c499-4ed8-8c2d-61bd38a1de84-image.png
    0_1534683017626_314576f9-6b75-42fd-b9a7-8124961e7757-image.png
    0_1534683048600_4b9a11df-1307-42af-9058-f90b71a6a88b-image.png
    0_1534683072140_89cd40a7-8a36-49d8-92ab-78edd63f4b99-image.png
    0_1534683090490_c9b50133-170b-49a0-8fea-138ae9c73956-image.png
    0_1534683117128_9f977db8-5b6e-40e8-8f77-80814053f964-image.png
    can you help me on setting the right mod and use QtSerialPort

    JKSHJ raven-worxR 2 Replies Last reply
    0
    • ? A Former User

      @raven-worx
      0_1534682994843_f52d64be-c499-4ed8-8c2d-61bd38a1de84-image.png
      0_1534683017626_314576f9-6b75-42fd-b9a7-8124961e7757-image.png
      0_1534683048600_4b9a11df-1307-42af-9058-f90b71a6a88b-image.png
      0_1534683072140_89cd40a7-8a36-49d8-92ab-78edd63f4b99-image.png
      0_1534683090490_c9b50133-170b-49a0-8fea-138ae9c73956-image.png
      0_1534683117128_9f977db8-5b6e-40e8-8f77-80814053f964-image.png
      can you help me on setting the right mod and use QtSerialPort

      JKSHJ Offline
      JKSHJ Offline
      JKSH
      Moderators
      wrote on last edited by
      #29

      @davidlabib said in [PLEASE HELP] how to make a barcode receiver?:

      can you help me on setting the right mod and use QtSerialPort

      If you want to use Qt Serial Port, choose the RS-232 option. You will also need to connect the barcode scanner to a serial port on your computer.

      Qt Doc Search for browsers: forum.qt.io/topic/35616/web-browser-extension-for-improved-doc-searches

      ? 1 Reply Last reply
      2
      • ? A Former User

        @raven-worx
        0_1534682994843_f52d64be-c499-4ed8-8c2d-61bd38a1de84-image.png
        0_1534683017626_314576f9-6b75-42fd-b9a7-8124961e7757-image.png
        0_1534683048600_4b9a11df-1307-42af-9058-f90b71a6a88b-image.png
        0_1534683072140_89cd40a7-8a36-49d8-92ab-78edd63f4b99-image.png
        0_1534683090490_c9b50133-170b-49a0-8fea-138ae9c73956-image.png
        0_1534683117128_9f977db8-5b6e-40e8-8f77-80814053f964-image.png
        can you help me on setting the right mod and use QtSerialPort

        raven-worxR Offline
        raven-worxR Offline
        raven-worx
        Moderators
        wrote on last edited by raven-worx
        #30

        @davidlabib
        use the very first code (RS232).
        Then check the COM port of the scanner it is connected to (e.g. on Windows in the Device Manager).

        in your .pro file add QT += serialport

        QSerialPort example usage:

        QSerialPort* port = new QSerialPort( this );
        port->setBaudRate( QSerialPort::Baud115200 ); // possible something else, also check the manual
        port->setPort( QPortInfo("COM4") ); // COM port - check Device Manager for connected port
        if( port->open(QSerialPort::ReadOnly) )
        {
                connect(port, &QSerialPort::readyRead, this, [port]() {
                      if( !port->bytesAvailable() )
                           return;
                      const QByteArray scannedData = port->readAll();
                      // ...
                });
        }
        else
        {
            // check port->error()
        }
        

        --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
        If you have a question please use the forum so others can benefit from the solution in the future

        ? 1 Reply Last reply
        5
        • JKSHJ JKSH

          @davidlabib said in [PLEASE HELP] how to make a barcode receiver?:

          can you help me on setting the right mod and use QtSerialPort

          If you want to use Qt Serial Port, choose the RS-232 option. You will also need to connect the barcode scanner to a serial port on your computer.

          ? Offline
          ? Offline
          A Former User
          wrote on last edited by
          #31

          @JKSH is it must came from serial port not usb?

          JKSHJ 1 Reply Last reply
          0
          • ? A Former User

            @JKSH is it must came from serial port not usb?

            JKSHJ Offline
            JKSHJ Offline
            JKSH
            Moderators
            wrote on last edited by
            #32

            @davidlabib said in [PLEASE HELP] how to make a barcode receiver?:

            is it must came from serial port not usb?

            Qt Serial Port works with serial ports. A USB port is not a serial port.

            If your computer doesn't have a serial port, you can use a USB-to-serial converter.

            Qt Doc Search for browsers: forum.qt.io/topic/35616/web-browser-extension-for-improved-doc-searches

            mrjjM raven-worxR 2 Replies Last reply
            4
            • JKSHJ JKSH

              @davidlabib said in [PLEASE HELP] how to make a barcode receiver?:

              is it must came from serial port not usb?

              Qt Serial Port works with serial ports. A USB port is not a serial port.

              If your computer doesn't have a serial port, you can use a USB-to-serial converter.

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

              @JKSH
              Hi
              this mode, i wonder if
              alt text

              does not install a virtual comport and allows to use usb connection much like
              serial over USB converter. just without the converter.

              What do you think ? ( purely guessing here)

              1 Reply Last reply
              3
              • JKSHJ JKSH

                @davidlabib said in [PLEASE HELP] how to make a barcode receiver?:

                is it must came from serial port not usb?

                Qt Serial Port works with serial ports. A USB port is not a serial port.

                If your computer doesn't have a serial port, you can use a USB-to-serial converter.

                raven-worxR Offline
                raven-worxR Offline
                raven-worx
                Moderators
                wrote on last edited by
                #34

                @JKSH said in [PLEASE HELP] how to make a barcode receiver?:

                Qt Serial Port works with serial ports. A USB port is not a serial port.

                thats not true. Of course QtSerialPort works with USB.
                USB = Universal Serial Bus

                The code above i've posted definitively works with a USB Barcode scanner and i used it myself already.

                --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
                If you have a question please use the forum so others can benefit from the solution in the future

                K 1 Reply Last reply
                1
                • raven-worxR raven-worx

                  @davidlabib
                  use the very first code (RS232).
                  Then check the COM port of the scanner it is connected to (e.g. on Windows in the Device Manager).

                  in your .pro file add QT += serialport

                  QSerialPort example usage:

                  QSerialPort* port = new QSerialPort( this );
                  port->setBaudRate( QSerialPort::Baud115200 ); // possible something else, also check the manual
                  port->setPort( QPortInfo("COM4") ); // COM port - check Device Manager for connected port
                  if( port->open(QSerialPort::ReadOnly) )
                  {
                          connect(port, &QSerialPort::readyRead, this, [port]() {
                                if( !port->bytesAvailable() )
                                     return;
                                const QByteArray scannedData = port->readAll();
                                // ...
                          });
                  }
                  else
                  {
                      // check port->error()
                  }
                  
                  ? Offline
                  ? Offline
                  A Former User
                  wrote on last edited by
                  #35

                  @raven-worx
                  0_1534947972491_3255bdcc-2942-41cb-986a-e4f1bb6adf9c-image.png
                  I'm using ubuntu now

                  1 Reply Last reply
                  0
                  • SGaistS Offline
                    SGaistS Offline
                    SGaist
                    Lifetime Qt Champion
                    wrote on last edited by
                    #36

                    Hi,

                    It's QSerialPortInfo.

                    Interested in AI ? www.idiap.ch
                    Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                    1 Reply Last reply
                    1
                    • ? Offline
                      ? Offline
                      A Former User
                      wrote on last edited by
                      #37

                      0_1534969744372_9c1d0188-4bd4-47a2-9e26-5799df5452cc-image.png

                      i dosn't do any thing it always execute "else"
                      QSerialPort::SerialPortError(DeviceNotFoundError)

                      JKSHJ 1 Reply Last reply
                      0
                      • SGaistS Offline
                        SGaistS Offline
                        SGaist
                        Lifetime Qt Champion
                        wrote on last edited by
                        #38

                        And what is the error ?

                        Interested in AI ? www.idiap.ch
                        Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                        1 Reply Last reply
                        0
                        • raven-worxR raven-worx

                          @JKSH said in [PLEASE HELP] how to make a barcode receiver?:

                          Qt Serial Port works with serial ports. A USB port is not a serial port.

                          thats not true. Of course QtSerialPort works with USB.
                          USB = Universal Serial Bus

                          The code above i've posted definitively works with a USB Barcode scanner and i used it myself already.

                          K Offline
                          K Offline
                          kuzulis
                          Qt Champions 2020
                          wrote on last edited by
                          #39

                          @raven-worx said in [PLEASE HELP] how to make a barcode receiver?:

                          thats not true. Of course QtSerialPort works with USB.
                          USB = Universal Serial Bus

                          What? QtSerialPort works only with serial ports. It has nothing common with USB... Please don't confuse peoples. ;)

                          1 Reply Last reply
                          2
                          • ? A Former User

                            0_1534969744372_9c1d0188-4bd4-47a2-9e26-5799df5452cc-image.png

                            i dosn't do any thing it always execute "else"
                            QSerialPort::SerialPortError(DeviceNotFoundError)

                            JKSHJ Offline
                            JKSHJ Offline
                            JKSH
                            Moderators
                            wrote on last edited by JKSH
                            #40

                            @davidlabib said in [PLEASE HELP] how to make a barcode receiver?:

                            QSerialPort::SerialPortError(DeviceNotFoundError)

                            Well, that means your program can't find a port called COM4. Read the comments in @raven-worx's code and think about what they are asking you to do.

                            What is the name of the port that your scanner is connected to? https://www.cyberciti.biz/faq/find-out-linux-serial-ports-with-setserial/

                            @raven-worx said in [PLEASE HELP] how to make a barcode receiver?:

                            The code above i've posted definitively works with a USB Barcode scanner and i used it myself already.

                            My apologies; I didn't read the codes or think of the scenario that @mrjj highlighted in his last post.

                            If the barcode scanner implements RS232-over-USB, then you're right -- Qt Serial Port can indeed work with the scanner via the USB port.

                            QtSerialPort works with USB.
                            USB = Universal Serial Bus

                            Even though they both have "serial" in their names, Universal Serial Bus is completely unrelated to old-school serial ports. The term "serial port" usually refers to an RS-232 port: https://en.wikipedia.org/wiki/Serial_port

                            A USB device can be programmed to emulate serial port comms, but these are the minority. You cannot, for example, use Qt Serial Port to read your USB keyboard.

                            Qt Doc Search for browsers: forum.qt.io/topic/35616/web-browser-extension-for-improved-doc-searches

                            1 Reply Last reply
                            2
                            • ? Offline
                              ? Offline
                              A Former User
                              wrote on last edited by
                              #41

                              @JKSH i didn't worked
                              i tried form com 1 to com 18
                              non of them worked

                              JKSHJ 1 Reply Last reply
                              0
                              • ? A Former User

                                @JKSH i didn't worked
                                i tried form com 1 to com 18
                                non of them worked

                                JKSHJ Offline
                                JKSHJ Offline
                                JKSH
                                Moderators
                                wrote on last edited by JKSH
                                #42

                                @davidlabib said in [PLEASE HELP] how to make a barcode receiver?:

                                @JKSH i didn't worked
                                i tried form com 1 to com 18
                                non of them worked

                                What is the name of the port that your scanner is connected to? COMX is a Windows name. Linux names are different.

                                Read https://www.cyberciti.biz/faq/find-out-linux-serial-ports-with-setserial/ to find the name on your Ubuntu machine.

                                Qt Doc Search for browsers: forum.qt.io/topic/35616/web-browser-extension-for-improved-doc-searches

                                1 Reply Last reply
                                3
                                • ? Offline
                                  ? Offline
                                  A Former User
                                  wrote on last edited by
                                  #43

                                  same error
                                  i tried from ttyS0 to ttyS5 didn't work

                                  JKSHJ 1 Reply Last reply
                                  0
                                  • ? A Former User

                                    same error
                                    i tried from ttyS0 to ttyS5 didn't work

                                    JKSHJ Offline
                                    JKSHJ Offline
                                    JKSH
                                    Moderators
                                    wrote on last edited by JKSH
                                    #44

                                    @davidlabib said in [PLEASE HELP] how to make a barcode receiver?:

                                    same error
                                    i tried from ttyS0 to ttyS5 didn't work

                                    You didn't answer my question. What is the name of the port that your scanner is connected to?

                                    Also, what does QSerialPortInfo::availablePorts() give you? http://doc.qt.io/qt-5/qserialportinfo.html#availablePorts

                                    Qt Doc Search for browsers: forum.qt.io/topic/35616/web-browser-extension-for-improved-doc-searches

                                    ? 1 Reply Last reply
                                    4
                                    • JKSHJ JKSH

                                      @davidlabib said in [PLEASE HELP] how to make a barcode receiver?:

                                      same error
                                      i tried from ttyS0 to ttyS5 didn't work

                                      You didn't answer my question. What is the name of the port that your scanner is connected to?

                                      Also, what does QSerialPortInfo::availablePorts() give you? http://doc.qt.io/qt-5/qserialportinfo.html#availablePorts

                                      ? Offline
                                      ? Offline
                                      A Former User
                                      wrote on last edited by A Former User
                                      #45

                                      @JKSH ok i could find the right port and passed from

                                      if( port->open(QSerialPort::ReadOnly) )
                                      

                                      now I'm stuck on

                                      if( !port->bytesAvailable() )
                                                        return;
                                      

                                      it always return
                                      witch mean no bytes is available

                                      JKSHJ 1 Reply Last reply
                                      0
                                      • ? A Former User

                                        @JKSH ok i could find the right port and passed from

                                        if( port->open(QSerialPort::ReadOnly) )
                                        

                                        now I'm stuck on

                                        if( !port->bytesAvailable() )
                                                          return;
                                        

                                        it always return
                                        witch mean no bytes is available

                                        JKSHJ Offline
                                        JKSHJ Offline
                                        JKSH
                                        Moderators
                                        wrote on last edited by
                                        #46

                                        @davidlabib said in [PLEASE HELP] how to make a barcode receiver?:

                                        now I'm stuck on

                                        if( !port->bytesAvailable() )
                                                          return;
                                        

                                        it always return
                                        witch mean no bytes is available

                                        Did you choose the correct settings? How is your scanner configured for the following?

                                        • Baud rate
                                        • Parity
                                        • Data bits
                                        • Stop bits
                                        • Flow control

                                        Qt Doc Search for browsers: forum.qt.io/topic/35616/web-browser-extension-for-improved-doc-searches

                                        1 Reply Last reply
                                        0
                                        • ? Offline
                                          ? Offline
                                          A Former User
                                          wrote on last edited by A Former User
                                          #47

                                          @JKSH
                                          Baud rate 115200

                                          aha_1980A 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