Giter Club home page Giter Club logo

bluecon's Introduction

Hi there ๐Ÿ‘‹

About Me

I am an application developer as known as a "Generalist" at small start-up in Seoul. I was jumped in to start-up swamp since 2014. My work experiences; Native Frameworks (Android SDK and iOS SDK)/Flutter for make Mobile/Desktop/Web application, Flask/Spring boot/Ktor for make Server-side application, Python scripting for various messy automation jobs and various chip-specific frameworks like STM32Cube, ESP-IDF, etc. for make embedded application firmware.

Also, I have many hobbies for my life; such as Military, Amateur Radio, playing base and more.

My experiences

TBD.

bluecon's People

Contributors

fregmented avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

bluecon's Issues

onBluetoothDeviceDisconnected Callback don't work

Hi.
I try the SPPServerActivity for a SPP Server Mode.
This works fine... The PC open the SPP port, and I can send and receive messages in App.
The problem is when el Client close the connection.
A Exception occurs on SPPServerController, and I don't receive "onBluetoothDeviceDisconnected" Callback, to bind a new connection.

 java.io.IOException: bt socket closed, read return: -1
        at android.bluetooth.BluetoothSocket.read(BluetoothSocket.java:558)
        at android.bluetooth.BluetoothInputStream.read(BluetoothInputStream.java:88)
        at java.io.InputStream.read(InputStream.java:101)
        at me.kudryavka.bluecon.SPPServer.SPPServerController$CommunicationThread$ReadThread.run(SPPServerController.java:423)

The Exception is generate here. In SPPServerController.java, when try to read a closed socket.

  @Override
            public void run() {
                byte[] data = new byte[buffSize];
                int len;

                while (true) {
                    try {
                        len = inputStream.read(data);
                        byte[] read = new byte[len];
                        System.arraycopy(data, 0, read, 0, len);
                        for (SPPListener sppListener : sppListeners) {
                            sppListener.onPacketReceived(socket.getRemoteDevice().getAddress(), read);
                        }
                    } catch (IOException e) {
                        Log.e(TAG, "CONNECTION CLOSED BY PEER", e);
                        disconnected(socket, this);
                        break;
                    }
                }
            }

Client Instance crashes app

Server instance works great, but If I use a client instance the app tries to connect a couple of times to the client, but then it crashes the app. (even if the device is not reachable)

