Bluetooth passkey keyboard is not appearing on WatchOs(only Pair button) but working fine on iOS.
I have external camera which is working through Bluetooth connection. Camera has pin on itself for pairing process. The thing is when I'm doing pairing on iOS through the CoreBluetooth and requesting protected characteristics it's working fine.
But as soon as I'm trying to do the same on my Apple Watch (Watch-Os) app it doesn't show Pin dialog, it just show Pair/Dismiss button.
Could anyone explain please why it's happening and is there any possible solution to sync Watch and Camera?
Thank you for any help.
Related
After days of research and trial and error my colleagues and I have to hope that the StackOverflow community has a working solution.
We got an Android Smartwatch. We developed an app which acts as the BLE central. The App shows a QR-Code encoding an UUID which is unique for every Smartwatch. While showing that QR code it's actively scanning for a device advertising a service with that UUID.
We also developed an iOS app which can scan that QR code and start advertising with the service UUID it received. The Android Smartwatch then connects very quickly to the iOS device.
One purpose of the Smartwatch is to show push notifications from the iOS device. So when the connection is successfully established, the Smartwatch-App subscribes to the ANCS Data Source and Notification Source characteristics. This initiates "Just Works" pairing, so you just have to click on "Pair" on the iOS device. Afterwards you have to allow that iOS notifications are shared to the Smartwatch and then the Smartwatch successfully receives notifications.
ANCS is also the reason why the iOS device MUST BE in the peripheral role.
Until here everything works fine.
When the user leaves the bluetooth range or dis- and enables bluetooth on the iOS device, an automatic reconnect should be triggered. It DOES reconnect when the iOS app is in foreground. Unfortunately it DOES NOT work when the iOS-App is in background. This is probably related to the fact, that the iOS device is not advertising with the required UUID when the app is in background as described in the CoreBluetooth documentation:
All service UUIDs contained in the value of the CBAdvertisementDataServiceUUIDsKey advertisement key are placed in a special “overflow” area; they can be discovered only by an iOS device that is explicitly scanning for them.
We tried many different ways to reconnect from the Android Smartwatch to iOS. From my understanding it should be working when making the first connectGatt with autoConnect=false and when the connection is lost, calling connectGatt on the lost device with autoConnect=true, but it never reconnects. At least not within 15 minutes. Scanning again also wouldn't work, as the UUID is not advertised in background anymore.
We also tried to additionally let the Android device act as peripheral, so the iOS can connect to it. After connecting we wrote data to an "INITIATE_ANCS"-characteristic and let the Android device call connectGatt on the device which was passed to onCharacteristicWrite. This led to interesting behavior:
- The connection was working, we could read a Smartwatch-Characteristic from iOS.
- When subscribing to the ANCS characteristics, it initiated pairing. But instead of "Just Works" pairing it showed a 6-digit code on the iOS device which we had to type onto the Smartwatch.
- The pairing was inititated on every new connect and it always created a new device in the systems device managers on both Android and iOS.
- The pairing WAS NOT inititated when the iOS app was in background.
We really did a thorough research and couldn't find a solution. Did we understand something wrong on how BLE for iOS and Android works? We really hope to find an expert here that has the knowledge what has to be done to make the reconnect work.
Edit:
The Android device is running on Android 5.1.1 and currently it's no option to update.
The iOS testing device is running iOS 13.3 and it should be compatible with iOS 13+
I am still new in python and I am wondering when I switch from a desktop monitor to a 3.5 TFT LCD monitor and I tried to use a button if the hdmi is connected the gpio button works but if i remove it it automatically triggers the button without me pressing it. Btw, I use gpiozero for the button. Can someone help please?
I write an QT application on my laptop (Debian 8). I want to be notified if there is a new call on my phone available (Android).
Is it possible to just notify the laptop without being the laptop a headset?
I already managed to get a connection to the HFP, and my laptop gets a 'RING' signal, but when i want to answer the call, my mobile phone shows a bluetooth speaker /headset connected (in call display) and everything what is spoken is lost on both mobile phones.
So it would be great to just notify about a new call.
Thank you!
I assume you want to keep the audio stay at mobile phone side; is there SCO/eSCO connect/disconnect API's on your laptop? if yes, just reject the audio connect request, or disconnect/switch the audio if it connected.
There are may no audio handler on your PC yet so you could not found the audio.
We have an arduino pro mini, we are trying to trying to upload sketch the controller but we are prohibited, as the arduino attempt to upload the sketch, it display an error of: not in sync.
We are pretty new in this are, so any help would be much appreciated.
Our setup is:
-Breadboard
-Connection to adapter: USB Serial.
-Arduino Pro Mini as a controller
Through the Arduino Programming Client.
The processor and the port are setup op properly.
The strange thing is, it has worked sometimes these past days..
Much Thanks.
Mieer
Do you push the "RESET" button when it starts uploading? Using the pro-mini probably you haven't connected the DTR pin, so it can't auto-reset the device (so you have to do it manually).
When Arduino starts the uploading phase just press the reset button. It should start.
I played for the hole day with my Lilypad USB, and out of the blue it stopped working.
The port in the Arduino IDE is gray (even if i am running as an admin). The device is no more shown the /dev/ or in the device manager for window.
In windows when i plug the device is and push the reset button twice i can see the device under other devices but after a few second the device disappears.
How can i resolve this matter? Is there another hardware factory reset method?
Please help.
hiduino answer from here helped
http://forum.arduino.cc/index.php?topic=153674.0;wap2