Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. [SOLVED] Qserialport in QT 5.3 running in Android !!!!
Forum Updated to NodeBB v4.3 + New Features

[SOLVED] Qserialport in QT 5.3 running in Android !!!!

Scheduled Pinned Locked Moved Mobile and Embedded
25 Posts 3 Posters 23.7k 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.
  • M Offline
    M Offline
    mr_wallyit
    wrote on last edited by
    #12

    Hello,

    i thinks that we are the user "system" when the app run. I don't like create the folder manual, so i have thinks to use the path /sdcard/.

    Please check the directory with ls -l
    @
    QDir dl("/sdcard/Android/data/lock") ;
    if (!dl.exists()){
    dl.mkpath(dl.absolutePath());
    qDebug() << LINE << FUNCTION<< dl.absolutePath();
    }
    @

    If we can create the folder, the driver run correctly. If this work, i can rebuild the driver serial port with this path and add the check on directory.

    Second:
    Download this app, and try if you can open the serial port correctly.

    https://code.google.com/p/android-serialport-api/downloads/list

    My port is different because i use a Point of sales.

    Third
    W/Qt (21549): qtudev_p.h:114 (bool resolveSymbols(QLibrary*)): Failed to load the library: udev, supported version(s): 1 and 0
    I have this warning but work.

    The app "terminal" work and i have changed nothing.

    In the Android manifest i have added this permission:
    android.permission.WRITE_EXTERNAL_STORAGE

    Do you have downloaded this code ?
    https://codereview.qt-project.org/83480

    I tried but the git don't download the class java

    @
    git clone https://codereview.qt-project.org/p/qt/qtserialport refs/changes/80/83480/4 && git checkout FETCH_HEAD
    @

    1 Reply Last reply
    0
    • K Offline
      K Offline
      kuzulis
      Qt Champions 2020
      wrote on last edited by
      #13

      2 mr_wallyit,

      [quote]
      W/Qt (21549): qtudev_p.h:114 (bool resolveSymbols(QLibrary*)): Failed to load the library: udev, supported version(s): 1 and 0
      [/quote]

      It is normal. The QtSerialPortInfo trying to use the udev library as main feature. In case the udev library is not present (e.g. can not to resolve it), then do fallback to the SysFs usage. In case the SysFs is not present (e.g. has no rights to read of the /sys/class/tty directory, or when no such this directory when the SysFs is disabled in Linux kernel), then do fallback to the enumeration of devices in /dev directory.

      Usually, the Android has no udev, so all ok.

      [quote]
      Do you have downloaded this code ?
      https://codereview.qt-project.org/83480
      [/quote]

      This code works only with the USB/Serial devices, so, no any ttyGS… ttyS.. ttySAC.., unfortunately. Has been used the directly I/O with the USB interface (read/write from the USB endpoints and so on), by analogy with the "libusb" on Linux. So, this solution it is an workaround, and can not be go to main QtSerialPort trunk.

      This code also has a continuation in here: https://codereview.qt-project.org/#change,84338

      Please read there are comments, maybe you will have other ideas how to re-implement it..

      You can download this code like:

      @
      git clone git://gitorious.org/qt/qtserialport.git
      cd qtserialport
      git fetch https://codereview.qt-project.org/p/qt/qtserialport refs/changes/38/84338/2 && git checkout FETCH_HEAD
      @

      1 Reply Last reply
      0
      • P Offline
        P Offline
        projetoslinux
        wrote on last edited by
        #14

        Hi
        thank you for all
        thank you mr_wallit and kuzulis

        i have partial sucess !!

        testing with terminal example in qt3.0 to recieve serial data in usb

        for this i create in /sdcard/folders and change in source code and compile this directories in qserial_port_unix
        its possible create this in execution mode !!

        #ifdef Q_OS_ANDROID

            << QStringLiteral("/sdcard/data/lock")
            << QStringLiteral("/sdcard/data/locks")
            << QStringLiteral("/sdcard/data/spool/locks")
            << QStringLiteral("/sdcard/data/spool/uucp")
            << QStringLiteral("/sdcard/data/tmp")
            << QStringLiteral("/sdcard/data/local/tmp");
            qDebug() << __LINE__ << __FILE__;
        

        #else

        no more message not LOCK

        but when i open serial port show message

        error permission denied OK

        in debug lines have

        Debugging starts
        E/SELinux (15962): Function: selinux_android_load_priority [0], There is no sepolicy file
        E/SELinux (15962):
        E/SELinux (15962): Function: selinux_android_load_priority , loading version is VE=SEPF_SM-N900_4.3_F023
        E/SELinux (15962):
        E/SELinux (15962):
        E/SELinux (15962): selinux_android_seapp_context_reload: seapp_contexts file is loaded from /data/security/spota/seapp_contexts
        D/dalvikvm(15962): Late-enabling CheckJNI
        D/dalvikvm(15962): GC_FOR_ALLOC freed 187K, 19% free 15034K/18436K, paused 14ms, total 14ms
        I/dalvikvm-heap(15962): Grow heap (frag case) to 20.069MB for 2359312-byte allocation
        D/dalvikvm(15962): GC_FOR_ALLOC freed <1K, 17% free 17338K/20744K, paused 18ms, total 18ms
        D/dalvikvm(15962): Trying to load lib /data/data/org.qtproject.example.serialMaster/lib/libgnustl_shared.so 0x42969fa0
        D/dalvikvm(15962): Added shared lib /data/data/org.qtproject.example.serialMaster/lib/libgnustl_shared.so 0x42969fa0
        D/dalvikvm(15962): No JNI_OnLoad found in /data/data/org.qtproject.example.serialMaster/lib/libgnustl_shared.so 0x42969fa0, skipping init
        D/dalvikvm(15962): Trying to load lib /data/data/org.qtproject.example.serialMaster/lib/libQt5Core.so 0x42969fa0
        D/dalvikvm(15962): Added shared lib /data/data/org.qtproject.example.serialMaster/lib/libQt5Core.so 0x42969fa0
        D/dalvikvm(15962): Trying to load lib /data/data/org.qtproject.example.serialMaster/lib/libQt5Gui.so 0x42969fa0
        D/dalvikvm(15962): Added shared lib /data/data/org.qtproject.example.serialMaster/lib/libQt5Gui.so 0x42969fa0
        D/dalvikvm(15962): No JNI_OnLoad found in /data/data/org.qtproject.example.serialMaster/lib/libQt5Gui.so 0x42969fa0, skipping init
        D/dalvikvm(15962): Trying to load lib /data/data/org.qtproject.example.serialMaster/lib/libQt5Widgets.so 0x42969fa0
        D/dalvikvm(15962): GC_CONCURRENT freed 11K, 17% free 17336K/20744K, paused 5ms+9ms, total 31ms
        D/dalvikvm(15962): Added shared lib /data/data/org.qtproject.example.serialMaster/lib/libQt5Widgets.so 0x42969fa0
        D/dalvikvm(15962): No JNI_OnLoad found in /data/data/org.qtproject.example.serialMaster/lib/libQt5Widgets.so 0x42969fa0, skipping init
        D/dalvikvm(15962): Trying to load lib /data/data/org.qtproject.example.serialMaster/lib/libQt5SerialPort.so 0x42969fa0
        D/dalvikvm(15962): Added shared lib /data/data/org.qtproject.example.serialMaster/lib/libQt5SerialPort.so 0x42969fa0
        D/dalvikvm(15962): No JNI_OnLoad found in /data/data/org.qtproject.example.serialMaster/lib/libQt5SerialPort.so 0x42969fa0, skipping init
        D/dalvikvm(15962): Trying to load lib /data/data/org.qtproject.example.serialMaster/qt-reserved-files/plugins/platforms/android/libqtforandroid.so 0x42969fa0
        D/dalvikvm(15962): Added shared lib /data/data/org.qtproject.example.serialMaster/qt-reserved-files/plugins/platforms/android/libqtforandroid.so 0x42969fa0
        I/Qt (15962): qt start
        D/dalvikvm(15962): Trying to load lib /data/app-lib/org.qtproject.example.serialMaster-1/libserialMaster.so 0x42969fa0
        D/dalvikvm(15962): Added shared lib /data/app-lib/org.qtproject.example.serialMaster-1/libserialMaster.so 0x42969fa0
        D/dalvikvm(15962): No JNI_OnLoad found in /data/app-lib/org.qtproject.example.serialMaster-1/libserialMaster.so 0x42969fa0, skipping init

        1- No JNI_OnLoad found in
        its normal ???

        2-my phone is rooted and add manifest.xml to write sdcard.
        how to execute in sudo ?

        3- other git examples not work for me !!!

        thanks..for this

        1 Reply Last reply
        0
        • P Offline
          P Offline
          projetoslinux
          wrote on last edited by
          #15

          3- other git examples not work for me !!!

          change permission in host machine
          sudo chmod 777 -R /libs/armeabi-v7a/

          1 Reply Last reply
          0
          • M Offline
            M Offline
            mr_wallyit
            wrote on last edited by
            #16

            Hello,
            " JNI_OnLoad found" i see the warning in the my project.
            If you receive the bytes you can open the serial port,
            Are you sure, that are you sending the commands correctly?
            Because all device have the specific syntax, i thinks that if you can receive you can send

            I don't know how you we open the app with permission "sudo", but i have found how open by shell.

            @
            adb shell am start -n org.qtproject.example/org.qtproject.qt5.android.bindings.QtActivity

            @

            1 Reply Last reply
            0
            • P Offline
              P Offline
              projetoslinux
              wrote on last edited by
              #17

              ok thanks
              mr_wallyit

              1 Reply Last reply
              0
              • K Offline
                K Offline
                kuzulis
                Qt Champions 2020
                wrote on last edited by
                #18

                In addition, seems, there are "way":https://groups.google.com/forum/#!topic/pico-sam9g45/dNt1FJCX6ik to open the serial port with the user permissions.

                Need to setup permissions to desired serial port, e.g. do it in "init.rc" file, e.g.:

                @chmod 0666 /dev/ttyS0@

                Of course, to changing of this file required the root rights, unfortunately. But it can be done once for all non-USB serial ports "integrated" on Your device and do no worry in future.

                1 Reply Last reply
                0
                • M Offline
                  M Offline
                  mr_wallyit
                  wrote on last edited by
                  #19

                  Hi kuzulis,

                  good research.

                  Thanks

                  1 Reply Last reply
                  0
                  • P Offline
                    P Offline
                    projetoslinux
                    wrote on last edited by
                    #20

                    After several weeks I found out why qtserialport not run on any android

                    1 - Root is necessary
                    2 - Android Kernell should be compiled with the option enabled serial port, as well as some needed to install libusb and having to recompile the source code Kernell!!

                    Much work!!
                    Anyone know another method??

                    1 Reply Last reply
                    0
                    • M Offline
                      M Offline
                      mr_wallyit
                      wrote on last edited by
                      #21

                      Hello,

                      I have tried qserialport on industrial pos (point of sales),so i thinks the kernel has enabled serial port and libusb, because i can use the serial port.

                      In the Qt 5.3 we have bluetooth,
                      Why Don't we use bluetooth?

                      @
                      http://www.brainboxes.com/product/bl-830/bluetooth-to-rs232-serial-adapter-1-port-female
                      @

                      I don't have tried, but i thinks that work because android uses protocol bluetooth with adapter than it convert the signal in rs232.

                      What do you thinks?

                      1 Reply Last reply
                      0
                      • P Offline
                        P Offline
                        projetoslinux
                        wrote on last edited by
                        #22

                        Thanks mr_wallyit

                        i testing but not have any example whit serial com over bluetooth

                        looking this

                        http://qt-project.org/forums/viewthread/41978/

                        1 Reply Last reply
                        0
                        • M Offline
                          M Offline
                          mr_wallyit
                          wrote on last edited by
                          #23

                          Dear projetoslinux,

                          if we use a adapter, the protocol between smartphone and the adapter is bluetooth, the conversation rs-232 is done by converter.

                          e.q. in qt:
                          /opt/qt/Examples/Qt-5.3/bluetooth$ ls
                          btfiletransfer
                          picturetransfer
                          scanner
                          btchat
                          btscanner
                          pingpong

                          I thinks that the pingpong is a type of communications network client - server. I like this idea but adapters bluetooth are very expensive for me, i search a economic device on ebay. I need a lot of time for try.

                          1 Reply Last reply
                          0
                          • P Offline
                            P Offline
                            projetoslinux
                            wrote on last edited by
                            #24

                            Hi mr_walyit

                            im a testing in embedded android solutions and work fine, but in my cell phone, not work, in next week i compile phone kernel. adapters is most expensive !!! and dont resolve portability
                            thanks...

                            1 Reply Last reply
                            0
                            • M Offline
                              M Offline
                              mr_wallyit
                              wrote on last edited by
                              #25

                              Hello,

                              Have you compiled Kernel?

                              My best regards

                              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