This are the errors, and I also have no idea on why it's saying it's connected when this cannot be (device was off, but it's basically doing the same when device is on):

12-09 16:01:57.272 9504-9561/com.metalit.ondaweb E/SPPClientController: Failed to connect to SOCKET. retrying...
12-09 16:01:57.276 9504-9561/com.metalit.ondaweb D/SPPClientController: CONNECTED : 00:1D:A5:68:98:8C
12-09 16:01:57.277 9504-9678/com.metalit.ondaweb W/BluetoothAdapter: getBluetoothService() called with no BluetoothManagerCallback
12-09 16:01:57.284 9504-9679/com.metalit.ondaweb E/SPPClientController: FAILED TO READ PACKET
                                                                        java.io.IOException: socket closed
                                                                            at android.net.LocalSocketImpl$SocketInputStream.read(LocalSocketImpl.java:104)
                                                                            at android.bluetooth.BluetoothSocket.read(BluetoothSocket.java:571)
                                                                            at android.bluetooth.BluetoothInputStream.read(BluetoothInputStream.java:96)
                                                                            at java.io.InputStream.read(InputStream.java:101)
                                                                            at me.kudryavka.bluecon.SPPClient.SPPClientController$CommunicationThread.run(SPPClientController.java:336)
12-09 16:01:57.284 9504-9679/com.metalit.ondaweb D/SPPClientController: RECONNECT TO : 00:1D:A5:68:98:8C
12-09 16:01:57.284 9504-9679/com.metalit.ondaweb D/OndaWEB: BT device disconnected: 00:1D:A5:68:98:8C
12-09 16:01:57.284 9504-9679/com.metalit.ondaweb D/SPPClientController: CONNECT TO : 00:1D:A5:68:98:8C
12-09 16:01:57.292 9504-9561/com.metalit.ondaweb D/OndaWEB: BT Connected: 00:1D:A5:68:98:8C : OBDII
12-09 16:01:57.295 9504-9679/com.metalit.ondaweb D/OndaWEB: BT device connecting: 00:1D:A5:68:98:8C
12-09 16:01:57.296 9504-9680/com.metalit.ondaweb W/BluetoothAdapter: getBluetoothService() called with no BluetoothManagerCallback
12-09 16:02:02.539 9504-9678/com.metalit.ondaweb E/SPPClientController: Failed to connect to SOCKET. retrying...
12-09 16:02:02.539 9504-9680/com.metalit.ondaweb E/SPPClientController: Failed to connect to SOCKET. retrying...
12-09 16:02:02.541 9504-9678/com.metalit.ondaweb D/SPPClientController: CONNECTED : 00:1D:A5:68:98:8C
12-09 16:02:02.546 9504-9678/com.metalit.ondaweb D/OndaWEB: BT Connected: 00:1D:A5:68:98:8C : OBDII
12-09 16:02:02.546 9504-9759/com.metalit.ondaweb W/BluetoothAdapter: getBluetoothService() called with no BluetoothManagerCallback
12-09 16:02:02.548 9504-9760/com.metalit.ondaweb E/SPPClientController: FAILED TO READ PACKET
                                                                        java.io.IOException: socket closed
                                                                            at android.net.LocalSocketImpl$SocketInputStream.read(LocalSocketImpl.java:104)
                                                                            at android.bluetooth.BluetoothSocket.read(BluetoothSocket.java:571)
                                                                            at android.bluetooth.BluetoothInputStream.read(BluetoothInputStream.java:96)
                                                                            at java.io.InputStream.read(InputStream.java:101)
                                                                            at me.kudryavka.bluecon.SPPClient.SPPClientController$CommunicationThread.run(SPPClientController.java:336)
12-09 16:02:02.548 9504-9760/com.metalit.ondaweb D/SPPClientController: RECONNECT TO : 00:1D:A5:68:98:8C
12-09 16:02:02.549 9504-9760/com.metalit.ondaweb D/OndaWEB: BT device disconnected: 00:1D:A5:68:98:8C
12-09 16:02:02.549 9504-9760/com.metalit.ondaweb D/SPPClientController: CONNECT TO : 00:1D:A5:68:98:8C
12-09 16:02:02.549 9504-9680/com.metalit.ondaweb D/SPPClientController: CONNECTED : 00:1D:A5:68:98:8C
12-09 16:02:02.552 9504-9759/com.metalit.ondaweb E/SPPClientController: Failed to connect to SOCKET. retrying...
12-09 16:02:02.552 9504-9761/com.metalit.ondaweb W/BluetoothAdapter: getBluetoothService() called with no BluetoothManagerCallback
12-09 16:02:02.554 9504-9762/com.metalit.ondaweb E/SPPClientController: FAILED TO READ PACKET
                                                                        java.io.IOException: socket closed
                                                                            at android.net.LocalSocketImpl$SocketInputStream.read(LocalSocketImpl.java:104)
                                                                            at android.bluetooth.BluetoothSocket.read(BluetoothSocket.java:571)
                                                                            at android.bluetooth.BluetoothInputStream.read(BluetoothInputStream.java:96)
                                                                            at java.io.InputStream.read(InputStream.java:101)
                                                                            at me.kudryavka.bluecon.SPPClient.SPPClientController$CommunicationThread.run(SPPClientController.java:336)
12-09 16:02:02.554 9504-9762/com.metalit.ondaweb D/SPPClientController: RECONNECT TO : 00:1D:A5:68:98:8C
12-09 16:02:02.555 9504-9762/com.metalit.ondaweb D/OndaWEB: BT device disconnected: 00:1D:A5:68:98:8C
12-09 16:02:02.555 9504-9762/com.metalit.ondaweb D/SPPClientController: CONNECT TO : 00:1D:A5:68:98:8C
12-09 16:02:02.558 9504-9761/com.metalit.ondaweb E/SPPClientController: Failed to connect to SOCKET. retrying...
12-09 16:02:02.561 9504-9680/com.metalit.ondaweb D/OndaWEB: BT Connected: 00:1D:A5:68:98:8C : OBDII
12-09 16:02:02.564 9504-9759/com.metalit.ondaweb D/SPPClientController: CONNECTED : 00:1D:A5:68:98:8C
12-09 16:02:02.569 9504-9759/com.metalit.ondaweb D/OndaWEB: BT Connected: 00:1D:A5:68:98:8C : OBDII
12-09 16:02:02.569 9504-9763/com.metalit.ondaweb E/SPPClientController: Failed to connect to SOCKET. retrying...
12-09 16:02:02.572 9504-9762/com.metalit.ondaweb D/OndaWEB: BT device connecting: 00:1D:A5:68:98:8C
12-09 16:02:02.573 9504-9760/com.metalit.ondaweb D/OndaWEB: BT device connecting: 00:1D:A5:68:98:8C
12-09 16:02:02.574 9504-9764/com.metalit.ondaweb E/SPPClientController: FAILED TO READ PACKET
                                                                        java.io.IOException: socket closed
                                                                            at android.net.LocalSocketImpl$SocketInputStream.read(LocalSocketImpl.java:104)
                                                                            at android.bluetooth.BluetoothSocket.read(BluetoothSocket.java:571)
                                                                            at android.bluetooth.BluetoothInputStream.read(BluetoothInputStream.java:96)
                                                                            at java.io.InputStream.read(InputStream.java:101)
                                                                            at me.kudryavka.bluecon.SPPClient.SPPClientController$CommunicationThread.run(SPPClientController.java:336)
12-09 16:02:02.575 9504-9764/com.metalit.ondaweb D/SPPClientController: RECONNECT TO : 00:1D:A5:68:98:8C
12-09 16:02:02.575 9504-9764/com.metalit.ondaweb D/OndaWEB: BT device disconnected: 00:1D:A5:68:98:8C
12-09 16:02:02.575 9504-9764/com.metalit.ondaweb D/SPPClientController: CONNECT TO : 00:1D:A5:68:98:8C
12-09 16:02:02.577 9504-9765/com.metalit.ondaweb W/BluetoothAdapter: getBluetoothService() called with no BluetoothManagerCallback
12-09 16:02:02.580 9504-9766/com.metalit.ondaweb E/SPPClientController: Failed to connect to SOCKET. retrying...
12-09 16:02:02.581 9504-9767/com.metalit.ondaweb E/SPPClientController: Failed to connect to SOCKET. retrying...
12-09 16:02:02.581 9504-9763/com.metalit.ondaweb D/SPPClientController: CONNECTED : 00:1D:A5:68:98:8C
12-09 16:02:02.584 9504-9765/com.metalit.ondaweb E/SPPClientController: Failed to connect to SOCKET. retrying...
12-09 16:02:02.589 9504-9763/com.metalit.ondaweb D/OndaWEB: BT Connected: 00:1D:A5:68:98:8C : OBDII
12-09 16:02:02.589 9504-9761/com.metalit.ondaweb D/SPPClientController: CONNECTED : 00:1D:A5:68:98:8C
12-09 16:02:02.589 9504-9768/com.metalit.ondaweb W/BluetoothAdapter: getBluetoothService() called with no BluetoothManagerCallback
12-09 16:02:02.594 9504-9761/com.metalit.ondaweb D/OndaWEB: BT Connected: 00:1D:A5:68:98:8C : OBDII
12-09 16:02:02.598 9504-9767/com.metalit.ondaweb D/SPPClientController: CONNECTED : 00:1D:A5:68:98:8C
12-09 16:02:02.598 9504-9768/com.metalit.ondaweb E/SPPClientController: Failed to connect to SOCKET. retrying...
12-09 16:02:02.600 9504-9770/com.metalit.ondaweb E/SPPClientController: FAILED TO READ PACKET
                                                                        java.io.IOException: socket closed
                                                                            at android.net.LocalSocketImpl$SocketInputStream.read(LocalSocketImpl.java:104)
                                                                            at android.bluetooth.BluetoothSocket.read(BluetoothSocket.java:571)
                                                                            at android.bluetooth.BluetoothInputStream.read(BluetoothInputStream.java:96)
                                                                            at java.io.InputStream.read(InputStream.java:101)
                                                                            at me.kudryavka.bluecon.SPPClient.SPPClientController$CommunicationThread.run(SPPClientController.java:336)
12-09 16:02:02.600 9504-9769/com.metalit.ondaweb E/AndroidRuntime: FATAL EXCEPTION: Thread-20
                                                                   Process: com.metalit.ondaweb, PID: 9504
                                                                   java.lang.NullPointerException: Attempt to invoke virtual method 'int java.io.InputStream.read(byte[], int, int)' on a null object reference
                                                                       at android.bluetooth.BluetoothSocket.read(BluetoothSocket.java:571)
                                                                       at android.bluetooth.BluetoothInputStream.read(BluetoothInputStream.java:96)
                                                                       at java.io.InputStream.read(InputStream.java:101)
                                                                       at me.kudryavka.bluecon.SPPClient.SPPClientController$CommunicationThread.run(SPPClientController.java:336)
12-09 16:02:02.600 9504-9770/com.metalit.ondaweb D/SPPClientController: RECONNECT TO : 00:1D:A5:68:98:8C
12-09 16:02:02.600 9504-9770/com.metalit.ondaweb D/OndaWEB: BT device disconnected: 00:1D:A5:68:98:8C
12-09 16:02:02.600 9504-9770/com.metalit.ondaweb D/SPPClientController: CONNECT TO : 00:1D:A5:68:98:8C
12-09 16:02:02.603 9504-9767/com.metalit.ondaweb D/OndaWEB: BT Connected: 00:1D:A5:68:98:8C : OBDII
12-09 16:02:02.605 9504-9772/com.metalit.ondaweb I/Process: Sending signal. PID: 9504 SIG: 9

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.