List Picker not showing the required name of HM 10

Hi guys ,
I had developed an app that shows the HM10 so that i could connect it .
Below is the ss of the block and the designer . The HM10 is working fine .
Unfortunately , i cannot see the name of the HM10 on my app . Why is that so ?
Please do help me .



This is what been shown . The name of the Bluetooth module is HMsoft

So you know for sure that the device listed is not the device you wish to connect to? You normally would not see a name for the device - though you can try imposing a name in the Arduino Sketch. The HM10 is effectively a means to an end, like a tyre on a car wheel - it does an important job but it's not the star of the show.

An HM10 module is BLE v4.0, it is probably not going to work with the Classic BT Blocks but you can try. Edit - ah, I see you are using the MIT BLE Extension. Are you using the latest version?

https://www.professorcad.co.uk/appinventortips#TipsBluetooth

What is the Make/Model/Android Version/Bluetooth Version of your phone?

...you are using an old example for your App. Depending on your Android Version there are permissions to handle and BLE requires Location to be switched on.

Next time you upload your Blocks, use App Inventor's method so we can read them clearly. Can't see if you are sending or receiving. Also difficult to know what is happening without also seeing the Sketch (.ino).

download blocks

I will go through the link . I am planning to develop a PRODUCT which will be helped with the app . I will include the extension and see about it .

Yours Sincerely
Alen Varghese Ninan

FIRSTLY , I downloaded the latest version that you had send and still the same issue.

SECONDLY ,i am using android 12 version .
I heard that Android 13 has been included by google on 13th august .
So my aim is to build an app that i compatible with android 13 and less . So could you tell me the permissions i need to include .
THIRD , i had switched on my Location on my phone .
FOURTH , below is the block that i am using . I will send my .aia file too .


HomeLight__.aia (189.3 KB)
Last , I will send my note pad code which is used for arduino
Light code.txt (980 Bytes)
.

The other specs of your phone as requested?

"still the same issue" What do you mean by this?

Unfortunately you cannot use a Slider in that way - every millisecond a value will be sent between the start position and the end position, which is impractical and will be prone to locking/freezing the system. Also, it's imprecise as you cannot see the value.

You can do it like this:
HomeLightAA.aia (194.5 KB)

Slider

I have added a location sensor - this will trigger location. I have added a Classic Bluetooth Client - this will add basic Bluetooth requirements/permissions to the Manifest (the BLE Extension will at some time be updated to do this).

For Android 12+, the permissions BLUETOOTH_SCAN AND BLUETOOTH_CONNECT will have to be asked of the User and Location requires the ACCESS_FINE_LOCATION permission (BLE extension to add later).

However, these permissions are not valid for Android Versions below v12, so we need to use an extension to verify the Android Version. Power User Anke has made one that fits this purpose: 'GetApiLevel'.

See my previous explanation, #Post2. The device may have a default name but that can't be used in a list of devices - what if there were more than one HM-10 in range?

Dear Sir ,
Thanx for the help . I edited the code and the app is working .
But the connectivity issue with the module (HM10 Bluetooth v4.0) is not good enough . i tried connecting it 20 times and it got connected 3 times only . in this regard i cant consider Bluetooth as a user friendly option as i am trying to develop a product and it would be bad customer experience . So i thought i would switch to wifi option .

There are many reasons why there would be such a failure:

  1. Poor wire connection in the hardware project, including tarnished wire filaments, damaged wire filaments / connectors - things you can't actually see when they are the joint between the wire and the connector.

  2. Damaged Bluetooth Module. Possible damage to the pins or hairline crack in the body (magnifying glass useful to detect this issue).

  3. Faulty manufacture of Bluetooth Module.

  4. Solid obstacles between sender and receiver - walls, doors, people, pets etc.

  5. Large mass of metal absorbing the Bluetooth Signal - wall heater/radiator etc.

  6. Other source of Signal interference - mains electricity cabling, domestic devices, the DC cable of the Arduino too close to the circuit cables and/or BT module. A PC being used as a Serial Monitor, the cable between the PC and the Arduino, the PC's UPS module/device, the PC's Bluetooth broadcast, the PC's and/or router's WiFi signal. USB dongle for a wireless mouse, keyboard, or other accessory. Cooling fans generate an electromagnetic field around them that can interfere with signals. Microwave ovens, fluorescent lights.

  7. The Smartphone's Bluetooth - lower Bluetooth version, weak signal. The manufacturers of the bargain smartphones cut corners on lesser-used items.

  8. Project design - not allowing enough time for the App to find the device - use a Clock Timer. Difference in baud rate between hardware and software (Sketch). Using the MIT App Inventor Companion instead of a compiled APK.

  9. Out of range - the App device is too far away from the hardware device.
    Understanding Bluetooth Range | Bluetooth® Technology Website

  10. Insufficient or intermittent power supply to the Arduino. This is a factor missed by many people. App device low power (low battery).

  11. Antenna gain. The integrated antenna of the HM-10 module is insufficient, indicating that the module is not genuine but a third-party clone/copy. A genuine HM-10 is manufactured by JNHuaMao Technology. It's possible to add an external antenna.

  12. The housing for the hardware is made of/contains elements of metal.

https://www.professorcad.co.uk/appinventortips#TipsBluetooth

1 Like

Well, it has a better range but it is imminently more hackable too. It also can present difficulties, not least dynamic IP addresses, many devices with IP addresses in close proximity, smartphones running a VPN.

I WILL use node mcu where i could set my ssid and password

1 Like

Choose a modern board, 32bit, like the ESP8266

...and make sure it is genuine!