Problem with Android Blutooth APP Connect

Hello, I have no experience with coding. I got this app from a member named "Jeff". Unfortunately, it does not work correctly on the Android tablet. Can you please help me with this?

Scoreboard_MKII.aia (220.1 KB)

scoreboard_esp32_test.ino (30.6 KB)

With kind regards
Andreas

Hello Andreas

Well, the BLE extension is massively out of date, so that doesn't help, depending on your Android Version. However, you say you are using a tablet - that has the alarm bells ringing - what version of Bluetooth does the tablet have?

Also, did Jeff give you a matching script for your microprocessor (ESP32)? We need to see that - the App both sends and receives. EDIT - you have uploaded it!

The App could have been defined more efficiently, no need to have so many button events but if it works you probably don't want to change it.

Can you tell us exactly what is not correct?

i have two Android devices.
Bluetooth Version 4.2 and 5.0

... it will only 'work' on the 5.0 version. What is the Android version of that device?

I can pair the bluetooth connection but the app does not find the connection when scanning. Sometimes the pairing takes a little too long.
I have also entered the correct MAC address of the ESP32 in the app.
Screenshot

for the tablet with Bluetooth 5.0 is the Android version 11

1 Like

Right - should not be so bad permissions wise. BLE (Google Android Security) now requires Location to be enabled. Drag a Location Sensor component into the designer view to trigger a permission request.

Update the BLE extension:

Do you mean you are pairing the devices outside of the App?

Hi @Chris,
it seems a problem that you have already solved a couple of months ago for another user: the service UUID and the characteristics UUID shouldn't be different each other ?

Hello young man - they should be different. I have a Generator/Validator on my site:

ProfessorCad: Tips & Tricks Create/Validate BLE UUIDs

1 Like

I imported the "edu.mit.appinventor.ble.aix" and now the APP works with the old tablet with Blutooth 4.2 version.

With the tablet with Android version 11 and Bluetooth 5.0 currently pairing with the Bluetooth does not work at all.

Have just tried with a Galaxy A8 with Android 9 version, but it does not find the ESP32 via Blutooth first to pair.

I also don't know how to "Drag a Location Sensor component into the designer view to trigger a permission request".

Hi @ChrisWard, here's the young one :rofl:
I remember that in one post of yours you solved the BLE problem by telling the user, who was assigning the same UUID to both characteristics and service, to differentriate them, and I've seen that in the blocks posted here above, the two UUID's are the same, so I thought it would be better to make them different.

For sake of (my) knowledge, and as far as I remember, in the technical specifications the following meaning was applying:
"should" = not mandatory but better to do (so typically nobody does it ...)
"shall" = mandatory
"must" = strongly mandatory (legally binding).
Is this correct ?
Grazie mille!

PS in the German specifications "should" has to be interpreted as "though it is not mandatory, whether you can do it, you shall do it" :rofl: :rofl: :rofl:

That should be impossible since v4.2 is Classic Bluetooth - a different animal to BLE. :open_mouth:

You have not answered my question - are you pairing outside of the App or is your App performing the pairing (aka connection).

We always need to the Bluetooth version Andreas. Also, you are testing 3 devices - does this mean you are going to distribute the App? If so, you have to code it to suit a range of Android versions, one size does not fit all.

Bluetooth LE has been included with Bluetooth 4.0.

2 Likes

I just tested your ino code and aia project. I'm using S8 with android 9 and BT 5.0, it connected to esp32 with no problem. The ble extension is the latest from this year.
I had to turn on location services.
Works with both device paired in bluetooth settings and not.

yes i pairing outside of the app